:root{--paper:#F3EEE6;--paper2:#E9E1D4;--ink:#1D1A16;--mute:#5E554B;--ox:#8A2E1F;--rule:#CFC4B3;
--serif:"Instrument Serif",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;
--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--s8:96px;--s9:144px;--pad:clamp(20px,4vw,56px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);text-wrap:pretty}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-weight:400;margin:0;text-wrap:balance}
em{font-style:italic}
a{color:inherit}
:focus-visible{outline:2px solid var(--ox);outline-offset:3px}
.skip{position:absolute;left:var(--s3);top:-60px;background:var(--ink);color:var(--paper);padding:12px 16px;z-index:9}
.skip:focus{top:var(--s3)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.label{font:600 .75rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 var(--s4);font:600 1rem var(--sans);text-decoration:none;border-radius:999px;transition:background-color .2s ease-out,color .2s ease-out}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-red{background:var(--ox);color:#fff}
@media (hover:hover){.btn-ink:hover{background:var(--ox)}.btn-red:hover{background:var(--ink)}}
.btn:active{transform:scale(.98)}
.mast{display:flex;align-items:center;gap:var(--s5);padding:var(--s3) var(--pad);border-bottom:1px solid var(--rule)}
.wordmark{font:italic 400 2rem/1 var(--serif);text-decoration:none;letter-spacing:-.01em}
.wordmark span{color:var(--ox)}
.mast nav{display:flex;gap:var(--s4);margin-left:auto}
.mast nav a{text-decoration:none;font-weight:500;min-height:44px;display:inline-flex;align-items:center}
@media (hover:hover){.mast nav a:hover{color:var(--ox)}}
@media (max-width:820px){.mast nav{display:none}.mast .btn{margin-left:auto;min-height:44px;padding:0 var(--s3)}}

.hero{display:grid;grid-template-columns:5fr 7fr;min-height:calc(100svh - 81px);border-bottom:1px solid var(--rule)}
.hero-text{padding:var(--s7) var(--pad) var(--s6);display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:1}
.kicker{margin:0 0 auto;font:500 .875rem var(--sans);color:var(--mute)}
.hero h1{font:400 clamp(3.25rem,7.4vw,8.5rem)/.92 var(--serif);letter-spacing:-.02em;margin:var(--s6) -18vw 0 0}
.hero h1 em{color:var(--ox)}
.lede{max-width:30ch;font-size:1.1875rem;margin:var(--s5) 0 0}
.hero-cta{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5);flex-wrap:wrap}
.from{margin:0;color:var(--mute)}.from strong{color:var(--ink);font:400 1.75rem var(--serif)}
.hero-photo{margin:0;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;animation:in .6s ease-out both}
@keyframes in{from{opacity:0}to{opacity:1}}
@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero-photo{order:-1;height:62svh}.hero-photo img{object-position:50% 15%}.hero h1{margin-right:0;margin-top:var(--s4)}.hero-text{padding-top:var(--s5)}.kicker{margin:0}}

.help{display:flex;gap:var(--s5);align-items:baseline;padding:var(--s5) var(--pad);border-bottom:1px solid var(--rule);flex-wrap:wrap}
.topics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4)}
.topics a{font:italic 400 1.75rem/1.2 var(--serif);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}
@media (hover:hover){.topics a:hover{color:var(--ox);border-color:var(--ox)}}

.how{display:grid;grid-template-columns:3fr 9fr;gap:var(--s5);padding:var(--s8) var(--pad)}
.essay{font:400 clamp(1.75rem,3.2vw,3rem)/1.18 var(--serif);margin:0;max-width:26em}
.step{color:var(--ox)}
@media (max-width:900px){.how{grid-template-columns:1fr;padding:var(--s7) var(--pad)}}

.contents{padding:var(--s8) var(--pad);background:var(--ink);color:var(--paper)}
.contents-head{display:grid;grid-template-columns:7fr 5fr;gap:var(--s5);align-items:end;margin-bottom:var(--s7)}
.contents h2,.spread h2,.prices h2,.doctors h2,.after h2,.faq h2,.support h2{font:400 clamp(2.75rem,6vw,6rem)/.95 var(--serif);letter-spacing:-.015em}
.contents h2 em{color:#E7A58F}
.contents-head p{margin:0;color:#CFC6B8;max-width:36ch}
.toc{list-style:none;margin:0;padding:0;border-top:1px solid #4A443C}
.toc li{display:grid;grid-template-columns:80px 1fr auto;gap:var(--s4);align-items:baseline;padding:var(--s4) 0;border-bottom:1px solid #4A443C}
.no{font:italic 400 1.5rem var(--serif);color:#E7A58F}
.toc h3{font:400 clamp(1.75rem,3vw,2.5rem)/1.1 var(--serif)}
.toc p{margin:var(--s1) 0 0;color:#CFC6B8;font-size:1rem}
.pr{font:500 1rem var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:900px){.contents-head{grid-template-columns:1fr}.toc li{grid-template-columns:40px 1fr}.toc .pr{grid-column:2}}

.spread{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule)}
.spread-photo{margin:0}.spread-photo img{width:100%;height:100%;object-fit:cover;max-height:1100px}
.spread-text{padding:var(--s8) var(--pad);align-self:center}
.spread h2 em,.prices h2 em,.doctors h2 em,.after h2 em,.faq h2 em,.support h2 em{color:var(--ox)}
.spread-text>p:not(.label):not(.note){font-size:1.1875rem;max-width:34ch;margin:var(--s4) 0 var(--s6)}
.spread-text h2{margin-top:var(--s3)}
.incl{margin:var(--s3) 0 0;border-top:1px solid var(--rule)}
.incl dt{font:400 1.5rem/1.2 var(--serif);padding-top:var(--s3)}
.incl dd{margin:0;padding-bottom:var(--s3);border-bottom:1px solid var(--rule);color:var(--mute)}
.note{margin:var(--s4) 0 0;font-weight:600}
@media (max-width:900px){.spread{grid-template-columns:1fr}.spread-photo img{max-height:70svh}.spread-text{padding:var(--s7) var(--pad)}}

.prices{padding:var(--s8) var(--pad);display:grid;grid-template-columns:4fr 8fr;gap:var(--s6)}
.prices-head p:last-child{margin:var(--s4) 0 0;font-size:1.1875rem}
.prices-head h2{margin-top:var(--s3)}
.menu{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.menu thead th{font:600 .75rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:left;padding:0 0 var(--s2);border-bottom:1px solid var(--ink)}
.menu thead th:last-child,.menu td:last-child{text-align:right}
.menu tbody th{font:400 clamp(1.375rem,2.4vw,2rem)/1.2 var(--serif);text-align:left;padding:var(--s3) var(--s3) var(--s3) 0}
.menu td{padding:var(--s3) 0;color:var(--mute);border-bottom:1px solid var(--rule)}
.menu tbody th{border-bottom:1px solid var(--rule)}
.menu td:last-child{color:var(--ink);font:400 clamp(1.375rem,2.4vw,2rem) var(--serif);white-space:nowrap}
.menu .zero th,.menu .zero td:last-child{color:var(--ox)}
.fine{grid-column:2;margin:0;color:var(--mute)}.fine strong{color:var(--ink)}
@media (max-width:900px){.prices{grid-template-columns:1fr;padding:var(--s7) var(--pad)}.fine{grid-column:1}.menu td:nth-child(2){font-size:.875rem}}
@media (max-width:520px){.menu thead th:nth-child(2),.menu td:nth-child(2){display:none}}

.doctors{display:grid;grid-template-columns:5fr 7fr;background:var(--paper2)}
.doc-photo{margin:0}.doc-photo img{width:100%;height:100%;object-fit:cover;max-height:1000px}
.doc-text{padding:var(--s8) var(--pad)}
.doc-text>p{max-width:40ch;font-size:1.1875rem;margin:var(--s4) 0 var(--s6)}
.roster{list-style:none;margin:0 0 var(--s5);padding:0;border-top:1px solid var(--ink)}
.roster li{display:grid;grid-template-columns:1fr auto;gap:0 var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--rule)}
.roster .n{font:400 1.75rem/1.2 var(--serif)}
.roster .p{font:400 1.75rem var(--serif);text-align:right}
.roster .s{color:var(--mute)}.roster .t{font-size:.9375rem;font-weight:600;color:var(--ox);text-align:right}
.link{font-weight:600;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
@media (max-width:900px){.doctors{grid-template-columns:1fr}.doc-photo img{max-height:60svh}.doc-text{padding:var(--s7) var(--pad)}.roster li{grid-template-columns:1fr}.roster .p,.roster .t{text-align:left}}

.after{padding:var(--s8) var(--pad)}
.after-lede{font:400 clamp(1.5rem,2.4vw,2.125rem)/1.25 var(--serif);max-width:32ch;margin:var(--s4) 0 var(--s7);color:var(--mute)}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);border-top:1px solid var(--ink);padding-top:var(--s4)}
.cols h3{font:600 1.0625rem var(--sans);margin-bottom:var(--s2)}.cols p{margin:0;color:var(--mute)}
@media (max-width:900px){.cols{grid-template-columns:1fr 1fr}}@media (max-width:520px){.cols{grid-template-columns:1fr}}

.faq{padding:var(--s8) var(--pad);display:grid;grid-template-columns:4fr 8fr;gap:var(--s6);border-top:1px solid var(--rule)}
.qa{border-top:1px solid var(--ink)}
details{border-bottom:1px solid var(--rule)}
summary{font:400 clamp(1.375rem,2.2vw,1.875rem)/1.25 var(--serif);padding:var(--s4) var(--s6) var(--s4) 0;cursor:pointer;list-style:none;position:relative;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:var(--s4);font-family:var(--sans);color:var(--ox)}
details[open] summary::after{content:"–"}
details p{margin:0 0 var(--s4);max-width:60ch;color:var(--mute)}
@media (max-width:900px){.faq{grid-template-columns:1fr;padding:var(--s7) var(--pad)}}

.support{display:grid;grid-template-columns:7fr 5fr;gap:var(--s6);padding:var(--s8) var(--pad);background:var(--paper2)}
.support p{font-size:1.1875rem}
.support a:not(.btn){min-height:44px;display:inline-flex;align-items:center}
.urgent{border-top:3px solid var(--ox);padding-top:var(--s4)}
.urgent h3{font:400 2rem var(--serif)}
@media (max-width:900px){.support{grid-template-columns:1fr;padding:var(--s7) var(--pad)}}
.foot{padding:var(--s7) var(--pad) var(--s5);background:var(--ink);color:#CFC6B8;font-size:.875rem}
.wordmark.big{font-size:clamp(5rem,18vw,16rem);color:var(--paper);margin:0 0 var(--s5);line-height:.8}
.wordmark.big span{color:#E7A58F}
.foot p{max-width:90ch}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (min-width:901px){
 .hero{height:calc(100svh - 57px);min-height:640px;max-height:1000px}
 .hero-photo{position:relative}
 .hero-photo img{position:absolute;inset:0;object-position:70% 20%}
 .hero-text{justify-content:center}
 .kicker{margin:0}
}
@media (min-width:901px){.hero-photo img{transform:scale(1.12);transform-origin:85% 30%}}
