:root{
  --black:#000; --ink:#0A0A0A;
  --g6:#4F4F4F; --g4:#6B6B6B; --g2:#DCDCDC; --g1:#F2F2F1; --white:#fff;
  --gold:#906A45; --gold-deep:#7B5B3B; --gold-tint:#EFE8DF;
  --rule:#D9C6AE;      /* warm hairline, replaces the neutral grey rule */
  --gold-lt:#C9A97E;   /* gold that holds up on black */
  /* the figure's width drives every alignment below */
  --figw:clamp(300px,32vw,500px);
  /* measured: her head centre sits 0.4917 x figure-width below the top of the image */
  --headY:calc(var(--figw) * 0.4917);
  --pad:52px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{overflow-x:clip;scroll-padding-top:120px}
body{background:var(--white);color:var(--ink);
  font-family:"Archivo",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
.ed{font-family:"Newsreader",Georgia,"Times New Roman",serif;font-weight:200;font-style:italic}

/* ── bar ── */
.bar{background:var(--white);position:sticky;top:0;z-index:40;
  padding:22px var(--pad) 18px;
  transition:padding .28s cubic-bezier(.2,.7,.3,1),background .28s ease,box-shadow .28s ease}
.bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--rule);opacity:0;transition:opacity .28s ease}
.bar.compact{padding:11px var(--pad) 9px;
  background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(160%) blur(16px);
  backdrop-filter:saturate(160%) blur(16px)}
.bar.compact::after{opacity:1}
.bar.compact .wm{font-size:.82rem;letter-spacing:.26em;border-top-width:1px;border-bottom-width:1px;
  padding:3px 0 4px}
.bar.compact .nav{margin-top:9px}
.wm,.nav{transition:font-size .28s cubic-bezier(.2,.7,.3,1),letter-spacing .28s,margin-top .28s}
.barTop{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.barTop .spacer{justify-self:start}
.wm{justify-self:center;font-variation-settings:"wdth" 118;text-transform:uppercase;
  letter-spacing:.34em;font-size:1.05rem;font-weight:600;white-space:nowrap;color:var(--black);
  padding:5px 0 6px;border-top:2px solid var(--black);border-bottom:2px solid var(--gold);
  text-decoration:none;transition:border-color .22s ease,color .22s ease}
a.wm:hover{border-bottom-color:var(--gold-deep);border-top-color:var(--gold-deep)}
a.wm:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.nav{display:flex;gap:34px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.nav a{color:var(--g6);text-decoration:none;text-transform:uppercase;font-size:.74rem;
  letter-spacing:.14em;font-weight:500;padding-bottom:3px;border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s}
.nav a:hover,.nav a:focus-visible{color:var(--black);border-bottom-color:var(--black);outline:none}
.book{justify-self:end;background:var(--black);color:var(--white);padding:12px 22px;
  text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;
  font-weight:600;transition:background .2s}
.book:hover{background:var(--g6)}

/* ── stage: figure centred, sitting behind the type ── */
.stage{position:relative;padding-top:26px;
  min-height:calc(var(--figw) * 5.7371 + 26px)}   /* column.jpg is 1050x6024 */
.figure{position:absolute;top:26px;left:50%;transform:translateX(-50%);
  width:var(--figw);z-index:0;pointer-events:none}
.figure img{display:block;width:100%;height:auto;
  animation:settle 2.4s cubic-bezier(.16,.8,.24,1) both;transform-origin:50% 0}
@keyframes settle{from{transform:scale(1.03)}to{transform:scale(1)}}
.flow{position:relative;z-index:2;
  display:grid;grid-template-columns:1fr var(--figw) 1fr;align-items:start}
.colL{grid-column:1;padding-left:var(--pad);padding-right:34px}
.colR{grid-column:3;padding-right:var(--pad);padding-left:34px}

/* ── hero: the type block is centred on her head line ── */
.heroRow{min-height:calc(var(--headY) * 2);display:flex;flex-direction:column;justify-content:center}
h1{margin:0 0 22px;font-variation-settings:"wdth" 110;text-transform:uppercase;
  font-weight:600;letter-spacing:.03em;line-height:.95;color:var(--black);
  font-size:clamp(2.3rem,5.4vw,4.5rem);text-wrap:balance}
h1 .ed{display:block;text-transform:none;letter-spacing:-.012em;font-size:.85em;margin-top:.04em}
.sub{margin:0 0 30px;max-width:36ch;color:var(--g6);font-size:clamp(.95rem,1.25vw,1.06rem);line-height:1.6}
.acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:10px;max-width:520px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;font-weight:600;
  padding:17px 24px;border:1px solid var(--black);white-space:nowrap;transition:background .22s,color .22s}
.btn.solid{background:var(--black);color:var(--white)}
.btn.solid:hover{background:var(--white);color:var(--black)}
.btn.line{color:var(--black);border-color:var(--gold)}
.btn.line:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}

/* ── right margin: treatment detail plates ── */
.plate{display:block;margin-bottom:32px;text-decoration:none;color:inherit}
.plate .shot{display:block;overflow:hidden;background:var(--g1)}
.plate img{display:block;width:100%;height:auto;
  transition:transform .75s cubic-bezier(.2,.7,.3,1)}
.plate:hover img,.plate:focus-visible img{transform:scale(1.06)}
.plate:focus-visible{outline:2px solid var(--black);outline-offset:5px}
.plate .cap b,.plate .cap span{transition:color .3s ease}
.plate:hover .cap span{color:var(--gold-deep)}
.plate .cap{display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  margin-top:10px;padding-top:9px;border-top:1px solid var(--rule);
  text-transform:uppercase;font-size:.71rem;letter-spacing:.12em;font-weight:600;color:var(--gold)}
.plate .cap b{color:var(--black);font-weight:600;font-family:"IBM Plex Mono",monospace;
  font-size:.78rem;letter-spacing:.03em}
.plate:first-child{margin-top:calc(var(--headY) * 0.55)}

/* ── section 02: concern router ── */
.s2{padding:96px 0 84px}
.tag{display:block;text-transform:uppercase;font-size:.70rem;letter-spacing:.16em;
  font-weight:600;color:var(--gold);margin-bottom:18px}
h2{margin:0 0 12px;font-variation-settings:"wdth" 108;text-transform:uppercase;
  font-weight:600;letter-spacing:.04em;line-height:1.03;font-size:clamp(1.6rem,3vw,2.4rem)}
h2 .ed{display:block;text-transform:none;letter-spacing:-.01em;margin-top:.03em}
.intro{color:var(--g6);max-width:40ch;margin:0 0 40px;font-size:.98rem}
.rows{border-top:1px solid var(--gold)}
.row{display:grid;grid-template-columns:1fr auto;gap:0 22px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;
  position:relative;transition:padding-left .3s cubic-bezier(.2,.7,.3,1)}
.row:hover,.row:focus-visible{padding-left:13px;outline:none}
.row::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:2px;background:var(--gold);
  transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.row:hover::before,.row:focus-visible::before{transform:scaleY(1)}
.row .q{grid-column:1;grid-row:1;font-family:"Newsreader",Georgia,serif;font-weight:300;
  font-style:italic;font-size:clamp(1.06rem,1.7vw,1.3rem);line-height:1.28;
  color:var(--black);text-wrap:balance}
.row .t{grid-column:1;grid-row:2;text-transform:uppercase;font-size:.70rem;letter-spacing:.13em;
  font-weight:600;color:var(--gold);margin-top:7px}
.row .p{grid-column:2;grid-row:1/3;justify-self:end;align-self:center;text-align:right;
  font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;
  font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:500;color:var(--black);
  white-space:nowrap;line-height:1.05}
.row .p small{display:block;font-family:"Archivo",sans-serif;font-size:.71rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:5px}
.row .p.tbc{font-size:.88rem;color:var(--g4);font-weight:400}
.stmt{margin-top:34px;padding:17px 20px;background:var(--g1);border-left:2px solid var(--gold);
  font-size:.82rem;line-height:1.62;color:#333331;max-width:58ch}
.stmt b{color:var(--black);font-weight:600}
.blk{padding:0 0 96px}
.blk p{color:var(--g6);max-width:40ch;margin:0 0 22px;font-size:.96rem}
.lnk{display:inline-flex;gap:10px;color:var(--black);text-decoration:none;text-transform:uppercase;
  font-size:.70rem;letter-spacing:.14em;font-weight:600;border-bottom:1px solid var(--black);padding-bottom:4px}
.lnk:hover{color:var(--g6);border-bottom-color:var(--g6)}






/* ── phase two: the view slides down, the next section arrives from above ── */
.riser{position:fixed;left:0;top:0;width:100%;height:100vh;overflow:hidden;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--white);transform:translateY(-100%);will-change:transform}
.riser.settled{position:absolute;bottom:auto;height:100vh;overflow:hidden;transform:none}


/* ── the clinic ── */
.clinic{max-width:1320px;margin:0 auto;padding:110px var(--pad) 20px;
  display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.clinic .shotwrap{overflow:hidden;background:var(--g1)}
.clinic img{display:block;width:100%;height:auto}
.clinic h2{margin:0 0 18px}
.clinic p{color:var(--g6);font-size:1rem;line-height:1.65;margin:0 0 16px;max-width:44ch}
.clinic .meta{display:grid;gap:0;margin-top:26px;border-top:1px solid var(--rule)}
.clinic .meta div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;
  border-bottom:1px solid var(--rule);font-size:.93rem}
.clinic .meta dt{text-transform:uppercase;font-size:.70rem;letter-spacing:.13em;
  font-weight:600;color:var(--gold)}
.clinic .meta dd{margin:0;color:var(--black);font-family:"IBM Plex Mono",monospace;font-size:.88rem;text-align:right}
.clinic .lnk{margin-top:26px}
@media(max-width:1080px){
  .clinic{grid-template-columns:1fr;gap:30px;padding:56px var(--pad) 10px}
}

/* ── section 05: the close ── */
.close{padding:118px var(--pad) 90px;max-width:1320px;margin:0 auto}
.chead{margin-bottom:56px;padding-bottom:22px;border-bottom:1px solid var(--black);
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.chead h2{margin:0}
.chead p{margin:0;color:var(--g6);font-size:.95rem;max-width:42ch}
.cgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
form.bk{display:grid;gap:20px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fld{display:grid;gap:8px}
.fld label{text-transform:uppercase;font-size:.70rem;letter-spacing:.13em;font-weight:600;color:var(--g6)}
.fld input,.fld select{
  font-family:"Archivo",sans-serif;font-size:1rem;color:var(--black);
  padding:14px 2px;border:0;border-bottom:1px solid var(--rule);background:transparent;
  border-radius:0;appearance:none;transition:border-color .2s ease}
.fld select{background-image:linear-gradient(45deg,transparent 50%,#000 50%),linear-gradient(135deg,#000 50%,transparent 50%);
  background-position:calc(100% - 13px) 21px,calc(100% - 8px) 21px;background-size:5px 5px;background-repeat:no-repeat;
  padding-right:26px}
.fld input:focus,.fld select:focus{outline:none;border-bottom-color:var(--black)}
.fld input::placeholder{color:var(--g4)}
.bk .sub{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:8px}
.bk .dep{font-family:"IBM Plex Mono",monospace;font-size:.76rem;color:var(--g6);max-width:34ch;line-height:1.5}
.side{display:grid;gap:0;border-top:1px solid var(--black)}
.side div{padding:18px 0;border-bottom:1px solid var(--rule)}
.side dt{text-transform:uppercase;font-size:.70rem;letter-spacing:.13em;font-weight:600;color:var(--gold);margin-bottom:7px}
.side dd{margin:0;font-size:.95rem;color:var(--black);line-height:1.5}
.side dd .mono{font-family:"IBM Plex Mono",monospace;font-size:.88rem}
.side a{color:var(--black);text-decoration:none;border-bottom:1px solid var(--g2)}
.side a:hover{border-bottom-color:var(--black)}

/* ── footer ── */
footer{background:var(--black);color:#EDEDED;padding:74px var(--pad) 40px;margin-top:0}
.fgrid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:44px}
footer h3{font-variation-settings:"wdth" 118;text-transform:uppercase;letter-spacing:.3em;
  font-size:.95rem;font-weight:600;margin:0 0 16px;color:#fff}
footer .blurb{color:#A8A8A8;font-size:.9rem;line-height:1.6;margin:0;max-width:34ch}
footer nav{display:grid;gap:11px}
footer nav a,footer .cx a{color:#D6D6D6;text-decoration:none;font-size:.9rem}
footer nav a:hover,footer .cx a:hover{color:#fff}
footer .ft{text-transform:uppercase;font-size:.70rem;letter-spacing:.13em;font-weight:600;color:var(--gold-lt);margin:0 0 16px}
footer .cx{display:grid;gap:9px;font-size:.9rem;color:#D6D6D6;line-height:1.5}
.legal{max-width:1320px;margin:56px auto 0;padding-top:24px;border-top:1px solid #2A2A2A}
.legal p{font-size:.76rem;line-height:1.65;color:#9A9A9A;margin:0 0 12px;max-width:100ch}
.legal .row2{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:.74rem;color:#7E7E7E;margin-top:18px}
@media(max-width:1080px){
  .close{padding:60px var(--pad) 50px}
  .chead{grid-template-columns:1fr;gap:16px;margin-bottom:34px}
  .cgrid{grid-template-columns:1fr;gap:44px}
  .f2{grid-template-columns:1fr}
  footer{padding:52px var(--pad) 34px}
  .fgrid{grid-template-columns:1fr 1fr;gap:34px}
  .legal .row2{flex-direction:column;gap:8px}
}


/* ── reviews strip, sits above the results inside the rise ── */
.revs{max-width:1320px;margin:0 auto 44px;padding:0 var(--pad);width:100%}
.revhead{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;
  padding-bottom:14px;border-bottom:1px solid var(--black);margin-bottom:26px}
.revhead .score{font-family:"IBM Plex Mono",monospace;font-size:1.9rem;font-weight:500;
  color:var(--black);line-height:1;font-variant-numeric:tabular-nums}
.revhead .stars{letter-spacing:.14em;font-size:.95rem;color:var(--black)}
.revhead .src{text-transform:uppercase;font-size:.70rem;letter-spacing:.14em;
  font-weight:600;color:var(--gold);margin-left:auto}
.revgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.rev{padding:0 clamp(16px,2vw,30px);border-left:1px solid var(--rule)}
.rev:first-child{padding-left:0;border-left:none}
.rev:last-child{padding-right:0}
.rev blockquote{margin:0 0 12px;font-family:"Newsreader",Georgia,serif;font-weight:300;
  font-style:italic;font-size:1.02rem;line-height:1.42;color:var(--black)}
.rev cite{font-style:normal;text-transform:uppercase;font-size:.71rem;letter-spacing:.12em;
  font-weight:600;color:var(--gold)}
.rev.slot blockquote{color:var(--g4);font-style:normal;font-family:"IBM Plex Mono",monospace;
  font-size:.78rem;line-height:1.6}
@media(max-width:1080px){
  .revs{margin-bottom:30px}
  .revgrid{grid-template-columns:1fr;gap:22px}
  .rev{padding:0;border-left:none}
}

/* ── section 04: results ── */
.results{padding:0 var(--pad);max-width:1320px;margin:0 auto;width:100%}
.rhead{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;
  margin-bottom:34px;padding-bottom:18px;border-bottom:1px solid var(--black)}
.rhead h2{margin:0}
.rhead .note{color:var(--g6);font-size:.95rem;max-width:44ch;margin:0}
.pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pair figure{margin:0}
.pair .duo{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ph{position:relative;aspect-ratio:1/1;background:var(--g1);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph span{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gold);line-height:1.7}
.ph::after{content:attr(data-side);position:absolute;top:10px;left:10px;border-bottom:1px solid var(--gold);
  font-family:"IBM Plex Mono",monospace;font-size:.65rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--black);background:var(--white);padding:3px 7px}
.pair figcaption{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  margin-top:11px;padding-top:9px;border-top:1px solid var(--rule)}
.pair .tx{text-transform:uppercase;font-size:.70rem;letter-spacing:.13em;font-weight:600;color:var(--black)}
.pair .mx{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--g4);white-space:nowrap}
.rules-note{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:30px;
  padding-top:24px;border-top:1px solid var(--rule)}
.rules-note ul{margin:0;padding-left:17px;color:var(--g6);font-size:.92rem;line-height:1.7}
.rules-note li{margin-bottom:7px}
.vary{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--g6);
  letter-spacing:.04em;margin:34px 0 0}
@media(max-width:1080px){
  .results{padding:60px var(--pad) 70px}
  .rhead{grid-template-columns:1fr;gap:18px;margin-bottom:34px}
  .pairs{grid-template-columns:1fr;gap:28px}
  .rules-note{grid-template-columns:1fr;gap:18px}
}

/* ── the horizontal band: she runs left to right as you travel ── */
.band{flex:0 0 auto;height:100vh;position:relative;display:flex;
  flex-direction:column;justify-content:flex-end;background:var(--white)}
.band img{display:block;height:70vh;width:auto;object-fit:contain}
.bandhead{position:absolute;top:34px;left:var(--pad);z-index:3}
.bandhead .tag{margin:0}
.marks{position:absolute;top:0;left:0;right:0;height:30vh;z-index:2}
.mark{position:absolute;bottom:26px;transform:translateX(-50%);width:190px;
  text-decoration:none;color:inherit;display:block;text-align:center}
.mark::after{content:"";position:absolute;left:50%;bottom:-20px;width:1px;height:14px;
  background:var(--g2);transition:background .3s ease,height .3s ease}
.mark:hover::after,.mark:focus-visible::after{background:var(--gold);height:20px}
.mark .mn{display:block;font-family:"IBM Plex Mono",monospace;font-size:.70rem;
  color:var(--gold);letter-spacing:.10em;margin-bottom:9px}
.mark .mt{display:block;font-variation-settings:"wdth" 108;text-transform:uppercase;
  font-weight:600;letter-spacing:.035em;line-height:1.06;font-size:.98rem;color:var(--black)}
.mark .mt em{display:block;font-family:"Newsreader",Georgia,serif;font-weight:200;
  font-style:italic;text-transform:none;letter-spacing:-.01em;font-size:1.02em;margin-top:.04em}
.mark .mp{display:inline-block;margin-top:11px;text-transform:uppercase;font-size:.71rem;
  letter-spacing:.13em;font-weight:600;color:var(--gold);transition:color .3s ease}
.mark:hover .mp,.mark:focus-visible .mp{color:var(--gold-deep)}
.mark:focus-visible{outline:2px solid var(--black);outline-offset:8px}
@media(max-width:1080px){
  .band{height:auto;display:block;padding:44px 0 8px}
  .band img{height:auto;width:100%}
  .bandhead{position:static;padding:0 var(--pad) 22px}
  .marks{position:static;height:auto;display:grid;grid-template-columns:1fr 1fr;
    gap:26px 18px;padding:26px var(--pad) 0}
  .mark{position:static;transform:none;width:auto;text-align:left}
  .mark::after{display:none}
}

/* ── the whole page travels left once you reach the feet ── */
.hwrap{position:relative}                      /* JS sets height = page height + travel */
.hstick{position:relative;left:0;width:100%}
.hstick.pinned{position:fixed;bottom:0;left:0;width:100%;z-index:1}
.htrack{display:flex;align-items:flex-end;will-change:transform}
.panel{flex:0 0 100vw}
.hbar{position:fixed;left:0;bottom:0;height:2px;width:100%;z-index:30;pointer-events:none;
  opacity:0;transition:opacity .3s ease}
.hbar.on{opacity:1}
.hbar i{display:block;height:100%;width:0;background:var(--black)}

@media(max-width:1080px){
  .hwrap{height:auto !important}
  .riser{position:static;height:auto;overflow:visible;transform:none !important}
  .hstick{position:static}
  .htrack{display:block;transform:none !important}
  .panel{flex:none;width:auto}
  .hbar{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hwrap{height:auto !important}
  .riser{position:static;height:auto;overflow:visible;transform:none !important}
  .hstick{position:static}
  .htrack{display:block;transform:none !important}
  .panel{flex:none;width:auto}
  .hbar{display:none}
}

@media(max-width:1080px){
}
@media(prefers-reduced-motion:reduce){
}

@media(max-width:1080px){
  :root{--pad:20px}
  .bar{padding:14px 20px 12px}
  .bar.compact{padding:9px 20px 8px}
  .barTop{grid-template-columns:1fr auto}
  .barTop .spacer{display:none}
  .wm{justify-self:start;font-size:.84rem;letter-spacing:.22em}
  .nav{display:none}
  .stage{padding-top:0}
  .figure{position:relative;top:0;left:0;transform:none;width:min(74%,400px);margin:0 auto}
  .flow{display:block}
  .colL,.colR{padding:0 var(--pad)}
  .heroRow{min-height:0;padding:24px 0 36px}
  h1{font-size:clamp(2.1rem,9.5vw,2.9rem)}
  .acts{grid-template-columns:1fr;max-width:none}
  .plates{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .plate,.plate:first-child{margin:0}
  .s2{padding:54px 0 44px}
  .row{padding:18px 0}
  .blk{padding-bottom:64px}
}
@media(prefers-reduced-motion:reduce){.figure img{animation:none}
  .plate img{transition:none}
  .plate:hover img,.plate:focus-visible img{transform:none}}
/* the rise frame is one screen tall, so tighten it on shorter displays */
@media(min-width:1081px) and (max-height:880px){
  .revs{margin-bottom:26px}
  .revhead{margin-bottom:18px;padding-bottom:11px}
  .rhead{margin-bottom:22px;padding-bottom:14px}
  .pairs{gap:20px}
  .vary{margin-top:16px}
}
@media(min-width:1081px) and (max-height:790px){
  .revs{margin-bottom:18px}
  .revhead .score{font-size:1.6rem}
  .rev blockquote{font-size:.93rem;margin-bottom:9px}
  .rhead{margin-bottom:16px}
  .pairs{gap:16px}
  .vary{margin-top:11px}
}
@media(min-width:1081px) and (max-height:745px){
  .revs{margin-bottom:12px}
  .revhead{margin-bottom:12px;padding-bottom:8px}
  .revhead .score{font-size:1.42rem}
  .rev blockquote{font-size:.87rem;margin-bottom:7px;line-height:1.36}
  .rhead{margin-bottom:12px;padding-bottom:10px}
  .pairs{gap:10px}
  .vary{margin-top:5px;font-size:.72rem}
  .pair figcaption{margin-top:6px;padding-top:5px}
  .revgrid .rev cite{font-size:.66rem}
  .revhead{margin-bottom:9px}
  .rhead{margin-bottom:9px}
}

/* ═══ interior pages ═══ */
.page-pad{max-width:1320px;margin:0 auto;padding:0 var(--pad)}
.phero{max-width:1320px;margin:0 auto;padding:78px var(--pad) 0;
  display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:end}
.phero h1{margin:0 0 20px;font-variation-settings:"wdth" 110;text-transform:uppercase;
  font-weight:600;letter-spacing:.03em;line-height:.97;color:var(--black);
  font-size:clamp(2.2rem,5vw,4.1rem);text-wrap:balance}
.phero h1 .ed{display:block;text-transform:none;letter-spacing:-.012em;font-size:.85em;margin-top:.04em}
.phero .lede{color:var(--g6);font-size:1.06rem;line-height:1.62;margin:0 0 28px;max-width:46ch}
.phero .from{display:flex;align-items:baseline;gap:12px;margin-bottom:26px}
.phero .from b{font-family:"IBM Plex Mono",monospace;font-size:2rem;font-weight:500;color:var(--black);
  border-bottom:2px solid var(--gold);padding-bottom:2px}
.phero .from span{text-transform:uppercase;font-size:.70rem;letter-spacing:.14em;font-weight:600;color:var(--gold)}
.phero .shot{overflow:hidden;background:var(--g1)}
.phero .shot img{display:block;width:100%;height:auto}
.crumb{max-width:1320px;margin:0 auto;padding:26px var(--pad) 0;
  text-transform:uppercase;font-size:.72rem;letter-spacing:.15em;font-weight:600;color:var(--gold)}
.crumb a{color:var(--gold);text-decoration:none}
.crumb a:hover{color:var(--black)}

.sec{max-width:1320px;margin:0 auto;padding:96px var(--pad) 0}
.sec.tight{padding-top:64px}
.sechead{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;
  padding-bottom:18px;border-bottom:1px solid var(--black);margin-bottom:40px}
.sechead h2{margin:0}
.sechead p{margin:0;color:var(--g6);font-size:.96rem;max-width:44ch}

.areas{display:grid;gap:0;border-top:1px solid var(--rule)}
.area{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px 30px;align-items:start;
  padding:26px 0;border-bottom:1px solid var(--rule)}
.area h3{margin:0 0 8px;font-variation-settings:"wdth" 108;text-transform:uppercase;
  font-weight:600;letter-spacing:.035em;font-size:1.12rem;line-height:1.1}
.area p{margin:0;color:var(--g6);font-size:.94rem;line-height:1.55;max-width:42ch}
.area .spec{display:grid;gap:5px}
.area .spec div{display:flex;justify-content:space-between;gap:14px;
  font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--g6)}
.area .spec div b{color:var(--black);font-weight:500}
.area .px{font-family:"IBM Plex Mono",monospace;font-size:1.5rem;font-weight:500;
  color:var(--black);white-space:nowrap;text-align:right}
.area .px small{display:block;font-family:"Archivo",sans-serif;font-size:.70rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:4px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rule)}
.step{padding:26px clamp(16px,2vw,30px) 30px;border-left:1px solid var(--rule)}
.step:first-child{padding-left:0;border-left:none}
.step .n{font-family:"IBM Plex Mono",monospace;font-size:.70rem;color:var(--gold);
  letter-spacing:.12em;margin-bottom:14px;display:block}
.step h4{margin:0 0 9px;font-variation-settings:"wdth" 108;text-transform:uppercase;
  font-weight:600;letter-spacing:.035em;font-size:.98rem}
.step p{margin:0;color:var(--g6);font-size:.9rem;line-height:1.55}

.risk{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.risk h3{margin:0 0 16px;font-variation-settings:"wdth" 108;text-transform:uppercase;
  font-weight:600;letter-spacing:.04em;font-size:1.05rem}
.risk ul{margin:0;padding-left:18px;color:var(--g6);font-size:.94rem;line-height:1.66}
.risk li{margin-bottom:8px}
.risk li b{color:var(--black);font-weight:600}
.notice{margin-top:44px;padding:22px 24px;background:var(--g1);border-left:2px solid var(--gold)}
.notice b{color:var(--black);font-weight:600}
.notice p{margin:0;font-size:.86rem;line-height:1.65;color:#333331;max-width:96ch}

.faq{border-top:1px solid var(--black)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;
  gap:24px;align-items:baseline;font-variation-settings:"wdth" 106;text-transform:uppercase;
  font-weight:600;letter-spacing:.03em;font-size:.98rem;color:var(--black)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:"IBM Plex Mono",monospace;font-size:1.1rem;color:var(--gold)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 20px;color:var(--g6);font-size:.95rem;line-height:1.65;max-width:70ch}
.endcta{margin:96px 0 0;background:var(--black);padding:0 var(--pad)}
.endcta .box{max-width:1320px;margin:0 auto;background:transparent;color:#EDEDED;
  padding:74px 0 62px;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;
  border-bottom:1px solid #2A2A2A}
.endcta + footer{margin-top:0;padding-top:60px}
.endcta h2{margin:0 0 10px;color:#fff}
.endcta p{margin:0;color:#A8A8A8;font-size:.98rem;max-width:46ch}
.endcta .btn{border-color:#fff;background:#fff;color:var(--black)}
.endcta .btn:hover{background:transparent;color:#fff}
@media(max-width:1080px){
  .phero{grid-template-columns:1fr;gap:28px;padding-top:34px}
  .sec{padding-top:54px}
  .sechead{grid-template-columns:1fr;gap:14px;margin-bottom:26px}
  .area{grid-template-columns:1fr;gap:12px}
  .area .px{text-align:left}
  .steps{grid-template-columns:1fr 1fr}
  .step{padding:22px 16px 24px}
  .step:nth-child(odd){padding-left:0;border-left:none}
  .risk{grid-template-columns:1fr;gap:32px}
  .endcta{margin-top:56px}
  .endcta .box{grid-template-columns:1fr;padding:44px 0 38px}
}
.tbc{font-family:"Archivo",sans-serif;font-size:.70rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:600;color:var(--gold)}
.area a{color:inherit}
a.area:hover h3{text-decoration:underline;text-underline-offset:4px}

/* ── expandable rows ── */
.areas details.area{display:block;padding:0}
.areas details.area > summary{list-style:none;cursor:pointer;
  display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px 30px;align-items:start;
  padding:26px 0;transition:padding-left .28s cubic-bezier(.2,.7,.3,1)}
.areas details.area > summary::-webkit-details-marker{display:none}
.areas details.area{position:relative;border-bottom:1px solid var(--rule)}
.areas details.area::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:2px;
  background:var(--gold);transform:scaleY(0);transform-origin:top;
  transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.areas details.area:hover::before,.areas details.area[open]::before{transform:scaleY(1)}
.areas details.area:hover > summary,.areas details.area[open] > summary{padding-left:13px}
.areas details.area > summary .more{grid-column:3;grid-row:2;justify-self:end;
  font-family:"IBM Plex Mono",monospace;font-size:1rem;color:var(--g4);line-height:1}
.areas details.area[open] > summary .more{color:var(--black)}
.rowmore{padding:0 0 26px;transition:padding-left .28s}
.areas details.area[open] .rowmore{padding-left:13px}
.rowmore p{margin:0 0 14px;color:var(--g6);font-size:.95rem;line-height:1.62;max-width:62ch}
.rowmore .facts{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 14px}
.rowmore .facts div{font-family:"IBM Plex Mono",monospace;font-size:.8rem;color:var(--g6)}
.rowmore .facts div b{color:var(--black);font-weight:500}
.rowmore a{display:inline-flex;gap:9px;color:var(--black);text-decoration:none;
  text-transform:uppercase;font-size:.70rem;letter-spacing:.14em;font-weight:600;
  border-bottom:1px solid var(--black);padding-bottom:4px}
@media(max-width:1080px){
  .areas details.area > summary{grid-template-columns:1fr;gap:12px}
  .areas details.area > summary .more{grid-column:1;grid-row:auto;justify-self:start}
}

/* ── marble, taken from their own floor. one band, used as a divider ── */
.marbleband{height:150px;background:url("marble.jpg") center/cover;position:relative}
.marbleband::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to right,#fff 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 78%,#fff 100%)}
.marbleband span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  text-transform:uppercase;font-size:.70rem;letter-spacing:.30em;font-weight:600;color:#4A3B2C}
.clinicwide{margin:0;padding:0}
.clinicwide img{display:block;width:100%;height:auto}
@media(max-width:1080px){.marbleband{height:96px}}

/* ═══ the gold and marble system, carried across every page ═══ */

/* 1. a hairline of gold that fills as you read the page */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:60;pointer-events:none;
  background:var(--gold-tint)}
.progress i{display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold),#C7A579,var(--gold));
  transition:width .08s linear}

/* 2. marble dividers, faded at both edges so they read as a seam in the page */
.marbleband{height:150px;background:url("marble.jpg") center/cover;position:relative;overflow:hidden;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.marbleband .tex{position:absolute;inset:-14% 0;background:url("marble.jpg") center/cover;
  will-change:transform}
.marbleband::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to right,#fff 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 78%,#fff 100%)}
.marbleband span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  text-transform:uppercase;font-size:.70rem;letter-spacing:.30em;font-weight:600;color:#4A3B2C}
.marbleband.slim{height:96px}
.marbleband.slim span{display:none}
@media(max-width:1080px){.marbleband{height:96px}.marbleband.slim{height:64px}}

/* 3. links underline in gold, wiping in rather than snapping */
.nav a{position:relative;border-bottom:0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;transition:transform .34s cubic-bezier(.2,.7,.3,1)}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.lnk,.faq summary,.side a{position:relative}
.lnk{border-bottom-color:var(--gold)}
.lnk:hover{border-bottom-color:var(--gold-deep);color:var(--gold-deep)}

/* 4. the closing band and the footer are cut from the same stone */
.endcta{position:relative;isolation:isolate}
.endcta::before{content:"";position:absolute;inset:0;z-index:-1;
  background:url("marble.jpg") center/cover;opacity:.16;mix-blend-mode:screen}
.endcta .btn:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}
footer{position:relative;isolation:isolate}
footer::before{content:"";position:absolute;inset:0;z-index:-1;
  background:url("marble.jpg") center/cover;opacity:.13;mix-blend-mode:screen}
footer .legal{border-top-color:#33291F}
@media(prefers-reduced-motion:reduce){
  .progress i{transition:none}
  .marbleband .tex{transform:none !important}
}

/* ═══ mobile menu: below 1080px the nav is hidden, so every page has to be reachable here ═══ */
.menub{display:none;align-items:center;gap:9px;background:none;border:0;padding:8px 2px;cursor:pointer;
  font-family:inherit;text-transform:uppercase;font-size:.70rem;letter-spacing:.14em;
  font-weight:600;color:var(--black);-webkit-tap-highlight-color:transparent}
.menub .ic{display:block;width:19px;height:11px;position:relative}
.menub .ic::before,.menub .ic::after{content:"";position:absolute;left:0;right:0;height:1.5px;
  background:var(--black);transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.menub .ic::before{top:0}
.menub .ic::after{bottom:0}
.menub[aria-expanded="true"] .ic::before{transform:translateY(4.75px) rotate(45deg)}
.menub[aria-expanded="true"] .ic::after{transform:translateY(-4.75px) rotate(-45deg)}

.mpanel{position:fixed;inset:0;z-index:55;background:var(--white);
  overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 20px 44px;
  opacity:0;transform:translateY(-8px);transition:opacity .26s ease,transform .26s cubic-bezier(.2,.7,.3,1)}
.mpanel.open{opacity:1;transform:none}
.mpanel .mhead{display:flex;justify-content:space-between;align-items:center;
  height:58px;border-bottom:1px solid var(--rule);margin-bottom:26px}
.mpanel .mhead .wm{border:0;padding:0;font-size:.84rem;letter-spacing:.22em}
.mpanel .grp{margin-bottom:30px}
.mpanel .grp > p{margin:0 0 4px;text-transform:uppercase;font-size:.68rem;letter-spacing:.16em;
  font-weight:600;color:var(--gold)}
.mpanel a.big{display:block;padding:13px 0;border-bottom:1px solid var(--rule);
  text-decoration:none;color:var(--black);font-variation-settings:"wdth" 108;
  text-transform:uppercase;font-weight:600;letter-spacing:.03em;font-size:1.35rem}
.mpanel a.sm{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-size:.95rem}
.mpanel a.sm span{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--gold)}
.mpanel .btn{width:100%;margin-top:6px}
.mpanel .cxm{display:grid;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--rule)}
.mpanel .cxm a,.mpanel .cxm span{color:var(--g6);text-decoration:none;font-size:.9rem}
.mpanel .cxm a{color:var(--black)}
body.locked{overflow:hidden}

@media(max-width:1080px){
  .menub{display:inline-flex;justify-self:start}
  .barTop{grid-template-columns:auto 1fr auto;gap:16px}
}
@media(min-width:1081px){
  .mpanel{display:none}
}
@media(prefers-reduced-motion:reduce){
  .mpanel{transition:none}
  .menub .ic::before,.menub .ic::after{transition:none}
}
