/* Mobile product layer: reachable navigation, compact task headers, readable controls. */
html:has(.wd-page) { scroll-padding-top:0; }
.wd-page { -webkit-text-size-adjust:100%; }
.wd-page :is(section,article,details,[id]) { scroll-margin-top:calc(var(--wd-header-height) + 1rem); }
.wd-page.ct-page :is(section,article,details,[id]) { scroll-margin-top:calc(var(--wd-header-height) + 4rem); }
.wd-header { position:sticky; top:0; z-index:40; min-height:var(--wd-header-height); padding-block:1.1rem; background:var(--wd-light); color:var(--wc-body); border-bottom:1px solid var(--wc-rule); }
.wd-header nav { font-size:.8rem; align-items:center; gap:clamp(1rem,2vw,2rem); }
.wd-header nav a { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
.wd-header .wd-header__book { background:var(--wd-dark); color:var(--wd-light); padding:.65rem 1.2rem; }
.wd-header .wc-brand { width:clamp(145px,16vw,210px); }
.wd-menu-trigger { display:none; color:inherit; text-decoration:none; }
.wd-menu-trigger svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; }
.wd-menu { margin:0 0 0 auto; width:min(100%,620px); height:100dvh; max-height:100dvh; max-width:100%; padding:1.25rem max(1.25rem,env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left)); border:0; background:var(--wd-light); color:var(--wd-dark); overscroll-behavior:contain; }
.wd-menu::backdrop { background:rgba(24,10,8,.5); }
.wd-menu__top { display:flex; justify-content:space-between; align-items:center; padding-bottom:1.8rem; border-bottom:1px solid var(--wc-rule); }
.wd-menu__top h2 { color:inherit; font-size:2rem; }
.wd-menu__top button { display:flex; align-items:center; gap:1rem; min-height:48px; border:0; background:transparent; color:inherit; padding:.5rem; font-size:.88rem; }
.wd-menu__top button span { font-size:1.8rem; }
.wd-menu__primary { display:grid; margin-block:1rem 1.5rem; }
.wd-page .wd-menu__primary .wc-link { font-family:"Cormorant Garamond",Georgia,serif; font-size:2.6rem; padding:.7rem 0; border-color:var(--wc-rule); }
.wd-menu__secondary { display:grid; grid-template-columns:1fr 1fr; gap:.2rem 1.5rem; }
.wd-menu__secondary a,.wd-menu__help a { display:flex; align-items:center; min-height:48px; text-decoration:none; font-size:.9rem; }
.wd-menu__help { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--wc-rule); color:var(--wc-body); }
.wd-menu__secondary .rc-arrow { margin-left:.4rem; }
.wd-page.wd-menu-open { overflow:hidden; }
.wd-dock { display:none; }
.wd-page a:active,.wd-page button:active { opacity:.8; }
.wd-page :is(button,input,select,textarea) { touch-action:manipulation; }
.wd-page :is(a,button,summary,input,select,textarea):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.wd-page [aria-current=page] { text-decoration:underline; text-underline-offset:5px; }
.wd-page .ct-nav { position:sticky; top:var(--wd-header-height); z-index:25; background:var(--wd-light); }
.wd-page .ct-nav a { min-height:44px; }
.wd-page .cp-note a,.wd-page .wc-note a { text-decoration:underline; }
@view-transition { navigation:auto; }
::view-transition-old(root),::view-transition-new(root) { animation-duration:140ms; }
@media(max-width:1100px) {
 .wd-home-hero__photo img { object-position:62% center; }
}
@media(max-width:1100px) and (min-width:761px) {
 .wd-header { grid-template-columns:auto 1fr auto; gap:1.5rem; }
 .wd-header .wc-header__left { display:none; }
 .wd-header .wc-brand { grid-column:1; grid-row:1; }
 .wd-header .wc-header__right { grid-column:2; grid-row:1; }
 .wd-menu-trigger { display:flex; gap:.8rem; align-items:center; min-height:48px; grid-column:3; grid-row:1; }
}
@media(max-width:760px) {
 .wd-page { --wc-gutter:1.25rem; --wd-header-height:calc(64px + env(safe-area-inset-top)); --wd-dock-height:calc(68px + env(safe-area-inset-bottom)); font-size:16px; }
 .wd-page.wd-has-dock { padding-bottom:var(--wd-dock-height); }
 .wd-header { display:flex; justify-content:space-between; gap:1rem; min-height:var(--wd-header-height); height:var(--wd-header-height); padding:calc(.45rem + env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) .45rem max(1.25rem,env(safe-area-inset-left)); }
 .wd-header .wc-header__left,.wd-header .wc-header__right { display:none; }
 .wd-header .wc-brand { width:148px; }
 .wd-menu-trigger { display:flex; gap:.8rem; align-items:center; min-height:48px; padding-left:1rem; font-size:.84rem; }
 .wd-dock { position:fixed; z-index:35; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 1fr 1fr 1fr; height:var(--wd-dock-height); padding:6px max(.6rem,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(.6rem,env(safe-area-inset-left)); background:var(--wd-light); color:var(--wc-body); border-top:1px solid var(--wc-rule); }
 .wd-dock a { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; text-decoration:none; font-size:.65rem; line-height:1.2; min-height:52px; border-radius:3px; }
 .wd-dock svg { height:22px; width:22px; stroke:currentColor; stroke-width:1.4; fill:none; stroke-linecap:round; stroke-linejoin:round; }
 .wd-dock .wd-dock__book { background:var(--wd-dark); color:var(--wd-light); }
 .wd-dock a[aria-current=page] { color:var(--wd-dark); text-decoration:underline; text-underline-offset:3px; }
 .wd-dock .wd-dock__book[aria-current=page] { color:var(--wd-light); }
 .wd-keyboard-open .wd-dock,.wd-menu-open .wd-dock { visibility:hidden; pointer-events:none; }
 .wd-page .cp-section,.wd-page .wc-section { padding-block:3rem; }
 .wd-page :is(.cp-intro,.ci-intro) { padding-top:2rem; padding-bottom:1.75rem; }
 .wd-page :is(.cp-intro h1,.ci-intro h1) { font-size:clamp(3rem,12vw,4rem); line-height:.95; }
 .wd-page :is(.cp-intro,.ci-intro) .wc-label { margin-bottom:1rem; }
 .wd-page :is(.ci-intro>div,.ci-catalog-heading) { display:block; }
 .wd-page .ci-intro__copy { margin-top:1.2rem; }
 .wd-page .cp-hero { height:auto; min-height:0; max-height:none; display:block; background:var(--wd-light); color:var(--wd-dark); }
 .wd-page .cp-hero>figure { display:none; }
 .wd-page.ct-page .cp-hero { display:flex; flex-direction:column; }
 .wd-page.ct-page .cp-hero>figure { display:block; position:relative; inset:auto; order:2; height:240px; z-index:auto; }
 .wd-page.ct-page .cp-hero>figure img { object-position:center 30%; }
 .wd-page .cp-hero::after { display:none; }
 .wd-page .cp-hero .cp-hero__copy,.wd-page .ct-hero--case-first .cp-hero__copy { position:relative; inset:auto; width:auto; max-width:none; padding:2rem var(--wc-gutter); }
 .wd-page .cp-hero h1 { font-size:clamp(3rem,12.7vw,4.4rem); max-width:15ch; margin:1.05rem 0 1.25rem; line-height:.93; }
 .wd-page .cp-hero__copy>p:not(.wc-label) { font-size:1rem; max-width:48ch; }
 .wd-page .cp-hero__copy>p.ct-hero__note { font-size:.79rem; }
 .wd-page .cp-hero .cp-actions { display:grid; gap:.4rem; }
 .wd-page .cp-hero .wc-button { width:100%; justify-content:space-between; padding:.85rem 1rem; font-size:.87rem; }
 .wd-page .ct-hero__return { min-height:48px; font-size:.86rem; }
 .wd-page .ct-hero__jump { margin-top:1rem; font-size:.88rem; }
 .wd-page .ct-nav { padding-block:.25rem; }
 .wd-page .ct-nav nav { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:1.5rem; width:100%; scrollbar-width:none; }
 .wd-page .ct-nav nav::-webkit-scrollbar { display:none; }
 .wd-page .ct-nav a { flex:none; white-space:nowrap; font-size:.8rem; }
 .wd-page .ct-nav__back { display:none; }
 .wd-page :is(.ct-case__grid,.ct-copy-grid,.ct-price-band__grid) { gap:1.7rem; }
 .wd-page :is(.ct-case h2,.ct-copy-grid h2,.ct-price-band h2,.ct-expression h2) { font-size:clamp(2.5rem,10.5vw,3.3rem); line-height:.98; }
 .wd-page :is(.ct-facts small,.ct-facts dt,.ct-price-note,.ct-source,.ci-price-footnote,.cp-note,.wc-note) { font-size:.82rem; }
 .wd-page .ct-prices,.wd-page .ci-price-table { font-size:.88rem; }
 .wd-page :is(.ct-prices,.ci-price-table) td { white-space:normal; min-width:85px; }
 .wd-page .ci-search { margin-top:1.5rem; width:100%; }
 .wd-page input:not([type=radio]):not([type=checkbox]),.wd-page select,.wd-page textarea { font-size:16px; min-height:50px; }
 .wd-page .ci-filters { flex-wrap:nowrap; overflow-x:auto; gap:1.3rem; padding-block:.35rem; margin-top:1rem; }
 .wd-page .ci-filters button { flex:none; font-size:.86rem; }
 .wd-page .ci-price-guide { padding-block:1.8rem; gap:1.5rem; }
 .wd-page .ci-price-catalog { padding-top:2rem; }
 .wd-page .cc-hero .cp-actions { display:flex; gap:.5rem 1.5rem; }
 .wd-page .cc-hero .cp-hero__copy { padding-block:1.6rem; }
 .wd-page .cc-directory { padding-block:1.6rem 2.5rem; }
 .wd-page .cc-directory .cc-heading { margin-bottom:1.2rem; }
 .wd-page .cc-directory .cc-heading>p { display:none; }
 .wd-page .cc-directory .cc-heading h2 { font-size:2.3rem; margin:0; }
 .wd-page .cc-directory .cc-heading h2 br { display:none; }
 .wd-page .cc-directory .cc-heading h2 em::before { content:' '; }
 .wd-page .cc-search { margin-bottom:1.3rem; }
 .wd-page .ci-result__photos figcaption { flex-direction:column; align-items:flex-start; gap:.15rem; font-size:.8rem; }
 .wd-page .ci-result__context { margin-top:1.5rem; }
 .wd-page .ci-about-hero,.wd-page .ci-aura-hero { padding-top:2rem; }
 .wd-page .ci-about-hero figure { display:none; }
 .wd-home-hero { display:flex; flex-direction:column; min-height:0; background:var(--wd-light); color:var(--wd-dark); }
 .wd-home-hero::after { display:none; }
 .wd-home-hero__copy { padding:1.75rem var(--wc-gutter) 1.8rem; min-height:0; width:100%; }
 .wd-home-hero h1 { font-size:clamp(3.6rem,15.5vw,5rem); line-height:.88; margin:0 0 1.5rem; }
 .wd-home-hero__intro { font-size:.96rem; max-width:36ch; color:var(--wc-body); }
 .wd-home-hero__actions { margin-top:1.65rem; gap:.6rem 1.2rem; }
 .wd-home-hero__actions .wc-button { gap:1rem; font-size:.83rem; }
 .wd-home-hero__actions .wc-link { font-size:.82rem; color:var(--wd-dark); border-color:var(--wc-rule); }
 .wd-home-result { position:static; width:auto; max-width:none; margin:0 var(--wc-gutter) 1.75rem; padding:.85rem 0 0; border-top:1px solid var(--wc-rule); }
 .wd-home-hero__photo { display:block; position:relative; inset:auto; order:-1; height:240px; z-index:auto; }
 .wd-home .wc-booking { grid-template-columns:1fr 1fr; padding-block:1.4rem; gap:.7rem 1.25rem; }
 .wd-home .wc-booking>p:first-child { display:none; }
 .wd-home .wc-booking>a { display:flex; justify-content:flex-start; }
 .wd-home .wc-booking a>span { align-items:flex-start; font-size:.92rem; line-height:1.4; gap:.5rem; }
 .wd-home .wc-booking small { font-size:.72rem; }
 .wd-home .wc-booking__note { grid-column:1/-1; font-size:.73rem; }
 .wd-home .wc-results { gap:1.5rem; }
 .wd-home .wc-results__intro h2 { font-size:3rem; margin:0 0 1rem; }
 .wd-home .wc-results__intro>p:not(.wc-label) { margin-bottom:1rem; }
 .wd-home .wc-case__caption { gap:.4rem; }
 .wd-home .wc-case__photos figcaption { font-size:.76rem; }
 .wd-home .wc-case__caption p { font-size:.83rem; }
 .wd-home .wc-case h3 { font-size:2rem; }
 .wd-home .wc-section-heading h2 { font-size:3.3rem; line-height:.97; }
 .wd-home .wc-treatment-index h3 { font-size:clamp(1.8rem,7.8vw,2.4rem); }
 .wd-home .wc-treatment-description { font-size:.82rem; }
 .wd-home .wc-edits { padding-block:3rem; }
 .wd-home .wc-edit { grid-template-columns:31% minmax(0,1fr); }
 .wd-home .wc-edit img { min-height:195px; }
 .wd-home .wc-edit h3 { font-size:2rem; margin:.7rem 0 1rem; }
 .wd-home .wc-edit .wc-label { font-size:.65rem; }
 .wd-home .wc-edit__bottom { font-size:.8rem; padding-top:.7rem; }
 .wd-page .wd-care { grid-template-columns:1fr; }
 .wd-page .wd-care figure { display:none; }
 .wd-page .wd-care>div { padding:2.8rem var(--wc-gutter); }
 .wd-page .wd-care h2 { font-size:3rem; margin:1.3rem 0; }
 .wd-page .cp-invitation { padding-block:3rem; }
 .wd-page .cp-invitation h2 { font-size:3.15rem; }
 .wd-page .cp-invitation .wc-button { width:100%; max-width:360px; gap:.7rem; }
 .wd-page .cp-invitation small { font-size:.78rem; }
 .wd-page .wc-footer__main { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 1rem; font-size:.83rem; }
 .wd-page .wc-footer__legal { font-size:.75rem; }
 .wd-page .wc-footer a:not(.wc-brand) { min-height:44px; }
 .wd-page .ws-profile { grid-template-columns:1fr; }
 .wd-page .ws-profile figure { max-width:300px; padding-top:.5rem; }
 .wd-page .ws-profile h1 { max-width:15ch; font-size:clamp(3.4rem,13vw,4.2rem); }
 .wd-page .ws-profile>div>.wc-link { font-size:.87rem; }
 .wd-page .ws-person h2,.wd-page .ws-ambassador h2,.wd-page .ws-read h2 { font-size:2rem; }
 .wd-page .ws-ambassador>div>p:not(.wc-label),.wd-page .ws-ambassador__links .wc-link { font-size:.87rem; }
 .wd-page .ws-ambassador .wc-label { font-size:.65rem!important; }
 .wd-page .ws-intro__copy>p { font-size:1rem; }
 .wd-page .wb-assessment .wb-photo { display:none; }
}
@media(prefers-reduced-motion:reduce) { @view-transition { navigation:none; } html { scroll-behavior:auto; } ::view-transition-old(root),::view-transition-new(root) { animation:none; } }
