/* Content-faithful release: shared presentation, independent of provider adapters. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.preview-notice { padding: 10px 20px; text-align: center; background: #fff3d7; color: #563c0b; font-size: .8125rem; }
.detail-hero h1 { font-size: clamp(2.25rem,4.5vw,4.25rem); overflow-wrap: anywhere; }
.detail-intro { max-width: 62ch; }
.source-prose { max-width: 80ch; }
.source-prose p { margin-bottom: 1.2rem; }
.section:nth-child(even) { background: #f2f6f7; }
.source-section .section-heading { margin-bottom: 28px; }
.equipment-card ul { padding-left: 20px; }
.equipment-card { min-width: 0; }
.equipment-card h3 { overflow-wrap: anywhere; }
@media(min-width: 1000px) { .equipment-card h3 { min-height: 3.6em; } }
.offer-table { background: white; }
.quote-card { max-width: 780px; margin: 0 auto; }
.quote-card input[type=checkbox] { width: 20px; height: 20px; flex-shrink: 0; margin: 0; }
.quote-card .checkbox-label { display: flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 20px; }
.quote-card button[disabled] { opacity: 1; background: #53616c; border-color: #53616c; cursor: not-allowed; color: white; }
.quote-card fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.integration-note { border-left: 4px solid #167d9a; padding: 16px 20px; background: #edf6fa; color: #17324d; }
.form-status { color: #7f1d1d; }
.social-links { display: flex; gap: 24px; }
.social-links a { display: inline-flex; align-items: center; min-height: 44px; }
.source-hours { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
.source-hours div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid #d7e1e5; }
.source-hours dd { margin: 0; }
.photo-panel img { max-height: 520px; width: 100%; object-fit: cover; border-radius: 16px; }
.photo-panel figcaption { padding-top: 8px; font-size: .8125rem; color: #dbe7ee; }
@media(max-width: 780px) { .source-hours { grid-template-columns: 1fr; } .detail-hero h1 { font-size: 2.5rem; } .preview-notice { font-size: .75rem; } }
@media(max-width: 780px) { html:not(.js-ready) #navigation { display: flex; position: static; flex-wrap: wrap; padding: 12px 0; width: 100%; } html:not(.js-ready) .nav-wrap { flex-wrap: wrap; } html:not(.js-ready) .menu-toggle { display: none; } }
