:root{
  --porcelain:#FBF5F2;
  --blush:#F3E5DF;
  --champagne:#E8CFC1;
  --rose:#B9826B;
  --rose-deep:#8A5645;
  --mauve:#6F5154;
  --mauve-deep:#5A4043;
  --ink:#3B2A2D;
  --ink-soft:#6B5658;
  --line:rgba(138,86,69,.25);
  --gold:linear-gradient(120deg,#EBC9B4 0%,#B67A61 32%,#F2D6C6 55%,#A2684F 78%,#E2B9A2 100%);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",system-ui,sans-serif;
  --script:"Pinyon Script",cursive;
  --wrap:1180px;
  --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--porcelain);color:var(--ink);font:300 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
h3{font-size:1.6rem}
.script{font-family:var(--script);font-weight:400;color:var(--rose-deep);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2}
.lede{color:var(--ink-soft);max-width:34em}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.7em;border-radius:999px;border:1px solid transparent;font-weight:400;font-size:.98rem;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .2s}
.btn-gold,.nav ul a.btn-gold{background:var(--gold);background-size:200% 100%;color:var(--ink-soft);text-shadow:0 1px 1px rgba(90,50,40,.35);box-shadow:0 10px 24px -12px rgba(138,86,69,.7)}
.btn-gold:hover{background-position:100% 0;transform:translateY(-1px)}
.btn-line{border-color:var(--rose);color:var(--rose-deep)}
.btn-line:hover{background:var(--blush)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(251,245,242,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-color:var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand svg{width:42px;height:42px}
.brand span{font-family:var(--serif);font-size:1.35rem;letter-spacing:.22em;color:var(--rose-deep)}
.nav ul{display:flex;gap:2rem;list-style:none;align-items:center}
.nav ul a{text-decoration:none;font-size:.95rem;color:var(--ink-soft);transition:color .2s}
.nav ul a:hover{color:var(--rose-deep)}
.nav .btn{padding:.65em 1.3em}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.menu-btn i{display:block;width:22px;height:1px;background:var(--ink);margin:6px auto;transition:transform .3s}

/* hero */
.hero{position:relative;padding:clamp(40px,7vw,90px) 0 clamp(60px,8vw,110px);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,6vw,80px);align-items:center}
.hero h1{font-size:clamp(2.8rem,6.4vw,5.4rem);margin:.25em 0 .4em}
.hero .lede{font-size:1.1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:2.2rem 0 2.6rem}
.facts{display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem;list-style:none;font-size:.93rem;color:var(--ink-soft)}
.facts li{display:flex;align-items:center;gap:.55rem}
.facts svg{width:14px;height:14px;flex:none}
.leaf{position:absolute;right:-20px;bottom:-30px;width:200px;opacity:.5;pointer-events:none}

.arch{position:relative;justify-self:center;width:min(100%,440px)}
.arch-rim{padding:5px;border-radius:240px 240px 18px 18px;background:var(--gold);box-shadow:0 40px 80px -40px rgba(111,81,84,.55)}
.arch-photo{border-radius:235px 235px 14px 14px;overflow:hidden;aspect-ratio:4/5;background:#cbb6b2}
.arch-photo img{width:100%;height:100%;object-fit:cover;object-position:71% 0;transform:scale(1.18);transform-origin:68% 20%}
.sparkle{position:absolute;width:26px;height:26px;fill:var(--rose)}
.sparkle.s1{top:8%;right:-6%}
.sparkle.s2{bottom:18%;left:-9%;width:18px;height:18px}
.arch-note{position:absolute;left:-12%;bottom:9%;background:var(--porcelain);border:1px solid var(--line);padding:.85rem 1.2rem;border-radius:14px;font-size:.88rem;line-height:1.4;box-shadow:0 18px 40px -24px rgba(59,42,45,.5)}
.arch-note strong{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--rose-deep)}

@media (prefers-reduced-motion:no-preference){
  .arch-rim{animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both}
  .arch-photo img{animation:settle 2s cubic-bezier(.2,.7,.2,1) both}
  .arch-note{animation:fade 1s .9s both}
  .sparkle{animation:fade 1s 1.2s both}
  @keyframes rise{from{clip-path:inset(100% 0 0 0 round 240px 240px 18px 18px)}to{clip-path:inset(0 0 0 0 round 240px 240px 18px 18px)}}
  @keyframes settle{from{transform:scale(1.32)}to{transform:scale(1.18)}}
  @keyframes fade{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
}

/* section shared */
section{padding:clamp(70px,10vw,130px) 0}
.head{max-width:640px;margin-bottom:clamp(36px,5vw,60px)}
.head p{margin-top:1rem}
.rule{display:flex;align-items:center;gap:.8rem;margin:1.4rem 0 0;color:var(--rose)}
.rule::before,.rule::after{content:"";height:1px;width:56px;background:currentColor;opacity:.6}
.rule svg{width:12px;height:12px;fill:currentColor}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);list-style:none;counter-reset:s}
.steps li{position:relative;padding-top:1.4rem;border-top:1px solid var(--line)}
.steps .n{font-family:var(--serif);font-style:italic;font-size:3.2rem;line-height:1;color:var(--rose);display:block;margin-bottom:.8rem}
.steps h3{margin-bottom:.6rem}
.steps p{color:var(--ink-soft)}

/* planner */
.planner{background:var(--mauve);color:#F7EBE6;position:relative;overflow:hidden}
.planner::before{content:"";position:absolute;inset:auto -20% -60% auto;width:70vw;height:70vw;border-radius:50%;border:1px solid rgba(232,207,193,.18)}
.planner .script{color:var(--champagne)}
.planner .lede{color:#DCC8C3}
.planner-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start;position:relative}
.figure-card{background:rgba(255,255,255,.04);border:1px solid rgba(232,207,193,.2);border-radius:28px;padding:1.4rem 1.4rem 1.6rem}
.view-toggle{display:inline-flex;background:rgba(0,0,0,.18);border-radius:999px;padding:4px}
.view-toggle button{background:none;border:0;padding:.5em 1.3em;border-radius:999px;cursor:pointer;color:#DCC8C3;font-size:.92rem;transition:background .25s,color .25s}
.view-toggle button[aria-pressed="true"]{background:var(--champagne);color:var(--mauve-deep)}
.body-wrap{position:relative;max-width:340px;margin:.6rem auto 0}
.body{width:100%;height:auto;overflow:visible}
.body .outline{fill:none;stroke:var(--champagne);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.body .detail{fill:none;stroke:var(--champagne);stroke-width:.8;opacity:.4;stroke-linecap:round}
.body .fill{fill:rgba(232,207,193,.06)}
.spot{cursor:pointer;outline:none}
.spot .hit{fill:transparent}
.spot .ring{fill:none;stroke:var(--champagne);stroke-width:1;opacity:.7;transform-box:fill-box;transform-origin:center}
.spot .dot{fill:var(--champagne);transition:fill .2s,r .2s}
.spot:hover .dot,.spot:focus-visible .dot{fill:#fff}
.spot:focus-visible .ring{stroke:#fff;stroke-width:2;opacity:1}
.spot.on .dot{fill:#F2C8B3}
.spot.on .ring{stroke:#F2C8B3;opacity:1;stroke-width:1.6}
@media (prefers-reduced-motion:no-preference){
  .spot:not(.on) .ring{animation:breathe 2.8s ease-in-out infinite}
  @keyframes breathe{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.35);opacity:.15}}
}
.caption{text-align:center;min-height:1.7em;font-family:var(--serif);font-size:1.25rem;color:var(--champagne);margin-top:.4rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}
.chip{border:1px solid rgba(232,207,193,.35);background:none;border-radius:999px;padding:.4em 1em;font-size:.87rem;cursor:pointer;color:#EBDAD4;transition:background .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--champagne)}
.chip[aria-pressed="true"]{background:var(--champagne);border-color:var(--champagne);color:var(--mauve-deep)}

.plan{background:var(--porcelain);color:var(--ink);border-radius:28px;padding:clamp(1.5rem,3vw,2.4rem);position:sticky;top:100px;box-shadow:0 30px 70px -40px rgba(0,0,0,.6)}
.plan h3{font-size:1.9rem}
.plan-list{list-style:none;margin:1.2rem 0;min-height:120px}
.plan-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.plan-list .price{font-family:var(--serif);font-size:1.2rem;margin-left:auto;color:var(--rose-deep)}
.plan-list button{background:none;border:0;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--ink-soft);font-size:1.2rem;line-height:1}
.plan-list button:hover{background:var(--blush);color:var(--rose-deep)}
.empty{color:var(--ink-soft);padding:1.4rem 0;border-bottom:1px solid var(--line)}
.totals{display:grid;gap:.5rem;margin:1.2rem 0 1.6rem}
.totals div{display:flex;justify-content:space-between;align-items:baseline}
.totals dt{color:var(--ink-soft)}
.totals dd{font-family:var(--serif);font-size:1.35rem}
.totals .big dd{font-size:2.4rem;font-weight:500;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.totals .save dd{font-size:1.05rem;color:var(--rose-deep);font-family:var(--sans)}
.fine{font-size:.82rem;color:var(--ink-soft);margin-top:1rem;line-height:1.5}
.plan .btn{width:100%;justify-content:center}
.plan .btn[disabled]{opacity:.45;pointer-events:none}

/* suitability */
.suit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.q{margin-bottom:2rem}
.q legend{font-family:var(--serif);font-size:1.45rem;margin-bottom:.9rem}
fieldset{border:0}
.swatches{display:flex;flex-wrap:wrap;gap:.7rem}
.sw{position:relative}
.sw input{position:absolute;opacity:0;inset:0;cursor:pointer}
.sw label{display:flex;flex-direction:column;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-soft);cursor:pointer;width:78px;text-align:center;line-height:1.3}
.sw .c{width:48px;height:48px;border-radius:50%;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 -6px 12px rgba(0,0,0,.08);transition:box-shadow .2s,transform .2s}
.sw input:checked + label .c{box-shadow:0 0 0 3px var(--porcelain),0 0 0 5px var(--rose);transform:scale(1.05)}
.sw input:checked + label{color:var(--ink)}
.sw input:focus-visible + label .c{outline:2px solid var(--rose-deep);outline-offset:6px}
.result{background:var(--blush);border-radius:28px;padding:clamp(1.6rem,3vw,2.6rem);min-height:280px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.result .meter{display:flex;gap:6px;margin:1rem 0 1.2rem}
.result .meter i{height:4px;flex:1;border-radius:4px;background:rgba(138,86,69,.18);transition:background .4s}
.result .meter i.on{background:var(--rose)}
.result h3{font-size:2rem;margin-bottom:.4rem}
.result p{color:var(--ink-soft)}
.result .btn{align-self:flex-start;margin-top:1.4rem}

/* care tabs */
.care{background:var(--blush)}
.tabs{display:flex;gap:2rem;border-bottom:1px solid var(--line);margin-bottom:2rem}
.tabs button{background:none;border:0;padding:.6rem 0;font-family:var(--serif);font-size:1.6rem;color:var(--ink-soft);cursor:pointer;position:relative}
.tabs button[aria-selected="true"]{color:var(--ink)}
.tabs button[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold)}
.care-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem 3rem;max-width:960px}
.care-list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.care-list svg{width:20px;height:20px;margin-top:.3rem;stroke:var(--rose);fill:none;stroke-width:1.4}
.care-list strong{font-weight:500;display:block}
.care-list span{color:var(--ink-soft)}
[role="tabpanel"][hidden]{display:none}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px)}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:1.3rem 0;display:flex;justify-content:space-between;gap:1rem;font-family:var(--serif);font-size:1.4rem;line-height:1.3}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;position:relative;margin-top:.15rem}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:var(--rose-deep);translate:-50% -50%;transition:rotate .3s}
summary .pm::after{rotate:90deg}
details[open] summary .pm::after{rotate:0deg}
details p{color:var(--ink-soft);padding:0 2.5rem 1.4rem 0;max-width:38em}

/* book */
.book{background:var(--mauve-deep);color:#F7EBE6}
.book .script{color:var(--champagne)}
.book-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:start}
.contact-list{list-style:none;margin-top:2rem}
.contact-list li{border-bottom:1px solid rgba(232,207,193,.22)}
.contact-list a,.contact-list div{display:flex;align-items:center;gap:1.1rem;padding:1rem 0;text-decoration:none;font-size:1.05rem}
.contact-list a:hover{color:var(--champagne)}
.ico{width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--gold);padding:1.5px}
.ico span{width:100%;height:100%;border-radius:50%;background:var(--mauve-deep);display:grid;place-items:center}
.ico svg{width:19px;height:19px;stroke:var(--champagne);fill:none;stroke-width:1.5}
form{background:var(--porcelain);color:var(--ink);border-radius:28px;padding:clamp(1.5rem,3.5vw,2.8rem);display:grid;gap:1.1rem}
form h3{font-size:1.9rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.35rem}
.field label{font-size:.88rem;color:var(--ink-soft)}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.8em 1em;font-weight:300;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rose)}
.field textarea{min-height:110px;resize:vertical}
.err{font-size:.82rem;color:#A3443A;min-height:1em}
form .btn{justify-content:center}

footer{background:var(--mauve-deep);color:#CDB7B2;border-top:1px solid rgba(232,207,193,.15);padding:2.2rem 0;font-size:.88rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}

/* responsive */
@media (max-width:960px){
  .nav ul{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;background:var(--porcelain);padding:1rem var(--gutter) 1.6rem;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;visibility:hidden;transition:.25s}
  .nav ul li{width:100%}
  .nav ul a{display:block;padding:.8rem 0;font-size:1.05rem}
  .nav ul .btn{margin-top:.6rem;display:inline-flex}
  .nav.open ul{transform:none;opacity:1;visibility:visible}
  .menu-btn{display:block}
  .nav.open .menu-btn i:first-child{transform:translateY(3.5px) rotate(45deg)}
  .nav.open .menu-btn i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .hero .wrap,.planner-grid,.suit-grid,.faq-grid,.book-grid{grid-template-columns:1fr}
  .arch{width:min(86%,380px);order:-1}
  .plan{position:static}
  .leaf{display:none}
}
@media (max-width:720px){
  .steps{grid-template-columns:1fr}
  .care-list{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .arch-note{left:-4%}
  .brand span{font-size:1.1rem;letter-spacing:.16em}
  .leaf{display:none}
}

/* ===== scrolling luxury layer ===== */
.nav{position:fixed;left:0;right:0;top:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s}
.nav .brand span,.nav ul a:not(.btn){color:#fff;transition:color .35s}
.nav .menu-btn i{background:#fff}
.nav.solid{background:rgba(251,245,242,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--line)}
.nav.solid .brand span{color:var(--rose-deep)}
.nav.solid ul a:not(.btn){color:var(--ink-soft)}
.nav.solid .menu-btn i{background:var(--ink)}
.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.14)}

.stage-hero{position:relative;height:100svh;min-height:620px;overflow:hidden;color:#fff;display:flex;align-items:center;padding:0}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:0;transform:scale(1.08);transition:opacity 1.6s ease,transform 9s ease-out}
.slide.on{opacity:1;transform:scale(1)}
.stage-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(58,36,40,.86) 0%,rgba(74,48,52,.6) 38%,rgba(74,48,52,.08) 70%),linear-gradient(0deg,rgba(40,25,28,.45),transparent 30%);pointer-events:none}
.stage-copy{position:relative;z-index:3;width:100%}
.stage-copy > *{max-width:min(36vw,560px)}
.stage-copy .script{color:#F3D3C2}
.stage-copy h1{font-size:clamp(2.4rem,3.9vw,4rem);margin:.2em 0 .45em;color:#fff}
.stage-copy .lede{color:#F1E3DD;font-size:1.12rem}
.dots{position:absolute;z-index:3;left:50%;bottom:34px;translate:-50% 0;display:flex;gap:10px}
.dots button{width:10px;height:10px;border-radius:50%;border:1px solid #fff;background:transparent;cursor:pointer;padding:0;transition:background .3s,width .3s}
.dots button[aria-selected="true"]{background:#fff;width:28px;border-radius:6px}
.scroll-cue{position:absolute;z-index:3;right:clamp(16px,4vw,40px);bottom:28px;width:28px;height:46px;border:1.5px solid rgba(255,255,255,.8);border-radius:16px}
.scroll-cue span{position:absolute;left:50%;top:9px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff}

.floaters{position:absolute;inset:0;z-index:2;pointer-events:none}
.fl{position:absolute;will-change:transform}
.ribbon{width:min(52vw,760px);right:-6vw;bottom:2%;opacity:.8;filter:drop-shadow(0 12px 18px rgba(60,30,30,.35))}
.spark{fill:url(#rg);filter:drop-shadow(0 0 10px rgba(255,220,200,.8))}
.spark use{fill:#F3D3C2}
.s-a{width:34px;height:34px;right:8%;top:18%}
.s-b{width:20px;height:20px;right:9%;top:46%}
.s-c{width:26px;height:26px;right:41%;bottom:20%}
.s-d{width:16px;height:16px;right:44%;top:14%}
.petal{width:46px;height:28px;border-radius:60% 40% 60% 40%/70% 50% 50% 30%;background:linear-gradient(135deg,#F7D9CB,#D9A08A);box-shadow:inset -4px -6px 10px rgba(150,80,60,.35),0 10px 18px rgba(60,30,30,.3)}
.p-a{right:4%;top:30%;rotate:-25deg}
.p-b{right:47%;bottom:9%;width:34px;height:22px;rotate:30deg}
.p-c{right:2%;bottom:30%;width:56px;height:34px;rotate:10deg}
.orb{border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,rgba(243,211,194,.6) 40%,rgba(185,130,107,.15) 70%,transparent);filter:blur(.3px)}
.o-a{width:120px;height:120px;right:-30px;top:52%;opacity:.5}
.o-b{width:60px;height:60px;right:44%;top:12%;opacity:.6}
@media (prefers-reduced-motion:no-preference){
  .spark{animation:twinkle 4s ease-in-out infinite}
  .s-b{animation-delay:1.2s}.s-c{animation-delay:2.1s}.s-d{animation-delay:.6s}
  .petal,.orb{animation:bob 7s ease-in-out infinite}
  .p-b{animation-delay:-2s}.p-c{animation-delay:-4s}.o-b{animation-delay:-3s}
  @keyframes twinkle{0%,100%{opacity:1;scale:1}50%{opacity:.45;scale:.75}}
  @keyframes bob{0%,100%{translate:0 0}50%{translate:0 -14px}}
}

/* interactive treatment screen */
.board-sec{position:relative;color:#F7EBE6;background:radial-gradient(ellipse at 25% 40%,#B89C8E 0%,#8E6F6A 45%,#5E4245 100%);overflow:hidden}
.board-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,235,225,.18),transparent 45%)}
.board-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:clamp(30px,5vw,70px);align-items:center;margin-top:clamp(30px,4vw,50px)}
.board-copy{position:relative;max-width:720px}
.board-photo{margin:0;justify-self:center;width:min(100%,480px);aspect-ratio:960/1620;border-radius:260px 260px 26px 26px;padding:5px;background:var(--gold);box-shadow:0 40px 80px -36px rgba(30,15,18,.75)}
.board-photo img{width:100%;height:100%;object-fit:cover;border-radius:255px 255px 22px 22px;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.board-photo:hover img{transform:scale(1.03)}
.board-copy .script{color:#F3D3C2}
.board-copy .lede{color:#E6D3CE;margin-top:1rem}
.board-copy .facts{margin-top:1.8rem;color:#E6D3CE}
.holo{--ice:#CFE9FF;--hl:rgba(200,232,255,.55);position:relative;border-radius:34px;padding:22px 18px 18px;color:#fff;font-family:Montserrat,var(--sans);
  border:2px solid rgba(215,238,255,.85);background:linear-gradient(165deg,rgba(255,255,255,.2),rgba(150,190,230,.08) 45%,rgba(40,70,110,.22));
  backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);
  box-shadow:0 0 40px rgba(140,203,255,.45),inset 0 0 40px rgba(140,203,255,.3)}
.holo-head{text-align:center;margin-bottom:14px;display:grid;gap:4px}
.holo-mono{font-family:var(--serif);font-size:30px;line-height:1;color:#F3D3C2;letter-spacing:-4px;text-shadow:0 0 12px rgba(243,200,180,.6)}
.holo-mono span{position:relative;top:6px}
.holo-head strong{font-weight:500;font-size:clamp(15px,1.5vw,19px);letter-spacing:.24em;text-shadow:0 0 14px rgba(140,203,255,.9);margin-top:6px}
.holo-head small{font-weight:300;font-size:12px;letter-spacing:.12em;color:var(--ice)}
.holo-card{display:flex;align-items:center;gap:14px;padding:9px;margin-top:9px;border-radius:18px;text-decoration:none;color:#fff;
  background:rgba(18,32,52,.38);border:1.5px solid var(--hl);box-shadow:inset 0 0 16px rgba(140,203,255,.15);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s,background .35s}
.holo-card .ph{flex:none;width:46%;aspect-ratio:3/2;border-radius:12px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.45);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;transform-origin:center}
.holo-card .ph-fig{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,rgba(140,203,255,.3),rgba(10,25,45,.45) 70%)}
.ph-fig svg{height:86%;width:auto}
.holo-card .tx{display:grid;gap:3px;min-width:0;transition:translate .45s cubic-bezier(.2,.7,.2,1)}
.holo-card:hover .tx,.holo-card:focus-visible .tx{translate:12px 0}
.holo-card b{font-weight:600;font-size:15px;letter-spacing:.18em;text-shadow:0 0 10px rgba(140,203,255,.8)}
.holo-card em{font-style:normal;font-weight:300;font-size:12px;line-height:1.35;color:var(--ice)}
.holo-card i{font-style:normal;justify-self:start;margin-top:5px;font-weight:600;font-size:10px;letter-spacing:.2em;padding:5px 12px;border-radius:20px;border:1.5px solid var(--hl);transition:background .3s,color .3s}
.holo-card:hover,.holo-card:focus-visible{transform:scale(1.035);border-color:#fff;background:rgba(40,80,130,.42);box-shadow:0 0 30px rgba(140,203,255,.75),inset 0 0 24px rgba(140,203,255,.3);outline:none;z-index:2;position:relative}
.holo-card:hover .ph,.holo-card:focus-visible .ph{transform:scale(1.14);box-shadow:0 14px 30px rgba(0,0,0,.45)}
.holo-card:hover i,.holo-card:focus-visible i{background:rgba(160,215,255,.95);color:#0E2740;border-color:#fff}
.holo-nav{display:flex;justify-content:space-around;margin-top:16px}
.holo-nav a{display:grid;justify-items:center;gap:6px;font-size:11px;letter-spacing:.06em;color:var(--ice);text-decoration:none}
.holo-nav span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(225,242,255,.8);
  background:radial-gradient(circle,rgba(140,203,255,.28),rgba(18,32,52,.3));box-shadow:0 0 14px rgba(140,203,255,.5);transition:transform .3s,box-shadow .3s}
.holo-nav a:hover span{transform:scale(1.12);box-shadow:0 0 22px rgba(140,203,255,.9)}
.holo-nav svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.fb{fill:rgba(200,232,255,.12);stroke:rgba(225,242,255,.95);stroke-width:2.4;stroke-linejoin:round}
.fz{fill:#FF9EC4;opacity:.85}

/* picture gallery */
.gallery{background:var(--porcelain)}
.g-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,22px)}
.g-card{position:relative;display:block;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:3/4.4;background:var(--mauve);
  box-shadow:0 20px 40px -28px rgba(59,42,45,.7);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.g-card figure{position:absolute;inset:0;margin:0}
.g-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.g-fig{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#8E6A6D,#5A4043 75%)}
.g-fig svg{height:78%;width:auto}
.g-fig .fb{fill:rgba(255,235,228,.12);stroke:#F3D3C2}
.g-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(45,28,31,.85) 0%,rgba(45,28,31,.25) 45%,transparent 70%);transition:opacity .5s}
.g-cap{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:clamp(14px,1.6vw,22px)}
.g-cap h3{font-size:clamp(1.5rem,2.2vw,2rem);color:#fff}
.g-cap p{font-size:.88rem;line-height:1.4;color:#EAD9D3;margin-top:.3rem}
.g-cap .more{display:inline-flex;align-items:center;gap:.5em;margin-top:.8rem;font-size:.85rem;letter-spacing:.04em;color:#F3D3C2;opacity:0;translate:0 8px;transition:opacity .4s,translate .4s}
.g-cap .more::after{content:"";width:18px;height:1px;background:currentColor;transition:width .4s}
.g-card:hover,.g-card:focus-visible{transform:scale(1.045);box-shadow:0 34px 60px -26px rgba(59,42,45,.85);z-index:2;outline:none}
.g-card:hover img,.g-card:focus-visible img{transform:scale(1.14)}
.g-card:hover .more,.g-card:focus-visible .more{opacity:1;translate:0 0}
.g-card:hover .more::after{width:34px}
.g-card:focus-visible{box-shadow:0 0 0 3px var(--porcelain),0 0 0 5px var(--rose-deep)}

/* scroll reveal */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;translate:0 40px;transition:opacity 1s cubic-bezier(.2,.7,.2,1),translate 1s cubic-bezier(.2,.7,.2,1)}
  .js [data-reveal].in{opacity:1;translate:0 0}
  .js .g-card[data-reveal]{transition:opacity 1s cubic-bezier(.2,.7,.2,1) var(--d,0ms),translate 1s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
}
@media (prefers-reduced-motion:reduce){.slide{transition:opacity .6s}}

@media (max-width:960px){
  .nav ul a:not(.btn){color:var(--ink-soft)}
  .board-grid{grid-template-columns:1fr}
  .holo{max-width:460px;width:100%;justify-self:center}
  .g-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(64vw,280px);overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 24px;margin:0 -4px}
  .g-card{scroll-snap-align:start}
  .g-card .more{opacity:1;translate:0 0}
  .ribbon{width:70vw;top:6%;opacity:.6}
  .stage-hero::after{background:linear-gradient(0deg,rgba(58,36,40,.94) 0%,rgba(58,36,40,.86) 55%,rgba(58,36,40,.7) 74%,rgba(58,36,40,.2) 94%)}
  .stage-copy{align-self:flex-end;padding-bottom:76px}
  .stage-copy > *{max-width:none}
  .stage-copy .script,.stage-copy h1,.stage-copy .lede{text-shadow:0 2px 14px rgba(40,22,26,.75)}
  .stage-hero .petal,.stage-hero .orb,.s-b,.s-c{display:none}
}
@media (max-width:600px){
  .stage-copy h1{font-size:2.05rem}
  .stage-copy .lede{font-size:1rem;line-height:1.6}
  .stage-copy .hero-actions{margin-top:1.4rem}
}

/* ===== treatment pages ===== */
.t-page main{padding-top:76px}
.t-hero{padding:clamp(40px,6vw,80px) 0 clamp(50px,7vw,90px);background:linear-gradient(180deg,var(--blush),var(--porcelain))}
.t-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,80px);align-items:center}
.crumbs{font-size:.9rem;color:var(--ink-soft);margin-bottom:1.2rem}
.crumbs a{color:var(--rose-deep);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.t-hero h1{font-size:clamp(2.6rem,5.4vw,4.6rem);margin:.15em 0 .4em}
.from{margin-top:1.4rem;color:var(--ink-soft)}
.from strong{font-family:var(--serif);font-weight:500;font-size:2rem;color:var(--rose-deep);margin:0 .15em}
.t-hero .hero-actions{margin:1.6rem 0 0}
.t-media{justify-self:center;width:min(100%,440px);aspect-ratio:3/4;border-radius:240px 240px 24px 24px;overflow:hidden;padding:5px;background:var(--gold);box-shadow:0 40px 80px -40px rgba(111,81,84,.6)}
.t-media img,.t-media .t-fig{width:100%;height:100%;object-fit:cover;border-radius:235px 235px 20px 20px;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.t-media:hover img,.t-media:hover .t-fig{transform:scale(1.07)}
.t-fig{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#8E6A6D,#5A4043 75%)}
.t-fig svg{height:80%;width:auto}
.t-fig .fb{fill:rgba(255,235,228,.12);stroke:#F3D3C2}
.t-facts{padding:0;margin-top:-30px;position:relative;z-index:2}
.t-fact-row{display:grid;grid-template-columns:repeat(3,1fr);background:var(--mauve);color:#F7EBE6;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(59,42,45,.7)}
.t-fact-row div{padding:1.6rem clamp(1rem,3vw,2.2rem);border-left:1px solid rgba(232,207,193,.18)}
.t-fact-row div:first-child{border-left:0}
.t-fact-row dt{font-size:.88rem;color:#DCC8C3}
.t-fact-row dd{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.9rem);margin-top:.2rem}
.t-two{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:start}
.t-table{width:100%;border-collapse:collapse;font-size:1.02rem}
.t-table th,.t-table td{text-align:left;padding:1.05rem .6rem;border-bottom:1px solid var(--line)}
.t-table thead th{font-weight:400;font-size:.88rem;color:var(--ink-soft)}
.t-table tbody th{font-weight:400}
.t-table td{font-family:var(--serif);font-size:1.3rem;color:var(--rose-deep);white-space:nowrap}
.t-table tbody tr{transition:background .3s}
.t-table tbody tr:hover{background:var(--blush)}
.t-notes{background:var(--blush)}
.t-notes .btn{margin-top:1.6rem}
.t-list{list-style:none;display:grid;gap:1.1rem}
.t-list li{position:relative;padding:1.2rem 1.4rem 1.2rem 3.2rem;background:var(--porcelain);border-radius:18px;color:var(--ink)}
.t-list li::before{content:"";position:absolute;left:1.3rem;top:1.55rem;width:12px;height:12px;background:var(--rose);clip-path:path("M6 0c.3 3.2 2.8 5.7 6 6-3.2.3-5.7 2.8-6 6-.3-3.2-2.8-5.7-6-6C3.2 5.7 5.7 3.2 6 0z")}
.t-cta{background:var(--mauve-deep) url(hero-portrait-wide.jpg) 75% 40%/cover;position:relative;text-align:center;color:#fff}
.t-cta::before{content:"";position:absolute;inset:0;background:rgba(58,36,40,.82)}
.t-cta .wrap{position:relative}
.t-cta .script{color:#F3D3C2}
.t-cta .hero-actions{justify-content:center;margin:2rem 0 0}
.g-four{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){
  .t-hero-grid,.t-two{grid-template-columns:1fr}
  .t-media{order:-1;width:min(80%,360px)}
  .g-four{grid-template-columns:none}
}
@media (max-width:600px){
  .t-fact-row{grid-template-columns:1fr}
  .t-fact-row div{border-left:0;border-top:1px solid rgba(232,207,193,.18)}
  .t-fact-row div:first-child{border-top:0}
}

@media (min-width:961px){.stage-copy .script{max-width:none;white-space:nowrap}}
@media (min-width:961px){.stage-copy .script br{display:none}}

/* ===== single board in her hands, salon backdrop ===== */
.board-sec{background:#3E2A2D}
.board-sec::before{content:"";position:absolute;inset:-20px;background:url(salon-right.jpg) center 35%/cover;filter:blur(6px) brightness(.55) saturate(.9)}
.board-sec::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,36,40,.55),rgba(58,36,40,.15) 35%,rgba(58,36,40,.55))}
.board-sec .wrap{position:relative;z-index:1}
.board-copy{text-align:center;margin:0 auto}
.board-copy .facts{justify-content:center}
.stage{position:relative;width:min(100%,900px);margin:clamp(24px,4vw,44px) auto 0;container-type:inline-size}
.stage-img{width:100%;height:auto;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%);
  mask-composite:intersect}
.holo-wide{--ice:#D6EDFF;--hl:rgba(205,235,255,.6);position:absolute;left:3.78%;width:92.45%;top:53%;height:34.33%;
  display:grid;grid-template-rows:auto 1fr auto;gap:2.2cqw;padding:1.6cqw 2cqw 2cqw;border-radius:2.6cqw;color:#fff;font-family:Montserrat,var(--sans);
  border:2px solid rgba(220,240,255,.9);background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(150,190,230,.08) 45%,rgba(40,70,110,.26));
  backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);
  box-shadow:0 0 3cqw rgba(140,203,255,.55),inset 0 0 3cqw rgba(140,203,255,.3)}
.hw-head{text-align:center;display:grid;justify-items:center;gap:.3cqw}
.hw-head .holo-mono{font-size:2.6cqw;letter-spacing:-.35cqw}
.hw-head .holo-mono span{top:.5cqw}
.hw-head strong{font-weight:600;font-size:3.1cqw;letter-spacing:.5cqw;text-shadow:0 0 1.2cqw rgba(140,203,255,.95)}
.hw-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:1.3cqw;min-height:0}
.hw-card{display:flex;flex-direction:column;gap:.5cqw;padding:.8cqw;border-radius:1.6cqw;text-decoration:none;color:#fff;
  background:rgba(16,30,50,.45);border:1.5px solid var(--hl);box-shadow:inset 0 0 1.2cqw rgba(140,203,255,.2);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s,background .4s}
.hw-card .ph{display:block;aspect-ratio:3/2;border-radius:1cqw;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.55);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.hw-card b{font-weight:600;font-size:1.9cqw;letter-spacing:.25cqw;margin-top:.3cqw;text-shadow:0 0 .8cqw rgba(140,203,255,.85)}
.hw-card em{font-style:normal;font-size:1.3cqw;line-height:1.3;color:var(--ice)}
.hw-card i{font-style:normal;align-self:flex-start;margin-top:auto;font-weight:600;font-size:1.05cqw;letter-spacing:.2cqw;padding:.45cqw 1.2cqw;border-radius:3cqw;border:1.5px solid var(--hl);transition:background .3s,color .3s}
.hw-card:hover,.hw-card:focus-visible{transform:scale(1.08);z-index:2;border-color:#fff;background:rgba(40,80,130,.55);box-shadow:0 0 2.4cqw rgba(140,203,255,.85),inset 0 0 1.6cqw rgba(140,203,255,.35);outline:none}
.hw-card:hover .ph,.hw-card:focus-visible .ph{transform:scale(1.12);box-shadow:0 1.2cqw 2.4cqw rgba(0,0,0,.45)}
.hw-card:hover i,.hw-card:focus-visible i{background:rgba(165,218,255,.95);color:#0E2740;border-color:#fff}
.hw-foot{display:flex;align-items:center;justify-content:space-between;gap:2cqw;padding:1.2cqw 2.4cqw;border-radius:1.6cqw;border:1.5px solid var(--hl);background:rgba(16,30,50,.36)}
.hw-foot span{font-size:1.35cqw;color:var(--ice);display:grid;gap:.2cqw}
.hw-foot b{font-weight:600;font-size:2cqw;letter-spacing:.35cqw;color:#fff}
.hw-foot a{flex:none;font-family:var(--sans);font-weight:400;font-size:1.4cqw;letter-spacing:.02em;color:var(--ink-soft);text-decoration:none;padding:1cqw 2.6cqw;border-radius:999px;border:0;background:var(--gold);background-size:200% 100%;text-shadow:0 1px 1px rgba(90,50,40,.35);box-shadow:0 10px 24px -12px rgba(138,86,69,.7);transition:background-position .25s,transform .2s}
.hw-foot a:hover{background-position:100% 0;transform:translateY(-1px)}
@media (max-width:760px){
  .holo-wide{position:relative;left:auto;top:auto;width:96%;height:auto;margin:-72% auto 0;gap:14px;padding:14px;border-radius:20px}
  .hw-head .holo-mono{font-size:22px;letter-spacing:-3px}
  .hw-head strong{font-size:15px;letter-spacing:3px}
  .hw-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:4px}
  .hw-card{scroll-snap-align:start;padding:8px;border-radius:14px;gap:5px}
  .hw-card .ph{border-radius:9px}
  .hw-card b{font-size:14px;letter-spacing:2px}
  .hw-card em{font-size:11.5px}
  .hw-card i{font-size:10px;letter-spacing:2px;padding:5px 10px;border-radius:20px}
  .hw-card:hover,.hw-card:focus-visible{transform:none}
  .hw-foot{padding:10px 14px;border-radius:14px}
  .hw-foot span{font-size:11px}
  .hw-foot b{font-size:13px;letter-spacing:2px}
  .hw-foot a{font-size:12px;padding:9px 16px}
}
.board-sec .stage{margin-top:0}
.board-sec{padding-top:clamp(40px,6vw,80px)}

/* ===== salon picture with the live, clickable board ===== */
.salon{position:relative;width:100%;aspect-ratio:2512/1664;overflow:hidden}
.salon-inner{position:absolute;left:0;top:0;width:2512px;height:1664px;transform:scale(var(--k,.5));transform-origin:0 0}
.salon-base{position:absolute;left:0;top:0;width:2512px;height:1664px;max-width:none}
.salon-hand{position:absolute;left:1056px;top:1025px;width:138px;height:194px;max-width:none;z-index:6;pointer-events:none}
.tb{--ice:#CFE9FF;--hl:rgba(200,232,255,.55);position:absolute;left:0;top:0;width:1080px;height:1920px;transform-origin:0 0;z-index:4;
  font-family:Montserrat,var(--sans);color:#fff;border-radius:56px;border:3.5px solid rgba(215,238,255,.85);
  background:linear-gradient(165deg,rgba(255,255,255,.16),rgba(150,190,230,.06) 45%,rgba(40,70,110,.2));
  backdrop-filter:blur(9px) saturate(1.1);-webkit-backdrop-filter:blur(9px) saturate(1.1);
  box-shadow:0 0 60px rgba(140,203,255,.55),inset 0 0 50px rgba(140,203,255,.35)}
.tb-head{position:absolute;left:0;right:0;top:48px;text-align:center;display:grid;justify-items:center;gap:10px}
.tb-mono{font-family:var(--serif);font-size:62px;line-height:1;color:#F3D3C2;letter-spacing:-8px}
.tb-mono span{position:relative;top:12px}
.tb-head strong{font-weight:500;font-size:46px;letter-spacing:6px;margin-top:12px;text-shadow:0 0 18px rgba(140,203,255,.9)}
.tb-head small{font-weight:300;font-size:26px;letter-spacing:3px;color:var(--ice)}
.tb-cards{position:absolute;top:272px;left:36px;right:36px;display:grid;gap:14px}
.tb-card{position:relative;height:258px;border-radius:30px;padding:16px;display:flex;gap:26px;align-items:center;text-decoration:none;color:#fff;
  background:rgba(18,32,52,.34);border:2px solid var(--hl);box-shadow:inset 0 0 22px rgba(140,203,255,.18);transform-origin:left center;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,background .45s,border-color .45s}
.tb-card.on{border-color:#fff;background:rgba(40,80,130,.34);box-shadow:0 0 36px rgba(140,203,255,.8),inset 0 0 30px rgba(140,203,255,.35)}
.tb-card .ph{flex:none;width:470px;height:224px;border-radius:22px;background-size:cover;background-position:center;border:1.5px solid rgba(255,255,255,.5)}
.tb-card .tx{display:grid;gap:8px;justify-items:start}
.tb-card b{font-weight:600;font-size:34px;letter-spacing:5px;text-shadow:0 0 12px rgba(140,203,255,.8)}
.tb-card em{font-style:normal;font-weight:300;font-size:22px;line-height:1.4;color:var(--ice)}
.tb-card i{font-style:normal;margin-top:8px;display:inline-flex;align-items:center;height:56px;padding:0 30px;border-radius:28px;font-weight:600;font-size:20px;letter-spacing:4px;border:2px solid var(--hl);background:rgba(255,255,255,.08)}
.tb-card.on i{background:rgba(160,215,255,.92);color:#0E2740;border-color:#fff}
.tb-card:hover,.tb-card:focus-visible{transform:scale(1.75);z-index:10;border-color:#fff;background:rgba(30,60,100,.88);outline:none;
  box-shadow:0 0 50px rgba(140,203,255,.95),0 30px 60px rgba(0,0,0,.45),inset 0 0 30px rgba(140,203,255,.35)}
.tb-card:hover i,.tb-card:focus-visible i{background:rgba(165,218,255,.95);color:#0E2740;border-color:#fff}
.tb-nav{position:absolute;left:36px;right:36px;bottom:44px;height:230px;display:flex;justify-content:space-around;align-items:center}
.tb-nav a{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:22px;letter-spacing:2px;color:var(--ice);text-decoration:none}
.tb-nav span{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(225,242,255,.8);
  background:radial-gradient(circle,rgba(140,203,255,.28),rgba(18,32,52,.3));box-shadow:0 0 22px rgba(140,203,255,.6);transition:transform .3s}
.tb-nav a:hover span{transform:scale(1.15)}
.tb-nav svg{width:48px;height:48px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.tb-ripple{position:absolute;left:127px;top:1435px;width:0;height:0;pointer-events:none;z-index:11}
.tb-ripple i{position:absolute;border-radius:50%;border:2.5px solid rgba(225,242,255,.9);transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(140,203,255,.85)}
.tb-ripple i:nth-child(1){width:38px;height:38px;background:radial-gradient(circle,#fff,rgba(160,215,255,.6) 60%,transparent)}
.tb-ripple i:nth-child(2){width:96px;height:96px;opacity:.85}
.tb-ripple i:nth-child(3){width:160px;height:160px;opacity:.55}
.tb-ripple i:nth-child(4){width:232px;height:232px;opacity:.28;border-style:dashed}
.salon-phone,.salon-list{display:none}
@media (max-width:760px){
  .salon{display:none}
  .salon-phone{display:block;width:100%;height:auto}
  .salon-list{--ice:#D6EDFF;--hl:rgba(205,235,255,.6);display:block;padding:16px 12px 26px;background:#3E2A2D}
}

/* ===== treatment story (card opens into a full-screen walkthrough) ===== */
.story-open,.story-open body{overflow:hidden}
.story{position:fixed;inset:0;z-index:200;overflow-y:auto;overscroll-behavior:contain;background:var(--porcelain);
  clip-path:inset(0 0 0 0 round 0px);transition:clip-path .75s cubic-bezier(.65,0,.25,1)}
.st-close{position:fixed;z-index:3;top:18px;right:18px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.7);
  background:rgba(58,36,40,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:background .25s,transform .25s}
.st-close:hover{background:rgba(58,36,40,.85);transform:rotate(90deg)}
.st-hero{position:relative;height:min(78vh,720px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.st-hero-img{position:absolute;inset:0;background-size:cover;background-position:center 30%;transform:scale(1.08);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.story:not([hidden]) .st-hero-img{transform:scale(1)}
.st-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(45,28,31,.88) 0%,rgba(45,28,31,.35) 45%,transparent 75%)}
.st-hero-copy{position:relative;z-index:1;width:100%;padding-bottom:clamp(28px,5vw,56px)}
.st-hero-copy .script{color:#F3D3C2}
.st-hero-copy h2{font-size:clamp(2.4rem,5.5vw,4.6rem);color:#fff;margin:.1em 0 .3em}
.st-from{color:#EAD9D3}
.st-from strong{font-family:var(--serif);font-weight:500;font-size:2.1rem;color:#F3D3C2;margin:0 .15em}
.st-body{padding-top:clamp(30px,5vw,60px);padding-bottom:clamp(50px,7vw,90px);max-width:900px}
.st-intro{font-size:1.15rem;max-width:40em}
.st-facts{margin:2rem 0 0}
.st-sec{margin-top:clamp(48px,7vw,80px)}
.st-sec h3{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:1.3rem}
.st-chips{display:flex;flex-wrap:wrap;gap:.7rem}
.st-chip{display:inline-flex;align-items:center;gap:.8rem;padding:.8em 1.3em;border-radius:999px;border:1px solid var(--rose);background:#fff;color:var(--ink);cursor:pointer;font-size:1rem;transition:background .25s,color .25s,transform .2s}
.st-chip span{font-family:var(--serif);font-size:1.2rem;color:var(--rose-deep)}
.st-chip:hover{transform:translateY(-1px)}
.st-chip[aria-pressed="true"]{background:var(--mauve);border-color:var(--mauve);color:#fff}
.st-chip[aria-pressed="true"] span{color:#F3D3C2}
.st-total{display:flex;gap:2.5rem;margin-top:1.4rem;padding:1.2rem 1.6rem;border-radius:20px;background:var(--blush)}
.st-total div{display:grid}
.st-total span{font-size:.88rem;color:var(--ink-soft)}
.st-total b{font-family:var(--serif);font-weight:500;font-size:2rem;color:var(--rose-deep)}
.st-steps{position:relative;list-style:none;padding-left:64px;display:grid;gap:2.4rem}
.st-line{position:absolute;left:21px;top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px}
.st-line i{position:absolute;left:0;top:0;width:100%;height:0;background:var(--gold);box-shadow:0 0 12px rgba(185,130,107,.8);border-radius:2px}
.st-steps li{position:relative;opacity:.45;translate:0 14px;transition:opacity .6s,translate .6s}
.st-steps li.lit{opacity:1;translate:0 0}
.st-n{position:absolute;left:-64px;top:-4px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.3rem;
  background:var(--porcelain);border:1px solid var(--line);color:var(--ink-soft);transition:background .5s,color .5s,border-color .5s,box-shadow .5s}
.st-steps li.lit .st-n{background:var(--gold);color:#fff;border-color:transparent;box-shadow:0 0 18px rgba(185,130,107,.6)}
.st-steps h4{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin-bottom:.3rem}
.st-steps p{color:var(--ink-soft);max-width:36em}
.st-results{display:flex;gap:10px;flex-wrap:wrap}
.st-dot{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.2rem;border:1px solid var(--line);color:var(--ink-soft);transition:background .5s,color .5s,transform .5s}
.st-dot.lit{background:var(--blush);color:var(--rose-deep)}
.st-dot.key.lit{background:var(--gold);color:#fff;transform:scale(1.12)}
.st-res-list{list-style:none;display:grid;gap:.9rem;margin:1.4rem 0 .6rem}
.st-res-list li{padding:1rem 1.3rem;border-radius:16px;background:var(--blush);color:var(--ink)}
.st-res-list b{display:block;font-family:var(--serif);font-weight:500;font-size:1.25rem;color:var(--rose-deep)}
.st-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:clamp(48px,7vw,80px);padding-top:2rem;border-top:1px solid var(--line)}
@media (prefers-reduced-motion:reduce){.story{transition:none}.st-steps li{opacity:1;translate:0 0}}
@media (max-width:600px){.st-total{gap:1.4rem}.st-steps{padding-left:56px}.st-n{left:-56px}.st-line{left:21px}}

/* ===== tabbed story ===== */
.st-hero{height:min(46vh,430px)}
.st-hero-copy h2{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.st-tabs{position:sticky;top:0;z-index:2;display:flex;justify-content:center;gap:clamp(4px,1.5vw,14px);padding:12px 16px;
  background:rgba(251,245,242,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.st-tabs button{border:0;background:none;cursor:pointer;padding:.6em 1.2em;border-radius:999px;font-size:1rem;color:var(--ink-soft);transition:background .25s,color .25s}
.st-tabs button:hover{color:var(--rose-deep)}
.st-tabs button[aria-selected="true"]{background:var(--mauve);color:#fff}
.st-body{padding-top:clamp(26px,4vw,44px);padding-bottom:140px;max-width:760px;min-height:46vh}
.st-intro{font-size:1.1rem;margin-bottom:1.4rem}
.st-facts{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 2.2rem}
.st-facts div{padding:.7rem 1.1rem;border-radius:14px;background:var(--blush)}
.st-facts dt{font-size:.8rem;color:var(--ink-soft)}
.st-facts dd{font-family:var(--serif);font-size:1.35rem;color:var(--rose-deep)}
.st-pane h3{font-size:1.6rem;margin-bottom:1rem}
.st-pane{animation:none}
.st-pane.play{animation:paneIn .5s cubic-bezier(.2,.7,.2,1)}
@keyframes paneIn{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.st-steps{gap:1.5rem}
.st-steps li{opacity:0;translate:0 12px;transition:opacity .5s calc(var(--i) * 120ms),translate .5s calc(var(--i) * 120ms)}
.st-steps li .st-n{transition-delay:calc(var(--i) * 120ms)}
.play .st-steps li{opacity:1;translate:0 0}
.play .st-steps li .st-n{background:var(--gold);color:#fff;border-color:transparent;box-shadow:0 0 16px rgba(185,130,107,.55)}
.st-steps h4{font-size:1.3rem}
.st-line i{transition:height 1s cubic-bezier(.2,.7,.2,1) .1s}
.play .st-line i{height:100%}
.st-dot{transition:background .4s calc(var(--i) * 80ms),color .4s calc(var(--i) * 80ms),transform .4s calc(var(--i) * 80ms)}
.play .st-dot{background:var(--blush);color:var(--rose-deep)}
.play .st-dot.key{background:var(--gold);color:#fff;transform:scale(1.12)}
.st-bar{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:14px clamp(16px,4vw,40px);background:rgba(90,64,67,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#F7EBE6}
.st-bar .st-total{display:grid;gap:0;margin:0;padding:0;background:none;border-radius:0}
.st-bar .st-total span{font-size:.78rem;color:#DCC8C3}
.st-bar .st-total b{font-family:var(--serif);font-weight:500;font-size:1.45rem;color:#F3D3C2}
.st-bar .st-total small{font-size:.82rem;color:#DCC8C3}
@media (max-width:600px){
  .st-tabs{justify-content:flex-start;overflow-x:auto}
  .st-tabs button{padding:.55em .9em;font-size:.92rem;flex:none}
  .st-bar .btn{padding:.8em 1.1em;font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){.st-pane.play{animation:none}.st-steps li{opacity:1;translate:0 0}}
.story .st-pane{padding:0}

/* story header: the clicked picture, sharp in a frame, over a blurred copy of itself */
.st-hero-img{filter:blur(22px) brightness(.7) saturate(1.1);inset:-40px}
.st-hero::after{background:linear-gradient(90deg,rgba(45,28,31,.85) 0%,rgba(45,28,31,.45) 55%,rgba(45,28,31,.25) 100%)}
.st-hero-card{position:absolute;z-index:1;right:clamp(16px,6vw,90px);top:50%;translate:0 -50%;width:min(40vw,500px);aspect-ratio:3/2;
  border-radius:24px;background-size:cover;background-position:center;border:3px solid rgba(255,255,255,.85);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6),0 0 40px rgba(243,211,194,.35);
  transform:scale(.92);opacity:0;transition:transform .9s cubic-bezier(.2,.7,.2,1) .2s,opacity .6s .2s}
.story:not([hidden]) .st-hero-card{transform:scale(1);opacity:1}
.st-hero-copy > *{max-width:min(46vw,560px)}
@media (max-width:760px){
  .st-hero{height:auto;min-height:0;flex-direction:column;align-items:stretch;padding-top:70px}
  .st-hero-card{position:relative;right:auto;top:auto;translate:none;width:calc(100% - 32px);margin:0 auto}
  .st-hero-copy > *{max-width:none}
  .st-hero-copy{padding-top:18px}
}

/* ===== organised overview + before/after ===== */
.st-body{max-width:980px}
.ov-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:start}
.st-intro{font-size:1.1rem;color:var(--ink-soft);margin:0 0 1.4rem}
.ov-facts{list-style:none;display:grid;gap:.7rem}
.ov-facts li{display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-radius:16px;background:var(--blush)}
.ov-ic{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--porcelain)}
.ov-ic svg{width:22px;height:22px;stroke:var(--rose-deep);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ov-facts small{display:block;font-size:.8rem;color:var(--ink-soft)}
.ov-facts b{font-family:var(--serif);font-weight:500;font-size:1.35rem;color:var(--ink)}
.ov-right h3{font-size:1.5rem;margin-bottom:.9rem}
.area-cards{display:grid;gap:.7rem}
.area-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;width:100%;padding:1rem 1.2rem;border-radius:16px;
  border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;font-size:1.02rem;color:var(--ink);transition:border-color .25s,box-shadow .25s,background .25s}
.area-card:hover{border-color:var(--rose)}
.area-card .tick{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--rose);position:relative;transition:background .25s}
.area-card .tick::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;rotate:45deg;opacity:0;transition:opacity .2s}
.area-card .ap{font-family:var(--serif);font-size:1.3rem;color:var(--rose-deep)}
.area-card .ap small{font-family:var(--sans);font-size:.75rem;color:var(--ink-soft)}
.area-card[aria-pressed="true"]{border-color:var(--rose-deep);background:var(--blush);box-shadow:0 8px 20px -14px rgba(138,86,69,.8)}
.area-card[aria-pressed="true"] .tick{background:var(--rose-deep);border-color:var(--rose-deep)}
.area-card[aria-pressed="true"] .tick::after{opacity:1}
.area-card[aria-pressed="true"] .ap small{color:var(--ink-soft)}

.ba{position:relative;margin:0;aspect-ratio:16/10;border-radius:22px;overflow:hidden;box-shadow:0 24px 50px -30px rgba(59,42,45,.7);user-select:none}
.ba-after,.ba-before{position:absolute;inset:0;background-size:cover;background-position:center;display:grid;place-items:center}
.ba-after{background-color:#EFE2DC}
.ba-before{background-color:#D8C1B7;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-ph{display:grid;justify-items:center;gap:.4rem;font-size:.95rem;color:var(--ink-soft)}
.ba-ph svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linejoin:round}
.ba-before .ba-ph{translate:calc((var(--pos) - 100%) / 2) 0}
.ba-after .ba-ph{translate:calc(var(--pos) / 2) 0}
.has-photo .ba-ph{display:none}
.ba-tag{position:absolute;top:14px;padding:.35em .9em;border-radius:999px;font-size:.8rem;letter-spacing:.04em;background:rgba(58,36,40,.65);color:#fff;pointer-events:none}
.ba-tag-b{left:14px}.ba-tag-a{right:14px}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.25);pointer-events:none}
.ba-handle i{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.ba-handle i::before,.ba-handle i::after{content:"";position:absolute;top:50%;width:0;height:0;border:6px solid transparent;margin-top:-6px}
.ba-handle i::before{left:6px;border-right-color:#fff}
.ba-handle i::after{right:6px;border-left-color:#fff}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-range:focus-visible + .ba-handle,.ba:focus-within .ba-handle i{outline:2px solid #fff;outline-offset:3px}
.ba-note{margin-top:.6rem}
.ba-h{font-size:1.5rem;margin:2rem 0 1rem}
@media (max-width:760px){.ov-grid{grid-template-columns:1fr}.ba{aspect-ratio:4/3}}
.area-cards .area-card .an{font-family:var(--sans);font-size:1.02rem;color:var(--ink)}
.area-cards .area-card[aria-pressed="true"] .ap{color:var(--rose-deep)}
.area-cards .area-card[aria-pressed="true"] .an{color:var(--ink)}
.ba{max-height:62vh;width:100%;max-width:820px;margin-inline:auto}
.ba-after,.ba-before{display:block}
.ba .ba-ph{position:absolute;top:50%;translate:-50% -50%;white-space:nowrap}
.ba-before .ba-ph{left:calc(var(--pos) / 2)}
.ba-after .ba-ph{left:calc(var(--pos) + (100% - var(--pos)) / 2)}

/* ===== one-screen story on laptops/desktops: picture left, details right ===== */
@media (min-width:900px){
  .story{display:grid;grid-template-columns:minmax(340px,38%) 1fr;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
  .st-hero{grid-column:1;grid-row:1 / 4;height:auto;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:28px;padding:48px clamp(28px,3vw,48px)}
  .st-hero::after{background:linear-gradient(0deg,rgba(45,28,31,.9) 0%,rgba(45,28,31,.45) 55%,rgba(45,28,31,.3) 100%)}
  .st-hero-card{position:relative;right:auto;top:auto;translate:none;width:100%;max-width:460px;margin:0 auto}
  .st-hero-copy{padding:0;width:100%;max-width:460px;margin:0 auto}
  .st-hero-copy > *{max-width:none}
  .st-hero-copy h2{font-size:clamp(2rem,2.8vw,2.8rem)}
  .st-tabs{grid-column:2;grid-row:1;position:static;justify-content:flex-start;padding:16px clamp(24px,3vw,44px);padding-right:84px}
  .st-body{grid-column:2;grid-row:2;overflow-y:auto;margin:0;max-width:none;min-height:0;padding:clamp(20px,2.4vw,32px) clamp(24px,3vw,44px)}
  .st-bar{grid-column:2;grid-row:3;position:static}
  .st-close{top:14px;right:18px}
  /* compact content */
  .ov-grid{grid-template-columns:1fr 1.15fr;gap:clamp(20px,2.5vw,36px)}
  .st-intro{font-size:1rem;margin-bottom:1rem}
  .ov-facts{gap:.5rem}
  .ov-facts li{padding:.55rem .8rem;gap:.8rem;border-radius:12px}
  .ov-ic{width:34px;height:34px}
  .ov-ic svg{width:18px;height:18px}
  .ov-facts b{font-size:1.15rem}
  .ov-right h3{font-size:1.3rem;margin-bottom:.7rem}
  .area-cards{gap:.5rem}
  .area-card{padding:.7rem 1rem;border-radius:12px}
  .area-card .ap{font-size:1.15rem}
  .ba{aspect-ratio:auto;height:min(44vh,400px);max-height:none}
  .ba-h{font-size:1.2rem;margin:1.1rem 0 .6rem}
  .st-results{gap:6px}
  .st-dot{width:34px;height:34px;font-size:1rem}
  .st-res-list{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:.9rem 0 .4rem}
  .st-res-list li{padding:.7rem .9rem;font-size:.9rem;border-radius:12px}
  .st-res-list b{font-size:1.05rem}
  .st-steps{gap:1rem;padding-left:56px}
  .st-n{left:-56px;width:38px;height:38px;font-size:1.1rem;top:-2px}
  .st-line{left:18px}
  .st-steps h4{font-size:1.15rem;margin-bottom:.1rem}
  .st-steps p{font-size:.95rem}
}
@media (min-width:900px){
  .ba{height:min(35vh,380px)}
  .ba-h{margin:.8rem 0 .5rem}
  .st-res-list{margin:.7rem 0 .3rem}
}

/* ===== page-peel before/after ===== */
.peel{position:relative;margin:0 auto;width:100%;max-width:820px;aspect-ratio:746/902;max-height:62vh;border-radius:22px;overflow:hidden;
  background:#EFE2DC;box-shadow:0 24px 50px -30px rgba(30,15,18,.75);touch-action:none}
.peel canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab}
.peel canvas:active{cursor:grabbing}
.peel-tag-a{position:absolute;bottom:14px;right:14px;top:auto;padding:.35em .9em;border-radius:999px;font-size:.8rem;background:rgba(58,36,40,.65);color:#fff;pointer-events:none}
.peel .ba-tag-b{top:14px;left:14px}
.peel-hint{position:absolute;right:16px;bottom:52px;padding:.4em .9em;border-radius:999px;font-size:.8rem;background:rgba(255,255,255,.85);color:var(--rose-deep);pointer-events:none;transition:opacity .4s}
.peel-hint.gone{opacity:0}
@media (prefers-reduced-motion:no-preference){.peel-hint{animation:nudge 1.8s ease-in-out infinite}@keyframes nudge{0%,100%{translate:0 0}50%{translate:-6px -6px}}}
.peel-replay{position:absolute;top:12px;right:12px;padding:.45em 1em;border-radius:999px;border:1px solid rgba(255,255,255,.8);background:rgba(58,36,40,.55);color:#fff;font-size:.82rem;cursor:pointer;backdrop-filter:blur(6px)}
.peel-replay:hover{background:rgba(58,36,40,.8)}
.peel-range{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.peel:focus-within{outline:2px solid var(--rose-deep);outline-offset:3px}
@media (min-width:900px){.peel{height:min(42vh,420px);aspect-ratio:auto;max-width:none}}

/* ===== story sits on the same blurred salon as the treatment board ===== */
.story{background:#3E2A2D}
.story::before{content:"";position:fixed;inset:-24px;z-index:0;background:url(salon-right.jpg) center 35%/cover;filter:blur(6px) brightness(.55) saturate(.9);pointer-events:none}
.story > *{position:relative;z-index:1}
.story > .st-close{position:fixed;z-index:5}
.st-hero-img{display:none}
.st-hero{background:transparent}
.st-hero::after{background:linear-gradient(0deg,rgba(45,28,31,.6) 0%,rgba(45,28,31,.15) 60%,transparent 100%)}
.st-tabs,.st-body{background:rgba(251,245,242,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media (min-width:900px){
  .st-tabs{margin:24px 24px 0;border-radius:24px 24px 0 0}
  .st-body{margin:0 24px;border-radius:0}
  .st-bar{margin:0 24px 24px;border-radius:0 0 24px 24px}
}
@media (min-width:900px){.peel{height:min(29vh,360px)}}
@media (min-width:900px){
  #pane-results:not([hidden]){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(18px,2.4vw,32px);align-items:start}
  #pane-results .peel{grid-column:1;grid-row:1 / 6;height:min(58vh,520px);width:auto;aspect-ratio:746/902;max-width:none;margin:0}
  #pane-results .ba-note{grid-column:1;grid-row:6;margin-top:.5rem}
  #pane-results .ba-h,#pane-results .st-results,#pane-results .st-res-list,#pane-results > .fine:last-child{grid-column:2}
  #pane-results .ba-h{grid-row:1;margin-top:0}
  #pane-results .st-results{grid-row:2}
  #pane-results .st-res-list{grid-row:3;grid-template-columns:1fr}
  #pane-results > .fine:last-child{grid-row:4}
}
@media (min-width:900px){
  #pane-results .peel{height:min(50vh,470px)}
  #pane-results .ba-h{font-size:1.15rem;line-height:1.25}
  #pane-results .st-results{display:grid;grid-template-columns:repeat(8,minmax(0,30px));gap:6px}
  #pane-results .st-dot{width:100%;max-width:30px;height:auto;aspect-ratio:1;font-size:.95rem}
  #pane-results .st-res-list{gap:.45rem;margin:.6rem 0 .3rem}
  #pane-results .st-res-list li{padding:.5rem .75rem;font-size:.85rem;line-height:1.35}
  #pane-results .st-res-list b{font-size:1rem}
  #pane-results > .fine:last-child{font-size:.75rem;margin:0}
}
.peel .ba-tag-b,.peel .peel-tag-a{transition:opacity .35s}
.story .ba-note{font-size:.72rem;opacity:.7;letter-spacing:.02em}
@media (min-width:900px){
  #pane-results .peel{grid-row:1 / 7;height:min(calc(100vh - 230px),640px)}
  #pane-results .ba-note{grid-column:2;grid-row:5;margin-top:.2rem}
}
@media (min-width:900px){
  #pane-results:not([hidden]){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  #pane-results .peel{width:100%;aspect-ratio:auto !important;height:min(calc(100vh - 230px),600px)}
}
.story[hidden]{display:none!important}

/* ===== stronger, larger text inside treatment stories ===== */
.story .st-body{font-weight:400;color:var(--ink)}
.story .st-tabs button{font-size:1.08rem;font-weight:500;color:var(--ink)}
.story .st-tabs button[aria-selected="true"]{color:#fff}
.story .st-intro{font-size:1.15rem;line-height:1.55;color:var(--ink);font-weight:400}
.story .ov-facts small{font-size:.9rem;font-weight:500;color:var(--rose-deep)}
.story .ov-facts b{font-size:1.45rem;font-weight:600;color:var(--ink)}
.story .ov-right h3,.story .ba-h,#pane-results .ba-h{font-size:1.6rem;font-weight:600;color:var(--ink)}
.story .area-cards .area-card .an{font-size:1.15rem;font-weight:500;color:var(--ink)}
.story .area-card .ap{font-size:1.4rem;font-weight:600}
.story .area-card .ap small{font-size:.85rem;font-weight:500;color:var(--ink-soft)}
.story .st-dot{font-weight:600;color:var(--ink)}
.story .st-res-list li,#pane-results .st-res-list li{font-size:1.02rem;font-weight:400;color:var(--ink)}
.story .st-res-list b,#pane-results .st-res-list b{font-size:1.2rem;font-weight:600;color:var(--rose-deep)}
.story .fine,#pane-results > .fine:last-child{font-size:.88rem;color:var(--ink-soft);font-weight:400}
.story .ba-note{font-size:.82rem;opacity:.85}
.story .st-steps h4{font-size:1.3rem;font-weight:600;color:var(--ink)}
.story .st-steps p{font-size:1.02rem;font-weight:400;color:var(--ink)}
.story .st-bar .st-total span{font-size:.85rem;font-weight:500}
.story .st-bar .st-total b{font-size:1.6rem;font-weight:600}
.story .st-bar .st-total small{font-size:.9rem}
.story .st-hero-copy h2{font-weight:600}
.story .st-from{font-size:1.05rem;font-weight:500}
@media (min-width:900px){#pane-results .st-res-list{gap:.4rem;margin:.5rem 0 .25rem}#pane-results .st-res-list li{padding:.45rem .75rem;line-height:1.3}#pane-results .ba-h{margin-bottom:.4rem}}

/* ===== luxury pass: suitability, care and FAQ ===== */
/* suitability: two numbered question cards and a dark guide card */
#suitability .suit-grid{grid-template-columns:1.15fr .85fr}
#suitability .suit-grid>div:first-child{counter-reset:q}
#suitability .q{counter-increment:q;background:#fff;border:1px solid rgba(138,86,69,.14);border-radius:24px;padding:1.6rem 1.7rem 1.5rem;margin-bottom:1.2rem;box-shadow:0 26px 50px -38px rgba(90,64,67,.5)}
#suitability .q legend{float:left;width:100%;display:flex;align-items:baseline;gap:.8rem;font-size:1.5rem;margin-bottom:1.2rem}
#suitability .q legend::before{content:counter(q,decimal-leading-zero);font-style:italic;font-size:1.5rem;font-variant-numeric:lining-nums;color:var(--rose)}
#suitability .swatches{clear:both;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem}
#suitability .sw label{width:auto;font-size:.8rem}
#suitability .sw .c{width:52px;height:52px;box-shadow:inset 0 -8px 14px rgba(0,0,0,.12),0 6px 14px -8px rgba(60,30,30,.5)}
#suitability .sw label:hover .c{transform:translateY(-2px)}
#suitability .sw input:checked + label .c{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--rose),0 10px 18px -8px rgba(60,30,30,.6);transform:scale(1.06)}
#suitability .sw input:checked + label{color:var(--ink);font-weight:500}
#suitability .result{position:sticky;top:110px;min-height:360px;color:#F7EBE6;border:1px solid rgba(232,207,193,.18);
  background:radial-gradient(ellipse 90% 70% at 85% 0%,rgba(242,214,198,.22),transparent 60%),linear-gradient(160deg,#5A4043,#3B2A2D);box-shadow:0 44px 70px -42px rgba(59,42,45,.95)}
#suitability .result .script{color:var(--champagne)}
#suitability .result h3{color:#fff}
#suitability .result p{color:#DCC8C3}
#suitability .result .meter i{height:5px;background:rgba(232,207,193,.18)}
#suitability .result .meter i.on{background:var(--gold)}

/* care: gold pill switch and icon cards */
.care .tabs{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);margin-bottom:2.2rem}
.care .tabs button{padding:.4rem 1.7rem;border-radius:999px;font-size:1.3rem;transition:background .3s,color .3s}
.care .tabs button[aria-selected="true"]{background:var(--gold);background-size:200% 100%;color:var(--ink-soft);text-shadow:0 1px 1px rgba(255,240,230,.4)}
.care .tabs button[aria-selected="true"]::after{display:none}
.care .care-list{max-width:none;gap:1.1rem}
.care .care-list li{background:#fff;border:1px solid rgba(138,86,69,.14);border-radius:22px;padding:1.4rem 1.5rem;gap:1.1rem;align-items:center;box-shadow:0 22px 44px -34px rgba(90,64,67,.5);transition:transform .25s,box-shadow .25s}
.care .care-list li:hover{transform:translateY(-3px);box-shadow:0 28px 50px -30px rgba(90,64,67,.55)}
.care .care-list svg{width:48px;height:48px;margin:0;padding:13px;border-radius:50%;background:var(--blush);stroke:var(--rose-deep);box-shadow:inset 0 0 0 1px rgba(185,130,107,.35)}
.care .care-list strong{font-family:var(--serif);font-size:1.3rem;line-height:1.2;margin-bottom:.2rem}

/* faq: soft cards that glow gold when open */
#faq .faq-grid{align-items:start}
#faq .head{position:sticky;top:110px}
#faq .faq-ask{margin-top:1.6rem}
#faq details{background:#fff;border:1px solid rgba(138,86,69,.16);border-radius:18px;margin-bottom:.8rem;padding:0 1.4rem;transition:box-shadow .3s,border-color .3s}
#faq details[open]{border-color:rgba(185,130,107,.5);box-shadow:0 24px 46px -34px rgba(90,64,67,.55)}
#faq summary{padding:1.15rem 0;font-size:1.3rem;transition:color .2s}
#faq summary:hover{color:var(--rose-deep)}
#faq details[open] summary .pm{background:var(--gold);border-color:transparent}
#faq details[open] summary .pm::before{background:#fff}
#faq details p{padding:0 2.5rem 1.3rem 0}

@media (max-width:960px){
  #suitability .suit-grid{grid-template-columns:1fr}
  #suitability .result,#faq .head{position:static}
}
@media (max-width:600px){
  #suitability .q{padding:1.3rem 1.1rem}
  #suitability .swatches{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:.9rem}
  .care .tabs button{padding:.35rem 1.3rem;font-size:1.15rem}
  .care .care-list li{padding:1.1rem 1.2rem}
  #faq details{padding:0 1.1rem}
  #faq summary{font-size:1.18rem}
}

/* suitability, brighter finish: glossy jewel swatches, rose-gold hairlines, a lighter rose-mauve guide */
#suitability{background:radial-gradient(ellipse 55% 45% at 10% 12%,rgba(255,240,233,.55) 0%,transparent 65%),radial-gradient(ellipse 50% 45% at 95% 90%,rgba(138,86,69,.22) 0%,transparent 70%),linear-gradient(180deg,#EBD3C9,#DCB8AA)}
#suitability .q{border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#F2D6C6,#D9A68F 40%,#F7E3D7 60%,#C9917A) border-box;box-shadow:0 30px 60px -42px rgba(138,86,69,.55),0 0 0 6px rgba(255,255,255,.55)}
#suitability .q legend::before{background:var(--gold);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
#suitability .sw .c{position:relative;border:0;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(217,166,143,.65),0 10px 18px -10px rgba(138,86,69,.55),inset 0 -6px 10px rgba(0,0,0,.08)}
#suitability .sw .c::after{content:"";position:absolute;left:18%;top:12%;width:42%;height:30%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.75),rgba(255,255,255,0) 70%);transform:rotate(-25deg)}
#suitability .sw .c::before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(160deg,rgba(255,255,255,.28),transparent 45%,rgba(0,0,0,.06))}
#suitability .sw label:hover .c{transform:translateY(-3px);box-shadow:0 0 0 2px #fff,0 0 0 3px #D9A68F,0 14px 22px -10px rgba(138,86,69,.6)}
#suitability .sw input:checked + label .c{transform:scale(1.1);box-shadow:0 0 0 3px #fff,0 0 0 5px #C9917A,0 0 22px 2px rgba(242,200,179,.9),0 12px 20px -10px rgba(138,86,69,.6)}
#suitability .sw input:checked + label{color:var(--rose-deep)}
#suitability .result{border:0;background:radial-gradient(ellipse 90% 60% at 80% 0%,rgba(255,236,226,.3),transparent 60%),linear-gradient(165deg,#5E3A42,#472A31 55%,#321D23);
  box-shadow:0 0 0 1.5px #E2B39B,0 0 0 6px rgba(251,240,234,.55),0 0 0 7px rgba(185,130,107,.6),0 44px 70px -36px rgba(50,29,35,.9)}
#suitability .result p{color:#E6D0CA}
#suitability .result .meter i{height:6px;background:rgba(255,255,255,.18)}
#suitability .result .meter i.on{background:var(--gold);box-shadow:0 0 10px rgba(242,200,179,.8)}

#suitability .head .lede{color:#5E4648}
#suitability .rule{color:var(--rose-deep)}

/* ===== suitability as satin shade ribbons with rose-gold jewels (deep shades, satin shine) ===== */
#suitability .shades-grid{grid-template-columns:1fr 1fr .95fr;gap:clamp(22px,3vw,40px)}
#suitability .shades-col{border:0;min-width:0}
#suitability .col-title{width:100%;margin-bottom:18px;text-align:center;padding:.85rem 1rem;border-radius:14px;background:linear-gradient(180deg,#fff,#FBF3EE);
  box-shadow:0 0 0 1.5px #D9A68F,0 0 0 4px #FBF5F2,0 0 0 5px rgba(185,130,107,.5),0 18px 30px -24px rgba(90,64,67,.6)}
#suitability .col-title b{display:block;font:500 1.05rem var(--serif);letter-spacing:.24em;text-transform:uppercase;color:var(--rose-deep)}
#suitability .col-title span{display:block;font-size:.78rem;color:var(--ink-soft);letter-spacing:.06em}
.shades-list{display:grid;gap:12px}
.band{position:relative}
.band input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2;margin:0}
.band label{position:relative;display:grid;grid-template-columns:52px 1fr;align-items:center;height:60px;padding:0 26px 0 5px;border-radius:999px 16px 16px 999px;overflow:hidden;cursor:pointer;color:var(--t,#F7EBE6);
  background:
    linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.05) 36%,rgba(255,255,255,0) 62%,rgba(0,0,0,.18) 100%),
    linear-gradient(104deg,transparent 20%,rgba(255,255,255,.34) 36%,transparent 52%,rgba(255,255,255,.16) 70%,transparent 84%),
    var(--c);
  box-shadow:0 12px 22px -14px rgba(59,42,45,.75),inset 0 1px 1px rgba(255,255,255,.5),inset 0 -2px 3px rgba(0,0,0,.18);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,opacity .35s}
.band label::after{content:"";position:absolute;top:0;bottom:0;right:0;width:64px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.16) 46%,rgba(255,255,255,.38) 74%,rgba(0,0,0,.2))}
.band .name{justify-self:center;text-align:center;font:500 1rem var(--serif);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.band .name::after{content:"";display:block;width:64px;height:1px;margin:4px auto 0;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.6}
.band.light label{--t:#4A2F34}
.band.light .name{text-shadow:0 1px 0 rgba(255,255,255,.45)}
.medal{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 28%,#A97E82 0%,#6F4A50 45%,#4A2F34 100%);
  box-shadow:0 0 0 2.5px #F2D6C6,0 0 0 4px #B9826B,0 4px 10px rgba(30,15,15,.45),inset 0 2px 4px rgba(255,255,255,.25)}
.medal::before{content:"";position:absolute;left:10px;top:7px;width:14px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);filter:blur(1px);transform:rotate(-30deg)}
.medal b{font:italic 600 1.2rem var(--serif);font-variant-numeric:lining-nums;background:linear-gradient(180deg,#FFF8F2,#F2D2BE);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(40,20,20,.5))}
.band label:hover{transform:translateX(5px)}
.band input:focus-visible + label{outline:2px solid var(--rose-deep);outline-offset:3px}
.band input:checked + label{transform:translateX(12px) scale(1.02);
  box-shadow:0 0 0 1.5px #F2D6C6,0 0 0 3.5px rgba(185,130,107,.7),0 20px 30px -16px rgba(59,42,45,.85),inset 0 1px 1px rgba(255,255,255,.5)}
.band input:checked + label .medal{box-shadow:0 0 0 2.5px #F7DCCB,0 0 0 4px #C9917A,0 0 16px rgba(242,200,179,.9),inset 0 2px 4px rgba(255,255,255,.3)}
.shades-col:has(input:checked) .band input:not(:checked) + label{opacity:.88}
#suitability .result .picked{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0;min-height:1.6rem}
#suitability .result .picked span{display:inline-flex;align-items:center;gap:.5rem;padding:.2rem .8rem .2rem .3rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(232,207,193,.25);font-size:.82rem;color:#EBDAD4}
#suitability .result .picked i{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 1.5px #E2B9A2}
@media (max-width:1060px){#suitability .shades-grid{grid-template-columns:1fr 1fr}#suitability .shades-grid .result{grid-column:1/-1;position:static}}
@media (max-width:640px){
  #suitability .shades-grid{grid-template-columns:1fr}
  .band label{height:54px}
  .band .name{font-size:.92rem;letter-spacing:.2em}
  .band label:hover{transform:none}
  .band input:checked + label{transform:translateX(6px) scale(.985)}
}
@media (prefers-reduced-motion:reduce){.band label{transition:none}}

/* ribbons: deeper satin, with a shine that glides left and right */
.band label{background:
    linear-gradient(180deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.04) 34%,rgba(255,255,255,0) 60%,rgba(0,0,0,.28) 100%),
    var(--c)}
.band label::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(104deg,transparent 32%,rgba(255,236,222,.18) 40%,rgba(255,250,246,.78) 49%,rgba(255,255,255,.9) 50%,rgba(255,250,246,.78) 51%,rgba(255,236,222,.18) 60%,transparent 68%);
  background-size:240% 100%;background-position:100% 0}
.band.light label::before{opacity:.95}
.band .medal,.band .name{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){
  .band label::before{animation:satin-shine 4s ease-in-out infinite alternate;animation-delay:calc(var(--i,0) * -.55s)}
  .band input:checked + label::before{animation-duration:3.2s}
}
@keyframes satin-shine{from{background-position:100% 0}to{background-position:0 0}}

/* ===== hero: desktop drops the photo below the menu so the CG on the wall is clear of the links ===== */
@media (min-width:961px){
  .stage-hero{background:linear-gradient(90deg,#876d5f,#8a6f61 50%,#9e7f6f)}
  .stage-hero .slides{top:72px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 70px);mask-image:linear-gradient(180deg,transparent 0,#000 70px)}
}
.stage-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:170px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(45,28,31,.72) 0%,rgba(45,28,31,.38) 50%,transparent 100%)}

/* headline reveals word by word when the page opens */
@media (prefers-reduced-motion:no-preference){
  .stage-copy .script,.stage-copy .lede,.stage-copy .hero-actions{animation:hero-rise 1s cubic-bezier(.2,.7,.2,1) both}
  .stage-copy .script{animation-delay:.15s}
  .stage-copy .lede{animation-delay:1.25s}
  .stage-copy .hero-actions{animation-delay:1.5s}
  .stage-copy h1 .w{display:inline-block;animation:hero-word .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.4s + var(--w) * .07s)}
}
@keyframes hero-rise{from{opacity:0;translate:0 22px}}
@keyframes hero-word{from{opacity:0;translate:0 .45em;filter:blur(6px)}}

/* ===== reviews: glass cards with rose-gold stars in a 3D carousel ===== */
.reviews{background:radial-gradient(ellipse 50% 50% at 50% 40%,rgba(255,255,255,.75),transparent 70%),linear-gradient(180deg,#F6EAE4,#EED9D0);overflow:hidden}
.rev-head{text-align:center;margin-left:auto;margin-right:auto}
.rev-head .lede{margin-left:auto;margin-right:auto}
.rev-eyebrow{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-bottom:.8rem;font:500 .78rem var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--rose-deep)}
.rev-eyebrow::before,.rev-eyebrow::after{content:"";height:1px;width:54px;background:linear-gradient(90deg,transparent,var(--rose))}
.rev-eyebrow::after{transform:scaleX(-1)}
.rev-shell{position:relative}
.rev-track{--cw:min(340px,82vw);list-style:none;display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:34px calc(50% - var(--cw) / 2) 54px;margin:0 calc(var(--gutter) * -1);perspective:1300px;scrollbar-width:none}
.rev-track::-webkit-scrollbar{display:none}
.r-card{flex:0 0 var(--cw);scroll-snap-align:center;position:relative;display:flex;flex-direction:column;gap:1rem;border-radius:26px;padding:2.1rem 1.9rem 1.7rem;border:1.5px solid transparent;
  background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(255,247,243,.86)) padding-box,linear-gradient(135deg,#F2D6C6,#C9917A 40%,#F7E3D7 60%,#B9826B) border-box;
  box-shadow:0 34px 56px -36px rgba(90,64,67,.65),0 0 0 6px rgba(255,255,255,.4);will-change:rotate,scale}
.r-badge{position:absolute;top:16px;right:16px;padding:.15rem .7rem;border-radius:999px;background:var(--blush);color:var(--rose-deep);font:500 .66rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.r-stars{display:flex;gap:4px}
.r-stars svg{width:19px;height:19px;fill:url(#rg);filter:drop-shadow(0 1px 1px rgba(138,86,69,.35))}
.r-quote{position:relative;flex:1;font:italic 400 1.28rem/1.5 var(--serif);color:var(--ink);padding-top:1.4rem}
.r-quote::before{content:"\201C";position:absolute;left:-.2rem;top:-1.6rem;font:400 4.4rem/1 var(--serif);background:var(--gold);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.r-who{display:flex;align-items:center;gap:.8rem;padding-top:1rem;border-top:1px solid rgba(185,130,107,.25)}
.r-who b{display:block;font-weight:500;color:var(--ink);font-size:.95rem}
.r-who small{display:block;color:var(--ink-soft);font-size:.8rem}
.r-avatar{width:42px;height:42px;flex:none;border-radius:50%;background:var(--gold);background-size:200% 100%;position:relative;box-shadow:0 6px 12px -6px rgba(138,86,69,.6)}
.r-avatar::after{content:"";position:absolute;inset:11px;background:#fff;opacity:.9;clip-path:path("M10 0c.5 5.3 4.7 9.5 10 10-5.3.5-9.5 4.7-10 10-.5-5.3-4.7-9.5-10-10C5.3 9.5 9.5 5.3 10 0z")}
.rev-nav{position:absolute;top:50%;z-index:2;translate:0 -50%;width:50px;height:50px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:linear-gradient(#fff,#fff) padding-box,var(--gold) border-box;border:1.5px solid transparent;box-shadow:0 14px 24px -14px rgba(90,64,67,.7);transition:transform .25s}
.rev-nav:hover{transform:scale(1.08)}
.rev-nav svg{width:20px;height:20px;fill:none;stroke:var(--rose-deep);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rev-nav.prev{left:0}.rev-nav.next{right:0}
.rev-dots{display:flex;justify-content:center;gap:8px;margin-top:-18px}
.rev-dots button{width:9px;height:9px;padding:0;border-radius:999px;border:1px solid var(--rose);background:transparent;cursor:pointer;transition:width .3s,background .3s}
.rev-dots button[aria-current="true"]{width:26px;background:var(--gold);border-color:transparent}
.rev-note{text-align:center;font-size:.8rem;color:var(--ink-soft);margin-top:1.2rem}
@media (max-width:640px){.rev-nav{width:40px;height:40px}.rev-nav.prev{left:-4px}.rev-nav.next{right:-4px}.r-quote{font-size:1.15rem}}

/* keep 3D entrances from ever widening the page, without breaking the sticky hero */
html,body{overflow-x:clip}


/* ===== page laser: rose-gold scanner line that lights up while you scroll the page ===== */
.page-laser{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.page-laser canvas{position:absolute;inset:0;width:100%;height:100%}
.pl-beam{position:absolute;left:0;right:0;top:0;height:0;opacity:0;transition:opacity .45s}
.page-laser.on .pl-beam{opacity:1;transition-duration:.15s}
.pl-beam::before{content:"";position:absolute;left:0;right:0;top:-34px;height:68px;background:radial-gradient(ellipse 70% 50% at 50% 50%,rgba(232,165,138,.42),rgba(232,165,138,.12) 45%,transparent 72%)}
.pl-beam i{position:absolute;left:0;right:0;top:-1.5px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,transparent,#D49680 8%,#FFF3EC 50%,#D49680 92%,transparent);
  box-shadow:0 0 10px 2px rgba(232,160,135,.95),0 0 32px 8px rgba(201,145,122,.5)}
html.story-open .page-laser{display:none}
@media (prefers-reduced-motion:reduce){.page-laser{display:none}}

/* "Your hair / Your skin" titles: deep wine-mauve with rose-gold lettering so they stand out */
#suitability .col-title{padding:1.05rem 1rem 1rem;background:radial-gradient(ellipse 90% 80% at 80% 0%,rgba(255,236,226,.18),transparent 60%),linear-gradient(165deg,#5E3A42,#3E252B);
  box-shadow:0 0 0 1.5px #E2B39B,0 0 0 5px rgba(251,240,234,.6),0 0 0 6px rgba(185,130,107,.6),0 22px 34px -22px rgba(50,29,35,.8)}
#suitability .col-title b{font-size:1.3rem;font-weight:600;letter-spacing:.26em;background:linear-gradient(120deg,#F7DCCB,#E2A98E 40%,#FBE7DB 60%,#D39A80);-webkit-background-clip:text;background-clip:text;color:transparent}
#suitability .col-title span{color:#EBD6CF;font-size:.85rem;margin-top:.15rem}

/* ===== reviews, second pass: deep rose like the section above, wine-mauve cards, scroll-driven strip ===== */
.reviews{background:radial-gradient(ellipse 55% 45% at 12% 12%,rgba(255,240,233,.5) 0%,transparent 65%),radial-gradient(ellipse 50% 45% at 92% 88%,rgba(138,86,69,.22) 0%,transparent 70%),linear-gradient(180deg,#DCB8AA,#EBD3C9 55%,#DFBDB0)}
.reviews .rev-head .lede{color:#5E4648}
.reviews .rev-eyebrow{color:#6E3F46}
.r-card{color:#F7EBE6;border:0;
  background:radial-gradient(ellipse 90% 60% at 80% 0%,rgba(255,236,226,.2),transparent 60%),linear-gradient(165deg,#5E3A42,#472A31 55%,#321D23);
  box-shadow:0 0 0 1.5px #E2B39B,0 0 0 6px rgba(251,240,234,.5),0 0 0 7px rgba(185,130,107,.6),0 40px 60px -34px rgba(50,29,35,.9)}
.r-quote{color:#FBEFEA}
.r-who{border-top-color:rgba(232,207,193,.25)}
.r-who b{color:#fff}
.r-who small{color:#DCC3BC}
.r-badge{background:rgba(255,255,255,.12);color:#F2D6C6;border:1px solid rgba(232,207,193,.35)}
.r-stars svg{filter:drop-shadow(0 0 4px rgba(242,200,179,.55))}
/* the strip: no scrollbar, it is moved by the page scroll */
.rev-shell{overflow:visible}
.rev-track.rev-auto{overflow:visible;scroll-snap-type:none;width:max-content;padding:40px 0 60px;margin:0;will-change:translate}
.rev-note{color:#5E4648}

/* ===== care, eye-catching pass: dark wine section, glowing glass cards, rose-gold step numbers ===== */
.care{color:#F7EBE6;background:radial-gradient(ellipse 60% 50% at 88% 8%,rgba(232,170,145,.2),transparent 60%),radial-gradient(ellipse 50% 50% at 4% 96%,rgba(185,130,107,.18),transparent 70%),linear-gradient(165deg,#4A2C33,#311C21 60%,#26151A)}
.care h2{color:#FBEFEA}
.care .head .lede{color:#DCC3BC}
.care .tabs{background:rgba(255,255,255,.06);border-color:rgba(232,207,193,.3)}
.care .tabs button{color:#E6D0CA}
.care .tabs button[aria-selected="true"]{color:#3B2A2D}
.care .care-list{counter-reset:step}
.care .care-list li{counter-increment:step;position:relative;overflow:hidden;padding:1.6rem 4.6rem 1.6rem 1.5rem;
  background:linear-gradient(160deg,rgba(255,236,226,.11),rgba(255,236,226,.03));border:1px solid rgba(226,179,155,.35);
  box-shadow:0 30px 50px -34px #000,inset 0 1px 0 rgba(255,236,226,.15)}
.care .care-list li::after{content:counter(step,decimal-leading-zero);position:absolute;right:18px;top:10px;font:italic 500 3.4rem/1 var(--serif);font-variant-numeric:lining-nums;
  background:var(--gold);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.6}
.care .care-list li:hover{box-shadow:0 30px 50px -30px #000,0 0 0 1px #E2B39B,0 0 34px -6px rgba(242,190,165,.5)}
.care .care-list svg{stroke:#F7DCCB;background:radial-gradient(circle at 35% 28%,#A97E82,#6F4A50 45%,#4A2F34);box-shadow:0 0 0 2px #F2D6C6,0 0 0 3.5px #B9826B,0 6px 14px rgba(0,0,0,.4)}
.care .care-list strong{color:#FBEFEA}
.care .care-list span{color:#DCC3BC}

/* ===== faq: numbered questions, the open one turns wine-mauve; a help card on the left ===== */
#faq{background:linear-gradient(180deg,#F6EAE4,#EDD8CE)}
#faq .faq-grid > div:last-child{counter-reset:faq}
#faq details{counter-increment:faq;border-color:rgba(185,130,107,.28)}
#faq summary{justify-content:flex-start;align-items:center;gap:1rem}
#faq summary::before{content:counter(faq,decimal-leading-zero);flex:none;width:2.1rem;font:italic 600 1.25rem var(--serif);font-variant-numeric:lining-nums;
  background:var(--gold);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
#faq summary .pm{margin-left:auto;border-color:rgba(185,130,107,.5)}
#faq details p{padding-left:3.1rem}
#faq details[open]{border-color:#E2B39B;background:radial-gradient(ellipse 90% 70% at 85% 0%,rgba(255,236,226,.18),transparent 60%),linear-gradient(165deg,#5E3A42,#3E252B);
  box-shadow:0 0 0 4px rgba(251,240,234,.7),0 0 0 5px rgba(185,130,107,.5),0 30px 50px -30px rgba(50,29,35,.8)}
#faq details[open] summary{color:#fff}
#faq details[open] p{color:#E6D0CA}
.faq-help{margin-top:1.8rem;max-width:380px;border-radius:24px;padding:1.5rem 1.7rem 1.7rem;color:#F3E5D3;
  background:radial-gradient(ellipse 90% 70% at 85% 0%,rgba(255,236,226,.2),transparent 60%),linear-gradient(165deg,#5E3A42,#3E252B);
  box-shadow:0 0 0 1.5px #E2B39B,0 0 0 5px rgba(251,240,234,.7),0 0 0 6px rgba(185,130,107,.5),0 34px 54px -32px rgba(50,29,35,.8)}
.faq-help .script{color:var(--champagne);font-size:2rem}
.faq-help p{color:#E6D0CA;margin:.3rem 0 1.2rem;font-size:.95rem}

/* ===== booking: CG watermark, what-happens-next steps, form in a rose-gold frame ===== */
.book{position:relative;overflow:hidden;background:radial-gradient(ellipse 50% 60% at 0% 0%,rgba(232,170,145,.2),transparent 60%),radial-gradient(ellipse 45% 50% at 100% 100%,rgba(185,130,107,.28),transparent 70%),linear-gradient(165deg,#5E3A42,#3E252B 55%,#2A171C)}
.book::before{content:"CG";position:absolute;left:-3vw;bottom:-7vw;font:400 clamp(14rem,32vw,28rem)/.8 var(--serif);letter-spacing:-.14em;pointer-events:none;
  background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.08}
.book .wrap{position:relative;z-index:1}
.book .contact-list a:hover .ico{box-shadow:0 0 18px rgba(242,190,165,.6)}
/* language picker in the header */
.nav ul{margin-left:auto}
.lang{position:relative;margin-left:1.4rem}
.lang-btn{display:flex;align-items:center;gap:.45rem;height:38px;padding:0 .85rem;border-radius:999px;border:1px solid rgba(226,179,155,.75);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:.85rem;letter-spacing:.08em;cursor:pointer;transition:background .25s,border-color .25s,color .35s}
.lang-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}
.lang-btn:hover,.lang.open .lang-btn{background:rgba(226,179,155,.2);border-color:#C9917A}
.nav.solid .lang-btn{color:var(--ink-soft);background:rgba(255,255,255,.5)}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:170px;padding:.45rem;border-radius:16px;background:#FBF5F2;border:1px solid rgba(201,145,122,.4);box-shadow:0 18px 40px -16px rgba(74,47,52,.45);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{display:block;width:100%;text-align:left;padding:.55rem .8rem;border:0;border-radius:10px;background:none;font:inherit;font-size:.95rem;color:var(--ink-soft);cursor:pointer}
.lang-menu button:hover{background:rgba(226,179,155,.22)}
.lang-menu button[aria-current="true"]{color:var(--rose-deep);font-weight:500}
.nav .brand,.nav ul a{white-space:nowrap}
/* the script font has no Cyrillic letters, so Russian and Bulgarian use the italic serif */
html:lang(ru) .stage-copy .script,html:lang(bg) .stage-copy .script{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500}
@media (min-width:961px) and (max-width:1200px){.nav ul{gap:1.15rem}.nav ul a{font-size:.9rem}.lang{margin-left:.9rem}}
@media (max-width:960px){.lang{margin-left:auto;margin-right:.6rem;order:2}.nav .menu-btn{order:3}}

/* Facebook / Instagram / WhatsApp buttons under the contact list */
.social-h{margin-top:2rem;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#C9A89B}
.social{display:flex;gap:1.6rem;margin-top:1rem}
.social a{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#F2E2DA;text-decoration:none;font-size:.82rem;letter-spacing:.04em;transition:color .25s,transform .2s}
.social .ico{width:56px;height:56px;transition:box-shadow .25s}
.social .ico svg{width:22px;height:22px}
.social a:hover{color:var(--champagne);transform:translateY(-3px)}
.social a:hover .ico{box-shadow:0 0 20px rgba(242,190,165,.6)}
.next-steps{list-style:none;counter-reset:ns;display:grid;gap:1rem;margin-top:2.2rem;position:relative}
.next-steps::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:1px;background:linear-gradient(180deg,#E2B39B,rgba(226,179,155,.15))}
.next-steps li{counter-increment:ns;position:relative;min-height:44px;padding-left:3.6rem;display:flex;flex-direction:column;justify-content:center}
.next-steps li::before{content:counter(ns);position:absolute;left:0;top:50%;translate:0 -50%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font:italic 600 1.3rem var(--serif);font-variant-numeric:lining-nums;color:#3B2A2D;background:var(--gold);background-size:200% 100%;box-shadow:0 0 0 4px rgba(255,255,255,.08),0 8px 16px -8px #000}
.next-steps b{font-weight:500;color:#FBEFEA}
.next-steps span{font-size:.85rem;color:#DCC3BC}
.book form{border:1.5px solid transparent;background:linear-gradient(#FBF5F2,#FBF5F2) padding-box,linear-gradient(135deg,#F2D6C6,#C9917A 40%,#F7E3D7 60%,#B9826B) border-box;
  box-shadow:0 0 0 6px rgba(255,255,255,.06),0 50px 80px -40px #000}
.book form h3{display:flex;align-items:center;gap:.9rem}
.book form h3::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#C9917A,transparent)}
.book .field label{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:500;color:var(--rose-deep)}
.book .field input,.book .field select,.book .field textarea{border-color:rgba(185,130,107,.32);transition:border-color .2s,box-shadow .2s}
.book .field input:focus,.book .field select:focus,.book .field textarea:focus{border-color:#C9917A;box-shadow:0 0 0 4px rgba(242,200,179,.5)}
.book form .btn{gap:.6rem}
.wa-ico{width:20px;height:20px;fill:currentColor;flex:none}
@media (max-width:640px){.care .care-list li{padding-right:3.8rem}.care .care-list li::after{font-size:2.6rem}.faq-help{max-width:none}.book::before{bottom:-14vw}}

/* ===== faq, attention pass: rose-gold "?" watermark, jewel numbers, hover glow, answers glide open ===== */
#faq{position:relative;overflow:hidden;background:radial-gradient(ellipse 45% 55% at 92% 20%,rgba(201,145,122,.22),transparent 70%),radial-gradient(ellipse 40% 45% at 8% 90%,rgba(255,240,233,.7),transparent 70%),linear-gradient(180deg,#F3E2DA,#E8CFC4)}
#faq::before{content:"?";position:absolute;right:-1vw;top:50%;translate:0 -50%;font:italic 400 clamp(22rem,42vw,40rem)/.8 var(--serif);pointer-events:none;
  background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.13}
#faq .wrap{position:relative;z-index:1}
.faq-eyebrow{justify-content:flex-start;margin-bottom:.9rem}
.faq-eyebrow::after{display:none}
.faq-eyebrow::before{width:42px;background:linear-gradient(90deg,var(--rose),transparent)}
#faq h2 em{font-style:italic;background:linear-gradient(120deg,#B67A61,#8A5645 35%,#C9917A 60%,#7A4A3C);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
/* jewel numbers */
#faq summary::before{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:1.05rem;color:transparent;
  background:linear-gradient(180deg,#FFF8F2,#F2D2BE) text,radial-gradient(circle at 35% 28%,#A97E82 0%,#6F4A50 45%,#4A2F34 100%);
  -webkit-background-clip:text,border-box;background-clip:text,border-box;
  box-shadow:0 0 0 2px #F2D6C6,0 0 0 3.5px #B9826B,0 5px 10px rgba(59,42,45,.35)}
#faq details{box-shadow:0 18px 34px -28px rgba(90,64,67,.55);transition:box-shadow .3s,border-color .3s,translate .3s,background .3s}
#faq details:not([open]):hover{translate:6px 0;border-color:#D9A68F;box-shadow:0 0 0 4px rgba(255,255,255,.6),0 0 0 5px rgba(217,166,143,.6),0 22px 40px -26px rgba(138,86,69,.6)}
#faq details[open] summary::before{box-shadow:0 0 0 2px #F7DCCB,0 0 0 3.5px #C9917A,0 0 16px rgba(242,200,179,.9)}
#faq details p{padding-left:3.9rem}
@media (prefers-reduced-motion:no-preference){#faq details[open] p{animation:faq-open .45s cubic-bezier(.2,.7,.2,1) both}}
@keyframes faq-open{from{opacity:0;translate:0 -8px}}
/* help card: a slow satin shine and a call link */
.faq-help{position:relative;overflow:hidden}
.faq-help::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,240,230,.16) 48%,rgba(255,248,242,.26) 50%,rgba(255,240,230,.16) 52%,transparent 65%);background-size:260% 100%;background-position:100% 0}
@media (prefers-reduced-motion:no-preference){.faq-help::after{animation:satin-shine 5s ease-in-out infinite alternate}}
.faq-help > *{position:relative;z-index:1}
.faq-help-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.2rem}
.faq-call{color:#F2D6C6;font-size:.92rem;text-underline-offset:4px}
.faq-call:hover{color:#fff}
@media (max-width:640px){#faq::before{font-size:18rem;top:20%}#faq details p{padding-left:0}}
/* faq background: the hero photo, softly blurred under a warm blush veil (replaces the "?" watermark) */
#faq::before{content:"";right:auto;top:-40px;left:-40px;bottom:-40px;width:auto;translate:none;inset:-40px;font:inherit;opacity:1;
  background:url(hero-portrait-wide.jpg) 72% 35%/cover no-repeat;-webkit-background-clip:border-box;background-clip:border-box;filter:blur(12px) saturate(1.05)}
#faq::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(246,232,226,.9) 0%,rgba(246,232,226,.78) 38%,rgba(240,222,214,.36) 70%,rgba(236,214,204,.26) 100%),linear-gradient(180deg,rgba(246,232,226,.35),transparent 30%,transparent 75%,rgba(232,207,196,.5))}
@media (max-width:640px){#faq::before{font-size:inherit;top:-40px;background-position:70% 30%}#faq::after{background:rgba(246,232,226,.78)}}

/* faq cards: frosted rose glass instead of white, so the blurred photo shows through */
#faq details:not([open]){background:linear-gradient(135deg,rgba(255,246,241,.52),rgba(246,222,211,.34));border:1px solid rgba(226,179,155,.7);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(201,145,122,.25),0 18px 34px -26px rgba(90,64,67,.6)}
#faq details:not([open]):hover{background:linear-gradient(135deg,rgba(255,248,244,.7),rgba(246,222,211,.5));border-color:#D9A68F}
#faq details:not([open]) summary{color:#3B2A2D}
#faq summary .pm{background:rgba(255,255,255,.35)}

/* faq: a small gold spark travels around the edge of each closed question card */
@property --spark{syntax:"<angle>";inherits:false;initial-value:0deg}
#faq summary{position:relative}
#faq details:not([open]) summary::after{content:"";position:absolute;top:0;bottom:0;left:-1.4rem;right:-1.4rem;border-radius:18px;pointer-events:none;padding:1.5px;
  background:conic-gradient(from var(--spark),transparent 0deg 318deg,rgba(242,200,170,.5) 334deg,#FFE7C2 348deg,#fff 352deg,#F6CF9A 356deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  filter:drop-shadow(0 0 3px rgba(255,214,160,.95)) drop-shadow(0 0 7px rgba(232,170,110,.6))}
@media (prefers-reduced-motion:no-preference){
  #faq details:not([open]) summary::after{animation:faq-spark 4.8s linear infinite}
  #faq details:nth-of-type(2) summary::after{animation-delay:-.8s}
  #faq details:nth-of-type(3) summary::after{animation-delay:-1.6s}
  #faq details:nth-of-type(4) summary::after{animation-delay:-2.4s}
  #faq details:nth-of-type(5) summary::after{animation-delay:-3.2s}
  #faq details:nth-of-type(6) summary::after{animation-delay:-4s}
}
@keyframes faq-spark{to{--spark:360deg}}
@media (max-width:640px){#faq details:not([open]) summary::after{left:-1.1rem;right:-1.1rem}}

/* faq, stronger: deeper wine-rose glass cards so they stand apart from the background, and a bolder gold spark */
#faq details:not([open]){background:linear-gradient(135deg,rgba(122,74,82,.78),rgba(78,46,54,.72));border:1px solid rgba(226,179,155,.75);
  box-shadow:inset 0 1px 0 rgba(255,236,226,.28),inset 0 -1px 0 rgba(0,0,0,.2),0 20px 36px -24px rgba(50,29,35,.75)}
#faq details:not([open]):hover{background:linear-gradient(135deg,rgba(138,86,94,.85),rgba(90,54,62,.8));border-color:#F2D6C6}
#faq details:not([open]) summary{color:#FBEFEA}
#faq summary .pm{background:rgba(255,255,255,.12);border-color:rgba(242,214,198,.6)}
#faq summary .pm::before,#faq summary .pm::after{background:#F7DCCB}
#faq details:not([open]) summary::after{padding:2.5px;
  background:conic-gradient(from var(--spark),transparent 0deg 290deg,rgba(246,207,154,.35) 306deg,rgba(255,220,170,.85) 326deg,#FFF3DC 342deg,#fff 348deg,#FFD38A 354deg,transparent 360deg);
  filter:drop-shadow(0 0 4px rgba(255,214,160,1)) drop-shadow(0 0 10px rgba(240,180,110,.8)) drop-shadow(0 0 18px rgba(232,160,100,.45))}

/* treatment pop-up overview: fill the panel top to bottom (intro, fact tiles, area grid, perks strip) */
#pane-overview:not([hidden]){display:flex;flex-direction:column;min-height:100%}
.ov-stack{flex:1;display:flex;flex-direction:column;gap:1.3rem}
.story .ov-stack .st-intro{margin:0;font-family:var(--serif);font-size:1.35rem;line-height:1.45;max-width:none}
.ov-stack .ov-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.ov-stack .ov-facts li{flex-direction:column;align-items:flex-start;gap:.55rem;padding:1rem 1.1rem;border-radius:18px;
  background:linear-gradient(160deg,#F7E8E1,#F0DCD3);box-shadow:inset 0 0 0 1px rgba(185,130,107,.22)}
.ov-stack .ov-ic{background:radial-gradient(circle at 35% 28%,#A97E82,#6F4A50 45%,#4A2F34);box-shadow:0 0 0 2px #F2D6C6,0 0 0 3.5px #B9826B}
.ov-stack .ov-ic svg{stroke:#F7DCCB}
.ov-stack .ov-right h3{margin-bottom:.8rem}
.ov-stack .area-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem}
.ov-stack .area-card{padding:1rem 1.2rem;border-radius:16px}
.ov-perks{list-style:none;margin-top:auto;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;padding:1rem 1.2rem;border-radius:16px;
  background:linear-gradient(165deg,#5E3A42,#3E252B);color:#F3E2DA;font-size:.88rem;box-shadow:0 0 0 1px rgba(226,179,155,.5)}
.ov-perks li{display:flex;align-items:center;gap:.55rem}
.ov-perks i{width:18px;height:18px;flex:none;border-radius:50%;background:var(--gold);position:relative}
.ov-perks i::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #3B2A2D;border-width:0 1.8px 1.8px 0;rotate:45deg}
@media (max-width:600px){.ov-stack .ov-facts{grid-template-columns:1fr 1fr 1fr;gap:.45rem}.ov-stack .ov-facts li{padding:.75rem .7rem}.story .ov-facts b{font-size:1.1rem}.story .ov-stack .st-intro{font-size:1.15rem}}

/* spread the overview blocks evenly when a treatment has only a few areas */
.ov-stack{justify-content:space-between;gap:1.1rem}
.ov-perks{margin-top:0}

/* overview: tighter area cards so five areas and a long intro still fit without scrolling */
.ov-stack .area-card{padding:.75rem 1rem;gap:.75rem}
.ov-stack .area-card .ap{text-align:right;line-height:1.05}
.ov-stack .area-card .ap small{display:block;font-size:.72rem;margin-top:.15rem}
.story .ov-stack .st-intro{font-size:1.22rem}
.ov-stack .ov-facts li{padding:.85rem 1rem;gap:.45rem}

/* gold buttons: the same small gold spark as the FAQ cards travels around the edge */
.btn-gold,.hw-foot a{position:relative;isolation:isolate}
.btn-gold:not([disabled])::after,.hw-foot a::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;padding:2px;
  background:conic-gradient(from var(--spark),transparent 0deg 290deg,rgba(246,207,154,.35) 306deg,rgba(255,220,170,.85) 326deg,#FFF3DC 342deg,#fff 348deg,#FFD38A 354deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  filter:drop-shadow(0 0 3px rgba(255,214,160,1)) drop-shadow(0 0 8px rgba(240,180,110,.7))}
@media (prefers-reduced-motion:no-preference){
  .btn-gold:not([disabled])::after,.hw-foot a::after{animation:faq-spark 4.2s linear infinite}
  .hero-actions .btn-gold::after{animation-delay:-1.1s}
  .hw-foot a::after{animation-delay:-2.2s}
  #requestPlan::after,.st-book::after{animation-delay:-3s}
  form .btn-gold::after{animation-delay:-1.8s}
}
/* gold buttons: run the spark just outside the edge, thicker and whiter, so it shows against the rose gold */
.btn-gold:not([disabled])::after,.hw-foot a::after{inset:-4px;padding:2.5px;
  background:conic-gradient(from var(--spark),transparent 0deg 285deg,rgba(255,226,190,.4) 302deg,rgba(255,236,205,.9) 324deg,#fff 340deg,#fff 348deg,#FFE0A8 354deg,transparent 360deg);
  filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 7px rgba(255,214,160,.95)) drop-shadow(0 0 14px rgba(240,180,110,.6))}
/* gold buttons on light backgrounds (booking form, light header, treatment pages): a deeper bronze trail with a bright tip */
form .btn-gold:not([disabled])::after,.nav.solid .btn-gold:not([disabled])::after,.t-page .btn-gold:not([disabled])::after{
  background:conic-gradient(from var(--spark),transparent 0deg 280deg,rgba(185,130,107,.35) 298deg,#B9826B 318deg,#8A5645 334deg,#E9B07A 346deg,#FFF1D6 352deg,transparent 360deg);
  filter:drop-shadow(0 0 2px rgba(138,86,69,.7)) drop-shadow(0 0 6px rgba(233,176,122,.8))}
form .btn-gold:not([disabled])::after,.nav.solid .btn-gold:not([disabled])::after,.t-page .btn-gold:not([disabled])::after{padding:3px;inset:-5px;
  background:conic-gradient(from var(--spark),transparent 0deg 276deg,rgba(138,86,69,.4) 296deg,#9E6450 316deg,#7A4A3C 332deg,#D9965F 344deg,#FFE7BE 352deg,transparent 360deg);
  filter:drop-shadow(0 0 2px rgba(122,74,60,.85)) drop-shadow(0 0 8px rgba(217,150,95,.9))}

/* ===== separate pages ===== */
.sub-page main{padding-top:77px}
.sub-page #plan.cali-plan{min-height:calc(100svh - 77px)}
.nav ul a[aria-current="page"]:not(.btn){color:var(--rose-deep)}
/* the gold underline shows only on the first menu page */
.nav ul a[aria-current="page"][href="treatments.html"]:not(.btn){text-decoration:underline;text-decoration-color:#C9917A;text-decoration-thickness:1.5px;text-underline-offset:8px}
.page-h{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.care .page-h{color:#FBEFEA}
#faq .page-h em{font-style:italic;background:linear-gradient(120deg,#B67A61,#8A5645 35%,#C9917A 60%,#7A4A3C);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.cali-panel h1.page-h{font-size:clamp(44px,4.5vw,66px);font-weight:500;line-height:.98;letter-spacing:-.025em;color:#f6eadb}
@media (max-width:899px){.cali-panel h1.page-h{font-size:52px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.page-cta{padding:clamp(70px,9vw,120px) 0}

/* care cards: the same travelling golden line as the gold buttons */
.care .care-list li::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:2.5px;z-index:2;
  background:conic-gradient(from var(--spark),transparent 0deg 285deg,rgba(255,226,190,.4) 302deg,rgba(255,236,205,.9) 324deg,#fff 340deg,#fff 348deg,#FFE0A8 354deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 7px rgba(255,214,160,.9))}
@media (prefers-reduced-motion:no-preference){
  .care .care-list li::before{animation:faq-spark 5s linear infinite}
  .care .care-list li:nth-child(2)::before{animation-delay:-1.25s}
  .care .care-list li:nth-child(3)::before{animation-delay:-2.5s}
  .care .care-list li:nth-child(4)::before{animation-delay:-3.75s}
}

/* treatment pop-up: gold pill tabs */
.story .st-tabs{gap:6px}
.story .st-tabs button{position:relative;border:1px solid transparent;transition:background .3s,color .3s,border-color .3s}
.story .st-tabs button:not([aria-selected="true"]):hover{border-color:rgba(185,130,107,.45);color:var(--rose-deep)}
.story .st-tabs button[aria-selected="true"]{background:var(--gold);background-size:200% 100%;color:var(--ink-soft);text-shadow:0 1px 1px rgba(255,240,230,.45);box-shadow:0 8px 18px -10px rgba(138,86,69,.75)}

/* treatment pop-up overview: grouped and centred, no big gaps; richer tiles and area cards */
.ov-stack{justify-content:center;gap:1.5rem}
.story .ov-stack .st-intro{position:relative;padding-left:1.1rem;font-style:italic;font-size:1.4rem;line-height:1.4;color:var(--ink)}
.story .ov-stack .st-intro::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:2px;border-radius:2px;background:linear-gradient(180deg,#E2B39B,#8A5645)}
.ov-stack .ov-facts li{color:#F7EBE6;border:0;
  background:radial-gradient(ellipse 90% 70% at 85% 0%,rgba(255,236,226,.2),transparent 60%),linear-gradient(165deg,#6A454B,#4A2F34);
  box-shadow:0 0 0 1px rgba(226,179,155,.55),0 16px 28px -20px rgba(50,29,35,.9)}
.story .ov-stack .ov-facts small{color:#F2D6C6}
.story .ov-stack .ov-facts b{color:#fff}
.ov-stack .area-card{background:rgba(255,255,255,.75);border:1px solid rgba(185,130,107,.3);transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.ov-stack .area-card:hover{border-color:#C9917A;transform:translateY(-2px);box-shadow:0 12px 22px -16px rgba(138,86,69,.8)}
.ov-stack .area-card[aria-pressed="true"]{border-color:#E2B39B;background:linear-gradient(165deg,#6A454B,#4A2F34);box-shadow:0 0 0 3px rgba(242,214,198,.6),0 14px 26px -16px rgba(50,29,35,.9)}
.story .ov-stack .area-card[aria-pressed="true"] .an{color:#fff}
.story .ov-stack .area-card[aria-pressed="true"] .ap{color:#F2D6C6}
.story .ov-stack .area-card[aria-pressed="true"] .ap small{color:#E6D0CA}
.ov-stack .area-card[aria-pressed="true"] .tick{background:var(--gold);border-color:transparent}

/* Process tab: dark wine step numbers on a lighter rose-gold disc so they read clearly */
.story .st-steps li.lit .st-n,.story .play .st-steps li .st-n{background:linear-gradient(135deg,#F7DCCB,#E2B39B 45%,#F2D6C6 70%,#C9917A);color:#4A2F34;font-weight:600;font-style:normal;
  font-variant-numeric:lining-nums;text-shadow:0 1px 0 rgba(255,255,255,.55);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #C9917A,0 0 16px rgba(201,145,122,.55)}
.story .st-n{font-variant-numeric:lining-nums;font-weight:600}
.story .st-pane .st-steps li .st-n{background:linear-gradient(135deg,#F7DCCB,#E2B39B 45%,#F2D6C6 70%,#C9917A);color:#4A2F34;font-size:1.35rem;font-weight:700;font-style:normal;
  font-variant-numeric:lining-nums;text-shadow:0 1px 0 rgba(255,255,255,.55);border-color:transparent;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #C9917A,0 0 16px rgba(201,145,122,.5)}
