:root,[data-theme="light"]{
  --paper:oklch(99% .001 280);--surface:oklch(95.5% .002 280);--ink:oklch(27% .003 280);--muted:oklch(47% .005 280);--accent:oklch(32% .004 280);--line:oklch(27% .003 280 / .17);--dark:oklch(29% .004 280);--on-dark:oklch(98% .001 280);--mauve:oklch(55% .035 345);
  --font-display:'Boska',Georgia,serif;--font-body:'Satoshi',Arial,sans-serif;
  --text-xs:clamp(.75rem,.71rem + .15vw,.82rem);--text-sm:clamp(.875rem,.84rem + .15vw,.95rem);--text-base:clamp(1rem,.97rem + .12vw,1.08rem);--text-lg:clamp(1.12rem,1rem + .45vw,1.4rem);--text-xl:clamp(2rem,1.5rem + 1.3vw,2.75rem);--text-hero:clamp(3.5rem,2.5rem + 3.1vw,5.7rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--gutter:clamp(var(--space-6),5vw,var(--space-20));
}
[data-theme="dark"]{--paper:oklch(22% .003 280);--surface:oklch(27% .004 280);--ink:oklch(94% .002 280);--muted:oklch(77% .003 280);--accent:oklch(91% .003 280);--line:oklch(93% .003 280 / .19);--dark:oklch(17% .002 280);--mauve:oklch(77% .025 345)}
body{background:var(--paper);color:var(--ink);font:400 var(--text-base)/1.6 var(--font-body)}
.hero-collective{max-width:390px;margin-top:var(--space-4);font-size:var(--text-sm);line-height:1.6}
.hero-tagline{max-width:390px;margin-bottom:var(--space-6);font-size:var(--text-lg);font-weight:500;line-height:1.45;color:var(--ink)}
body .brand img{filter:brightness(0) saturate(100%) invert(17.65%)}
html[data-theme="dark"] body .brand img{filter:brightness(0) saturate(100%) invert(92%)}
.boutique-summary{max-width:440px;margin-top:var(--space-4);font-size:var(--text-sm)}
.hero h1 span{color:var(--ink)}
.first-visit-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px}
body .hero-image figcaption{background:oklch(22% .002 280 / .72)}
body .first-visit p{color:oklch(86% .002 280)}
body .button-light:hover{background:oklch(86% .002 280)}
.wellness-section{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--space-24);padding-block:var(--space-20);border-bottom:1px solid var(--line)}
.wellness-intro h2{margin-block:var(--space-5) var(--space-6)}
.wellness-intro>p:not(.eyebrow){max-width:440px}
.wellness-intro>.text-link{margin-top:var(--space-5)}
.wellness-photo{margin-top:var(--space-8)}
.wellness-photo img{width:100%;aspect-ratio:1.65;object-fit:cover}
.wellness-photo figcaption{font-size:var(--text-xs);letter-spacing:.1em;color:var(--muted);padding-top:var(--space-3)}
.service-list-label{margin-bottom:var(--space-4)}
.service-preview{width:100%;display:block;text-align:left;padding:var(--space-5) 0;border-top:1px solid var(--line)}
.service-preview:last-child{border-bottom:1px solid var(--line)}
.service-category{display:block;font-size:var(--text-xs);letter-spacing:.1em;color:var(--mauve);margin-bottom:var(--space-2)}
.service-name{font:400 var(--text-xl)/1.2 var(--font-display);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.service-name>span{font:400 var(--text-lg)/1 var(--font-body)}
.service-description{display:block;max-width:430px;color:var(--muted);font-size:var(--text-sm);line-height:1.6;margin-top:var(--space-3)}
.service-more{font-size:var(--text-xs);display:inline-block;border-bottom:1px solid var(--line);margin-top:var(--space-3)}
.service-preview:hover .service-name{color:var(--mauve)}
.service-group{border-top:1px solid var(--line)}
.service-group:last-child{border-bottom:1px solid var(--line)}
.service-group-heading{padding-block:var(--space-5)}
.service-group-title{display:block;font-size:var(--text-lg);font-weight:500}
.service-group-caption{display:block;font-size:var(--text-xs);line-height:1.6;color:var(--muted);margin-top:var(--space-2);max-width:38ch}
.service-group .service-preview{padding:var(--space-4) 0}
.service-group .service-preview:last-child{border-bottom:0}
.service-group .service-name{font-size:clamp(1.5rem,1.2rem + .7vw,2rem);gap:var(--space-4)}
.service-group .service-description{margin-top:var(--space-2)}
.service-group-list{padding-bottom:var(--space-3)}
.button #service-inquiry-label{font-size:var(--text-sm);line-height:1.5}
.people-section{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-24);padding-block:var(--space-20)}
.people-intro h2{margin-block:var(--space-5) var(--space-6)}
.people-intro>p:not(.eyebrow){max-width:310px}
.people-intro>.text-link{margin-top:var(--space-5)}
.people-paths article{padding-block:var(--space-6);border-top:1px solid var(--line)}
.people-paths article:last-child{border-bottom:1px solid var(--line)}
.people-paths h3{margin-block:var(--space-3)}
.people-paths article>p:not(.eyebrow){font-size:var(--text-sm);max-width:480px}
.people-paths .text-link{margin-top:var(--space-3)}
.visit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6)}
#service-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:var(--space-12);border:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:auto}
#service-dialog::backdrop{background:oklch(20% .003 280 / .55)}
.dialog-close{position:absolute;top:var(--space-3);right:var(--space-3);width:44px;height:44px;font-size:var(--text-xl);line-height:1}
.service-heading h2{margin-block:var(--space-5) var(--space-6)}
.service-heading:has(#service-art:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:20px}
#service-art{width:112px;height:112px;object-fit:contain;background:white}
#service-art[hidden]{display:none}
@media(max-width:450px){.service-heading:has(#service-art:not([hidden])){grid-template-columns:minmax(0,1fr) 80px;gap:12px}#service-art{width:80px;height:80px}}
#service-dialog>p:not(.eyebrow){font-size:var(--text-base)}
.service-expect{border-top:1px solid var(--line);margin-top:var(--space-8);padding-top:var(--space-6)}
.service-expect .eyebrow{margin-bottom:var(--space-3)}
.provider-note{margin-block:var(--space-6);color:var(--ink)}
#service-description{white-space:pre-line}
#service-dialog #service-rate{margin-top:20px;color:var(--ink);font-size:var(--text-lg)}
#service-options{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
#service-options-list{margin:16px 0 0}
#service-options-list>div{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:16px 0;border-bottom:1px solid var(--line)}
#service-options-list dt{font-size:var(--text-lg);color:var(--ink)}
#service-options-list dd{margin:0}
#service-options-list .option-price{font-size:var(--text-lg);color:var(--ink)}
#service-options-list .option-description{grid-column:1/-1;color:var(--muted);font-size:var(--text-sm);line-height:1.6}
#service-dialog #service-subtitle{margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-6);color:var(--mauve);font-size:var(--text-sm)}
.service-practitioner{display:grid;grid-template-columns:104px 1fr;align-items:start;gap:20px;margin-block:28px;padding-top:24px;border-top:1px solid var(--line)}
.practitioner-photo{width:104px;height:104px;object-fit:cover}
.practitioner-heading{font-family:var(--font-display);font-size:1.7rem;margin-bottom:10px}
.practitioner-bio{font-size:var(--text-sm);line-height:1.65}
#service-inquiry{white-space:normal;text-align:left}
@media(max-width:450px){.service-practitioner{grid-template-columns:1fr;gap:14px}.practitioner-photo{width:88px;height:88px}#service-inquiry{gap:16px;padding-inline:18px}}
#service-dialog .dialog-footnote{font-size:var(--text-xs);margin-top:var(--space-4)}
body:has(dialog[open]){overflow:hidden}
@media(max-width:1100px){.wellness-section,.people-section{gap:var(--space-12)}}
@media(max-width:800px){.wellness-section,.people-section{gap:var(--space-8)}.wellness-section{grid-template-columns:1fr 1fr}.hero-actions{gap:var(--space-3)}}
@media(max-width:600px){.wellness-section,.people-section{grid-template-columns:1fr;gap:var(--space-10);padding-block:var(--space-16)}.hero-collective{max-width:360px}.hero-actions .button{padding-inline:var(--space-4);gap:var(--space-4)}.hero-actions .text-link{gap:var(--space-2)}.wellness-intro>p:not(.eyebrow),.people-intro>p:not(.eyebrow){max-width:100%}.wellness-photo img{aspect-ratio:1.45}.service-description{font-size:var(--text-base)}#service-dialog{padding:var(--space-10) var(--space-6)}}
button{border:0;background:none}a,button{transition:color .2s,background .2s,opacity .2s}p{color:var(--muted)}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--font-display);line-height:1.06;letter-spacing:-.025em}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);line-height:1.3}img{background:var(--surface)}.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:.14em;line-height:1.6;color:var(--muted)}.section-wrap{padding-inline:var(--gutter);max-width:1600px;margin-inline:auto}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-inline:var(--gutter);background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{display:block;flex-shrink:0;width:218px}.brand img{background:transparent;width:100%}.site-header nav{display:flex;align-items:center;gap:var(--space-8)}.site-header nav a{font-size:var(--text-sm);padding-block:var(--space-3)}.site-header nav a:hover{color:var(--accent)}.button{min-height:50px;background:var(--accent);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:500;white-space:nowrap}.button:hover{background:var(--ink);color:var(--paper)}.button span,.text-link span{font-size:var(--text-lg);line-height:1}.text-link{display:inline-flex;gap:var(--space-6);align-items:center;justify-content:space-between;min-height:44px;font-size:var(--text-sm);border-bottom:1px solid var(--line);width:fit-content}.text-link:hover{color:var(--accent);border-color:var(--accent)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin-inline:auto;min-height:685px}.hero-copy{padding:var(--space-16) var(--space-12) var(--space-10) var(--gutter);display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-size:var(--text-hero);margin-block:var(--space-6);line-height:.99}.hero h1 span{color:var(--accent)}.hero-description{max-width:370px;line-height:1.65}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-8)}.hero-footnote{margin-top:auto;padding-top:var(--space-12);font-size:var(--text-xs);letter-spacing:.045em;color:var(--ink)}.hero-footnote span{color:var(--muted);letter-spacing:0}.hero-image{position:relative;min-height:685px;overflow:hidden}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 59%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);color:var(--on-dark);background:oklch(20% .015 40 / .62);font-size:var(--text-xs);letter-spacing:.09em}
.studio-notes{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--gutter);border-bottom:1px solid var(--line);max-width:1600px;margin-inline:auto}.studio-notes p{font-size:var(--text-sm);color:var(--ink)}.studio-notes span{font-size:var(--text-xs);color:var(--accent);margin-right:var(--space-4)}
.practice{padding-block:var(--space-24) var(--space-20)}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-12);margin-bottom:var(--space-12)}.section-intro .eyebrow{margin-bottom:var(--space-4)}.section-intro>p{max-width:365px}.practice-row{display:grid;grid-template-columns:.2fr 1.25fr 1.5fr 1.1fr;gap:var(--space-8);align-items:start;padding-block:var(--space-8);border-top:1px solid var(--line)}.row-number{font-size:var(--text-xs);color:var(--accent);padding-top:var(--space-1)}.practice-name p{font-size:var(--text-xs);letter-spacing:.11em;margin-top:var(--space-3)}.practice-row>p{font-size:var(--text-sm);max-width:335px}.practice-action{display:flex;align-items:flex-end;flex-direction:column;gap:var(--space-3);text-align:right}.practice-action>span{font-size:var(--text-xs);color:var(--muted)}.pricing-note{display:flex;justify-content:space-between;gap:var(--space-6);align-items:center;border-top:1px solid var(--line);padding-top:var(--space-6)}.pricing-note p{font-size:var(--text-sm)}
.first-visit{background:var(--dark);color:var(--on-dark);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);padding:var(--space-20) var(--gutter)}.first-visit p{color:oklch(86% .016 55)}.first-copy h2{font-size:var(--text-xl);margin-block:var(--space-5) var(--space-6)}.first-copy>p:not(.eyebrow){max-width:360px}.button-light{margin-top:var(--space-8);background:var(--on-dark);color:var(--dark)}.button-light:hover{background:oklch(86% .016 55);color:var(--dark)}.first-questions{align-self:center}.first-questions details{border-top:1px solid oklch(97% .008 70 / .26);padding-block:var(--space-2)}.first-questions details:last-child{border-bottom:1px solid oklch(97% .008 70 / .26)}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);font-size:var(--text-base)}summary::-webkit-details-marker{display:none}.plus{width:14px;height:14px;position:relative;flex-shrink:0}.plus:before,.plus:after{content:"";position:absolute;background:currentColor;width:14px;height:1px;top:7px;left:0}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}details p{font-size:var(--text-sm);padding:0 var(--space-8) var(--space-5) 0}details a{font-size:var(--text-sm);text-decoration:underline;display:inline-flex;align-items:center;min-height:44px;margin-bottom:var(--space-3)}
.collective{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-20);padding-block:var(--space-24);align-items:center}.collective-image img{width:100%;aspect-ratio:1.15;object-fit:cover}.collective-image figcaption{font-size:var(--text-xs);letter-spacing:.1em;padding-top:var(--space-4);color:var(--muted)}.collective-copy h2{margin-block:var(--space-5) var(--space-6)}.collective-copy>p:not(.eyebrow){max-width:400px;margin-bottom:var(--space-5)}.team-note{border-top:1px solid var(--line);padding-top:var(--space-6);margin-top:var(--space-10)}.team-note p{font-size:var(--text-sm);margin-bottom:var(--space-2)}
.boutique{padding-block:var(--space-4) var(--space-24)}.boutique-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:var(--space-12);align-items:start}.boutique-feature .photo-frame{height:475px;overflow:hidden}.boutique-feature img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.boutique-detail{padding-top:var(--space-20)}.boutique-detail .photo-frame{height:395px;overflow:hidden}.boutique-detail img{width:100%;height:100%;object-fit:cover;object-position:center 49%}.photo-caption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-top:var(--space-5)}.photo-caption h3{font-size:var(--text-lg)}.boutique-grid article>p{font-size:var(--text-sm);margin-top:var(--space-2)}
.visit{background:var(--surface);padding-block:var(--space-20);display:grid;grid-template-columns:1.45fr 1fr;gap:var(--space-12)}.visit h2{margin-block:var(--space-5) var(--space-8)}address{font-style:normal;font-size:var(--text-lg);line-height:1.6;margin-top:var(--space-4)}.visit-info>.text-link{margin-top:var(--space-4)}.contact-links{display:flex;flex-direction:column;margin-top:var(--space-8)}.contact-links a{font-size:var(--text-sm);min-height:44px;display:flex;align-items:center;width:fit-content}.contact-links a:hover{text-decoration:underline}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-10) var(--gutter)}.site-footer .brand{width:195px}.footer-links{display:flex;gap:var(--space-6);align-items:center}.footer-links a,.theme-toggle{font-size:var(--text-xs);min-height:44px;display:inline-flex;align-items:center}.theme-toggle{padding:0}.site-footer>p{font-size:var(--text-xs)}[data-theme="dark"] .brand img{filter:brightness(1.7)}
@media(min-width:1600px){.first-visit{padding-inline:max(var(--gutter),calc((100vw - 1440px)/2))}}
.site-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
@media(min-width:801px) and (max-width:1000px){body .site-header{height:84px}.site-header .header-book{margin-left:auto}.site-header .menu-toggle{display:flex;width:44px;height:44px;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0}.site-header .menu-toggle span{width:22px;height:1px;background:var(--ink)}body .site-header nav{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:16px var(--gutter) 24px;border-bottom:1px solid var(--line)}body .site-header nav.is-open{display:flex}body .site-header nav a{min-height:48px;border-bottom:1px solid var(--line)}}
@media(max-width:1100px){.site-header{gap:var(--space-5)}.site-header nav{gap:var(--space-5)}.brand{width:180px}.header-book{gap:var(--space-4)}.hero-copy{padding-right:var(--space-8)}.hero h1{font-size:clamp(3.5rem,5.8vw,5rem)}.hero-actions{gap:var(--space-4)}.hero-image,.hero{min-height:660px}.practice-row{grid-template-columns:.15fr 1fr 1.3fr 1fr;gap:var(--space-5)}.first-visit{gap:var(--space-12)}.collective{gap:var(--space-12)}}
@media(max-width:800px){html{scroll-padding-top:88px}.site-header{height:84px;gap:var(--space-4)}.brand{width:175px}.header-book{margin-left:auto;min-height:44px;padding:var(--space-2) var(--space-4);gap:var(--space-3)}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:0}.menu-toggle span{width:22px;height:1px;background:var(--ink)}.site-header nav{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:var(--space-4) var(--gutter) var(--space-6);border-bottom:1px solid var(--line)}.site-header nav.is-open{display:flex}.site-header nav a{min-height:48px;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr 1fr;min-height:600px}.hero-image{min-height:600px}.hero-copy{padding-top:var(--space-12);padding-bottom:var(--space-8)}.hero h1{font-size:clamp(3rem,6.2vw,4.2rem)}.hero-image figcaption{display:block}.hero-image figcaption span+span{display:none}.hero-footnote{padding-top:var(--space-8)}.studio-notes{gap:var(--space-4);padding-block:var(--space-5)}.studio-notes p{font-size:var(--text-xs)}.studio-notes span{display:block;margin-bottom:var(--space-1)}.section-intro{gap:var(--space-8)}.section-intro>p{max-width:280px;font-size:var(--text-sm)}.practice{padding-block:var(--space-16)}.practice-row{grid-template-columns:24px 1fr 1.15fr}.practice-action{grid-column:3;align-items:flex-start;text-align:left}.practice-row>p{grid-column:3}.practice-name{grid-row:span 2}.practice-action{gap:var(--space-1)}.first-visit{padding-block:var(--space-16);gap:var(--space-10)}.collective{padding-block:var(--space-16);gap:var(--space-8)}.boutique-grid{gap:var(--space-8)}.boutique-feature .photo-frame{height:370px}.boutique-detail .photo-frame{height:300px}.site-footer{flex-wrap:wrap}.site-footer>p{width:100%}}
@media(max-width:600px){.site-header{padding-inline:var(--space-5);gap:var(--space-2)}.brand{width:154px}.header-book{font-size:var(--text-xs);padding-inline:var(--space-3)}.header-book span{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:var(--space-10) var(--gutter) var(--space-10)}.hero .eyebrow{font-size:var(--text-xs);letter-spacing:.105em}.hero h1{font-size:var(--text-hero);margin-block:var(--space-5);line-height:1}.hero-description{max-width:360px}.hero-actions{gap:var(--space-6);margin-top:var(--space-6)}.hero-footnote{display:none}.hero-image{min-height:0;height:440px}.hero-image img{object-position:center 62%}.hero-image figcaption{display:flex;padding-inline:var(--space-6)}.hero-image figcaption span+span{display:block}.studio-notes{display:block;padding:var(--space-5) var(--gutter)}.studio-notes p{padding-block:var(--space-2);font-size:var(--text-sm)}.studio-notes span{display:inline;margin-right:var(--space-4)}.section-intro{display:block;margin-bottom:var(--space-8)}.section-intro>p{max-width:100%;margin-top:var(--space-5);font-size:var(--text-base)}.section-intro>.text-link{margin-top:var(--space-4)}.practice-row{grid-template-columns:20px 1fr;gap:var(--space-4);padding-block:var(--space-6)}.practice-name{grid-row:auto}.practice-row>p,.practice-action{grid-column:2}.practice-row>p{max-width:100%;font-size:var(--text-base)}.practice-action{margin-top:var(--space-1)}.pricing-note{display:block}.pricing-note a{margin-top:var(--space-3)}.first-visit{grid-template-columns:1fr;gap:var(--space-10)}.first-copy>p:not(.eyebrow){max-width:100%}.collective{grid-template-columns:1fr;gap:var(--space-8)}.collective-image img{aspect-ratio:1.14}.collective-copy>p:not(.eyebrow){max-width:100%}.boutique{padding-bottom:var(--space-16)}.boutique-grid{grid-template-columns:1fr;gap:var(--space-10)}.boutique-feature .photo-frame{height:410px}.boutique-detail{padding-top:0;margin-left:var(--space-10)}.boutique-detail .photo-frame{height:355px}.visit{grid-template-columns:1fr;gap:var(--space-12);padding-block:var(--space-16)}.site-footer{align-items:flex-start;gap:var(--space-5);padding-block:var(--space-8)}.footer-links{width:100%;gap:var(--space-6);flex-wrap:wrap}.site-footer>p{margin-top:var(--space-1)}}
.button.booking-route-trigger{white-space:normal;text-align:left}
.booking-route-trigger[hidden],#service-inquiry[hidden]{display:none}
.booking-route-block{margin-top:24px}
.price-card>.booking-route-block{margin-top:auto}
.booking-route-note{font-size:var(--text-xs);line-height:1.6;margin-top:10px;max-width:330px}
.booking-preview-label{font-size:var(--text-xs);color:var(--mauve);margin-top:8px}
#service-dialog .booking-preview-label{font-size:var(--text-xs)}
.practice-action .booking-route-note,.practice-action .booking-preview-label{margin-top:0}
#booking-route-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
#booking-route-dialog::backdrop{background:oklch(20% .003 280 / .6)}
#booking-route-title{margin-block:22px 16px}
#booking-route-name{color:var(--ink);margin-bottom:16px}
.booking-route-safety{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:var(--text-sm)}
#booking-route-dialog .route-dismiss{margin-top:24px;white-space:normal}
@media(max-width:600px){#booking-route-dialog{padding:44px 24px 28px}}

/* Phone usability refinements: preserve the approved desktop composition. */
@media(max-width:1000px){
  .site-header .menu-toggle{flex:0 0 44px}
  .site-header nav{max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:600px){
  .site-header .brand{display:flex;align-items:center;flex-shrink:1;min-width:44px;min-height:44px}
  .site-header .header-book{flex-shrink:0}
  .site-footer .footer-links a,.site-footer .theme-toggle{display:inline-flex;align-items:center;min-height:44px}
  .contact-links a{display:inline-flex;align-items:center;min-height:44px}
  #service-dialog .dialog-close,#booking-route-dialog .dialog-close{
    position:sticky;top:calc(-1 * var(--space-6));right:auto;z-index:2;display:flex;align-items:center;justify-content:center;
    margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-3)) 0 auto;background:var(--paper);
  }
}
@media(max-width:1000px) and (max-height:600px){
  #service-dialog .dialog-close,#booking-route-dialog .dialog-close{
    position:sticky;top:calc(-1 * var(--space-6));right:auto;z-index:2;display:flex;align-items:center;justify-content:center;
    margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-3)) 0 auto;background:var(--paper);
  }
}
@media(max-width:450px){
  .service-heading:has(#service-art:not([hidden])){grid-template-columns:minmax(0,1fr) 64px;gap:0 var(--space-4)}
  .service-heading:has(#service-art:not([hidden]))>div{display:contents}
  .service-heading:has(#service-art:not([hidden])) .eyebrow{grid-column:1;grid-row:1;align-self:center}
  .service-heading:has(#service-art:not([hidden])) #service-art{grid-column:2;grid-row:1;width:64px;height:64px}
  .service-heading:has(#service-art:not([hidden])) h2{grid-column:1/-1;margin-block:var(--space-4)}
  .service-heading:has(#service-art:not([hidden])) #service-subtitle{grid-column:1/-1;margin-top:0}
}
