/* Content-led refinement. All typography inherits the shared readable type scale. */
html { scroll-padding-top: calc(var(--header-height, 98px) + 24px); }
.main-nav a[aria-current="location"] { color: var(--accent); text-decoration: underline; text-decoration-thickness: 2px; }
.site-header { background: var(--background); }
.site-header.is-scrolled { box-shadow: 0 4px 24px #0d334f0b; }
.footer-utility { display: flex; flex-wrap: wrap; gap: 16px 28px; }
.footer-utility a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; }
.hero-actions .button { min-height: 58px; }
.showcase-choices button:hover { border-color: var(--accent); }
.showcase-choices button[aria-pressed="true"] { box-shadow: inset 0 0 0 1px var(--accent); font-weight: 700; }
.showcase-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 18px; margin-block-start: 14px; }
.showcase-bottom .showcase-hint { margin: 0; }
.showcase-enlarge, .dialog-original { display: inline-flex; gap: 9px; align-items: center; min-height: 44px; padding-block: 9px; color: var(--accent); font-size: var(--text-small); font-weight: 650; }
.dialog-toolbar { flex-wrap: wrap; }
.dialog-toolbar p { flex: 1 1 220px; }
.dialog-original { margin-inline-start: auto; }
.motion-film-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: var(--text-small); color: #f0f7f6; }
.motion-film-link:focus-visible { outline-color: #bce4e2; }
.motion-footer { flex-wrap: wrap; }
.motion-footer > span { flex: 1 1 220px; min-width: 0; }
.motion-toggle { flex-shrink: 1; }
.motion-toggle [data-motion-label] { min-width: 0; overflow-wrap: anywhere; }
.faq-tools { padding-block-end: 20px; }
.faq-tools label { display: block; font-size: var(--text-small); font-weight: 650; margin-block-end: 10px; }
.faq-search-row { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.faq-search-row input { min-width: 0; flex: 1 1 220px; width: 100%; padding: 13px 16px; min-height: 50px; font: inherit; font-size: var(--text-body); color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: 6px; }
.faq-search-row input::placeholder { color: var(--muted); opacity: 1; }
.faq-search-row button { min-height: 48px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-alt); font-size: var(--text-small); }
.faq-count { min-height: 1.5em; margin-block: 8px 0; font-size: var(--text-small); color: var(--muted); }
.faq-count:empty { display: none; }
.faq-empty { padding: 22px; border: 1px solid var(--line); border-radius: 8px; font-size: var(--text-body); }
.faq-empty a { display: inline-block; max-width: 100%; overflow-wrap: anywhere; }
.booking-panel { box-shadow: var(--shadow); }
.booking-panel [data-booking-direct] { width: 100%; min-height: 62px; }
.booking-panel .calendar-explanation { color: var(--text); font-size: var(--text-small); margin-block: 20px; }
.booking-quick-action { display: none; }
.booking-quick-action .small-note { font-size: var(--text-small); color: var(--muted); margin-block: 12px 24px; }
@media (min-width: 1001px) and (min-height: 650px) {
 .site-header { position: sticky; top: 0; }
}
@media (max-width: 1000px) { .booking-quick-action { display: block; } }
@media (max-width: 600px) {
 .hero-actions { flex-direction: column; align-items: stretch; }
 .hero-actions .button { width: 100%; }
 .showcase-bottom { align-items: stretch; flex-direction: column; }
 .showcase-enlarge { justify-content: center; border: 1px solid var(--line); border-radius: 5px; padding-inline: 14px; }
 .dialog-original { order: 3; margin-inline-start: 0; flex-basis: 100%; }
 .booking-quick-action .button { width: 100%; }
}
.hero { padding-block: 52px 34px; }
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); grid-template-areas: 'eyebrow showcase' 'title showcase' 'intro showcase' 'actions showcase' 'foot showcase'; gap: 0 48px; align-items: start; }
.hero-eyebrow { grid-area: eyebrow; }
.hero-title { grid-area: title; }
.hero-intro { grid-area: intro; font-size: 1.25rem; line-height: 1.85; max-width: 36rem; color: var(--muted); margin-block-end: 28px; }
.hero-actions { grid-area: actions; }
.hero-foot { grid-area: foot; }
.hero-showcase { grid-area: showcase; min-width: 0; width: 100%; align-self: center; }
.hero-showcase .product-showcase { box-shadow: 0 25px 70px #0d334f14; }
.hero-bottom { margin-block-start: 35px; padding-block-start: 20px; }
.section { padding-block: 68px; }
.product-introduction { padding-block-end: 30px; }
.product-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 48px; align-items: center; }
.product-lead > * { min-width: 0; }
.product-lead h2 { margin-block-end: 0; }
.product-wordmark { margin-block-end: 22px; }
.product-motion { margin-block-end: 54px; }
.motion-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 36px; align-items: center; margin-block-end: 22px; }
.motion-heading h3 { margin: 0; font-size: 1.5rem; }
.motion-heading > p { margin: 0; color: var(--muted); font-size: var(--text-small); }
.motion-shell { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--brand-navy); }
.motion-stage { min-height: 0; aspect-ratio: 16 / 9; border-radius: 0; }
.motion-stage > video { object-fit: contain; opacity: 1; }
.motion-footer { padding: 18px 24px; color: #e5f2f1; font-size: var(--text-small); }
.motion-toggle { font-size: var(--text-small); max-width: 100%; }
.outcomes-grid { margin-block-start: 26px; }
.outcome { padding-block: 26px; }
.fit-band { margin-block-start: 22px; padding: 28px 32px; }
.comparison { margin-block-start: 30px; }
.proof { padding-block: 65px; }
.pilot-card { height: auto; min-height: 340px; padding: 32px; text-align: center; }
.pilot-card::before, .pilot-card::after { pointer-events: none; }
.pilot-card > p { position: relative; z-index: 1; max-width: 100%; }
.pilot-months { font: 600 5.5rem/1.15 var(--font); color: var(--accent); margin-block-end: 4px; }
.pilot-months-label { font-size: var(--text-small); color: var(--muted); margin-block-end: 25px; }
.pilot-clinic { font-size: 1.375rem; font-weight: 650; margin-block-end: 6px; }
.pilot-place { color: var(--muted); margin: 0; font-size: var(--text-small); }
.proof-copy { order: initial; }
.film .film-inner { gap: 55px; }
.trial-plan { margin-block-start: 30px; padding: 24px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-alt); }
.trial-plan h3 { font-size: 1.375rem; margin-block-end: 12px; }
.trial-plan > p { font-size: var(--text-small); color: var(--muted); }
.trial-plan ol { padding-inline-start: 24px; margin-block: 18px; }
.trial-plan li { font-size: var(--text-small); margin-block: 12px; padding-inline-start: 4px; }
.trial-plan .microcopy { margin-block-end: 0; }
.setup { padding-block: 55px; background: var(--surface); }
.setup-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 55px; align-items: start; }
.setup-layout > * { min-width: 0; }
.setup-details details { border-block-end: 1px solid var(--line); }
.setup-details details:first-child { border-block-start: 1px solid var(--line); }
.setup-details summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 56px; padding-block: 18px; cursor: pointer; list-style: none; font-size: var(--text-body); font-weight: 650; }
.setup-details summary::-webkit-details-marker { display: none; }
.setup-details summary::after { content: '+'; flex-shrink: 0; font-size: 1.5rem; color: var(--accent); }
.setup-details details[open] summary::after { content: '−'; }
.setup-details p { font-size: var(--text-small); color: var(--muted); margin-block-end: 22px; }
.contact { padding-block: 65px; }
@media (min-width: 1500px) { .hero { padding-block-start: 65px; } }
@media (max-width: 1199px) {
 .hero-grid, .product-lead, .setup-layout { gap: 35px; }
 .film .film-inner { gap: 40px; }
}
@media (max-width: 1000px) {
 .hero-grid, html[dir="rtl"] .hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'eyebrow' 'title' 'showcase' 'intro' 'actions' 'foot'; row-gap: 24px; }
 .hero-grid > .eyebrow, .hero-grid > h1, .hero-grid > .hero-intro, .hero-grid > .hero-foot { margin-block: 0; }
 .hero-showcase { max-width: 55rem; margin-inline: auto; }
 .hero-copy { max-width: 46rem; }
 .product-lead, .setup-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .proof-copy { order: -1; }
 .trial-plan { max-width: 65ch; }
}
@media (max-width: 760px) {
 .hero { padding-block: 34px 28px; }
 .hero-grid { gap: 24px; }
 .hero-bottom { margin-block-start: 26px; }
 .section { padding-block: 48px; }
 .product-introduction { padding-block-end: 25px; }
 .motion-heading { grid-template-columns: minmax(0, 1fr); gap: 10px; }
 .motion-footer { flex-direction: column; align-items: flex-start; gap: 16px; padding: 18px; }
 .product-motion { margin-block-end: 38px; }
 .pilot-card { min-height: 280px; padding: 25px; }
 .pilot-months { font-size: 4.5rem; }
 .proof { padding-block: 48px; }
 .fit-band { padding: 24px; }
 .setup { padding-block: 45px; }
 .contact { padding-block: 50px; }
}
