/* Layout: Sierra-style editorial split. Taupe announcement bar, centered serif wordmark,
   image/text split hero, charcoal statement bands, spa-menu lists with name + price as focal points. */
:root{
  --linen:#EBE8E6;      /* page ground */
  --sand:#F4F2F0;       /* lighter panel */
  --taupe:#CBC1B6;      /* announcement bar, tiles */
  --clay:#A18B72;       /* accent: prices, labels */
  --char:#333333;       /* statement bands */
  --ink:#1E1C1A;        /* text */
  --muted:#6B635B;      /* secondary text */
  --line:rgba(30,28,26,.18);
  --on-char:#F1EDE9;
  --serif:"Instrument Serif","Cormorant Garamond",Georgia,serif;
  --mono:"Roboto Mono",ui-monospace,Menlo,monospace;
  --sans:"Nunito Sans","Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --linen:#1D1B19;--sand:#252220;--taupe:#3A342E;--clay:#C2A988;--char:#111010;--ink:#EEE9E3;--muted:#ABA196;--line:rgba(238,233,227,.16);--on-char:#EEE9E3;color-scheme:dark}}
:root[data-theme="dark"]{
  --linen:#1D1B19;--sand:#252220;--taupe:#3A342E;--clay:#C2A988;--char:#111010;--ink:#EEE9E3;--muted:#ABA196;--line:rgba(238,233,227,.16);--on-char:#EEE9E3;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--linen);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--taupe)}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:720px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}

.label{font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.28em;text-transform:uppercase}
.display{font-family:var(--serif);font-weight:400;line-height:1.02;text-wrap:balance;margin:0;letter-spacing:-.005em}
.btn{display:inline-flex;align-items:center;gap:.8em;font-family:var(--mono);font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;padding:16px 26px;border:1px solid currentColor;transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--linen);border-color:var(--ink)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.link{font-family:var(--mono);font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;text-decoration:none}
.link:hover{color:var(--clay)}

/* announcement + header */
.announce{background:var(--taupe);text-align:center;padding-block:12px}
.announce .label{font-size:11px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--linen);border-bottom:1px solid var(--line)}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-block:22px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(18px,3vw,44px)}
.nav ul.right{justify-content:flex-end}
.nav a{text-decoration:none}
.nav ul a:hover{color:var(--clay)}
.wordmark{font-family:var(--serif);font-size:clamp(30px,3.4vw,42px);letter-spacing:.12em;text-decoration:none;line-height:1;text-align:center}
.wordmark small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.42em;margin-top:8px;color:var(--muted)}
.nav .book{border:1px solid currentColor;padding:9px 16px}
@media (max-width:860px){
  .nav{grid-template-columns:1fr auto;padding-block:16px}
  .nav ul.left{display:none}
  .nav ul.right li:not(.keep){display:none}
  .wordmark{text-align:left}
}

/* hero */
.hero{display:grid;grid-template-columns:5fr 7fr;align-items:stretch}
.hero-img{position:relative;overflow:hidden;background:var(--taupe);height:clamp(360px,40vw,500px)}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:clamp(48px,7vw,96px) clamp(16px,6vw,88px);background:var(--sand)}
.hero-copy h1{font-size:clamp(46px,6vw,84px)}
.hero-copy p{max-width:34ch;margin:0;color:var(--muted);font-size:17px}
.hero-copy .actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-img{height:300px}.hero-img img{object-position:center 40%}}

/* statement bands */
.band{background:var(--char);color:var(--on-char);text-align:center;padding-block:clamp(64px,9vw,110px)}
.band .display{font-size:clamp(36px,5.2vw,70px);max-width:18ch;margin-inline:auto}
.band .label{color:var(--taupe);margin-top:28px;display:block}
:root[data-theme="dark"] .band .label{color:var(--clay)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .band .label{color:var(--clay)}}

/* sections */
section.block{padding-block:clamp(72px,10vw,128px)}
.head{display:grid;gap:14px;margin-bottom:clamp(40px,6vw,64px)}
.head .label{color:var(--clay)}
.head h2{font-size:clamp(42px,5.4vw,72px)}
.head p{margin:0;max-width:56ch;color:var(--muted)}

/* menu */
.menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,6vw,88px)}
.item{display:grid;grid-template-columns:1fr auto;gap:6px 24px;padding-block:28px;border-top:1px solid var(--line);align-content:start}
.item h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,34px);line-height:1.1;margin:0}
.item .price{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--clay);padding-top:8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.item p{grid-column:1/-1;margin:0;color:var(--muted);max-width:52ch}
.item .for{grid-column:1/-1;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);opacity:.7;margin-top:6px}
.item.signature{grid-column:1/-1;background:var(--sand);border-top:0;padding:clamp(28px,4vw,44px);margin-top:28px}
.item.signature h3{font-size:clamp(32px,3.4vw,44px)}
.item.signature .tag{grid-column:1/-1;color:var(--clay)}
@media (max-width:760px){.menu{grid-template-columns:1fr}}

/* about */
.about{display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,7vw,100px);align-items:center}
.portrait{aspect-ratio:4/5;background:var(--taupe);display:flex;align-items:flex-end;padding:22px;position:relative;overflow:hidden}

.portrait .label{color:var(--ink);opacity:.65;font-size:10.5px}
.about-copy{display:grid;gap:22px}
.about-copy .label{color:var(--clay)}
.about-copy h2{font-size:clamp(42px,5.4vw,72px)}
.about-copy p{margin:0;max-width:52ch;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:10px;padding-top:26px;border-top:1px solid var(--line)}
.facts b{display:block;font-family:var(--serif);font-weight:400;font-size:38px;line-height:1;color:var(--ink)}
.facts span{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
@media (max-width:860px){.about{grid-template-columns:1fr}.portrait{max-width:440px}}
@media (max-width:420px){.facts{grid-template-columns:1fr 1fr}}

/* advanced + add-ons */
.split{display:grid;grid-template-columns:3fr 2fr;gap:clamp(36px,6vw,80px);align-items:start}
.addons{background:var(--sand);padding:clamp(28px,4vw,44px);display:grid;gap:4px}
.addons h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,38px);margin:0 0 4px;line-height:1.1}
.addons .note{margin:0 0 14px;color:var(--muted);font-size:15px}
.addon{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-top:1px solid var(--line);align-items:baseline}
.addon span:first-child{font-size:17px;font-weight:400}
.addon span:last-child{font-family:var(--mono);font-size:13px;color:var(--clay);letter-spacing:.1em}
.split .menu{grid-template-columns:1fr}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,36px);list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{display:grid;gap:12px;align-content:start;padding-top:22px;border-top:1px solid var(--line);counter-increment:s}
.steps li::before{content:counter(s,decimal);font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--clay)}
.steps h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin:0}
.steps p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* visit */
.visit{background:var(--taupe)}
.visit .inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,80px);align-items:end}
.visit h2{font-size:clamp(46px,6vw,84px)}
.visit .label{color:var(--ink);opacity:.7}
.visit dl{display:grid;grid-template-columns:auto 1fr;gap:14px 28px;margin:0}
.visit dt{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding-top:3px}
.visit dd{margin:0;font-size:17px}
.visit .btn:hover{background:var(--ink);color:var(--taupe)}
@media (max-width:860px){.visit .inner{grid-template-columns:1fr}}

footer{background:var(--char);color:var(--on-char);padding-block:56px calc(40px + env(safe-area-inset-bottom,0px))}
footer .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
footer .wordmark{font-size:40px;letter-spacing:-.01em;color:var(--on-char)}
footer .wordmark small{color:var(--taupe)}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px 34px}
footer ul a{text-decoration:none}
footer ul a:hover{color:var(--clay)}
footer .fine{margin-top:40px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.55}

/* active nav */
.nav a[aria-current="page"]{color:var(--clay)}

/* two paths */
.paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.path{display:grid;gap:18px;align-content:start;padding:clamp(28px,4vw,52px);background:var(--sand);text-decoration:none;transition:background .3s}
.path:hover{background:var(--taupe)}
.path .label{color:var(--clay)}
.path h3{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.2vw,58px);line-height:1.02;margin:0}
.path p{margin:0;color:var(--muted);max-width:44ch}
.path ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.path li{padding-block:11px;border-top:1px solid var(--line);font-size:16px;font-weight:400}
.path .link{margin-top:6px}
@media (max-width:760px){.paths{grid-template-columns:1fr}}

/* inner page hero */
.page-hero{background:var(--sand);padding-block:clamp(64px,9vw,120px);border-bottom:1px solid var(--line)}
.page-hero .inner{display:grid;grid-template-columns:3fr 2fr;gap:clamp(28px,6vw,80px);align-items:end}
.page-hero h1{font-size:clamp(52px,7.4vw,104px)}
.page-hero .label{color:var(--clay)}
.page-hero p{margin:0;color:var(--muted);font-size:17px;max-width:42ch}
@media (max-width:860px){.page-hero .inner{grid-template-columns:1fr}}

/* the work carousel */
.work .head{grid-template-columns:1fr auto;align-items:end}
.work .head > *:not(.controls){grid-column:1}
.controls{grid-column:2;grid-row:1 / span 3;display:flex;gap:10px;align-self:end}
.controls button{width:52px;height:52px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--mono);font-size:16px;cursor:pointer;transition:background .2s,color .2s}
.controls button:hover{background:var(--ink);color:var(--linen)}
.controls button:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.track{display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,560px);gap:clamp(16px,2.4vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.track::-webkit-scrollbar{display:none}
.slide{scroll-snap-align:start;display:grid;gap:14px;margin:0}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.shot{aspect-ratio:1/1;background:var(--taupe);display:flex;align-items:flex-end;padding:14px;position:relative;overflow:hidden}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot .label{position:relative;z-index:1;font-size:10px;background:var(--linen);padding:6px 10px;color:var(--ink)}
.shot.after{background:color-mix(in srgb,var(--taupe) 70%,var(--clay))}
.slide figcaption{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.slide figcaption b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.slide figcaption span{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:right}
.dots{display:flex;gap:8px;margin-top:26px}
.dots button{width:28px;height:3px;border:0;padding:0;background:var(--line);cursor:pointer}
.dots button[aria-current="true"]{background:var(--ink)}
.work .disclaim{margin:22px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:600px){.work .head{grid-template-columns:1fr}.controls{grid-column:1;grid-row:auto}.track{grid-auto-columns:88%}}

/* ===== sierra-style homepage top ===== */
.snav{display:flex;justify-content:center;align-items:center;gap:clamp(24px,4vw,56px);padding-block:30px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.snav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(24px,4.4vw,64px);font-size:11.5px}
.snav a{text-decoration:none}
.snav ul a:hover{color:var(--clay)}
.smark{font-family:var(--serif);font-size:clamp(34px,3.2vw,46px);line-height:1;letter-spacing:-.01em;white-space:nowrap}
@media (max-width:900px){.snav{flex-wrap:wrap;gap:14px 28px;padding-block:20px}.smark{order:-1;width:100%;text-align:center}}
.shero{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.shero-media{position:relative;background:var(--taupe);height:clamp(320px,36vw,520px);overflow:hidden}
.shero-media img,.shero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.shero-copy{display:flex;align-items:center;justify-content:center;padding:48px clamp(20px,4vw,64px)}
.shero-inner{display:grid;justify-items:center;text-align:center;gap:26px;max-width:560px}
.shero-inner .label{font-size:13px}
.shero h1{font-size:clamp(46px,4.8vw,72px);line-height:1.04;margin:0}
.shero .btn{margin-top:10px;padding:14px 30px}
@media (max-width:760px){.shero{grid-template-columns:1fr}.shero-media{height:300px}.shero-copy{justify-content:center;padding:48px 16px}.shero-inner{justify-items:center;text-align:center}}
.band{padding-block:clamp(56px,6vw,76px)}
.band .display{font-size:clamp(34px,3.4vw,48px);max-width:none}
.band .label{margin-top:22px}

.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.path .path-list{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);line-height:2;padding-top:16px;border-top:1px solid var(--line)}
.path ul.path-items{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.path ul.path-items li{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1.15;padding-block:14px;border-top:1px solid var(--line);color:var(--ink)}
@media (max-width:480px){.path ul.path-items{grid-template-columns:1fr}}

/* ===== menu pages ===== */
.shero-intro{margin:0;color:var(--muted);font-size:16px;max-width:38ch}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.head-row > div{display:grid;gap:14px}
.ritual{background:var(--sand)}
.ritual-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:0;counter-reset:r;border-top:1px solid var(--ink)}
.ritual-steps li{counter-increment:r;display:grid;gap:10px;align-content:start;padding:18px 14px 0 0;font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);line-height:1.15}
.ritual-steps li::before{content:counter(r,decimal);font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--clay)}
.ritual-steps li.massage{background:var(--taupe);padding:18px 16px 22px;margin-top:-1px}
.ritual-steps li.massage b{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,38px);line-height:1}
@media (max-width:1000px){.ritual-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}}
@media (max-width:480px){.ritual-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.fcard{background:var(--sand);padding:clamp(24px,3vw,40px);display:grid;gap:14px;align-content:start}
.fcard-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.fcard h3{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,48px);line-height:1.02;margin:0}
.fcard .price{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--clay);white-space:nowrap}
.fcard p{margin:0;color:var(--muted);max-width:48ch}
.fcard-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;margin-top:6px;border-top:1px solid var(--line)}
.fcard .for{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.75}
@media (max-width:760px){.fgrid{grid-template-columns:1fr}}
.addon-strip{background:var(--taupe);padding-block:clamp(48px,6vw,72px)}
.addon-inner{display:grid;grid-template-columns:2fr 3fr;gap:clamp(24px,5vw,72px);align-items:center}
.addon-inner .display{font-size:clamp(36px,3.8vw,54px);margin-top:12px}
.addon-inner ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.addon-inner li{display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--ink)}
.addon-inner li b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.1}
.addon-inner li span{font-family:var(--mono);font-size:12px;letter-spacing:.12em}
@media (max-width:860px){.addon-inner{grid-template-columns:1fr}.addon-inner ul{grid-template-columns:1fr}}
.results-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,28px)}
@media (max-width:760px){.results-2{grid-template-columns:1fr}}
.faq-inner{display:grid;grid-template-columns:2fr 3fr;gap:clamp(24px,5vw,72px)}
.faq-list{display:grid}
.faq details{border-top:1px solid var(--line);padding-block:20px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:18px;color:var(--clay)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--muted);max-width:56ch}
@media (max-width:860px){.faq-inner{grid-template-columns:1fr}}

/* hydrafacial md feature */
.hfmd{display:grid;grid-template-columns:1fr 1fr;background:var(--sand);margin-bottom:clamp(72px,10vw,128px)}
.hfmd-copy{display:flex;align-items:center;justify-content:center;padding:clamp(48px,6vw,88px) clamp(20px,5vw,72px)}
.hfmd-inner{display:grid;gap:22px;justify-items:center;text-align:center;max-width:460px}
.hfmd h2{font-size:clamp(46px,4.8vw,72px)}
.hfmd p{margin:0;color:var(--muted)}
.hfmd-media{display:grid;height:clamp(420px,44vw,620px)}
.hfmd-media img{width:100%;height:100%;min-height:0;object-fit:cover;display:block}
.hfmd-media img.tall{object-position:25% center}
.hfmd-media img:nth-child(2){object-position:center 45%}
@media (max-width:760px){.hfmd{grid-template-columns:1fr}.hfmd-media{height:460px}}
.tm{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:700;color:var(--ink);font-size:.13em;letter-spacing:0;line-height:1;width:2em;height:2em;border:1.5px solid currentColor;border-radius:50%;margin-left:.3em;vertical-align:top;position:relative;top:.9em}
.wordmark .tm{font-size:.16em}
footer .tm{color:var(--on-char)}

/* prices */
.pricebar{display:flex;gap:clamp(20px,3vw,40px);flex-wrap:wrap}
.pricebar > div{display:grid;gap:6px}
.pricebar > div + div{padding-left:clamp(20px,3vw,40px);border-left:1px solid var(--line)}
.pricebar b{font-family:var(--serif);font-weight:400;font-size:clamp(36px,3.2vw,48px);line-height:1;color:var(--ink)}
.pricebar span{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay)}
.shero-inner .pricebar{justify-content:center}
.fcard .price{display:flex;gap:18px;align-items:flex-start}
.fcard .price > span{display:grid;justify-items:start;gap:4px}
.fcard .price b{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.4vw,34px);line-height:1;color:var(--ink)}
.fcard .price small{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay)}
.fcard-top{flex-wrap:wrap}

/* polished menu cards */
.paths{align-items:stretch}
.path{display:flex;flex-direction:column;gap:22px}
.path p{max-width:none}
.path ul.path-items{grid-template-columns:1fr;column-gap:0;margin:4px 0 0;border-bottom:1px solid var(--line)}
.path ul.path-items li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:clamp(20px,1.7vw,24px);line-height:1.2;padding-block:13px}
.path ul.path-items li span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--clay)}
.path .link{margin-top:auto;padding-top:12px}
@media (min-width:761px){.path > p:not(.path-list){min-height:8.5em}}

/* homepage hero: left aligned, soft sans headline */
.shero-copy.left{justify-content:flex-start}
.home-hero .shero-copy{justify-content:flex-start;padding:48px clamp(24px,7vw,110px)}
.home-hero .shero-inner{justify-items:start;text-align:left;max-width:470px;gap:22px}
.hero-sans{font-family:"Jost","Avenir Next","Helvetica Neue",Arial,sans-serif;font-weight:300;font-size:clamp(34px,3.2vw,46px);line-height:1.12;letter-spacing:-.005em;margin:0;color:var(--ink)}
.home-hero .shero-intro{color:var(--ink);opacity:.85;font-size:16px;line-height:1.65;max-width:42ch}
.home-hero .label{font-size:11px;color:var(--clay)}
@media (max-width:760px){.home-hero .shero-copy{padding:44px 16px}}

/* student rates */
.student{background:var(--char);color:var(--on-char);padding-block:clamp(56px,7vw,88px)}
.student-inner{display:grid;grid-template-columns:3fr 2fr;gap:28px clamp(24px,5vw,72px);align-items:end}
.student .label{color:var(--taupe)}
.student h2{font-size:clamp(38px,4vw,58px);margin-top:12px}
.student-head p{margin:14px 0 0;max-width:52ch;opacity:.85}
.student .pricebar b{color:var(--on-char)}
.student .pricebar span{color:var(--taupe)}
.student .pricebar > div + div{border-left-color:rgba(241,237,233,.25)}
.student-fine{grid-column:1/-1;margin:0;padding-top:18px;border-top:1px solid rgba(241,237,233,.2);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
@media (max-width:860px){.student-inner{grid-template-columns:1fr}}
.path > p.path-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin:0;min-height:0}
.home-hero .shero-media img{object-position:60% 50%}

/* full-bleed homepage hero */
.fhero{position:relative;height:clamp(560px,78vh,760px);overflow:hidden;background:var(--char);border-top:1px solid var(--ink)}
.fhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.fhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,26,22,.62) 0%,rgba(30,26,22,.26) 45%,rgba(30,26,22,0) 70%)}
.fhero-in{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:22px;padding-block:0 clamp(48px,7vw,96px);padding-left:max(24px,6vw,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));color:#F4F0EB;max-width:780px}
.fhero .label{color:#E7DED3}
.fhero h1{font-family:var(--serif);font-weight:400;font-size:clamp(50px,6vw,92px);line-height:1;margin:0;text-wrap:balance;max-width:11ch}
.fhero p{margin:0;max-width:44ch;font-size:17px;color:#F4F0EB;opacity:.92}
.fhero .btn{color:#F4F0EB;align-self:flex-start}
.fhero .btn:hover{background:#F4F0EB;color:#1E1C1A;border-color:#F4F0EB}
@media (max-width:760px){
  .fhero{height:auto;min-height:620px}
  .fhero img{object-position:62% center}
  .fhero::after{background:linear-gradient(0deg,rgba(30,26,22,.78) 0%,rgba(30,26,22,.4) 50%,rgba(30,26,22,.05) 80%)}
  .fhero-in{min-height:620px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
}

/* split homepage hero (option C) */
.chero{display:grid;grid-template-columns:7fr 5fr;min-height:clamp(540px,72vh,700px);border-top:1px solid var(--ink)}
.chero-media{position:relative;overflow:hidden;margin:0;background:var(--taupe)}
.chero-media img,.chero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%}
.chero-media video{object-position:center center}
.chero-media figcaption{position:absolute;left:20px;bottom:18px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#F4F0EB;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.chero-txt{background:var(--sand);display:flex;flex-direction:column;justify-content:center;gap:24px;padding:48px clamp(24px,5vw,80px)}
.chero-txt .label{color:var(--clay)}
.chero h1{font-family:var(--serif);font-weight:400;font-size:clamp(46px,5vw,80px);line-height:1;margin:0;text-wrap:balance}
.chero-txt p{margin:0;max-width:40ch;font-size:16.5px;color:var(--ink);opacity:.85}
.chero-txt .btn{align-self:flex-start}
.chero-meta{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@media (max-width:860px){.chero{grid-template-columns:1fr}.chero-media{height:340px}.chero-txt{padding:44px max(16px,env(safe-area-inset-left,0px)) 52px}}
.hfmd{margin-top:clamp(72px,10vw,128px)}
.band .display.band-long{font-size:clamp(28px,2.8vw,40px);line-height:1.18;max-width:none;margin-inline:auto;text-wrap:balance}

/* ===== SEO pages ===== */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;padding-block:14px;font-size:10px;color:var(--muted)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--clay)}
.seo-hero{min-height:clamp(440px,60vh,600px)}
.seo-hero h1{font-size:clamp(40px,4.2vw,64px)}
.note-inline{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay)}
.prose{max-width:760px}
.prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.1;margin:48px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--ink);opacity:.88;font-size:17px}
.prose ul,.prose ol{padding-left:1.2em;display:grid;gap:8px}
.prose a{color:var(--ink);text-decoration-color:var(--clay);text-underline-offset:3px}
.areas-line{font-size:14px !important;margin-top:20px}
.tablewrap{overflow-x:auto}
.cmp{width:100%;border-collapse:collapse;font-size:15px}
.cmp th,.cmp td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.cmp thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}
.cmp tbody th{font-family:var(--serif);font-weight:400;font-size:22px;white-space:nowrap}
.cmp td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.related{padding-top:0}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.rcard{display:grid;gap:10px;align-content:start;background:var(--sand);padding:26px;text-decoration:none;transition:background .25s}
.rcard:hover{background:var(--taupe)}
.rcard .label{color:var(--clay);font-size:10px}
.rcard b{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1}
.schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px}
.schools-col h3{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);margin:0 0 12px}
.schools-col ul{list-style:none;margin:0;padding:0}
.schools-col li{font-family:var(--serif);font-size:21px;line-height:1.2;padding-block:9px;border-top:1px solid var(--line)}
.spots{display:grid;gap:12px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.pcard{display:grid;gap:12px;align-content:start;background:var(--sand);padding:22px}
.pcard .pimg{aspect-ratio:1/1;background:var(--taupe);display:flex;align-items:flex-end;padding:12px}
.pcard .pimg .label{font-size:10.5px;opacity:.7}
.pcard > .label{color:var(--clay);font-size:10px}
.pcard h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin:0}
.pcard p{margin:0;color:var(--muted)}
.pcard .btn{justify-self:start;margin-top:6px}
/* footer columns */
.fcols{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
.fcols h4{font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin:0 0 14px}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.fcols ul a{text-decoration:none;opacity:.85}
.fcols ul a:hover{opacity:1;color:var(--taupe)}
.fbrand p{margin:16px 0 0;font-size:14px;opacity:.75}
@media (max-width:980px){.fcols{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}
@media (max-width:480px){.fcols{grid-template-columns:1fr}}
.results-block{padding-bottom:0}
.visit-note{margin:0;max-width:44ch;font-size:15px}
.visit-note a{color:inherit;text-underline-offset:3px}
.chero.no-media{grid-template-columns:1fr;min-height:0}
.chero.no-media .chero-txt{padding-block:clamp(56px,7vw,96px);padding-left:max(24px,6vw);align-items:flex-start}
.chero.no-media h1{font-size:clamp(46px,5.4vw,84px);max-width:16ch}
.chero.no-media p{max-width:56ch}

/* homepage acne feature */
.acne-inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}
.acne-video{position:relative;margin:0;aspect-ratio:9/16;max-height:640px;max-width:360px;justify-self:center;width:100%;background:var(--char);overflow:hidden}
.acne-video video{width:100%;height:100%;object-fit:cover;display:block}
.acne-video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;gap:10px;align-items:center;padding:14px 22px;border:1px solid #F4F0EB;background:rgba(30,26,22,.55);color:#F4F0EB;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px)}
.acne-video .play:hover{background:rgba(30,26,22,.8)}
.acne-video figcaption{position:absolute;left:14px;bottom:14px;color:#F4F0EB;font-size:10px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.acne-copy{display:grid;gap:22px;justify-items:start}
.acne-copy .label{color:var(--clay)}
.acne-copy h2{font-size:clamp(40px,4.6vw,66px)}
.acne-copy p{margin:0;max-width:46ch;color:var(--ink);opacity:.85}
.acne-points{list-style:none;margin:0;padding:0;display:grid;gap:0;width:100%;max-width:420px}
.acne-points li{font-family:var(--serif);font-size:22px;padding-block:10px;border-top:1px solid var(--line)}
@media (max-width:900px){.acne-inner{grid-template-columns:1fr}.acne-video{max-width:320px}}

/* compact homepage student block */
#students{padding-block:clamp(32px,4vw,48px)}
#students .student-inner{gap:16px clamp(24px,4vw,56px)}
#students h2{font-size:clamp(28px,2.6vw,38px);margin-top:8px}
#students .student-head p{font-size:15px;margin-top:10px}
#students .pricebar b{font-size:clamp(28px,2.4vw,36px)}
#students .student-fine{padding-top:12px;font-size:10.5px}
.about-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.prose-fig{margin:40px 0 8px}.prose-fig img{display:block;width:100%;max-height:640px;object-fit:cover;object-position:center 30%}
@media (min-width:861px){
.chero.mb-hero{--mbh:clamp(540px,72vh,700px);grid-template-columns:calc(var(--mbh) * 876 / 1075) 1fr;min-height:0;height:var(--mbh)}
.chero.mb-hero .chero-txt{padding-inline:clamp(40px,7vw,120px)}
.chero.mb-hero .chero-txt > *{max-width:560px}
.chero.mb-hero .chero-txt p{max-width:48ch}
}
.chero.mb-hero h1{font-size:clamp(46px,5vw,80px)}
@media (max-width:860px){.chero.mb-hero .chero-media{height:auto;aspect-ratio:876/1075}}
@media (min-width:861px){.rgrid.mb-grid{grid-template-columns:repeat(3,1fr)}}
.team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.tm-body{display:grid;gap:16px;padding-top:28px}
.tm-body .label{color:var(--clay)}
.tm-body h2{font-size:clamp(40px,4.4vw,64px);margin:0}
.tm-body p{margin:0;max-width:52ch;color:var(--muted)}
.tm-spec{display:grid;gap:6px;color:var(--ink)!important}
.tm-card .portrait{padding:0}
@media (max-width:860px){.team{grid-template-columns:1fr}}
.tm-off{color:var(--muted)!important}
/* sticky mobile booking */
.mbook{display:none}
@media (max-width:860px){
  .mbook{display:flex;align-items:center;justify-content:center;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;height:52px;background:var(--ink);color:var(--sand);font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18)}
  footer{padding-bottom:96px}
}
.loc-dl{display:grid;gap:14px;margin:0 0 24px}
.loc-dl dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay)}
.loc-dl dd{margin:4px 0 0}
.muted{color:var(--muted)}
.paths-note{text-align:center;margin:28px 0 0;color:var(--muted)}
/* facial habit. wordmark */
.smark{font-family:'Inter',var(--sans);font-weight:600;font-size:clamp(26px,2.6vw,36px);letter-spacing:-.035em;color:var(--ink)}
.wordmark{font-family:'Inter',var(--sans);font-weight:600;letter-spacing:-.035em;text-transform:none}
.wordmark small{font-family:var(--sans);font-weight:400;letter-spacing:0;text-transform:none;font-size:14px;margin-top:10px}
footer .wordmark{font-size:34px;letter-spacing:-.035em}
footer .wordmark{text-align:left}
.ph .label,.shop-card .label{font-size:10.5px}
/* facial habit. logo: geometric sans, rust period */
:root{--rust:#A9573A}
.smark,.wordmark{font-family:'Jost',var(--sans);font-weight:500;letter-spacing:-.02em;text-transform:lowercase}
.smark{font-size:clamp(28px,2.8vw,40px);color:var(--ink)}
.smark .dot,.wordmark .dot{color:var(--rust)}
.wordmark small{font-family:'Jost',var(--sans);font-weight:400;letter-spacing:.03em;font-size:15px}
footer .wordmark{font-size:38px}
/* logo lockup with tagline */
.smark{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1}
.smark .lockup{display:block}
.smark .tag,.wordmark small{display:block;font-family:'Jost',var(--sans);font-weight:400;text-transform:lowercase;letter-spacing:.09em;color:var(--muted);margin-top:.5em}
.smark .tag{font-size:clamp(11.5px,.95vw,13px)}
.wordmark small{font-size:14px;color:var(--taupe)}
/* header v3: seal lockup, slim announce, book button */
.announce{background:var(--taupe);padding-block:7px}
.announce .label{font-size:10.5px;letter-spacing:.28em}
.snav{position:relative;padding-block:24px}
.smark{display:inline-flex;flex-direction:row;align-items:center;gap:16px;text-align:left}
.smark .seal{flex:none;width:58px;height:58px;border-radius:50%;background:var(--rust);color:#F6EFE7;display:flex;align-items:center;justify-content:center;font:500 23px 'Jost',var(--sans);letter-spacing:-.02em;text-transform:lowercase}
.smark .lk{display:flex;flex-direction:column;align-items:flex-start}
.smark .lockup{font-size:clamp(34px,3.3vw,48px);line-height:.95}
.smark .tag{font:500 11.5px 'Jost',var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin-top:4px}
.smark .tag .dot{color:var(--rust)}
.nav-book{position:absolute;right:clamp(16px,3vw,48px);top:50%;transform:translateY(-50%);background:var(--rust);color:#F6EFE7!important;font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding:14px 22px;text-decoration:none;transition:background .2s}
.nav-book:hover{background:#8f472d}
.mbook{background:var(--rust)!important;color:#F6EFE7!important}
@media (max-width:1520px){.nav-book{position:static;transform:none;order:3}}
@media (max-width:900px){
  .smark{justify-content:center}
  .smark .seal{width:46px;height:46px;font-size:19px}
  .smark .lockup{font-size:32px}
  .smark .tag{font-size:10px;letter-spacing:.2em}
  .nav-book{display:none}
}
.snav ul a,.nav-book{white-space:nowrap}
@media (max-width:1520px) and (min-width:901px){
  .snav{gap:22px;padding-inline:20px}
  .snav ul{gap:22px;font-size:10.5px;letter-spacing:.2em}
  .smark .seal{width:clamp(50px,4vw,58px);height:clamp(50px,4vw,58px);font-size:clamp(20px,1.6vw,23px)}
  .smark .lockup{font-size:clamp(36px,3.2vw,48px)}
  .smark .tag{font-size:clamp(10.5px,.8vw,11.5px);letter-spacing:.22em}
  .snav ul{gap:clamp(20px,2.4vw,40px)}
  .nav-book{padding:12px 16px;font-size:10.5px;letter-spacing:.2em}
}
@media (max-width:600px){.announce .label{font-size:10px;letter-spacing:.14em}}
/* acne bootcamp band under the menu */
.bootcamp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;margin-top:clamp(36px,5vw,56px);padding:clamp(28px,4.5vw,60px);background:var(--rust);color:#F6EFE7;text-decoration:none;transition:background .3s}
.bootcamp:hover{background:#97492f}
.bootcamp .label{color:rgba(246,239,231,.8)}
.bootcamp h3{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1;margin:12px 0 16px;color:#F6EFE7}
.bootcamp p{margin:0 0 22px;color:#F6EFE7;max-width:52ch}
.bootcamp .link{color:#F6EFE7}
.bootcamp .pricebar b,.bootcamp .path-items li{color:#F6EFE7}
.bootcamp .pricebar span,.bootcamp .path-items span{color:rgba(246,239,231,.75)}
.bootcamp .pricebar > div + div{border-color:rgba(246,239,231,.35)}
.bootcamp .path-items{margin-top:22px}
.bootcamp .path-items li{border-color:rgba(246,239,231,.25)}
@media (max-width:860px){.bootcamp{grid-template-columns:1fr}}
.bootcamp ul.path-items{list-style:none;margin:22px 0 0;padding:0}
.bootcamp ul.path-items li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-family:var(--serif);font-size:clamp(20px,1.7vw,24px);line-height:1.2;padding-block:12px;border-top:1px solid rgba(246,239,231,.25)}
.bootcamp ul.path-items li span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.bootcamp .pricebar{flex-wrap:nowrap}
/* acne row: extraction video + bootcamp, directly under the two menu cards */
.acne-row{display:grid;grid-template-columns:minmax(240px,0.62fr) minmax(0,1fr);gap:clamp(20px,3vw,36px);margin-top:clamp(20px,3vw,36px);align-items:stretch}
.acne-row .acne-video{max-width:none;max-height:none;width:100%;height:auto;min-height:0;aspect-ratio:9/16;align-self:center;justify-self:stretch;margin:0}
.acne-row .bootcamp{display:flex;flex-direction:column;gap:0;margin-top:0;padding:clamp(28px,4vw,52px)}
.acne-row .bootcamp h3{margin:10px 0 18px}
.acne-row .bootcamp .pricebar{margin-bottom:20px}
.acne-row .bootcamp p{margin:0 0 6px}
.acne-row .bootcamp .path-items{margin:16px 0 26px}
.acne-row .bootcamp .link{margin-top:auto}
@media (max-width:860px){.acne-row{grid-template-columns:1fr}.acne-row .acne-video{min-height:0;aspect-ratio:9/16;max-height:none;max-width:360px;justify-self:center}}
/* student happy hour strip */
.happy-hour{display:flex;align-items:center;gap:clamp(14px,2.4vw,28px);flex-wrap:wrap;margin-top:clamp(20px,3vw,32px);padding:18px clamp(20px,3vw,32px);background:var(--sand);border:1px solid var(--rust);text-decoration:none;color:var(--ink);transition:background .2s}
.happy-hour:hover{background:#f7f1ec}
.hh-tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;background:var(--rust);color:#F6EFE7;padding:7px 12px}
.hh-main{font-size:15.5px}
.hh-main b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--rust);margin-right:4px}
.hh-link{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
@media (max-width:600px){.hh-link{margin-left:0}}
.acne-row .bootcamp{text-align:left;align-items:stretch}.acne-row .bootcamp .pricebar{justify-content:flex-start}
.value-table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15.5px}
.value-table td{padding:12px 0;border-top:1px solid var(--line);vertical-align:top}
.value-table td:last-child{text-align:right;white-space:nowrap;padding-left:20px;font-family:var(--serif);font-size:20px}
.value-table .vt-total td{font-weight:600;border-top:1px solid var(--ink)}
.value-table .vt-total td:last-child{text-decoration:line-through;text-decoration-color:var(--rust);color:var(--muted)}
.value-table .vt-pay td{border-top:none;background:var(--rust);color:#F6EFE7;padding:14px 16px}
.value-table .vt-pay td:last-child{font-size:28px}

/* bootcamp timeline */
.bc-timeline{list-style:none;padding:0;margin:8px 0 18px;border-left:1px solid var(--taupe,#CBC1B6)}
.bc-timeline li{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:14px 0 14px 22px;position:relative}
.bc-timeline li::before{content:"";position:absolute;left:-5px;top:21px;width:9px;height:9px;border-radius:50%;background:var(--rust,#A9573A)}
.bt-when{font-family:"Roboto Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rust,#A9573A);padding-top:4px}
.bc-timeline b{font-family:"Instrument Serif",serif;font-weight:400;font-size:22px}
.bc-timeline p{margin:4px 0 0}
@media (max-width:600px){.bc-timeline li{grid-template-columns:1fr;gap:4px}}
.bootcamp .bc-hook{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);line-height:1.15;margin:-4px 0 30px}
/* happy hour cut-out photo (Unsplash) */
.happy-hour{position:relative;overflow:visible;padding-right:clamp(150px,16vw,190px);margin-top:clamp(64px,7vw,84px)}
.hh-art{position:absolute;right:clamp(16px,3vw,40px);bottom:0;height:150px;width:auto;pointer-events:none}
@media (max-width:600px){.happy-hour{padding-right:clamp(20px,3vw,32px);margin-top:96px;isolation:isolate}.hh-art{right:14px;bottom:auto;top:-92px;height:122px;z-index:-1}}
/* bootcamp steps */
.bc-steps{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid rgba(246,239,231,.35)}
.bc-steps li{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid rgba(246,239,231,.35)}
.bs-when{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,239,231,.8)}
.bs-what{font-size:14.5px;line-height:1.45;color:#F6EFE7}
.bs-what b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.15;margin-bottom:2px}
.bs-price{font-family:var(--serif);font-size:30px;line-height:1;color:#F6EFE7;text-align:right;white-space:nowrap}
.bs-price small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,239,231,.75);margin-top:6px}
@media (max-width:600px){.bc-steps li{grid-template-columns:1fr auto;gap:4px 14px}.bs-when{grid-column:1/-1}}
.bc-steps li:last-child{border-bottom:none}
@media (max-width:600px){.pricebar > div + div{border-left:none;padding-left:0}}
.bs-price s{display:block;font-size:18px;color:rgba(246,239,231,.72);text-decoration-thickness:1px;margin-bottom:4px}
.bc-total{display:flex;align-items:flex-end;gap:clamp(18px,3vw,36px);flex-wrap:wrap;margin:6px 0 4px;padding:16px 18px;background:rgba(246,239,231,.12);border:1px solid rgba(246,239,231,.35)}
.bc-total > span{font-family:var(--serif);font-size:30px;line-height:1;color:#F6EFE7}
.bc-total small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,239,231,.75);margin-bottom:8px}
.bc-total s{color:rgba(246,239,231,.6);text-decoration-thickness:1px}
.bc-total .bc-save{margin-left:auto;align-self:center;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;background:#F6EFE7;color:var(--rust);padding:9px 14px}
@media (max-width:600px){.bc-total .bc-save{margin-left:0}}
.value-table td s{color:var(--muted);font-size:.8em;margin-right:6px}
.bc-steps .bs-first{background:#F6EFE7;color:var(--rust);margin:14px 0;padding:18px 18px;border-bottom:none}
.bc-steps .bs-first .bs-when,.bc-steps .bs-first .bs-what,.bc-steps .bs-first .bs-price{color:var(--rust)}
.bc-steps .bs-first .bs-price small{color:rgba(169,87,58,.8)}
.bc-steps .bs-first .bs-what{color:#5a3a2c}
.bootcamp .bs-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,239,231,.85);margin:12px 0 0}
.bc-steps:has(.bs-first){border-top:none}.bc-steps .bs-first{margin-top:6px}
/* logo v4: matches approved lockup proportions (circle | divider | bold wordmark over tracked tagline) */
.smark{--lf:clamp(38px,3.3vw,50px);font-size:var(--lf);gap:.38em;align-items:center}
.smark .seal{font:500 .5em/1 'Jost',var(--sans);width:2.526em;height:2.526em;letter-spacing:-.02em}
.smark .lk{border-left:1px solid rgba(30,28,26,.35);padding-left:.45em;padding-block:0}
.smark .lockup{font-family:'Jost',var(--sans);font-weight:600;font-size:1em;line-height:.9;letter-spacing:-.025em}
.smark .tag{font:500 .25em/1 'Jost',var(--sans);letter-spacing:.3em;margin-top:.29em;color:var(--ink)}
.smark .tag .dot{color:var(--ink)}
@media (max-width:1520px) and (min-width:901px){.smark{--lf:clamp(34px,3vw,46px)}.smark .seal{width:2.526em;height:2.526em;font-size:.5em}.smark .lockup{font-size:1em}.smark .tag{font-size:.25em;letter-spacing:.3em}}
@media (max-width:900px){.smark{--lf:32px}.smark .seal{width:2.526em;height:2.526em;font-size:.5em}.smark .lockup{font-size:1em}.smark .tag{font-size:.25em;letter-spacing:.28em}}
@media (max-width:380px){.smark{--lf:28px}}
.shopgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:8px}
.shopcard{display:grid;gap:10px;align-content:start;background:var(--sand);padding:clamp(24px,3vw,36px);border-top:3px solid var(--rust)}
.shopcard .label{color:var(--clay);font-size:10px}
.shopcard h3{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.1;margin:0}
.shopcard p{margin:0;color:var(--muted)}
.shopcard .btn{justify-self:start;margin-top:8px}

/* ================= Facial Theory brand layer =================
   Rust + plum + cream, Inter headings with tight tracking, Jost wordmark. Overrides the Facial Habit base above. */
:root{
  --linen:#F1EDE8; --sand:#F7F2EC; --taupe:#E6D9CD; --clay:#A9573A; --rust:#A9573A; --rust-d:#8E4630;
  --char:#211B22; --ink:#1F1C1A; --muted:#6F6862; --line:rgba(31,28,26,.14); --on-char:#F6EFE7; --cream:#F6EFE7;
  --serif:"Inter",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"Inter",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --linen:#1B1619;--sand:#251F23;--taupe:#3A3136;--clay:#D9876A;--rust:#C7714F;--rust-d:#A9573A;--char:#120E11;--ink:#F3ECE5;--muted:#A79E95;--line:rgba(243,236,229,.14);--on-char:#F3ECE5;color-scheme:dark}}
:root[data-theme="dark"]{
  --linen:#1B1619;--sand:#251F23;--taupe:#3A3136;--clay:#D9876A;--rust:#C7714F;--rust-d:#A9573A;--char:#120E11;--ink:#F3ECE5;--muted:#A79E95;--line:rgba(243,236,229,.14);--on-char:#F3ECE5;color-scheme:dark}
body{font-weight:400;line-height:1.65}
.label{font-weight:600;letter-spacing:.14em;font-size:11.5px}
.display,.chero h1,.prose h2,.rcard b,.faq summary,.pricebar b,.item h3,.cmp tbody th,.schools-col li,.pcard h3,.fcard h3,.tm-card .display,.acne-points li,.slide figcaption b,.steps h3,.path h3{
  font-family:var(--sans);font-weight:700;letter-spacing:-.03em}
.display::first-letter,.chero h1::first-letter{text-transform:uppercase}
.chero h1{font-size:clamp(40px,4.4vw,66px);line-height:1.02}
.chero.no-media h1{font-size:clamp(40px,4.8vw,70px)}
.prose h2{font-size:clamp(24px,2.4vw,32px);line-height:1.15}
.rcard b{font-size:22px}
.faq summary{font-size:clamp(18px,1.6vw,21px);letter-spacing:-.015em}
.schools-col li,.acne-points li{font-size:18px;font-weight:600;letter-spacing:-.01em}
.cmp tbody th{font-size:17px;white-space:normal}
.btn{font-weight:600;letter-spacing:.1em;font-size:12px;border-radius:999px;background:var(--rust);color:#F6EFE7;border-color:var(--rust)}
.btn:hover{background:var(--rust-d);border-color:var(--rust-d);color:#F6EFE7}
.announce{background:var(--rust);color:#F6EFE7}
.announce .label{letter-spacing:.16em}
body::before{background:var(--rust)}
.smark .lockup{font-family:'Jost',var(--sans);font-weight:600;letter-spacing:-.03em}
.smark .seal{font-weight:600;position:relative}
.smark .seal::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--char);right:-2px;bottom:6px}
.smark .tag{letter-spacing:.14em;font-size:10.5px}
.wordmark{font-family:'Jost',var(--sans);font-weight:600;letter-spacing:-.03em}
.wordmark small{font-family:var(--sans);text-transform:none;letter-spacing:.06em;font-size:12px}
.nav-book{font-weight:600;letter-spacing:.12em;border-radius:999px}
.pricebar span{font-weight:600;letter-spacing:.1em}
.rcard{border-radius:16px}
.rcard:hover{background:var(--taupe)}
.chero-media{background:var(--taupe)}
footer h4{font-family:var(--sans);font-weight:700;letter-spacing:.12em}
.mbook{background:var(--rust);color:#F6EFE7;border-radius:999px}
.cmp td{vertical-align:top}
.cmp.vs td:last-child{white-space:normal}
.cmp.vs th[scope=row]{width:22%}
.cmp.vs td{width:39%}
.cmp.vs td:last-child{background:var(--sand);color:var(--ink);font-weight:500}
@media (max-width:640px){.cmp.vs,.cmp.vs tbody,.cmp.vs tr,.cmp.vs th,.cmp.vs td{display:block;width:auto}.cmp.vs thead{display:none}.cmp.vs tr{border-bottom:1px solid var(--line);padding-block:10px}.cmp.vs th,.cmp.vs td{border:0;padding:6px 0}.cmp.vs td:last-child{padding:10px 12px;border-radius:10px}}
.faq-jump{display:flex;flex-wrap:wrap;gap:10px;padding-block:28px 0}
.faq-jump a{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:var(--sand)}
.faq-jump a:hover{border-color:var(--rust);color:var(--rust)}

.ab-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 8px}
.ab-tm{display:grid;grid-template-rows:auto 1fr;border-radius:18px;overflow:hidden;background:var(--sand);border:1px solid var(--line);text-decoration:none;color:inherit}
.ab-tm img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ab-tm > span{display:grid;gap:6px;padding:18px 18px 20px;font-size:15px;line-height:1.55;color:var(--muted)}
.ab-tm b{font-size:22px;letter-spacing:-.03em;color:var(--ink)}
.ab-tm .label{color:var(--clay)}
@media (max-width:640px){.ab-team{grid-template-columns:1fr}}

.safe-space{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--on-char);border:1px solid rgba(246,239,231,.22);border-radius:999px;padding:6px 18px 6px 6px;margin-top:36px}
.safe-space img{width:44px;height:44px;flex:none}
.safe-space span{display:grid;font-size:13px;line-height:1.3;opacity:.85}
.safe-space b{font-size:14px;font-weight:700}
.chero h1,.display{overflow-wrap:break-word}
.chero h1.long{font-size:clamp(30px,3.3vw,48px)}
@media (max-width:480px){.chero h1{font-size:clamp(30px,8.4vw,40px)}}
.faq-inner > *,.head{min-width:0}
@media (max-width:480px){.display{font-size:clamp(26px,8.6vw,40px)!important}.band .display{font-size:clamp(26px,8.6vw,40px)}}
.xvid{float:right;width:min(42%,260px);margin:4px 0 18px 28px;border-radius:18px;overflow:hidden;background:var(--taupe)}
.xvid video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.xvid figcaption{font-size:12.5px;line-height:1.4;padding:10px 12px;color:var(--muted);background:var(--sand)}
.prose h2{clear:none}
@media (max-width:560px){.xvid{float:none;width:min(70%,240px);margin:6px auto 18px}}
.benefits{list-style:none;counter-reset:b;margin:18px 0 8px;padding:0;display:grid;gap:0;border-bottom:1px solid var(--line)}
.benefits li{counter-increment:b;display:grid;grid-template-columns:52px minmax(0,190px) minmax(0,1fr);gap:4px 18px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line)}
.benefits li::before{content:counter(b);font-size:20px;font-weight:700;letter-spacing:0;color:var(--clay)}
.benefits b{font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.benefits span{font-size:15.5px;line-height:1.5;color:var(--muted)}
.prose .benefits{max-width:none}
@media (max-width:560px){.benefits li{grid-template-columns:40px minmax(0,1fr)}.benefits span{grid-column:2}}
.senses{list-style:none;padding:0;margin:16px 0;display:grid;gap:0;border-bottom:1px solid var(--line)}
.senses li{padding:14px 0;border-top:1px solid var(--line);color:var(--muted)}
.senses b{color:var(--ink);font-weight:700;margin-right:4px}
.studio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,clamp(170px,19vw,270px)) clamp(260px,30vw,430px);gap:12px;margin:8px 0 40px;grid-template-areas:"a b c" "a d c" "f d e" "g g h"}
.studio-gallery figure{margin:0;border-radius:16px;overflow:hidden;background:var(--char)}
.studio-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.studio-gallery figure:nth-child(1){grid-area:a}.studio-gallery figure:nth-child(2){grid-area:b}.studio-gallery figure:nth-child(3){grid-area:c}.studio-gallery figure:nth-child(4){grid-area:d}.studio-gallery figure:nth-child(5){grid-area:e}.studio-gallery figure:nth-child(6){grid-area:f}.studio-gallery figure:nth-child(7){grid-area:h}.studio-gallery figure:nth-child(8){grid-area:g}
.studio-gallery figure:nth-child(8) img{object-position:40% 45%}.studio-gallery figure:nth-child(7) img{object-position:55% 60%}
@media (max-width:700px){.studio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,170px) 260px 220px;grid-template-areas:"a b" "a c" "d e" "d f" "h h" "g g"}}
.studio-gallery figure:nth-child(6) img{object-position:40% 25%}
.findus{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;margin:18px 0 32px;max-width:none}
.prose .findus{max-width:none}
.fu-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fu-photos figure{margin:0;border-radius:16px;overflow:hidden;background:var(--sand);display:grid;grid-template-rows:auto 1fr}
.fu-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.fu-photos figcaption{padding:12px 14px 14px;font-size:13.5px;line-height:1.45;color:var(--muted)}
.fu-photos figcaption b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#211B22;color:#F6EFE7;font-size:12px;margin-right:6px}
.fu-card{background:#211B22;color:#F6EFE7;border-radius:16px;padding:26px 24px;display:grid;align-content:start;gap:12px}
.fu-k{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#E9A98F}
.fu-name{margin:0;font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.02em}
.fu-addr{margin:0;font-size:15px;opacity:.85}
.fu-t{list-style:none;margin:4px 0 0;padding:12px 0 0;border-top:1px solid rgba(246,239,231,.18);display:grid;gap:6px;font-size:13.5px;opacity:.9}
.fu-t b{font-weight:700;margin-right:4px;color:#F6EFE7}
.fu-btn{justify-self:start;margin-top:6px;background:#A9573A;color:#F6EFE7!important;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:12px 18px;border-radius:999px}
.fu-btn:hover{background:#8E4630}
@media (max-width:900px){.findus{grid-template-columns:1fr}}
@media (max-width:480px){.fu-photos{grid-template-columns:1fr}}
.findus{grid-template-columns:1fr}
.prose .fu-card p,.prose .fu-card li,.prose .fu-card span{color:#F6EFE7}
.prose .fu-card .fu-k{color:#E9A98F}
.prose .fu-card .fu-addr,.prose .fu-card .fu-t li{opacity:.85}
.prose .fu-t{padding-left:0;margin-left:0}
.prose .fu-t li{margin:0;padding:0;list-style:none;font-size:14px}
.prose .fu-t li::before,.prose .fu-t li::marker{content:none}
.fu-t b{font-size:14px}
.fu-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:start}
.fu-card .fu-k{grid-column:1/-1}
.fu-card .fu-name,.fu-card .fu-addr{grid-column:1}
.fu-card .fu-t{grid-column:2;grid-row:2/5;border-top:0;padding-top:0;margin-top:0}
.fu-card .fu-btn{grid-column:1}
@media (max-width:560px){.fu-card{grid-template-columns:1fr}.fu-card .fu-t{grid-column:1;grid-row:auto;border-top:1px solid rgba(246,239,231,.18);padding-top:12px}}
