/* The Root & Scalp Spa: site styles.
   Generated by build/build.py from the <style> blocks of baseline/index.html, concatenated in the
   original document order (head, then each screen, then the tail) so the cascade is unchanged.
   Do not edit by hand: change the baseline or build/templates/additions.css and rebuild. */
/* ---- baseline style block 1 ---- */
:root{--gold:#C9A24B;--goldb:#E8C070;--bronze:#8a6d1f;--ink:#0A0A0A;--blush:#e7d8cf;--paper:#fffdfb;}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:#1f1b18;overflow-x:hidden;background:linear-gradient(135deg,#e9dad0 0%,#efe4da 50%,#e6d6cb 100%);background-attachment:fixed}
html{overflow:auto}
html.go{overflow:auto}
.serif{font-family:'Cormorant Garamond',serif}
.screen{display:none}.screen.active{display:block}
.tagchip{position:fixed;top:10px;left:10px;z-index:300;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:6px 10px;border-radius:20px}
.back{position:fixed;top:10px;right:10px;z-index:300;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#1a1a1a;background:#fff;border:.5px solid rgba(0,0,0,.18);padding:9px 16px;border-radius:20px;cursor:pointer}
.back:hover{background:var(--gold);color:#fff}

/* STAGE = floating white card */
.stage{max-width:none;margin:0;background:transparent;border-radius:0;overflow:hidden}
.nav{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,2.6vw,38px);position:absolute;top:0;left:0;right:0;z-index:10}
.nav-l,.nav-r{display:flex;align-items:center;gap:24px;flex:1}
.nav-r{justify-content:flex-end;gap:18px}
.nav a{color:#fff;text-decoration:none;font-size:13px;font-weight:300;letter-spacing:.01em;opacity:.95}
.nav a:hover{opacity:1}
.nav-brand{flex:0 0 auto;display:flex;align-items:center;gap:9px;color:#fff}
.nav-brand .nav-logo{height:34px;width:auto;display:block}
.nav-brand .serif{font-size:22px;letter-spacing:.06em;font-weight:500}
.nav-contact{font-size:12px;letter-spacing:.04em;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:9px 18px;transition:.25s;white-space:nowrap;line-height:1}.nav-contact:hover{background:rgba(255,255,255,.12)}
.nav-contact:hover{background:#fff;color:#1f1b18}
.nav-ic{color:#fff;font-size:18px;opacity:.92;cursor:pointer}
.nav-pill{background:#fff;color:#1f1b18;border-radius:26px;padding:11px 22px;font-size:12px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.nav-pill:hover{background:var(--gold);color:#fff}

/* HERO */
.hero{position:relative;height:100vh;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero .slides{position:absolute;inset:0}
.hero .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.3s ease}
.hero .slide.on{opacity:1;animation:kb 8s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.05)}to{transform:scale(1.15)}}
.hero .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,18,14,.5) 0%,rgba(24,18,14,.28) 38%,rgba(24,18,14,.5) 100%)}
.hero .hin{position:relative;z-index:3;color:#fff;padding:0 24px;max-width:860px}
.hero .eye{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin-bottom:22px;color:#f3ece2}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(48px,7.4vw,92px);line-height:1.0;margin-bottom:20px;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero .sub{font-size:15px;font-weight:300;line-height:1.6;max-width:500px;margin:0 auto 32px;color:#f1e9e0}
.pill{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#1f1b18;border-radius:30px;padding:16px 32px;font-size:12px;letter-spacing:.06em;text-decoration:none;cursor:pointer;border:none;transition:.25s}
.pill:hover{background:var(--gold);color:#fff}
.dots{position:absolute;bottom:78px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:8px}
.dots .ar{color:rgba(255,255,255,.7);font-size:15px;cursor:pointer}
.dots i.d{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45)}
.dots i.d.on{background:#fff;width:20px;border-radius:6px}
.playmark{position:absolute;bottom:14px;right:18px;z-index:3;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* FEATURE BAR */
.featbar{position:relative;z-index:6;margin:-46px clamp(22px,3vw,46px) 40px;background:#fff;border-radius:18px;box-shadow:0 20px 50px rgba(74,52,38,.12);display:grid;grid-template-columns:repeat(4,1fr)}
.feat{display:flex;align-items:center;justify-content:center;gap:14px;padding:26px 16px;border-right:.5px solid rgba(0,0,0,.07)}
.feat:last-child{border-right:none}
.fic{width:44px;height:44px;flex:0 0 auto;border-radius:50%;background:#f4efe7;display:flex;align-items:center;justify-content:center}
.fic i{font-size:21px;color:var(--gold)}
.feat span{font-size:13.5px;color:#2a2622;font-weight:400}

/* FORK */
/* #fork is now the merged hero section: spacing handled by .hero-merged */
.fork-head{text-align:center;max-width:680px;margin:0 auto 50px}
.fork-head .fe{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:16px}
.fork-head h2{font-size:clamp(30px,4.5vw,52px);font-weight:500;color:#1f1b18}
.fork-head h2 em{font-style:italic;color:var(--gold)}
.fork-cards{max-width:1020px;margin:0 auto;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}
.fcard{background:#fff;border-radius:14px;overflow:hidden;cursor:pointer;opacity:0;transform:translateY(48px);transition:opacity .8s ease,transform .8s ease,box-shadow .3s;box-shadow:0 10px 30px rgba(74,52,38,.06)}
.fcard.in{opacity:1;transform:none}
.fcard:hover{box-shadow:0 28px 64px rgba(74,52,38,.16)}
.fcard .fi{height:290px;background-size:cover;background-position:center}
.fcard .fb{padding:34px 32px 38px;text-align:center;display:flex;flex-direction:column;flex:1}
.fcard .fn{font-family:'Cormorant Garamond',serif;font-size:33px;font-weight:500;color:#1f1b18;margin-bottom:14px}
.fcard .fl{font-size:15px;line-height:1.6;color:#5e564f;margin-bottom:26px;min-height:48px}
.fcard .flbl{font-size:12px;letter-spacing:.03em;color:#8a6d1f;font-weight:500;margin-bottom:14px}
.fcard .fsym{list-style:none;margin:0 0 26px;padding:0;width:100%;max-width:320px;text-align:left;align-self:center}
.fcard .fsym li{position:relative;padding:8px 0 8px 24px;font-size:14.5px;line-height:1.4;color:#4a443e;border-top:.5px solid rgba(0,0,0,.06);min-height:64px;display:flex;align-items:center}
.fcard .fsym li:first-child{border-top:none}
.fcard .fsym li::before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--gold)}
.fcard .fg{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--gold);color:#1f1b18;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:20px 24px;border-radius:32px;transition:.25s}
.fcard:hover .fg{background:var(--goldb)}

/* ===== MERGED HERO + PATH FORK (one screen) ===== */
.hero-merged{height:auto;min-height:100vh;min-height:100svh;flex-direction:column;justify-content:center;
  padding:clamp(100px,12vh,146px) clamp(20px,4vw,48px) clamp(46px,6.5vh,74px);gap:clamp(28px,4.4vh,50px)}
.hero-merged .ov{background:linear-gradient(180deg,rgba(20,15,11,.58) 0%,rgba(20,15,11,.30) 24%,rgba(18,13,10,.66) 58%,rgba(10,7,5,.92) 100%)}
.hero-merged .hin{max-width:820px;display:flex;flex-direction:column;align-items:center}
.hero-merged h1{font-size:clamp(42px,6vw,78px);margin-bottom:16px}
.hero-merged .sub{margin:0 auto}
.hero-merged .dots{position:static;transform:none;margin-top:24px}
.hero-merged .playmark{bottom:12px;right:16px}

.fork-inline{position:relative;z-index:3;width:100%;max-width:1000px;margin:0 auto}
.fi-eyebrow{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,20px);
  font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.66);margin-bottom:22px}
.fi-eyebrow::before,.fi-eyebrow::after{content:"";height:1px;width:clamp(26px,7vw,78px)}
.fi-eyebrow::before{background:linear-gradient(90deg,rgba(201,162,75,0),rgba(201,162,75,.8))}
.fi-eyebrow::after{background:linear-gradient(90deg,rgba(201,162,75,.8),rgba(201,162,75,0))}

.hero-merged .fork-cards{max-width:1000px;gap:clamp(16px,2vw,26px);grid-template-columns:repeat(2,1fr)}
.hero-merged .fcard{display:flex;flex-direction:column;background:rgba(20,14,10,.56);
  -webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);
  border:1px solid rgba(255,255,255,.16);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.34);
  transform:translateY(26px);transition:opacity .8s ease,transform .55s ease,box-shadow .35s ease,border-color .35s ease}
.hero-merged .fcard.in{transform:none}
.hero-merged .fcard:hover{transform:translateY(-5px);border-color:rgba(201,162,75,.6);box-shadow:0 34px 76px rgba(0,0,0,.48)}
.hero-merged .fcard .fi{height:clamp(82px,11vh,126px);position:relative}
.hero-merged .fcard .fi::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,11,.1),rgba(22,16,12,.72))}
.hero-merged .fcard .fb{padding:clamp(18px,2.4vh,26px) clamp(20px,2.2vw,30px) clamp(20px,2.6vh,28px)}
.hero-merged .fcard .fn{color:#fff;font-size:clamp(26px,2.6vw,32px);margin-bottom:10px}
.hero-merged .fcard .flbl{color:var(--goldb);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}
.hero-merged .fcard .fsym{max-width:none;margin:0 0 22px}
.hero-merged .fcard .fsym li{color:rgba(255,255,255,.82);font-size:13px;line-height:1.45;min-height:0;
  padding:9px 0 9px 20px;border-top-color:rgba(255,255,255,.11)}
.hero-merged .fcard .fsym li::before{left:2px;background:var(--goldb)}
.hero-merged .fcard .fg{background:transparent;border:1px solid rgba(201,162,75,.7);color:var(--goldb);
  padding:15px 22px;font-size:11.5px;letter-spacing:.16em}
.hero-merged .fcard:hover .fg{background:var(--gold);color:#17110c;border-color:var(--gold)}
@media(min-width:861px) and (max-height:880px){
  .hero-merged{padding-top:clamp(82px,10.5vh,108px);padding-bottom:32px;gap:clamp(18px,3vh,30px)}
  .hero-merged .eye{font-size:11.5px;margin-bottom:14px}
  .hero-merged h1{font-size:clamp(38px,5.4vh,60px);margin-bottom:12px}
  .hero-merged .sub{font-size:14px}
  .hero-merged .dots{margin-top:16px}
  .fi-eyebrow{margin-bottom:16px}
  .hero-merged .fcard .fi{height:clamp(62px,8.6vh,92px)}
  .hero-merged .fcard .fb{padding:18px 24px 20px}
  .hero-merged .fcard .fn{font-size:27px;margin-bottom:8px}
  .hero-merged .fcard .flbl{margin-bottom:8px}
  .hero-merged .fcard .fsym{margin-bottom:16px}
  .hero-merged .fcard .fsym li{padding:7px 0 7px 20px;font-size:12.5px}
  .hero-merged .fcard .fg{padding:13px 20px}
}
@media(max-width:860px){
  .hero-merged{padding:78px 20px 52px;gap:16px}
  .hero-merged .eye{font-size:11px;letter-spacing:.16em;margin-bottom:12px}
  .hero-merged h1{font-size:clamp(36px,10.4vw,54px)}
  .hero-merged .sub{font-size:14.5px}
  .hero-merged .dots{margin-top:14px}
  .fi-eyebrow{margin-bottom:12px;font-size:10px;letter-spacing:.28em}
  .hero-merged .fork-cards{grid-template-columns:1fr;gap:16px}
  .hero-merged .fcard .fi{height:78px}
  .hero-merged .fcard .fb{padding:20px 22px 22px}
  .hero-merged .fcard .fn{font-size:29px;margin-bottom:8px}
  .hero-merged .fcard .flbl{margin-bottom:10px}
  .hero-merged .fcard .fsym{margin:0 0 14px}
  .hero-merged .fcard .fsym li{min-height:0;padding:7px 0 7px 20px;font-size:13px}
  .hero-merged .fcard .fg{padding:14px 20px}
}

/* ===== HOME NAV: soft scrim + plain text links ===== */
.nav::before{content:"";position:absolute;left:0;right:0;top:0;height:170px;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(14,10,7,.62) 0%,rgba(14,10,7,.26) 52%,rgba(14,10,7,0) 100%)}
.nav-brand{text-shadow:0 2px 10px rgba(0,0,0,.5)}
.nav-r{gap:30px}
.nav-contact{background:none;border:none;border-radius:0;padding:0;font-size:13.5px;letter-spacing:.01em;
  color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.62);opacity:.94;position:relative;line-height:1.2;
  transition:opacity .25s ease}
.nav-contact::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;
  background:rgba(255,255,255,.9);transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
.nav-contact:hover{background:none;color:#fff;opacity:1}
.nav-contact:hover::after{transform:scaleX(1)}
.nav-contact:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:5px;border-radius:3px}
/* home nav on phones: one row, logo mark only */
@media(max-width:620px){
  .nav{padding:16px 15px}
  .nav-brand .serif{display:none}
  .nav-brand .nav-logo{height:32px}
  .nav-r{gap:18px}
  .nav-contact{font-size:12.5px}
  .nav::before{height:140px}
}
@media(prefers-reduced-motion:reduce){.hero-merged .fcard,.hero-split .fcard{transform:none}}
/* ===== SPLIT HERO: image on the top half, light panel with the two paths below ===== */
.hero-split{height:auto;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;
  align-items:stretch;justify-content:flex-start;text-align:center;overflow:hidden;background:#fffdfb}
.hero-split .hs-top{position:relative;flex:0 0 auto;height:50vh;height:50svh;min-height:320px;
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding-bottom:clamp(26px,4vh,46px)}
.hero-split .ov{background:linear-gradient(180deg,rgba(20,15,11,.44) 0%,rgba(20,15,11,.20) 26%,rgba(19,14,10,.52) 72%,rgba(17,12,9,.72) 100%)}
.hero-split .hin{max-width:820px;display:flex;flex-direction:column;align-items:center}
.hero-split h1{font-size:clamp(40px,5.6vw,72px);margin-bottom:14px}
.hero-split .sub{margin:0 auto}
.hero-split .dots{position:static;transform:none;margin-top:16px}
.hero-split .playmark{bottom:8px;right:16px}

.hero-split .hs-bottom{flex:1 1 auto;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#fffdfb 0%,#f7efe5 100%);
  padding:clamp(22px,3.2vh,40px) clamp(20px,4vw,48px) clamp(26px,3.6vh,44px)}
.hero-split .fork-inline{width:100%;max-width:1000px;z-index:auto}
.hero-split .fi-eyebrow{color:var(--bronze);margin-bottom:clamp(13px,2.1vh,22px)}
.hero-split .fi-eyebrow::before{background:linear-gradient(90deg,rgba(201,162,75,0),rgba(201,162,75,.85))}
.hero-split .fi-eyebrow::after{background:linear-gradient(90deg,rgba(201,162,75,.85),rgba(201,162,75,0))}
.hero-split .fork-cards{grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.2vw,30px);max-width:1020px}
.hero-split .fcard{display:flex;flex-direction:column;background:#fff;border:none;overflow:hidden;
  border-radius:20px;box-shadow:0 12px 34px rgba(74,52,38,.10);transform:translateY(20px);
  transition:opacity .8s ease,transform .5s ease,box-shadow .35s ease}
.hero-split .fcard.in{transform:none}
.hero-split .fcard:hover{transform:translateY(-6px);box-shadow:0 30px 64px rgba(74,52,38,.18)}
.hero-split .fcard .fi{height:clamp(118px,17vh,188px);transition:transform .7s ease}
.hero-split .fcard:hover .fi{transform:scale(1.04)}
.hero-split .fcard .fb{padding:clamp(22px,3.2vh,36px) clamp(26px,3vw,44px) clamp(22px,3vh,34px);
  text-align:center;display:flex;flex-direction:column;flex:1}
.hero-split .fcard .fn{font-size:clamp(29px,3.2vw,42px);color:#1d1a16;letter-spacing:.01em;
  margin-bottom:clamp(7px,1.1vh,13px)}
.hero-split .fcard .fdesc{font-size:clamp(14.5px,1.15vw,16.5px);line-height:1.55;color:#5f574f;
  max-width:330px;margin:0 auto clamp(11px,1.7vh,18px)}
.hero-split .fcard .fmeta{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#9a8253;
  margin-bottom:clamp(15px,2.3vh,26px)}
.hero-split .fcard .fg{margin-top:auto;background:none;border:none;border-radius:0;padding:0;width:auto;
  color:#8a6d1f;font-size:14px;font-weight:500;letter-spacing:.01em;text-transform:none;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:color .3s ease}
.hero-split .fcard .fg i{font-style:normal;font-size:17px;line-height:1;transition:transform .3s ease}
.hero-split .fcard:hover .fg{color:var(--gold)}
.hero-split .fcard:hover .fg i{transform:translateX(4px)}
@media(min-width:861px) and (max-height:820px){
  .hero-split .hs-top{height:44vh;height:44svh;min-height:280px;padding-bottom:22px}
  .hero-split h1{font-size:clamp(36px,5vh,56px)}
  .hero-split .sub{font-size:14px}
  .hero-split .eye{font-size:11.5px;margin-bottom:14px}
  .hero-split .dots{margin-top:12px}
  .hero-split .hs-bottom{padding:20px clamp(20px,4vw,48px) 26px}
  .hero-split .fi-eyebrow{margin-bottom:13px}
  .hero-split .fcard .fi{height:clamp(96px,13vh,140px)}
  .hero-split .fcard .fb{padding:20px 30px 22px}
  .hero-split .fcard .fn{font-size:30px;margin-bottom:6px}
  .hero-split .fcard .fdesc{font-size:14.5px;margin-bottom:11px}
  .hero-split .fcard .fmeta{margin-bottom:15px}
}
@media(max-width:860px){
  .hero-split .hs-top{height:40vh;height:40svh;min-height:280px;padding-bottom:22px}
  .hero-split h1{font-size:clamp(36px,10.4vw,54px)}
  .hero-split .sub{font-size:14.5px}
  .hero-split .hs-bottom{padding:22px 20px 36px}
  .hero-split .fi-eyebrow{margin-bottom:14px;font-size:10px;letter-spacing:.28em}
  .hero-split .fork-cards{grid-template-columns:1fr;gap:16px}
  .hero-split .fcard{border-radius:18px}
  .hero-split .fcard .fi{height:118px}
  .hero-split .fcard .fb{padding:22px 26px 24px}
  .hero-split .fcard .fn{font-size:31px}
  .hero-split .fcard .fdesc{font-size:15px;margin-bottom:12px}
  .hero-split .fcard .fmeta{font-size:9.5px;letter-spacing:.13em;margin-bottom:18px}
}


/* OPTIONS */
#options{padding:92px clamp(24px,6vw,80px) 96px;min-height:100vh}
.opt-card,.opt-head{}
.opt-head{max-width:1100px;margin:0 auto 14px;text-align:center}
.opt-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:16px}
.opt-head h2{font-size:clamp(32px,5vw,54px);font-weight:500;color:#1f1b18}
.opt-head h2 em{font-style:italic;color:var(--gold)}
.opt-head .opt-sub{font-size:14px;color:#6a625b;margin-top:12px}
.opt-grid{max-width:1140px;margin:36px auto 0;display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.opt-card{background:#fff;border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(74,52,38,.06)}
.opt-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(74,52,38,.14)}
.opt-card .oc-img{height:200px;background-size:cover;background-position:center}
.opt-card .oc-body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1;text-align:center}
.opt-card .oc-dur{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.opt-card h3{font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:500;color:#1f1b18;margin-bottom:10px}
.opt-card .oc-what{font-size:14px;line-height:1.55;color:#5e564f;margin-bottom:20px;flex:1}
.opt-card .oc-go{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);border-bottom:1px solid var(--gold);padding-bottom:4px;display:inline-block;margin:0 auto}

/* EXPLORE */
#explore .exwrap{background:var(--paper)}
.ex-hero{position:relative;height:80vh;min-height:520px;overflow:hidden;display:flex;align-items:center;text-align:center;justify-content:center}
.ex-hero .exi{position:absolute;inset:0;background-size:cover;background-position:center}
.ex-hero .exs{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,18,14,.42),rgba(24,18,14,.56))}
.ex-hero .exin{position:relative;z-index:3;color:#fff;max-width:760px;padding:0 24px}
.ex-hero .exe{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#fff;opacity:.9;margin-bottom:18px}
.ex-hero h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(40px,6.5vw,80px);line-height:1.02}
.ex-hero .exwhat{font-size:15.5px;font-weight:300;color:#fff;opacity:.95;margin-top:20px;line-height:1.6}
.ex-sec{max-width:980px;margin:0 auto;padding:88px clamp(24px,6vw,40px);text-align:center}
.ex-sec .exsub{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze);margin-bottom:20px}
.ex-sec .exline{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,46px);font-weight:500;line-height:1.16;color:#1f1b18}
.ex-sec .exline em{font-style:italic;color:var(--gold)}
.video-block{max-width:1120px;margin:0 auto;height:62vh;min-height:400px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;border-radius:14px}
.video-block .vmark{width:80px;height:80px;border-radius:50%;border:1px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;background:rgba(0,0,0,.22)}
.video-block .vcap{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:rgba(255,255,255,.85);font-size:10px;letter-spacing:.24em;text-transform:uppercase}
.gallery{display:flex;gap:10px;overflow-x:auto;padding:10px clamp(24px,6vw,40px) 30px;scroll-snap-type:x mandatory}
.gallery .gc{flex:0 0 auto;width:340px;height:240px;border-radius:8px;background-size:cover;background-position:center;scroll-snap-align:start}
.close-band{background:var(--ink);color:#fff;text-align:center;padding:96px 24px}
.close-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,62px);font-weight:500;margin-bottom:14px}
.close-band h2 em{font-style:italic;color:var(--gold)}
.close-band p{color:rgba(255,255,255,.6);font-size:13px;margin-bottom:32px}
.close-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:17px 34px;border-radius:30px;cursor:pointer;border:none}
.btn-gold{background:var(--gold);color:#0a0a0a}.btn-gold:hover{background:var(--goldb)}
.btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent}.btn-ghost:hover{background:rgba(255,255,255,.12)}
@media(max-width:860px){.nav-l{display:none}.featbar{grid-template-columns:repeat(2,1fr)}.feat:nth-child(2n){border-right:none}.feat:nth-child(-n+2){border-bottom:.5px solid rgba(0,0,0,.07)}}

/* ===== PATH PAGES ===== */
#pagespa,#pagelab{background:var(--cream);color:#1f1b18}
.pg-hero{position:relative;height:74vh;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#15110d}
.pg-hero .pgi{position:absolute;inset:0;background-size:cover;background-position:center 58%}
.pg-hero .pgo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,9,.82) 0%,rgba(20,16,12,.34) 26%,rgba(20,16,12,.4) 62%,rgba(20,16,12,.66) 100%)}
.pg-hero .pgin{position:relative;z-index:3;color:#fff;max-width:780px;padding:0 24px}
.pg-hero .pe{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--goldb);margin-bottom:18px}
.pg-logo{height:58px;width:auto;display:block;margin:0 auto 22px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45))}
.pg-hero h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(42px,6.5vw,82px);line-height:1.0;margin-bottom:18px}
.pg-hero .pl{font-size:16px;font-weight:300;color:#f1e9e0;margin-bottom:30px}
.pg-sec{max-width:1120px;margin:0 auto;padding:84px clamp(22px,5vw,48px)}
.pg-sec.tight{padding-top:36px}
.pg-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:14px}
.pg-sec h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(28px,4vw,48px);color:#1f1b18;line-height:1.1;margin-bottom:18px}
.pg-sec h2 em{font-style:italic;color:var(--gold)}
.pg-lead{font-size:16px;line-height:1.7;color:#4a443e;max-width:680px;margin-bottom:14px}
.pg-body{font-size:15px;line-height:1.7;color:#5e564f;max-width:680px;margin-bottom:14px}
.pg-list{list-style:none;padding:0;margin:18px 0;max-width:640px}
.pg-list li{position:relative;padding:9px 0 9px 24px;font-size:15px;line-height:1.55;color:#4a443e;border-top:.5px solid rgba(0,0,0,.07)}
.pg-list li:first-child{border-top:none}
.pg-list li::before{content:"";position:absolute;left:2px;top:16px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.btn-pill{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#1f1b18;border-radius:30px;padding:16px 32px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;text-decoration:none;transition:.25s}
.btn-pill:hover{background:var(--goldb)}
.svc-grid{display:grid;gap:22px;grid-template-columns:repeat(4,1fr);margin-top:36px}
@media(max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}}
.svc{background:#fff;border-radius:12px;padding:30px 26px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(74,52,38,.06)}
.svc .se{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.svc h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:25px;color:#1f1b18;margin-bottom:6px}
.svc .sd{font-size:11px;letter-spacing:.04em;color:#8a6d1f;text-transform:uppercase;margin-bottom:14px}
.svc p{font-size:14px;line-height:1.6;color:#5e564f;margin-bottom:20px;flex:1}
.svc .srow{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:.5px solid rgba(0,0,0,.08);padding-top:18px}
.svc .sprice{font-family:'Cormorant Garamond',serif;font-size:30px;color:#1f1b18}
.svc .sbook{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#1f1b18;background:var(--gold);padding:11px 18px;border-radius:24px;text-decoration:none;transition:.25s;white-space:nowrap}
.svc .sbook:hover{background:var(--goldb)}
.pkg-grid2{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:36px}
.pkg-grid2.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.pkg-grid2.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pkg-grid2.four{grid-template-columns:1fr}}
.pkg2{background:#fff;border-radius:12px;padding:30px 26px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(74,52,38,.06)}
.pkg2 .se{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.pkg2 h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:23px;color:#1f1b18;margin-bottom:10px}
.pkg2 .pd{font-size:13.5px;line-height:1.55;color:#5e564f;margin-bottom:14px}
.pkg2 ul{list-style:none;padding:0;margin:0 0 18px;flex:1}
.pkg2 li{position:relative;padding:7px 0 7px 20px;font-size:13.5px;line-height:1.45;color:#4a443e}
.pkg2 li::before{content:"";position:absolute;left:0;top:14px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.pkg2 .pf{border-top:.5px solid rgba(0,0,0,.08);padding-top:16px;display:flex;flex-direction:column;gap:12px}
.pkg2 .pprice{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold)}
.pkg2 .ppricewrap{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pkg2 .porig{font-size:15px;color:#a39a8f;text-decoration:line-through}
.pkg2 .psave{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6e5618;background:rgba(201,162,75,.28);padding:4px 10px;border-radius:20px;font-weight:600}
.pkg2 .pby{font-size:11px;letter-spacing:.06em;color:#8a6d1f;text-transform:uppercase}
.pkg2 .pbook{text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#1f1b18;background:var(--gold);padding:13px 18px;border-radius:24px;text-decoration:none;transition:.25s}
.pkg2 .pbook:hover{background:var(--goldb)}
.addons{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.addon{background:#fff;border-radius:10px;padding:18px 22px;display:flex;align-items:baseline;gap:12px;box-shadow:0 8px 24px rgba(74,52,38,.05)}
.addon em{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:#1f1b18}
.addon .am{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8a6d1f}
.addon strong{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--gold);font-size:18px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips span{padding:7px 14px;border:.5px solid rgba(201,162,75,.6);border-radius:20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(74,52,38,.06)}
.steps .step2{padding:30px 22px;border-right:.5px solid rgba(0,0,0,.08)}
.steps .step2:last-child{border-right:none}
.step2 .sn{font-family:'Cormorant Garamond',serif;font-size:38px;color:var(--gold);line-height:1;margin-bottom:12px}
.step2 .sl{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:#1f1b18;margin-bottom:6px}
.step2 .ss{font-size:13px;line-height:1.5;color:#6a625b}
@media(max-width:760px){.steps{grid-template-columns:repeat(2,1fr)}.steps .step2:nth-child(2n){border-right:none}}
.tech-band{background:var(--ink);color:#fff}
.tech-grid{display:grid;gap:1px;background:rgba(201,162,75,.25);border:.5px solid rgba(201,162,75,.25);border-radius:12px;overflow:hidden;margin-top:36px}
@media(min-width:780px){.tech-grid{grid-template-columns:repeat(3,1fr)}}
.tech{background:#161514;padding:32px 26px}
.tech .te{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--goldb);margin-bottom:10px}
.tech h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:25px;color:#fff;margin-bottom:12px}
.tech p{font-size:13.5px;line-height:1.65;color:#cfc7bd;margin-bottom:14px}
.tech ul{list-style:none;padding:0;margin:0}
.tech li{position:relative;padding:6px 0 6px 18px;font-size:12.5px;line-height:1.5;color:#cfc7bd}
.tech li::before{content:"";position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:var(--goldb)}
.tech-note{max-width:820px;margin:22px auto 0;font-size:11.5px;line-height:1.6;color:#b9b0a3;border-left:2px solid var(--gold);padding:14px 18px;background:rgba(255,255,255,.03)}
.pg-close{background:var(--ink);color:#fff;text-align:center;padding:90px 24px}
.pg-close h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4.5vw,56px);color:#fff;margin-bottom:14px}
.pg-close h2 em{font-style:italic;color:var(--gold)}
.pg-close p{color:rgba(255,255,255,.6);font-size:14px;margin-bottom:30px}
.pg-backtop{display:inline-block;margin-top:22px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;opacity:.6;cursor:pointer}
.pg-backtop:hover{opacity:1;color:var(--goldb)}


/* ===== REVIEW MARQUEE ===== */
.reviews-band{background:var(--ink);color:#fff;padding:50px 0 56px;overflow:hidden}
.reviews-head{text-align:center;margin-bottom:30px;padding:0 20px}
.reviews-head .rh-stars{color:var(--goldb);font-size:17px;letter-spacing:4px}
.reviews-head .rh-title{font-size:clamp(26px,3.2vw,38px);font-weight:500;color:#fff;margin-top:8px}
.reviews-head .rh-sub{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#b9b0a3;margin-top:10px}
.reviews-head .rh-sub a{color:var(--goldb);text-decoration:none;border-bottom:1px solid rgba(232,192,112,.5)}
.marquee-wrap{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee{display:flex;width:max-content;gap:20px;animation:marquee 70s linear infinite}
.marquee:hover{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rev-card{flex:0 0 auto;width:340px;background:#161514;border:.5px solid rgba(201,162,75,.25);border-radius:12px;padding:24px 24px 22px;display:flex;flex-direction:column;gap:13px}
.rev-card .rc-stars{color:var(--goldb);font-size:12px;letter-spacing:3px}
.rev-card .rc-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;line-height:1.5;color:#ece4d8;flex:1}
.rev-card .rc-author{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--goldb)}
.rev-card .rc-author span{color:#8f8678;letter-spacing:.04em;text-transform:none;font-size:11px}
@media (prefers-reduced-motion:reduce){.marquee{animation:none}}


/* ===== PATH-PAGE STICKY NAV ===== */
.pgnav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(16,13,10,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:.5px solid transparent;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
.pgnav.scrolled{background:rgba(255,255,255,.96);border-bottom:.5px solid rgba(201,162,75,.3);box-shadow:0 6px 22px rgba(74,52,38,.08)}
.pgnav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:13px clamp(18px,3vw,40px)}
.pgnav-brand{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none}
.pgnav-brand img{height:28px;width:auto}
.pgnav-brand span{font-size:16px;letter-spacing:.04em;color:#fff;transition:color .35s ease}
.pgnav.scrolled .pgnav-brand span{color:#1f1b18}
.pgnav-links{display:flex;align-items:center;gap:26px}
.pgnav-links a{font-size:12.5px;letter-spacing:.04em;color:#fff;text-decoration:none;cursor:pointer;transition:color .25s ease}
.pgnav-links a:hover{color:var(--goldb)}
.pgnav.scrolled .pgnav-links a{color:#3a342e}
.pgnav.scrolled .pgnav-links a:hover{color:var(--gold)}
.pgnav-signin{font-weight:600}
.pgnav.scrolled .pgnav-signin{color:#1f1b18}
.pgnav-cta{background:var(--gold);color:#1f1b18 !important;padding:9px 18px;border-radius:24px;font-size:11.5px !important;letter-spacing:.07em;text-transform:uppercase;font-weight:600;transition:.25s}
.pgnav-cta:hover{background:var(--goldb)}
@media(max-width:860px){.pgnav-brand span{display:none}.pgnav-links{gap:15px}.pgnav-links a{font-size:11.5px}}
.pgnav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:34px;background:none;border:0;cursor:pointer;padding:0}
.pgnav-burger span{display:block;width:22px;height:2px;margin:0 auto;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .3s ease,background .3s ease}
.pgnav.scrolled .pgnav-burger span{background:#1f1b18}
.pgnav.open .pgnav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.pgnav.open .pgnav-burger span:nth-child(2){opacity:0}
.pgnav.open .pgnav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
  .pgnav-burger{display:flex}
  .pgnav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(16,13,10,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:6px 0 10px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .35s ease,opacity .25s ease;box-shadow:0 20px 44px rgba(0,0,0,.28)}
  .pgnav.open .pgnav-links{max-height:80vh;opacity:1;pointer-events:auto}
  .pgnav-links a{padding:14px 26px;font-size:15px;color:#fff !important;border-bottom:.5px solid rgba(255,255,255,.08)}
  .pgnav.scrolled .pgnav-links a{color:#fff !important}
  .pgnav-links a.pgnav-cta{margin:12px 24px 4px;text-align:center;border-bottom:0;color:#1f1b18 !important;padding:13px 18px}
  .pgnav-links a.pgnav-signin{color:#fff !important}
}


/* ===== PRODUCT GALLERY MARQUEE ===== */
.prod-band{background:var(--cream);padding:26px 0 18px;overflow:hidden}
.prod-head{text-align:center;margin-bottom:20px;padding:0 20px}
.prod-head .ph-e{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze)}
.prod-marq-wrap{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.prod-marq{display:flex;width:max-content;gap:18px;animation:prodmarq 55s linear infinite}
.prod-marq:hover{animation-play-state:paused}
@keyframes prodmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.prod-card{flex:0 0 auto;width:250px;height:310px;border-radius:12px;overflow:hidden;background:#fff;border:.5px solid rgba(0,0,0,.08);box-shadow:0 10px 26px rgba(74,52,38,.06)}
.prod-card img{width:100%;height:100%;object-fit:cover;display:block}
@media (prefers-reduced-motion:reduce){.prod-marq{animation:none}}


.begin-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,56px);align-items:center}
@media(max-width:900px){.begin-grid{grid-template-columns:1fr}}
.begin-left .chips{margin-top:22px}
.video-ph{position:relative;width:100%;aspect-ratio:16/10;background:#161514;border:.5px solid rgba(201,162,75,.35);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:hidden}
.video-ph .vp-play{width:70px;height:70px;border-radius:50%;border:1px solid rgba(232,192,112,.7);display:flex;align-items:center;justify-content:center;color:var(--goldb);font-size:20px}
.video-ph .vp-cap{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--goldb)}
.video-ph .vp-sub{font-size:11px;color:#9b9387;letter-spacing:.04em}
.statband{background:#ab8c4a;color:#fff}
.statband-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;text-align:center;padding:36px clamp(20px,4vw,40px)}
.statband .stat .sv{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,3.6vw,46px);font-weight:500;line-height:1;color:#fff}
.statband .stat .sl{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.92);margin-top:11px;line-height:1.45}
@media(max-width:760px){.statband-inner{grid-template-columns:repeat(2,1fr);gap:26px 16px}.statband .stat:last-child{grid-column:1 / -1}}


.rm-meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--goldb);margin-top:4px;margin-bottom:6px}
.rm-grid{display:grid;gap:1px;background:rgba(201,162,75,.25);border:.5px solid rgba(201,162,75,.25);border-radius:12px;overflow:hidden;margin-top:34px}
@media(min-width:780px){.rm-grid{grid-template-columns:repeat(3,1fr)}}
.rm-step{background:#161514;padding:34px 26px}
.rm-step .rm-n{font-family:'Cormorant Garamond',serif;font-size:42px;color:var(--goldb);line-height:1;margin-bottom:6px}
.rm-step .rm-k{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--goldb);margin-bottom:10px}
.rm-step h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;color:#fff;margin-bottom:12px}
.rm-step p{font-size:13.5px;line-height:1.65;color:#cfc7bd}


.tech-band .rm-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(48px,7.5vw,96px);line-height:1;color:#fff;margin:6px 0 0}
.tech-band .rm-title .g{color:var(--gold);font-style:italic;font-weight:400}
.rm-focal{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(22px,3vw,34px);color:var(--goldb);margin-top:18px}


.rm-machines{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:40px auto 8px}
@media(max-width:820px){.rm-machines{grid-template-columns:1fr;gap:36px}}
.rm-machine{text-align:center}
.rm-stage{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.rm-stage .glow{position:absolute;width:72%;height:62%;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(201,162,75,.5),rgba(201,162,75,.18) 42%,transparent 70%);filter:blur(26px);animation:rmpulse 4s ease-in-out infinite}
@keyframes rmpulse{0%,100%{opacity:.78;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
.rm-stage img{position:relative;z-index:1;max-width:60%;max-height:78%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.6));animation:rmfloat 6s ease-in-out infinite}
.rm-stage img.vial{max-width:37%;max-height:53.5%}
.rm-machine.d2 .rm-stage img{animation-delay:-3s}
.rm-machine.d3 .rm-stage img{animation-delay:-1.5s}
@keyframes rmfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.rm-machine .mname{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;color:#fff;margin-top:4px}
.rm-machine .mtag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--goldb);margin-top:7px}
@media(prefers-reduced-motion:reduce){.rm-stage img,.rm-stage .glow{animation:none}}


/* ===== ROOT METHOD (light, image-led, dropdown details) ===== */
.rootmethod{background:var(--cream)}
.rootmethod .rm-title2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(46px,7vw,88px);line-height:1;color:#1f1b18;margin:6px 0 0}
.rootmethod .rm-title2 .g{color:var(--gold);font-style:italic;font-weight:400}
.rm-focal2{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(22px,3vw,32px);color:var(--gold);margin-top:16px}
.rm-meta2{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-top:10px}
.rm-detail-wrap{max-width:1180px;margin:0 auto;padding:0 22px clamp(48px,6vw,80px)}
.rm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,32px);align-items:stretch}
@media(max-width:820px){.rm-cards{grid-template-columns:1fr}}
.rmc{perspective:1400px;cursor:pointer}
.rmc-flip{display:grid;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.7,.25,1)}
.rmc.flipped .rmc-flip{transform:rotateY(180deg)}
.rmc-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;display:flex;flex-direction:column;text-align:center;position:relative;overflow:hidden}
.rmc-front{background:#fff;border:1px solid rgba(201,162,75,.35);padding:clamp(26px,2.6vw,34px);transition:box-shadow .3s}
.rmc:not(.flipped):hover .rmc-front{box-shadow:0 16px 40px rgba(31,27,24,.12)}
.rmc-back{background:#1a1411;border:1px solid rgba(201,162,75,.55);transform:rotateY(180deg);padding:clamp(26px,2.8vw,36px);justify-content:center}
.rmc-pip{position:absolute;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1;z-index:4}
.rmc-pip .pt{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
.rmc-pip .pn{font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--gold);line-height:1.3;padding-bottom:4px}
.rmc-pip.tl{top:14px;left:18px}
.rmc-pip.br{display:none}
.rmc-back .rmc-pip .pt{color:#8d857a}
.rmc-imgwrap{position:relative;aspect-ratio:1/1;background:#fff;border-radius:10px;overflow:hidden;margin-bottom:16px}
.rmc-imgwrap img{position:absolute;inset:0;margin:auto;max-width:80%;max-height:80%;object-fit:contain}
.rmc-chip{align-self:center;background:var(--gold);border-radius:999px;padding:11px 24px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#241c12;font-weight:600;box-shadow:0 6px 16px rgba(201,162,75,.35);margin-bottom:16px}
.rmc-chip b{color:#1a1308;font-weight:800}
.rmc-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:27px;color:#1f1b18;line-height:1.12;margin-bottom:6px}
.rmc-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);min-height:30px}
.rmc-hint{margin-top:auto;padding-top:16px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.rmc-hint::after{content:" \21BB";color:var(--gold)}
.rmc-back .bk-step{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--goldb);margin-bottom:10px}
.rmc-back h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:25px;color:#fff;margin-bottom:14px}
.rmc-back p{font-size:13px;line-height:1.66;color:#cfc7bd;text-align:left;margin-bottom:12px}
.rmc-back .rmc-tag{background:rgba(201,162,75,.18);color:var(--goldb)}
.rmc-back p.rmc-fda{font-size:10.5px;line-height:1.55;color:#8d857a;margin-top:12px;margin-bottom:0}
.rmc-back .rmc-hint{color:#8d857a}
.rmc-tag{display:inline-block;background:rgba(201,162,75,.16);color:#6e5618;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:4px;line-height:1.5}
@media(prefers-reduced-motion:reduce){.rmc-flip{transition:none}}
.rm-note-light{max-width:920px;margin:16px auto 0;font-size:12px;line-height:1.6;color:#7a7268;border-left:2px solid var(--gold);padding:12px 16px;background:rgba(201,162,75,.06)}
.rm-note-light.fda{color:#938b80}


.rm-fda{max-width:920px;margin:0 auto}
.rm-fda summary{list-style:none;cursor:pointer;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#938b80;border-bottom:1px solid rgba(201,162,75,.4);padding-bottom:4px;display:inline-block}
.rm-fda summary::-webkit-details-marker{display:none}
.rm-fda summary::after{content:" +";color:var(--gold)}
.rm-fda[open] summary::after{content:" \2013"}
.rm-fda p{font-size:11.5px;line-height:1.6;color:#938b80;margin-top:10px;max-width:820px}

.rmc-fda{font-size:11px;line-height:1.55;color:#938b80;margin-top:12px}

/* ===== SCIENCE / JOURNAL QUOTE MARQUEE (newspaper clippings) ===== */
.sci-band{background:#f3ecdd;padding:clamp(48px,6vw,80px) 0;overflow:hidden}
.sci-head{text-align:center;margin-bottom:clamp(28px,4vw,44px);padding:0 24px}
.sci-head .se{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.sci-head h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);color:#1f1b18;margin-top:8px}
.sci-head h2 em{font-style:italic;color:var(--gold)}
.sci-wrap{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);padding:6px 0}
.sci-marq{display:flex;gap:20px;width:max-content;align-items:stretch;animation:scimarq 68s linear infinite}
.sci-marq:hover{animation-play-state:paused}
@keyframes scimarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sci-card{flex:0 0 auto;width:360px;background:#fff;border:.75px solid #e4dcc6;border-top:2px solid var(--gold);border-radius:12px;padding:24px 26px 22px;box-shadow:0 10px 28px rgba(74,52,38,.07);display:flex;flex-direction:column}
.sci-eyebrow{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-bottom:13px}
.sci-quote{font-family:'Cormorant Garamond',serif;font-style:normal;font-size:18px;line-height:1.55;color:#2a2620;flex:1}
.proof-band{background:#f3ecdd;padding:clamp(48px,6vw,84px) 22px}
.proof-head{text-align:center;margin-bottom:clamp(30px,4vw,50px)}
.proof-head .se{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.proof-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--bronze);margin-top:12px}
.stackwrap{max-width:880px;margin:0 auto}
.stk-card{position:sticky;background:#fff;border:.75px solid #e4dcc6;border-top:2px solid var(--gold);border-radius:16px;padding:clamp(22px,3vw,32px) clamp(22px,3.4vw,40px);box-shadow:0 -12px 30px rgba(74,52,38,.10),0 14px 34px rgba(74,52,38,.08);margin-bottom:18px}
.stk-card:nth-child(1){top:92px}.stk-card:nth-child(2){top:106px}.stk-card:nth-child(3){top:120px}.stk-card:nth-child(4){top:134px}.stk-card:nth-child(5){top:148px}.stk-card:nth-child(6){top:162px}.stk-card:nth-child(7){top:176px}
.stk-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.stk-n{font-family:'Cormorant Garamond',serif;font-size:23px;color:var(--gold);line-height:1}
.stk-eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.stk-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,2.2vw,24px);line-height:1.5;color:#2a2620}
.stk-src{margin-top:14px;padding-top:12px;border-top:.5px solid #ece3cf;font-size:11.5px;color:#6a5d39;letter-spacing:.02em}
.stk-ba .ba-grid{margin-top:16px}
.qrot{max-width:880px;margin:0 auto;background:#fff;border:.75px solid #e4dcc6;border-top:2px solid var(--gold);border-radius:16px;padding:clamp(24px,3vw,36px) clamp(24px,3.4vw,42px);box-shadow:0 14px 34px rgba(74,52,38,.08)}
.qstage{position:relative;min-height:190px}
@media(max-width:640px){.qstage{min-height:300px}}
.qslide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}
.qslide.active{opacity:1;pointer-events:auto}
.qfoot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:14px;border-top:.5px solid #ece3cf}
.qdots{display:flex;gap:8px}
.qdot{width:8px;height:8px;border-radius:50%;background:#ddd2b8;cursor:pointer;transition:background .3s}
.qdot.active{background:var(--gold)}
.qexpand{background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);border-bottom:1px solid var(--gold);padding:0 0 4px;transition:color .2s}
.qexpand:hover{color:var(--gold)}
.qall{max-height:0;overflow:hidden;transition:max-height .7s ease}
.qall.open{max-height:2400px}
.qall-item{padding:18px 0;border-bottom:.5px solid #ece3cf}
.qall-item:first-child{margin-top:18px}
.qall-item:last-child{border-bottom:none;padding-bottom:0}
.qall-item .stk-quote{font-size:17px;line-height:1.5}
.qall-item .stk-src{margin-top:8px;padding-top:0;border-top:none}
.ba-cardbox{max-width:880px;margin:22px auto 0;background:#fff;border:.75px solid #e4dcc6;border-top:2px solid var(--gold);border-radius:16px;padding:clamp(22px,3vw,32px) clamp(22px,3.4vw,40px);box-shadow:0 14px 34px rgba(74,52,38,.08)}
.bastage{position:relative;min-height:320px;width:100%;max-width:460px;margin:16px auto 0}
.ba-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;display:flex;flex-direction:column;justify-content:center}
.ba-slide .ba-card{width:100%}
.ba-slide.active{opacity:1}
.badots{display:flex;gap:8px}
.barot-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:13px;border-top:.5px solid #ece3cf}
.ba-cardbox.open .bastage{position:static;min-height:0;max-width:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.ba-cardbox.open .ba-slide{position:static;opacity:1}
.ba-cardbox.open .badots{visibility:hidden}
@media(max-width:640px){.ba-cardbox.open .bastage{grid-template-columns:1fr}.bastage{min-height:280px}}
.proof-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,28px);max-width:1180px;margin:0 auto;align-items:stretch}
.proof-cols:has(.open){align-items:start}
.proof-cols .qrot,.proof-cols .ba-cardbox{display:flex;flex-direction:column}
.proof-cols .qstage{flex:1;min-height:200px}
.proof-cols .bastage{flex:1}
.proof-cols .qfoot,.proof-cols .barot-foot{margin-top:auto;padding-top:14px}
.proof-cols .qstage,.proof-cols .qfoot{}
@media(max-width:900px){.proof-cols{grid-template-columns:1fr}}
.proof-cols .qrot{max-width:none;margin:0}
.proof-cols .ba-cardbox{max-width:none;margin:0}
.ev-hl{background:linear-gradient(transparent 56%, rgba(201,162,75,.45) 56%);color:#1f1b18;font-weight:600;padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.sci-src{margin-top:16px;padding-top:13px;border-top:.5px solid #ece3cf;font-family:'Inter',sans-serif;font-size:11px;color:#6a5d39;letter-spacing:.02em}
.sci-src b{display:block;color:#1f1b18;font-weight:600;font-size:11.5px;margin-bottom:2px;letter-spacing:.04em}
.sci-mark{display:none}}


/* ===== BEFORE / AFTER (Folix Laser) ===== */
.ba-band{background:var(--cream)}
.ba-band .pg-sec{max-width:1180px;padding-top:54px;padding-bottom:46px}
.ba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px;max-width:600px;margin-left:auto;margin-right:auto}
@media(max-width:860px){.ba-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}
.ba-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(74,52,38,.10);border:.5px solid rgba(201,162,75,.22)}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(201,162,75,.35)}
.ba-img{position:relative;background:#efe7da}
.ba-photo{width:100%;aspect-ratio:1/1;background-size:cover;background-position:center}
.ba-tag{position:absolute;top:10px;left:10px;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(20,16,12,.72);padding:5px 9px;border-radius:3px}
.ba-tag.aft{background:rgba(176,140,64,.92);color:#1f1b18}
.ba-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.ba-label .ba-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.ba-note{text-align:center;font-size:11px;color:#938b80;margin-top:26px;letter-spacing:.03em}


/* ===== v64 MOTION PASS (additive only) ===== */
@media(max-width:520px){
  .nav{padding:14px 12px;gap:8px}
  .nav-brand{gap:7px}
  .nav-brand .nav-logo{height:24px}
  .nav-brand .serif{font-size:15px;letter-spacing:.03em}
  .nav-r{gap:6px;flex-wrap:wrap;row-gap:6px;justify-content:flex-end}
  .nav-contact{padding:7px 11px;font-size:10.5px;white-space:nowrap}
}

@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .svc,.pkg2,.rmc,.ba-card,.addon{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1)}
  .svc:hover,.pkg2:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(74,52,38,.15)}
  .rmc:hover{transform:translateY(-4px)}
  .ba-card:hover{transform:translateY(-5px);box-shadow:0 24px 56px rgba(74,52,38,.17)}
  .rev-card{transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s ease}
  .rev-card:hover{transform:translateY(-4px);border-color:rgba(201,162,75,.55)}
  .prod-card{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease}
  .prod-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(74,52,38,.15)}
}
.pg-hero{isolation:isolate}
.pg-hero .pgi{will-change:transform}
.pill,.btn-pill,.nav-pill,.sbook,.pbook,.btn-gold,.fg{will-change:transform;display:inline-flex}

/* ===== MEET THE TEAM SCREEN ===== */
#pageteam{--tm-bronze:#8a6d1f}
#pageteam{background:var(--cream,#FBF8F1)}
#pageteam .tm-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
#pageteam .tm-head{text-align:center;padding:clamp(96px,12vw,140px) 0 0}
#pageteam .tm-rule{width:0;height:1.5px;background:linear-gradient(90deg,var(--gold),var(--goldb));margin:0 auto;animation:tmdraw 1s cubic-bezier(.22,.61,.36,1) .2s forwards}
@keyframes tmdraw{to{width:52px}}
#pageteam .tm-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze,#8a6d1f);font-weight:600}
#pageteam .tm-head .tm-eyebrow{margin-top:18px}
#pageteam .tm-h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(40px,6vw,74px);line-height:1.02;letter-spacing:.01em;margin:10px auto 0;color:var(--ink)}
#pageteam .tm-h1 em{color:var(--gold);font-style:italic}
#pageteam .tm-hquote{margin:18px auto 0;max-width:46ch;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(17px,2vw,22px);line-height:1.5;color:#4a433b}
#pageteam .tm-attr{margin-top:12px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze,#8a6d1f);font-weight:600}
#pageteam .tm-sec{padding:clamp(56px,8vw,104px) 0}
#pageteam .tm-sec.tight{padding-top:0}
#pageteam .tm-sechead{text-align:center;margin-bottom:clamp(34px,5vw,56px)}
#pageteam .tm-h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(28px,4vw,46px);line-height:1.06;margin-top:10px;color:var(--ink)}
#pageteam .tm-h2 em{color:var(--gold);font-style:italic}
#pageteam .tm-founders{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(22px,3vw,34px);align-items:stretch}
@media(max-width:820px){#pageteam .tm-founders{grid-template-columns:1fr;max-width:520px;margin:0 auto}}
#pageteam .tm-fcard{background:#fff;border:.75px solid var(--line,#E8E1D4);border-top:2px solid var(--gold);border-radius:16px;overflow:hidden;box-shadow:0 16px 40px rgba(74,52,38,.07);display:flex;flex-direction:column}
#pageteam .tm-band{height:clamp(280px,34vw,360px);background:linear-gradient(160deg,#17120d,#0c0a08);position:relative;display:flex;align-items:center;justify-content:center}
#pageteam .tm-band img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
#pageteam .tm-mono{font-family:'Cormorant Garamond',serif;font-size:72px;color:var(--gold);opacity:.85}
#pageteam .tm-fbody{padding:clamp(24px,2.6vw,36px);flex:1;display:flex;flex-direction:column;justify-content:center}
#pageteam .tm-center{text-align:center;align-items:center}
#pageteam .tm-role{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze,#8a6d1f);font-weight:600}
#pageteam .tm-name{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:28px;line-height:1.1;color:var(--ink);margin-top:5px}
#pageteam .tm-name span{color:var(--gold)}
#pageteam .tm-meta{margin-top:9px;font-size:12.5px;color:#6a6258;line-height:1.6}
#pageteam .tm-frow + .tm-frow{margin-top:18px;padding-top:18px;border-top:.5px solid var(--line,#E8E1D4)}
#pageteam .tm-esth-list{display:flex;flex-direction:column;gap:clamp(24px,3vw,40px)}
#pageteam .tm-esth{display:grid;grid-template-columns:320px 1fr;background:#fff;border:.75px solid var(--line,#E8E1D4);border-radius:16px;overflow:hidden;box-shadow:0 16px 40px rgba(74,52,38,.07)}
#pageteam .tm-esth.tm-flip{grid-template-columns:1fr 320px}
@media(max-width:760px){#pageteam .tm-esth,#pageteam .tm-esth.tm-flip{grid-template-columns:1fr}}
#pageteam .tm-ephoto{position:relative;min-height:380px;background:linear-gradient(160deg,#17120d,#0c0a08);border-right:2px solid var(--gold)}
#pageteam .tm-esth.tm-flip .tm-ephoto{order:2;border-right:none;border-left:2px solid var(--gold)}
#pageteam .tm-ephoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%}
#pageteam .tm-ebody{padding:clamp(28px,3.2vw,44px)}
#pageteam .tm-meet{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze,#8a6d1f);font-weight:600}
#pageteam .tm-ename{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(34px,4.4vw,52px);line-height:1.02;color:var(--ink);margin-top:6px}
#pageteam .tm-ename em{display:block;color:var(--gold);font-style:italic}
#pageteam .tm-creds{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
#pageteam .tm-creds span{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze,#8a6d1f);font-weight:600;border:.75px solid var(--gold);border-radius:20px;padding:7px 14px;background:rgba(201,162,75,.06)}
#pageteam .tm-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(17px,1.9vw,21px);line-height:1.5;color:#3a332c;margin:24px 0 0;padding-left:18px;border-left:2px solid var(--gold)}
#pageteam .tm-spec{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:11px}
#pageteam .tm-spec li{position:relative;padding-left:22px;font-size:14px;line-height:1.55;color:#5e564f}
#pageteam .tm-spec li::before{content:"\25C6";position:absolute;left:0;top:3px;color:var(--gold);font-size:10px}
#pageteam .tm-spec li b{color:var(--ink);font-weight:600}
#pageteam .tm-years{margin-top:22px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze,#8a6d1f);font-weight:600}
#pageteam .tm-years b{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--gold);font-weight:500;letter-spacing:0}
#pageteam .tm-closing{background:#fff;border:.75px solid var(--line,#E8E1D4);border-top:2px solid var(--gold);border-radius:16px;text-align:center;padding:clamp(40px,5vw,64px);box-shadow:0 16px 40px rgba(74,52,38,.06);margin-top:clamp(30px,4vw,52px)}
#pageteam .tm-closing h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(26px,3.4vw,40px);color:var(--ink)}
#pageteam .tm-closing h3 em{color:var(--gold);font-style:italic}
#pageteam .tm-closing .btn-pill{margin-top:24px}


/* ===== VISIT US + SITE FOOTER ===== */
.visit{background:var(--cream);padding:clamp(56px,7vw,96px) 0;border-top:.5px solid rgba(201,162,75,.22)}
.visit-inner{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,64px);display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(30px,4vw,56px);align-items:center}
@media(max-width:820px){.visit-inner{grid-template-columns:1fr}}
.visit-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.visit h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4vw,50px);color:var(--ink);margin:10px 0 0}
.visit h2 em{color:var(--gold);font-style:italic}
.visit .vsub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--bronze);margin-top:12px;max-width:46ch}
.visit-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;margin-top:30px}
@media(max-width:520px){.visit-cols{grid-template-columns:1fr}}
.visit-col .k{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-bottom:9px}
.visit-col p{font-size:14.5px;line-height:1.75;color:#4a433b}
.visit-col a{color:#4a433b}
.visit-col a.gold{display:inline-block;margin-top:8px;color:var(--bronze);border-bottom:.5px solid var(--gold);font-weight:600;font-size:13px;letter-spacing:.02em}
.visit-col a.gold:hover{color:var(--ink)}
.visit-map{border-radius:14px;overflow:hidden;border:.75px solid var(--line);box-shadow:0 16px 40px rgba(74,52,38,.08);min-height:340px}
.visit-map iframe{display:block;width:100%;height:100%;min-height:360px;border:0}
.site-foot{background:var(--ink);color:#cfc7ba;padding:clamp(54px,7vw,82px) 0 34px}
.site-foot-inner{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
.sf-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px}
@media(max-width:860px){.sf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sf-grid{grid-template-columns:1fr}}
.sf-brand{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;font-weight:500}
.sf-brand .tag{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:8px;font-weight:600}
.sf-tag{margin-top:16px;max-width:34ch;font-size:13.5px;line-height:1.7;color:#a59d90;font-weight:300}
.site-foot h5{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:10px;font-size:13px;color:#bdb5a8}
.site-foot li a{cursor:pointer}
.site-foot li a:hover{color:#fff}
.sf-rule{height:.5px;background:rgba(201,162,75,.25);margin:44px 0 20px}
.sf-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.05em;color:#8a8175}
.sf-bottom a{color:#8a8175}.sf-bottom a:hover{color:#fff}


/* ---- baseline style block 2 ---- */
/* Phones get 900px-wide copies of every large photo. Desktop is untouched. */
@media(max-width:900px){
  [style*="assets/img/25f409017a.jpg"]{background-image:url("/assets/img/m/25f409017a.jpg")!important}
  [style*="assets/img/4c2321ee38.jpg"]{background-image:url("/assets/img/m/4c2321ee38.jpg")!important}
  [style*="assets/img/4d15ff2905.jpg"]{background-image:url("/assets/img/m/4d15ff2905.jpg")!important}
  [style*="assets/img/8ff7921588.jpg"]{background-image:url("/assets/img/m/8ff7921588.jpg")!important}
  [style*="assets/img/a058c26194.jpg"]{background-image:url("/assets/img/m/a058c26194.jpg")!important}
  [style*="assets/img/a9f9ba24ef.jpg"]{background-image:url("/assets/img/m/a9f9ba24ef.jpg")!important}
  [style*="assets/img/c0564235c1.jpg"]{background-image:url("/assets/img/m/c0564235c1.jpg")!important}
  [style*="assets/img/c537749994.jpg"]{background-image:url("/assets/img/m/c537749994.jpg")!important}
  [style*="assets/img/c88335c1dd.jpg"]{background-image:url("/assets/img/m/c88335c1dd.jpg")!important}
  [style*="assets/img/cc316b2bac.jpg"]{background-image:url("/assets/img/m/cc316b2bac.jpg")!important}
}

/* ---- baseline style block 3 ---- */
.sf-comp{border-top:1px solid rgba(255,255,255,.12);max-width:1080px;margin:34px auto 0;padding:30px 24px 0}
.sf-comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 40px}
.sf-comp h5{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#C9A24B;margin:0 0 8px;border-top:2px solid #C9A24B;display:inline-block;padding-top:8px}
.sf-comp p{font-size:11.5px;line-height:1.65;color:rgba(255,255,255,.55);margin:0}
.sf-comp .tm{font-size:10.5px;color:rgba(255,255,255,.4);margin-top:22px;padding-top:14px;text-align:center}
@media(max-width:760px){.sf-comp-grid{grid-template-columns:1fr}}

/* ---- baseline style block 4 ---- */
  .hs-jump{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;
    background:rgba(201,162,75,.10);border-top:1px solid rgba(201,162,75,.28);border-bottom:1px solid rgba(201,162,75,.28);
    padding:17px 20px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);
    transition:background .25s ease}
  .hs-jump:hover{background:rgba(201,162,75,.18)}
  .hs-jump b{font-weight:600;color:#6e5618}
  .hs-jump i{font-style:normal;font-size:17px;line-height:1;transition:transform .25s ease}
  .hs-jump:hover i{transform:translateX(4px)}
  @media(max-width:860px){.hs-jump{font-size:10.5px;letter-spacing:.1em;padding:0 16px;min-height:52px;text-align:center}}
  
/* ---- baseline style block 5 ---- */
  .hs2-sub{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:26px;color:#1f1b18;margin:24px 0 10px}
  .hs2-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
  .hs2-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:#8a6d1f;margin:10px 0 12px}
  .hs2-link{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(201,162,75,.5)}
  .hs2-grid2{display:grid;grid-template-columns:1fr 1.1fr;gap:38px;align-items:start;margin-top:30px}
  .hs2-img{border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(74,52,38,.1)}
  .hs2-img img{width:100%;height:auto;display:block}
  .hs2-cap{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#8a8378;margin-top:10px}
  .hs2-fine{font-size:11.5px;color:#8a8378;margin-top:4px}
  .hs2-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
  .hs2-chiprow span{font-size:11px;color:#4a443e;background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.35);padding:7px 13px;border-radius:18px}
  .hs2-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
  .hs2-zone h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:20px;color:#1f1b18;border-bottom:2px solid var(--gold);display:inline-block;padding-bottom:5px;margin-bottom:12px}
  .hs2-dd{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(74,52,38,.06);padding:20px 26px;margin-top:26px}
  .hs2-dd summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6e5618}
  .hs2-dd summary::-webkit-details-marker{display:none}
  .hs2-dd summary::after{content:"+";font-size:16px;color:var(--gold);transition:transform .25s}
  .hs2-dd[open] summary::after{transform:rotate(45deg)}
  .hs2-dd .ddb{margin-top:18px;border-top:1px solid rgba(0,0,0,.07);padding-top:18px}
  .hs2-table{width:100%;border-collapse:collapse}
  .hs2-table th{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8a8378;text-align:center;padding:8px 4px;font-weight:500}
  .hs2-table td{font-size:13.5px;color:#4a443e;padding:10px 4px;border-top:.5px solid rgba(0,0,0,.08)}
  .hs2-table td.c{text-align:center;color:#8a8378}
  .hs2-center{text-align:center;max-width:720px;margin:0 auto}
  .hs2-center p{font-size:15px;line-height:1.65;color:#5e564f;margin-bottom:12px}
  .hs2-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 30px;margin-top:32px}
  .hs2-tile{border-top:2px solid var(--gold);padding-top:12px}
  .hs2-tile h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:20px;color:#1f1b18;margin-bottom:6px}
  .hs2-tile p{font-size:13px;line-height:1.55;color:#5e564f;margin:0}
  .hs2-note{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:#8a8378;text-align:center;margin-top:26px}
.hs2-after{background:#fff;border-left:3px solid var(--gold);border-radius:12px;
  box-shadow:0 10px 30px rgba(74,52,38,.07);padding:26px 32px;margin:28px auto 0;max-width:780px}
.hs2-after-lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.hs2-after p{font-size:14.5px;line-height:1.72;color:#5e564f;margin:0}
@media(max-width:700px){.hs2-after{padding:22px 22px;border-radius:10px}}
  .hs2-list{list-style:none;padding:0;margin:16px 0 0}
  .hs2-list li{padding:9px 0 9px 22px;position:relative;font-size:14px;color:#4a443e;border-bottom:.5px solid rgba(0,0,0,.07)}
  .hs2-list li::before{content:"\25CB";position:absolute;left:0;color:var(--gold);font-size:10px;top:12px}
  .hs2-list li b{color:#1f1b18;font-weight:600}
  .hs2-memb{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(74,52,38,.08);padding:40px 34px;text-align:center;margin-top:40px}
  .hs2-memb p{font-size:14.5px;line-height:1.65;color:#5e564f;max-width:620px;margin:0 auto 10px}
  .hs2-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:20px}
  .hs2-btn2{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8a6d1f;border:1px solid var(--gold);padding:13px 22px;border-radius:24px;text-decoration:none;transition:.25s;display:inline-block}
  .hs2-btn2:hover{background:var(--gold);color:#fff}
  @media(max-width:860px){.hs2-grid2,.hs2-zones,.hs2-tiles{grid-template-columns:1fr}}
  
/* ---- baseline style block 6 ---- */
    .rit-wrap{position:relative}
    .svc-grid.six{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 6px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .svc-grid.six::-webkit-scrollbar{display:none}
    .svc-grid.six .svc{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;padding:34px 30px}
    @media(max-width:1000px){.svc-grid.six .svc{flex:0 0 calc((100% - 22px)/2)}}
    .svc .sd2{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:#8a6d1f;margin-bottom:16px}
    .svc .rrule{width:34px;height:2px;background:var(--gold);margin-bottom:16px;border-radius:1px}
    .svc-grid.six p{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;flex:none}
    .svc-grid.six p.open{-webkit-line-clamp:unset;display:block}
    .svc .rmore{background:none;border:none;padding:0;margin:0 0 16px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(201,162,75,.5)}
    .svc .prod-dd{margin:0 0 16px}
    .svc .prod-dd summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8a8378}
    .svc .prod-dd summary::-webkit-details-marker{display:none}
    .svc .prod-dd summary::after{content:"+";font-size:14px;color:var(--gold);transition:transform .25s}
    .svc .prod-dd[open] summary::after{transform:rotate(45deg)}
    .svc .prod-dd .dd-body{padding-top:10px}
    .svc .chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
    .svc .chip{font-size:10.5px;line-height:1.3;color:#6b6459;background:rgba(201,162,75,.1);padding:5px 10px;border-radius:14px}
    .svc .chips-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#8a8378;margin:2px 0 8px}
    .svc .stag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:#8a8378;margin-top:auto;padding-top:6px}
    .svc .sfoot{border-top:1px solid rgba(0,0,0,.07);padding-top:16px;margin-top:14px}
    .svc .sprice-line{display:flex;gap:8px;align-items:baseline;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a8378;margin-bottom:14px}
    .svc .sprice-line b{font-family:'Cormorant Garamond',serif;font-size:23px;color:#1f1b18;font-weight:500;letter-spacing:0}
    .svc .sprice-line .sep{color:rgba(0,0,0,.25)}
    .svc-grid.six .sbook{display:block;text-align:center}
    .rit-arrow{position:absolute;top:42%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 6px 20px rgba(74,52,38,.22);border:1px solid rgba(201,162,75,.45);color:var(--gold);font-size:17px;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;transition:.25s}
    .rit-arrow:hover{background:var(--gold);color:#fff}
    .rit-prev{left:-14px}
    .rit-next{right:-14px}
    .ext-note{background:#fff;border-radius:12px;padding:22px 28px;margin-top:28px;box-shadow:0 10px 30px rgba(74,52,38,.06);text-align:center}
    .ext-note .se{margin-bottom:6px}
    .ext-note p{font-size:14.5px;color:#5e564f;margin:0}
    .pkg2 .sprices{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap;margin:0 0 14px}
    .pkg2 .spr{display:flex;align-items:baseline;gap:6px}
    .pkg2 .smin{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#8a8378}
    .pkg2 .sprice{font-family:'Cormorant Garamond',serif;font-size:25px;color:#1f1b18}
    .pkg2 .chips-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#8a8378;margin:2px 0 8px}
    .pkg2 .stag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14.5px;color:#8a8378;margin:2px 0 16px}
    .svc .sd{display:none}
    @media(max-width:560px){.svc-grid.six .svc{flex:0 0 86%}.rit-prev{left:-6px}.rit-next{right:-6px}}
  
/* ---- baseline style block 7 ---- */
  .docband{padding-top:6px}
  .doc-cards{display:flex;gap:18px;flex-wrap:wrap;max-width:1040px;margin:24px auto 0}
  .doc-card{flex:1;min-width:280px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:#fff;border:1px solid #E3D9C5;border-radius:14px;padding:22px 24px;text-decoration:none;transition:.25s;box-shadow:0 8px 26px rgba(31,27,24,.06)}
  .doc-card:hover{border-color:#C9A24B;box-shadow:0 14px 34px rgba(31,27,24,.13);transform:translateY(-2px)}
  .doc-ic{font:600 9.5px/1 'Inter',sans-serif;letter-spacing:.14em;color:#fff;background:#201913;padding:6px 10px;border-radius:6px}
  .doc-t{font-family:'Cormorant Garamond',serif;font-size:25px;color:#2B2620;margin-top:9px;line-height:1.1}
  .doc-s{font:400 12.5px/1.55 'Inter',sans-serif;color:#7C7266}
  .doc-dl{font:600 12px/1 'Inter',sans-serif;color:#B6893A;letter-spacing:.03em;margin-top:7px}
  @media(max-width:720px){.doc-cards{flex-direction:column}}
  
/* ---- baseline style block 8 ---- */
  .cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
  .cc-card{background:#fff;border-radius:12px;padding:28px;box-shadow:0 10px 30px rgba(74,52,38,.06)}
  .cc-k{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
  .cc-card h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:23px;color:#1f1b18;margin-bottom:10px}
  .cc-opt{font-size:12px;color:#8a8378;font-family:'Inter',sans-serif}
  .cc-card p{font-size:14px;line-height:1.6;color:#5e564f;margin:0}
  .rvn-card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 10px 30px rgba(74,52,38,.06);margin-top:30px}
  .rvn-card h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:26px;color:#1f1b18;margin-bottom:8px}
  .rev-badges{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
  .rev-badges span{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#6e5618;background:rgba(201,162,75,.18);padding:5px 10px;border-radius:14px}
  .rvn-card p{font-size:14.5px;line-height:1.65;color:#5e564f;margin:0}
  .rev-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0 8px}
  .rev-stat{border-left:2px solid var(--gold);padding-left:16px}
  .rv{font-family:'Cormorant Garamond',serif;font-size:40px;color:#1f1b18;line-height:1}
  .rv span{font-size:16px;color:#8a8378}
  .rl{font-size:12px;line-height:1.5;color:#8a8378;margin-top:6px}
  .rev-fine{font-size:11.5px;color:#8a8378;font-style:italic;margin-top:14px}
  .rev-flex{display:flex;gap:28px;align-items:flex-start}
  .rev-imgbox{flex:0 0 230px;background:#201913;border-radius:12px;padding:14px;display:flex;align-items:center;justify-content:center}
  .rev-imgbox img{width:100%;height:auto;border-radius:8px;display:block}
  .rev-main{flex:1;min-width:0}
  .disc{background:#fff;border-radius:12px;padding:26px 30px;box-shadow:0 10px 30px rgba(74,52,38,.06)}
  .disc summary{cursor:pointer;list-style:none}
  .disc summary::-webkit-details-marker{display:none}
  .disc-hint{font-size:11px;color:#8a8378;margin-top:8px;letter-spacing:.06em}
  .disc-body{margin-top:18px;border-top:1px solid rgba(0,0,0,.07);padding-top:6px}
  .disc-body h4{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin:18px 0 6px}
  .disc-body p{font-size:13px;line-height:1.65;color:#5e564f;margin-bottom:10px}
  @media(max-width:760px){.cc-grid,.rev-stats{grid-template-columns:1fr}.rev-flex{flex-direction:column}.rev-imgbox{flex:none;width:100%;max-width:280px}}
  
/* ---- baseline style block 9 ---- */
#fsGate{position:fixed;inset:0;background:rgba(31,27,24,.55);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
#fsGate.open{display:flex}
.fs-card{background:#FBF7F0;border-radius:16px;max-width:440px;width:100%;padding:36px 34px;box-shadow:0 30px 80px rgba(0,0,0,.35);position:relative;text-align:center}
.fs-x{position:absolute;top:14px;right:18px;background:none;border:none;font-size:22px;color:#8a8378;cursor:pointer;line-height:1}
.fs-e{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#B6893A;margin-bottom:10px}
.fs-t{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:27px;color:#1f1b18;margin-bottom:8px}
.fs-s{font-size:13.5px;line-height:1.6;color:#5e564f;margin-bottom:20px}
.fs-in{width:100%;padding:13px 16px;border:1px solid #E3D9C5;border-radius:10px;font:400 14px 'Inter',sans-serif;color:#1f1b18;background:#fff;margin-bottom:12px;box-sizing:border-box}
.fs-in:focus{outline:none;border-color:#C9A24B}
.fs-btn{width:100%;font:600 11px 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#1f1b18;background:#C9A24B;border:none;padding:15px;border-radius:24px;cursor:pointer;transition:.25s}
.fs-btn:hover{filter:brightness(1.06)}
.fs-btn:disabled{opacity:.6;cursor:default}
.fs-fine{font-size:10.5px;line-height:1.5;color:#8a8378;margin-top:12px}
.fs-ok{display:none}
#fsGate.done .fs-form{display:none}
#fsGate.done .fs-ok{display:block}
.fs-err{display:none;font-size:12px;color:#a04b2a;margin-top:8px}

/* ---- baseline style block 10 ---- */
/* footer anchors with href were falling back to browser-default blue */
.site-foot li a,.site-foot li a:link,.site-foot li a:visited{color:#bdb5a8;text-decoration:none}
.site-foot li a:hover{color:#fff}
.sf-bottom a,.sf-bottom a:link,.sf-bottom a:visited{color:#bdb5a8;text-decoration:none}
.sf-bottom a:hover{color:#fff}

/* ---- baseline style block 11 ---- */
/* ===================== MOBILE OPTIMIZATION PASS =====================
   Loaded last so it wins the cascade. Two goals:
   1. no interactive element smaller than 44px
   2. no readable text under ~11px
   ================================================================== */
@media(max-width:860px){

  /* ---------- 1. TAP TARGETS ---------- */

  /* footer link lists: full-width 44px rows */
  .site-foot li{margin-bottom:0}
  .site-foot li a{display:flex;align-items:center;min-height:44px}
  .sf-bottom a{display:inline-block;padding:12px 6px}
  .sf-bottom{line-height:1.9}

  /* home nav text links */
  .nav-contact{padding:14px 6px}
  .nav-r{gap:10px}

  /* inner-page sticky nav */
  .pgnav-brand{min-height:44px;display:inline-flex;align-items:center}
  .pgnav-burger{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .pgnav-cta,.pgnav-links a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

  /* buttons and booking links */
  .btn-pill,.hs2-btn2,.sbook,.pbook,.doc-card,.fs-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}

  /* expanders and text links */
  .rmore,.qexpand{min-height:44px;padding:12px 4px}
  .prod-dd summary,.hs2-dd summary,.disc-dd summary{min-height:44px;padding-top:12px;padding-bottom:12px}
  .rh-sub a,.visit-col a.gold,a.gold,.pg-backtop,.hs2-link{display:inline-flex;align-items:center;min-height:44px}

  /* slideshow + gallery dots: keep the dot small, grow the hit area */
  .dots{gap:16px}
  .badots{gap:14px}
  .dots i.d,.dots .ar,.badots .qdot{position:relative}
  .dots i.d::after,.badots .qdot::after{content:"";position:absolute;inset:-20px -9px}
  .dots .ar{font-size:20px}
  .dots .ar::after{content:"";position:absolute;inset:-16px -12px}

  /* ---------- 2. TYPE FLOOR ---------- */

  /* footer */
  .site-foot h5{font-size:11px!important}
  .site-foot li,.site-foot li a{font-size:14px!important}
  .sf-brand .tag{font-size:11px!important}
  .sf-tag{font-size:13px!important}
  .sf-comp p{font-size:12.5px!important}
  .sf-comp h5{font-size:10.5px!important}
  .sf-comp .tm{font-size:11.5px!important}
  .sf-bottom span,.sf-bottom a{font-size:12px!important}

  /* home */
  .playmark{font-size:10px!important}
  .hero-split .fcard .fmeta{font-size:10.5px!important;letter-spacing:.1em!important}

  /* eyebrows and small caps labels */
  .pg-eyebrow,.hs2-eyebrow,.tm-eyebrow,.visit-eyebrow,.stk-eyebrow,
  .proof-head .se,.svc .se,.pkg2 .se,.fi-eyebrow,.hs2-after-lbl,
  .chips-label,.opt-eyebrow,.fork-head .fe{font-size:11.5px!important;letter-spacing:.16em!important}

  /* chips and tags */
  .chips span,.chips span.chip,.hs2-chiprow span,.rev-badges span,
  .ba-tag,.rmc-tag,.cc-card .cc-k,.doc-card .doc-ic,.tm-creds span{font-size:11.5px!important}

  /* captions, meta, fine print */
  .hs2-cap,.hs2-fine,.hs2-table th,.spr .smin,.sprice-line span,
  .rmc-hint,.rmc-sub,.bk-step,.rmc-fda span,.stat .sl,.tm-role,
  .visit-col .k,.rc-author span,.disc-hint,.ba-note,.tm-attr,
  .disc-body h4,.rm-meta2,.rmore,.qexpand,
  .prod-dd summary,.hs2-dd summary{font-size:11.5px!important}

  /* stragglers with higher-specificity source rules */
  .svc .rmore,.pkg2 .rmore,.svc button.rmore{font-size:11.5px!important}
  .prod-dd summary,.svc .prod-dd summary{font-size:11.5px!important}
  .dd-body .chips-label,.pkg2 .chips-label{font-size:11px!important;letter-spacing:.14em!important}
  .statband .stat .sl{font-size:11.5px!important}
  .tm-creds span,.tm-frow .tm-role,.tm-fbody .tm-role,.tm-head .tm-attr{font-size:11.5px!important}
  .rmc-face .bk-step{font-size:11.5px!important}
  .sf-comp h5{font-size:11px!important}
  .hero-split .fcard .fmeta{font-size:10.5px!important;letter-spacing:.1em!important}
  .playmark{font-size:10px!important}

  /* team page: any remaining bare link rows */
  #pageteam a:not(.btn-pill):not(.pgnav-brand):not(.pgnav-cta){min-height:44px;display:inline-flex;align-items:center}

  /* inline-styled leftovers need the override */
  [style*="9px/1"]{font-size:11px!important;line-height:1.45!important}
  p[style*="font-size:10px"]{font-size:11.5px!important}
  span[style*="font-size:10px"]{font-size:11.5px!important}
  div[style*="font-size:10px"]{font-size:11.5px!important}
  [style*="font-size:9px"]{font-size:11px!important}
  [style*="font-size:10.5px"]{font-size:11.5px!important}
}

/* ===== PHONES: both path cards must be visible without scrolling ===== */
@media(max-width:860px){
  /* image absorbs any spare height so the cards hug the bottom, no dead white space */
  .hero-split .hs-top{flex:1 1 auto;height:auto;min-height:212px;padding-bottom:18px}
  .hero-split .hs-bottom{flex:0 0 auto}
  .hero-split h1{font-size:clamp(32px,8.6vw,44px);margin-bottom:10px}
  .hero-split .eye{font-size:11px;letter-spacing:.13em;margin-bottom:10px}
  .hero-split .sub{font-size:13.5px;line-height:1.45}
  .hero-split .dots{margin-top:10px}
  .hero-split .hs-bottom{padding:16px 16px 20px}
  .hero-split .fork-cards{grid-template-columns:1fr;gap:12px}

  /* card becomes a row: thumbnail left, copy right */
  .hero-split .fcard{flex-direction:row;align-items:center;border-radius:16px;
    transform:translateY(14px);box-shadow:0 8px 22px rgba(74,52,38,.12)}
  .hero-split .fcard.in{transform:none}
  .hero-split .fcard:hover{transform:none}
  .hero-split .fcard .fi{flex:0 0 96px;width:96px;height:96px;margin:12px 0 12px 12px;border-radius:12px}
  .hero-split .fcard:hover .fi{transform:none}
  .hero-split .fcard .fb{flex:1 1 auto;min-width:0;text-align:left;
    padding:12px 16px 12px 14px;justify-content:center}
  .hero-split .fcard .fn{font-size:25px;margin-bottom:4px;line-height:1.05}
  .hero-split .fcard .fdesc{font-size:13px;line-height:1.4;margin:0 0 6px;max-width:none}
  /* the spec row can't fit beside a thumbnail without truncating mid-word,
     and the description already says the same thing in prose */
  .hero-split .fcard .fmeta{display:none}
  .hero-split .fcard .fg{margin-top:0;justify-content:flex-start;font-size:13px}
}
/* very short phones: drop the spec row rather than push a card off screen */
@media(max-width:860px) and (max-height:640px){
  .hero-split .hs-top{min-height:170px}
  .hero-split .fcard .fi{flex:0 0 84px;width:84px;height:84px}
  .hero-split .fcard .fn{font-size:23px}
}

/* ===== PHONES: the 3 Root Method cards become rows that expand ===== */
@media(max-width:860px){
  .rm-cards{gap:12px}
  .rmc{perspective:none}
  .rmc-flip{display:block;width:100%;height:auto;transform:none!important;
    transition:none;transform-style:flat}
  .rmc-face{position:static;transform:none!important;border-radius:16px;text-align:left;
    backface-visibility:visible;-webkit-backface-visibility:visible}

  /* front = thumbnail left, copy right */
  .rmc-front{display:grid;grid-template-columns:84px 1fr;
    grid-template-rows:repeat(4,min-content);
    align-content:center;column-gap:14px;row-gap:3px;padding:12px 14px;min-height:108px}
  .rmc-front .rmc-pip{display:none}
  .rmc-front .rmc-imgwrap{grid-column:1;grid-row:1/span 4;width:84px;height:84px;
    aspect-ratio:auto;margin:0;align-self:center}
  .rmc-front .rmc-chip{grid-row:1}
  .rmc-front .rmc-title{grid-row:2}
  .rmc-front .rmc-sub{grid-row:3}
  .rmc-front .rmc-hint{grid-row:4}
  .rmc-front .rmc-chip,.rmc-front .rmc-title,.rmc-front .rmc-sub,.rmc-front .rmc-hint{grid-column:2}
  .rmc-front .rmc-chip{justify-self:start;align-self:start;margin:0;padding:7px 14px;
    font-size:10.5px!important;letter-spacing:.11em!important;box-shadow:none}
  .rmc-front .rmc-title{font-size:24px;margin:0;line-height:1.1}
  .rmc-front .rmc-sub{font-size:11px!important;letter-spacing:.1em!important;margin:0;min-height:0}
  /* "Flip" is the wrong verb once these expand instead of turning over */
  .rmc-front .rmc-hint{margin:0;padding-top:5px;font-size:0!important}
  .rmc-front .rmc-hint::before{content:"Tap for details";font-size:11px;letter-spacing:.14em}
  .rmc.flipped .rmc-front .rmc-hint::before{content:"Tap to close"}
  .rmc-front .rmc-hint::after{font-size:11px}

  /* back = panel that opens underneath, driven by the same .flipped toggle */
  .rmc-back{display:none;margin-top:10px;padding:20px 18px;justify-content:flex-start}
  .rmc.flipped .rmc-back{display:block}
  .rmc-back .rmc-pip{display:none}
  .rmc-back .rmc-hint{display:none}
  .rmc-back h4{text-align:left}
  .rmc-back p{text-align:left;font-size:13.5px;line-height:1.6}
}
@media(max-width:860px) and (max-height:640px){
  .rmc-front{min-height:96px;grid-template-columns:72px 1fr}
  .rmc-front .rmc-imgwrap{width:72px;height:72px;grid-row:1/span 4}
  .rmc-front .rmc-title{font-size:22px}
}


/* ===== AEO build additions (appended after the live site CSS, which is kept byte for byte above).
   Every rule here targets only markup the build changed, so the live cascade is untouched. ===== */

/* Links that were href-less <a>, a <div> (home path cards) or a <span> (Back to paths) on the live
   site are now real <a href> links. Neutralize the browser link color and underline so they look
   exactly as before. Other link types already set their own color and decoration. */
a.fcard{color:inherit;text-decoration:none}
a.pg-backtop{text-decoration:none}

/* One h1 per page: the descriptive eyebrow now sits inside the h1 but keeps its original look.
   Each property below is one the eyebrow used to inherit from its old parent. */
.hero h1 .eye{display:block;font-family:'Inter',sans-serif;line-height:normal;text-shadow:none}
#pageteam .tm-h1 .tm-eyebrow{display:block;font-family:'Inter',sans-serif;line-height:normal;margin-bottom:10px}

/* Contextual text links (use the live site's existing .hs2-link style). The text is a darker bronze than the live
   .hs2-link so these new small links reach 4.5:1 on the blush sections (Q117); live links keep their color. */
.ctx-links{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:16px}
.ctx-links a.hs2-link{color:#6f5716}
.ctx-links.ctx-center{justify-content:center}

/* Home: "at a glance" strip below the two paths. */
.glance{background:linear-gradient(180deg,#f7efe5 0%,#fbf6ef 100%);border-top:.5px solid rgba(201,162,75,.28);
  padding:clamp(40px,6vw,72px) clamp(20px,4vw,48px) clamp(44px,6vw,76px)}
.glance-inner{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(26px,4vw,60px);align-items:start}
.glance-eyebrow{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.glance h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(28px,3.3vw,40px);line-height:1.12;color:#1d1a16;margin-top:12px}
.glance-p{font-size:15px;line-height:1.72;color:#5f574f;margin-top:14px;max-width:46ch}
.glance-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin:0}
.glance-facts>div{border-top:1px solid rgba(201,162,75,.45);padding-top:11px}
.glance-facts dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#7a6640;font-weight:500}
.glance-facts dd{margin:5px 0 0;font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.3;color:#1d1a16}
.glance-facts dd a{color:#7a5f17;text-decoration:underline;text-decoration-color:rgba(201,162,75,.65);text-underline-offset:3px}
.glance-facts dd a:hover{color:#1d1a16}
.glance-facts dd a:focus-visible{outline:2px solid #8a6d1f;outline-offset:2px;border-radius:2px}
.glance-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 28px;border-top:.5px solid rgba(201,162,75,.3);padding-top:8px}
.glance-links a{display:inline-flex;align-items:center;min-height:44px;color:#7a5f17;font-size:14px;font-weight:500;
  text-decoration:none;letter-spacing:.01em}
.glance-links a::after{content:"\203A";margin-left:7px;font-size:17px;line-height:1;transition:transform .3s ease}
.glance-links a:hover{color:var(--gold)}
.glance-links a:hover::after{transform:translateX(3px)}
.glance-links a:focus-visible{outline:2px solid #8a6d1f;outline-offset:3px;border-radius:3px}
@media(max-width:860px){
  .glance-inner{grid-template-columns:1fr}
  .glance-eyebrow{font-size:11.5px;letter-spacing:.16em}
  .glance-facts dt{font-size:11.5px;letter-spacing:.14em}
}
@media(max-width:420px){.glance-facts{grid-template-columns:1fr}}

/* /financing/ header (Q119). The live financing screen reuses the About page header classes (.tm-*), but the live
   rules are scoped to #pageteam, so on the live site the eyebrow, h1 and intro line render unstyled, flush left and
   under the fixed nav. Same header styles as the About page, for #pagefin only. Deliberate visual fix versus the live
   site (listed in build/CHANGELOG.md). */
#pagefin .tm-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
#pagefin .tm-head{text-align:center;padding:clamp(96px,12vw,140px) 0 0}
#pagefin .tm-rule{width:0;height:1.5px;background:linear-gradient(90deg,var(--gold),var(--goldb));margin:0 auto;animation:tmdraw 1s cubic-bezier(.22,.61,.36,1) .2s forwards}
#pagefin .tm-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze,#8a6d1f);font-weight:600}
#pagefin .tm-head .tm-eyebrow{margin-top:18px}
#pagefin .tm-h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(40px,6vw,74px);line-height:1.02;letter-spacing:.01em;margin:10px auto 0;color:var(--ink)}
#pagefin .tm-h1 em{color:var(--gold);font-style:italic}
#pagefin .tm-hquote{margin:18px auto 0;max-width:46ch;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(17px,2vw,22px);line-height:1.5;color:#4a433b}

/* About, Visit Us: arrivals at /about/#visit (the old /#location links) stop below the fixed nav on phones (Q120). */
#visit{scroll-margin-top:72px}

/* Hair Lab price line (shown only with publish_root_method_price and hair_lab_page_price): darker than the live
   .rm-meta2 bronze above it so the new small text reaches 4.5:1 (Q117). */
.rm-meta2.rm-price{color:#6f5716}

/* About, Visit Us heading: the build puts a plain space between "Lakeway" and <em>Texas</em> so extracted text reads
   "Lakeway Texas" (Q121). The live heading shows the two words glued, so a flex row (the space at the end of the first
   item is not rendered) keeps it looking exactly as before. */
#visit h2{display:flex;flex-wrap:wrap;align-items:baseline}
