:root{--ink:#2c4035;--slate:#526255;--slate-2:#647469;--mist:#e4e9df;--sand:#f6f5ef;--sand-2:#fdfcf8;--amber:#506446;--amber-d:#3b513a;--white:#fffef9;--nav-h:92px;--wrap:1240px}
body{overflow-x:visible;font-size:1.0625rem}html{scroll-padding-top:var(--nav-h)}h1,h2,h3{overflow-wrap:break-word}button,a{-webkit-tap-highlight-color:transparent}.site-header,.site-header.is-scrolled{background:rgba(246,245,239,.97);box-shadow:none;border-bottom:1px solid #2c403518}.nav{height:92px;max-width:1440px}.brand img{width:92px;height:65px;object-fit:contain}.brand{padding:5px 0}.nav-links{gap:1.8rem}.nav-links a{font-size:1rem;letter-spacing:.01em;text-transform:none}.btn{font-size:.875rem;letter-spacing:.055em;padding:1rem 1.6rem}.eyebrow{font-size:.875rem;letter-spacing:.14em}.hero{min-height:760px;min-height:min(870px,100svh);padding-top:calc(var(--nav-h) + 5rem);padding-bottom:2rem}.hero__bg{top:var(--nav-h)}.hero__bg img{object-position:center 45%}.hero__bg::after{background:linear-gradient(90deg,rgba(21,34,27,.78),rgba(21,34,27,.35) 58%,rgba(21,34,27,.1))}.hero__title{font-size:clamp(2.8rem,5.3vw,4.9rem);max-width:750px;line-height:1.06}.hero__copy{max-width:790px}.hero__title em{color:#d6ddd0}.hero .eyebrow{color:#d6ddd0}.hero .eyebrow:before{background:#d6ddd0}.hero__lede{font-size:1.15rem;line-height:1.7}.hero__actions .btn{--btn-bg:#e4e9d7;--btn-fg:#2c4035}.hero__actions .btn--light{--btn-bg:transparent;--btn-fg:#fff;border-color:#ffffff80}.hero-bottom{display:flex;justify-content:space-between;color:#ffffffcf;font-size:.875rem;letter-spacing:.08em;border-top:1px solid #ffffff40;margin-top:clamp(3rem,9vh,6rem);padding-top:1.5rem}.welcome{text-align:center;padding-block:5rem}.welcome .lede{margin:1.5rem auto 0}.section-head{max-width:760px}.treatments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.8rem 1.6rem}.treatment{min-width:0}.treatment img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:90px 90px 4px 4px}.treatment h3{font-size:1.65rem;line-height:1.2;margin-top:1.3rem}.treatment p{font-size:1rem;color:var(--slate)}.price-row{display:flex;justify-content:space-between;gap:1rem;font-size:1rem;border-top:1px solid #2c403530;padding-top:.8rem}.price-row strong{font-weight:500;white-space:nowrap}.treatment details{margin-top:1rem}.treatment summary{cursor:pointer;font-size:1rem;text-decoration:underline;text-underline-offset:5px;padding:.4rem 0}.detail-copy{padding-top:1rem}.niu-footer{background:var(--ink);color:var(--white);padding:2rem 0;font-size:.875rem}.niu-footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.niu-footer a{color:var(--white)}
@media(max-width:1000px){.nav-links{gap:1rem}.treatments{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:750px}.hero__title{font-size:clamp(2.8rem,6.5vw,4.6rem)}}
@media(max-width:767px){:root{--nav-h:80px}.nav{height:80px}.brand img{width:77px;height:54px}.nav-cta{gap:.65rem}.nav-cta>.btn{font-size:.75rem;padding:.8rem .9rem}.nav-toggle{display:flex}.nav-links{top:80px;background:var(--sand)}.hero{min-height:740px;padding-top:130px;padding-bottom:2rem}.hero__bg img{object-position:60% center}.hero__bg::after{background:linear-gradient(90deg,#15221bd9,#15221b66)}.hero__title{font-size:clamp(2.55rem,8.2vw,4rem)}.hero .eyebrow{font-size:.75rem;letter-spacing:.08em}.hero__actions{gap:.7rem}.hero__actions .btn{font-size:.8rem;padding:.9rem 1.2rem}.hero-bottom{gap:1rem;font-size:.75rem;margin-top:3rem;flex-wrap:wrap}.treatments{grid-template-columns:1fr;gap:2.5rem}.treatment img{aspect-ratio:4/3}.section{padding-block:4rem}.welcome{padding-block:3.5rem}.section-title{font-size:2.3rem}.nav-links.is-open{display:flex}.niu-footer .wrap{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.treatment-number{display:block;font-size:.875rem;color:var(--slate);letter-spacing:.1em;margin-top:1.15rem}.treatment h3{margin-top:.45rem;min-height:2.4em}.treatment>p{min-height:5.1em}.treatment .detail-photo{aspect-ratio:4/3;border-radius:4px;margin:1.3rem 0}.text-link{text-decoration:underline;text-underline-offset:4px}.tariffs{margin:1.3rem 0}.tariffs h4{font-size:1.3rem}.tariffs table{width:100%;font-size:.875rem;line-height:1.4}.tariffs caption{font-size:.8rem}.tariffs th,.tariffs td{padding:.6rem .25rem;border-bottom:1px solid #2c403530;vertical-align:top}.tariffs thead th{font-weight:500;overflow-wrap:anywhere}.tariffs th:first-child{width:24%}.tariffs td{white-space:nowrap}.about-grid{align-items:center}.philosophy .arch{border-radius:50% 50% 4px 4px / 30% 30% 0 0}.philosophy .arch img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:40% center}.marta-grid{align-items:start;grid-template-columns:.85fr 1.15fr}.marta-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 25%}.marta-portrait>p{margin-top:1rem;color:var(--slate);font-size:.875rem;letter-spacing:.04em}.about-copy>p{font-size:1.0625rem}.bio-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px;margin-bottom:1rem;padding:.5rem 0}.education{border-top:1px solid #2c403530;margin-top:2rem;padding-top:1.5rem}.education h3{font-size:1.6rem}.education dl{margin-top:1.3rem}.education dl>div{display:grid;grid-template-columns:95px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid #2c403522}.education dt{font-size:.875rem;font-weight:500;color:var(--slate)}.education dd{margin:0;font-size:1rem}.education dd span{color:var(--slate);font-size:.925rem}.insurance-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem}.registries{letter-spacing:.18em;font-size:1rem;color:var(--slate);margin-top:1.6rem}.gift-section{background:#d8dfcc;padding:3.8rem 0}.gift-grid{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:2rem}.gift-grid .eyebrow{margin:0}.gift-grid h2{font-size:clamp(2rem,3vw,2.8rem);margin:0}.gift-grid h2 em{color:var(--slate)}.btn--outline{--btn-bg:transparent;--btn-fg:var(--ink);border-color:var(--ink)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem}.contact-grid>div>p{max-width:46ch}.contact-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.address-card{padding:2.6rem;border:1px solid #2c403530;border-radius:100px 100px 4px 4px;background:#edf0e7}.address-card h3{font-size:2.4rem}.address-card address{font-style:normal;margin:1.5rem 0}.address-card p{color:var(--slate);font-size:1rem}
@media(max-width:1000px){.gift-grid{grid-template-columns:1fr 1fr}.gift-grid .eyebrow{grid-column:1/-1}.contact-grid{gap:2rem}.marta-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:767px){.about-grid,.marta-grid,.insurance-grid,.contact-grid,.gift-grid{grid-template-columns:1fr;gap:2.5rem}.philosophy .arch img{aspect-ratio:1/1}.marta-portrait{max-width:450px;width:100%;margin:auto}.marta-portrait img{aspect-ratio:4/5}.treatment h3,.treatment>p{min-height:0}.insurance-grid{gap:1.5rem}.gift-grid{gap:1.5rem}.gift-grid .btn{justify-self:start}.address-card{padding:2rem 1.5rem;border-radius:70px 70px 4px 4px}.address-card h3{font-size:2rem}.contact-actions .btn{padding:1rem 1.3rem}.education dl>div{grid-template-columns:85px 1fr;gap:.65rem}}
.tariffs thead th{overflow-wrap:normal;hyphens:manual}.tariffs th:first-child{width:24%}.tariffs th:nth-child(2){width:26%}
.about-grid>*,.insurance-grid>*,.contact-grid>*,.gift-grid>*{min-width:0}.address-card .eyebrow{font-size:.8125rem;letter-spacing:.1em}.address-card h3{overflow-wrap:anywhere}
@media(max-width:767px){.contact-grid,.insurance-grid,.marta-grid,.about-grid,.gift-grid{grid-template-columns:minmax(0,1fr)}}
.nav{flex-wrap:nowrap}
/* Keep the booking action available on narrow phones too. */
@media(max-width:767px){
 .nav{gap:.5rem}
 .brand{flex-shrink:0}
 .nav-cta{min-width:0}
 .nav-cta>.btn{display:inline-flex;min-width:0;min-height:44px;flex-shrink:1;line-height:1.3}
}
/* Full-height opening and clearer brand at every screen size. */
:root{--nav-h:104px}.nav{height:var(--nav-h)}.brand img{width:122px;height:86px}.hero{min-height:100svh;padding-top:calc(var(--nav-h) + clamp(2rem,6vh,5rem));padding-bottom:clamp(1.5rem,4vh,3rem)}.hero-bottom{margin-top:clamp(2rem,7vh,5rem)}
@media(max-width:767px){:root{--nav-h:88px}.brand img{width:91px;height:64px}.nav-links{top:var(--nav-h)}.hero{min-height:100svh;padding-top:calc(var(--nav-h) + 2rem);padding-bottom:1.8rem}.hero-bottom{margin-top:2rem}.nav-cta>.btn{font-size:.8125rem;padding:.75rem .85rem}.nav-cta{gap:.5rem}}
@media(max-height:650px) and (min-width:768px){.hero{padding-top:calc(var(--nav-h) + 1.25rem);padding-bottom:1.25rem}.hero__title{font-size:clamp(2.5rem,6vh,3.8rem)}.hero__lede{margin-bottom:1.2rem}.hero-bottom{margin-top:1.25rem}}

.services-intro{max-width:680px;margin-top:1rem;color:var(--slate)}

/* Logo colour on light backgrounds; retain light hero lettering. */
:root{--niu-logo-brown:#714f45}
.nav-links a,.nav-links a:hover{color:var(--niu-logo-brown)}
main>section:not(.hero) h2,main>section:not(.hero) h2 em,main>section:not(.hero) h3,main>section:not(.hero) h4,main>section:not(.hero) .eyebrow{color:var(--niu-logo-brown)}
main>section:not(.hero) .eyebrow::before{background:var(--niu-logo-brown)}

/* Reversible Roboto Mono trial requested during review. */
.nav-links a,.eyebrow,.treatment h3{font-family:"Roboto Mono",monospace;font-weight:400}
.nav-links a{font-size:.9rem}
.eyebrow{font-size:.75rem;letter-spacing:.1em}
.treatment h3{font-weight:300;font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.35}

/* Match supporting copy to the approved mono font trial. */
:root{--ff-body:"Roboto Mono",monospace}
body{font-family:var(--ff-body);font-weight:400;line-height:1.75}
.treatment p,.detail-copy,.services-intro,.price-row{font-size:.9375rem;line-height:1.8}
.btn{font-family:var(--ff-body);letter-spacing:.02em}
@media(max-width:767px){.hero__actions .btn{font-size:.75rem}.hero__lede{font-size:1rem}.nav-cta>.btn{font-size:.7rem}}

/* Bold type throughout, as requested in live review. */
:root{--ff-display:"Roboto Mono",monospace;--ff-body:"Roboto Mono",monospace}
body,h1,h2,h3,h4,h5,h6,p,a,span,li,dt,dd,th,td,caption,summary,button,strong,em,.nav-links a,.eyebrow,.treatment h3,.price-row strong{font-family:"Roboto Mono",monospace;font-weight:400}

body :is(h1,h2,h3,h4,h5,h6,p,a,span,li,dt,dd,th,td,caption,summary,button,strong,em){font-weight:400!important}

/* Unified logo-brown text, with light backgrounds for contrast. */
:root{--ink:#714f45;--slate:#714f45;--slate-2:#714f45;--amber:#714f45;--amber-d:#714f45}
body,body :is(h1,h2,h3,h4,h5,h6,p,a,span,li,dt,dd,th,td,caption,summary,button,strong,em){color:#714f45!important}
.btn,.hero__actions .btn,.hero__actions .btn--light{--btn-bg:#f6f5ef;--btn-fg:#714f45;background:#f6f5ef;border-color:#714f45}
.btn:hover{background:#e4e9df}
.hero__bg::after{background:linear-gradient(90deg,rgba(246,245,239,.96),rgba(246,245,239,.9) 58%,rgba(246,245,239,.28))}
.hero-bottom{border-top-color:#714f4560}
.hero .eyebrow::before{background:#714f45}
.niu-footer{background:#f6f5ef}
.skip-link{background:#f6f5ef}

/* Restore photograph visibility; use light lettering over the dark image. */
.hero__bg::after{background:linear-gradient(90deg,rgba(21,34,27,.78),rgba(21,34,27,.35) 58%,rgba(21,34,27,.1))}
body .hero :is(h1,h2,h3,p,span,em){color:#fffef9!important}
body .hero .hero__title em,body .hero .eyebrow{color:#d6ddd0!important}
.hero .eyebrow::before{background:#d6ddd0}
.hero-bottom{border-top-color:#ffffff40}
@media(max-width:767px){.hero__bg::after{background:linear-gradient(90deg,#15221bd9,#15221b66)}}

/* Keep hero footer labels as clear as the other supporting text. */
.hero-bottom{font-size:1rem;letter-spacing:0;line-height:1.65}

/* Dark logo-brown buttons with clear light lettering. */
body .btn,body .hero__actions .btn,body .hero__actions .btn--light{background:#714f45;border-color:#714f45;color:#fffef9!important;--btn-bg:#714f45;--btn-fg:#fffef9}
body .btn:hover,body .hero__actions .btn:hover{background:#5e4038;border-color:#5e4038;color:#fffef9!important}

/* Softer opening headline and supporting introduction. */
body .hero .hero__title,body .hero .hero__title em,body .hero .hero__lede{font-weight:400!important}

/* Light hero buttons contrast clearly against the photograph. */
body .hero .hero__actions .btn,body .hero .hero__actions .btn--light{background:#fffef9;border-color:#fffef9;color:#714f45!important;--btn-bg:#fffef9;--btn-fg:#714f45}
body .hero .hero__actions .btn:hover{background:#eee8e1;border-color:#eee8e1;color:#714f45!important}

body .hero .eyebrow{font-weight:400!important}

/* Slightly larger navigation and opening location label. */
.nav-links a{font-size:1.125rem}
.hero .eyebrow{font-size:.875rem}
@media(max-width:767px){.hero .eyebrow{font-size:.875rem}}

/* Repeat the hero's pale sage accent in buttons and bottom labels. */
body .hero .hero__actions .btn,body .hero .hero__actions .btn--light{background:#d6ddd0;border-color:#d6ddd0;--btn-bg:#d6ddd0;color:#714f45!important}
body .hero .hero__actions .btn:hover{background:#c8d1c0;border-color:#c8d1c0}
body .hero .hero-bottom span{color:#d6ddd0!important}

body .hero .eyebrow{font-weight:400!important}

body .hero .hero__lede{font-weight:400!important}

/* Make the bold labels visibly stronger at their display size. */
.nav-cta>.btn,.hero__actions .btn{font-size:1rem;letter-spacing:0}
.hero-bottom{font-size:1.125rem}
@media(max-width:767px){.nav-cta>.btn{font-size:.8125rem}.hero__actions .btn{font-size:.875rem}.hero-bottom{font-size:1rem}}

/* Pale sage header and matching appointment-button lettering. */
.site-header,.site-header.is-scrolled{background:#d6ddd0}
body .nav-cta>.btn,body .nav-cta>.btn:hover{color:#d6ddd0!important;--btn-fg:#d6ddd0}
@media(max-width:767px){.nav-links{background:#d6ddd0}}

body .hero .eyebrow{font-size:1rem}

/* Lighter version of the header sage for the massage section. */
#services{background:#f0f4e6}

/* Header sage blended with 25% white for a visibly warm green surface. */
#services.section--mist{background-color:#e8eed7;background-image:none}

#services.section--mist{background-color:#f1f3ed}

/* Cards in the same row share automatic content tracks. */
@media(min-width:768px){
 .treatment{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;align-items:start}
 .treatment>img{align-self:start}
 .treatment>h3{align-self:start}
 .treatment>p{margin-bottom:1.1em}
 .treatment>.price-row{align-self:start}
 .treatment>details{align-self:start}
}

/* Uniform pale sage section backgrounds for local review. */
main>section:not(.hero),#services.section--mist,.niu-footer{background:#f1f3ed;background-image:none}

/* White appointment label trial. */
body .nav-cta>.btn,body .nav-cta>.btn:hover{color:#fff!important;--btn-fg:#fff}

/* Keep navigation usable between phone and desktop widths. */
@media(max-width:1400px){
 .nav-toggle{display:inline-flex;flex-shrink:0}
 .nav-links{position:fixed;inset:var(--nav-h) 0 auto;flex-direction:column;align-items:stretch;gap:0;padding:1rem 1.25rem;background:#d6ddd0;max-height:calc(100dvh - var(--nav-h));overflow-y:auto;transform:translateY(-12px);opacity:0;pointer-events:none}
 .nav-links.is-open{transform:none;opacity:1;pointer-events:auto}
 .nav-links li{width:100%}
 .nav-links a{display:block;padding:.75rem 0;white-space:normal}
 .nav-links a::after{display:none}
 .site-header.is-scrolled{height:var(--nav-h)}
}

/* Section labels remain regular-weight and more legible. */
main>section:not(.hero) .eyebrow{font-size:1rem}

/* Mobile layout reflows with screen width and enlarged text. */
@media(max-width:767px){
 .section{padding-block:2rem}
 .brand img{width:91px;height:64px}
 .wrap,.nav{padding-inline:clamp(16px,4vw,24px)}
 .hero__grid{grid-template-columns:minmax(0,1fr);gap:0}
 .hero__copy,.hero__inner{min-width:0}
 .hero{padding-top:calc(var(--nav-h) + 1.5rem);padding-bottom:1.5rem}
 .hero__title{font-size:clamp(1.75rem,7.8vw,2.7rem);line-height:1.16;overflow-wrap:anywhere;hyphens:auto}
 .hero__title br{display:none}
 body .hero .eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:.04em;display:block}
 .hero .eyebrow::before{display:none}
 .hero__lede{line-height:1.6;margin-bottom:1.5rem}
 .hero__actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
 .hero__actions .btn{width:100%;min-height:48px;line-height:1.5}
 .hero-bottom{margin-top:1.5rem;padding-top:1rem;gap:.5rem 1.5rem}
 .section-title{font-size:clamp(1.6rem,6.5vw,2.3rem);line-height:1.25}
 .section-title br{display:none}
 main :is(p,h2,h3,h4,dd,address,a,summary){overflow-wrap:anywhere;hyphens:auto}
 .treatment img,.philosophy .arch img,.marta-portrait img{height:auto}
 .price-row{flex-wrap:wrap;gap:.3rem 1rem}
 .tariffs table{table-layout:fixed}
 .tariffs th,.tariffs td{white-space:normal;overflow-wrap:anywhere}
 .education dl>div{grid-template-columns:minmax(0,1fr);gap:.25rem}
 .contact-actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .address-card{padding:2rem 1rem}
 .address-card h3{font-size:clamp(1.4rem,6vw,2rem)}
 .gift-grid .btn{justify-self:stretch}
}

/* Keep the expanded section menu spacious on wide screens. */
@media(min-width:1401px){.nav-links{gap:1rem}.nav-links a{font-size:1rem}}

/* Independent menu destinations share a consistent section rhythm. */
:root{--section-space:clamp(2rem,5vw,5rem)}
main>section:not(.hero){padding-block:var(--section-space);min-height:calc(100vh - var(--nav-h));min-height:calc(100dvh - var(--nav-h))}
.contact-grid{grid-template-columns:minmax(0,1fr)}
.location-section .address-card{padding:0;border:0;border-radius:0;background:transparent;max-width:46rem}
@media(max-width:767px), (max-height:600px) and (max-width:1100px){
 :root{--section-space:2rem}
 .about-grid,.marta-grid{row-gap:var(--section-space)}
 .marta-portrait>p{margin-bottom:0}
 .gift-grid{gap:var(--section-space);align-items:start}
}

.registry-links{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.6rem}
.registry-link{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:6px;background:transparent;border:0;border-radius:3px}
.registry-link--emr{background:#344a3f}
.registry-link img{display:block;width:auto;max-width:none;height:32px;object-fit:contain}

/* Equal contact actions with distinct call and message icons. */
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;max-width:34rem;gap:1rem}
.contact-actions .btn{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:.65rem;width:100%;min-width:0;min-height:52px;padding:1rem;font-size:.875rem;line-height:1.5;white-space:normal}
body .contact-actions .btn span{color:inherit!important;min-width:0;overflow-wrap:anywhere}
.contact-icon{width:20px;height:20px;flex:0 0 20px}
@media(max-width:767px){.contact-actions{grid-template-columns:minmax(0,1fr)}}


/* Shared section composition: identical responsive frames and text columns. */
main .visual-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,6vw,5rem);align-items:start}
main .visual-grid>*{min-width:0}
main .visual-grid .section-frame{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:50% 50% 4px 4px / 26% 26% 0 0;background:#e1e5dc}
main .visual-grid .section-frame img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
main .visual-grid .marta-portrait{width:100%;max-width:none;margin:0}
main .visual-grid .section-copy,.visual-grid .about-copy{align-self:center}
main .visual-grid .section-copy .eyebrow{margin-bottom:1.2rem}
main .gift-grid h2{font-size:clamp(2.25rem,3.2vw,3.5rem);margin:0 0 2rem}
main .visual-grid .map-frame{border-radius:14px}
.map-frame iframe{display:block;width:100%;height:100%;border:0}
main .location-section .address-card{align-self:center}
main .contact-actions{grid-template-columns:minmax(0,1fr);max-width:24rem}
@media(max-width:767px){
 main .visual-grid{grid-template-columns:minmax(0,1fr);gap:var(--section-space)}
 main .visual-grid .section-frame{max-width:450px;margin-inline:auto}
 main .visual-grid .section-copy,main .visual-grid .about-copy{width:100%}
 main .contact-actions{max-width:none}
}

.location-section .address-card>.text-link{display:inline-block;margin-bottom:1.25rem}

/* Keep opened descriptions, photos and enquiry links aligned per visible row. */
.treatment .detail-text{min-height:var(--detail-text-min,0px);display:flow-root}
.treatment .detail-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:1.3rem 0}

/* Fit the opening to the actual available viewport, retaining readable minima. */
.hero{--hero-fit:1;--hero-title-max:clamp(2.8rem,5.3vw,4.9rem);min-height:100dvh;padding-top:calc(var(--nav-h) + .5rem + 2rem * var(--hero-fit));padding-bottom:calc(.5rem + 1rem * var(--hero-fit))}
.hero__copy{max-width:790px}
.hero .hero__title{font-size:calc(1.375rem + (var(--hero-title-max) - 1.375rem) * var(--hero-fit));line-height:1.12;margin:0 0 calc(.4rem + .9rem * var(--hero-fit))}
body .hero .eyebrow{font-size:calc(.75rem + .25rem * var(--hero-fit));line-height:1.4;margin-bottom:calc(.4rem + 1rem * var(--hero-fit))}
.hero .hero__lede{font-size:calc(.875rem + .275rem * var(--hero-fit));line-height:1.45;margin-bottom:calc(.5rem + 1rem * var(--hero-fit))}
.hero .hero__actions{gap:calc(.375rem + .5rem * var(--hero-fit))}
.hero .hero__actions .btn{min-height:44px;padding-block:calc(.5rem + .4rem * var(--hero-fit));font-size:calc(.75rem + .125rem * var(--hero-fit));line-height:1.35}
.hero .hero-bottom{margin-top:calc(.5rem + 1.5rem * var(--hero-fit));padding-top:calc(.4rem + .8rem * var(--hero-fit));font-size:calc(.75rem + .25rem * var(--hero-fit));line-height:1.4;gap:.25rem 1rem}
@media(max-width:767px){.hero{--hero-title-max:clamp(1.75rem,7.8vw,2.7rem)}}
