*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f8f3ee;
  --bg-2:#ead6d8;
  --bg-3:#e4cacc;
  --brass:#86565c;
  --brass-2:#654044;
  --brass-dim:rgba(134,86,92,.48);
  --ivory:#392725;
  --muted:rgba(57,39,37,.66);
  --faint:rgba(57,39,37,.4);
  --line:rgba(57,39,37,.16);
  --line-soft:rgba(57,39,37,.1);
  --paper:#fffaf5;
  --rose:#e6c9cc;
  --ff-d:'Prata',Georgia,serif;
  --ff-b:'Onest',system-ui,sans-serif;
}
html{background:var(--bg);color:var(--ivory);font-family:var(--ff-b);overflow-x:hidden;scroll-behavior:auto!important}
body{overflow-x:hidden;background:var(--bg);font-weight:300;font-size:.9375rem;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
::selection{background:var(--brass);color:#0a0a0a}
body::-webkit-scrollbar{width:10px}
body::-webkit-scrollbar-track{background:#0a0a0a}
body::-webkit-scrollbar-thumb{background:#242019;border-radius:5px}
body::-webkit-scrollbar-thumb:hover{background:var(--brass-2)}
:focus-visible{outline:1px solid var(--brass);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
  html.js:not(.noanim){cursor:none}
  html.js:not(.noanim) a,html.js:not(.noanim) button{cursor:none}
  html.js #bw,html.js #bw *{cursor:auto}
  html.js #bw button,html.js #bw .bw-chip,html.js #bw a{cursor:pointer}
}
/* ─── GRAIN ─── */
#grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:6000;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 7s steps(10) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}10%{transform:translate(-3%,-2%)}30%{transform:translate(2%,-4%)}50%{transform:translate(-4%,3%)}70%{transform:translate(3%,2%)}90%{transform:translate(-2%,4%)}}
/* ─── SCROLL PROGRESS ─── */
#sprog{position:fixed;top:0;left:0;height:1px;width:100%;background:var(--brass);z-index:5000;transform-origin:left;transform:scaleX(0)}
/* ─── CURSOR ─── */
#cur{position:fixed;top:0;left:0;width:9px;height:9px;border-radius:50%;background:var(--brass);border:1px solid transparent;z-index:9999;pointer-events:none;display:grid;place-items:center;opacity:0;transition:width .4s cubic-bezier(.65,0,.35,1),height .4s cubic-bezier(.65,0,.35,1),background-color .3s ease,border-color .3s ease;will-change:transform}
#cur span{font-family:var(--ff-b);font-size:.5rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#0a0a0a;opacity:0;transition:opacity .2s ease;white-space:nowrap}
#cur.c-link{width:44px;height:44px;background:rgba(200,127,148,.08);border-color:var(--brass-dim)}
#cur.c-view{width:82px;height:82px;background:var(--brass);border-color:var(--brass)}
#cur.c-view span{opacity:1;transition-delay:.12s}
body.bw-open #cur{opacity:0!important}
@media(hover:none) and (pointer:coarse){#cur{display:none}}
.noanim #cur{display:none}
/* ─── LOADER ─── */
#loader{position:fixed;inset:0;z-index:8000;display:none;pointer-events:none}
.js #loader{display:flex}
.noanim #loader{display:none!important}
.lp{flex:1;background:var(--bg-2);border-right:1px solid rgba(200,127,148,.07)}
.lp:last-child{border-right:none}
#lw{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:8001;pointer-events:none;font-family:var(--ff-d);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:300;font-style:italic;color:var(--ivory);letter-spacing:.04em;opacity:0}
.lc{display:inline-block}
#lcount{position:fixed;bottom:1.6rem;right:2.5rem;z-index:8001;pointer-events:none;font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(3.5rem,9vw,8rem);color:rgba(200,127,148,.4);line-height:1}
#lline{position:fixed;bottom:2rem;left:2.5rem;z-index:8001;pointer-events:none;font-size:.5625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
/* ─── UTILITY ─── */
.ctr{max-width:1520px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}
.lbl{font-family:var(--ff-b);font-size:.5625rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--brass)}
.sec-h{font-family:var(--ff-d);font-size:max(2.3rem,6.5vw);font-weight:300;font-style:italic;line-height:.94;letter-spacing:-.02em;color:var(--ivory)}
.outline{-webkit-text-stroke:1px rgba(240,234,224,.85);color:transparent;font-style:normal}
.hand{font-family:var(--ff-d);font-style:italic;font-weight:400;color:var(--brass);letter-spacing:0}
.sh{margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.sh .lbl{display:inline-block;margin-bottom:1.5rem}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .09em .14em;margin:-.1em -.09em -.14em}
.ch{display:inline-block}
.mag{display:inline-flex}
.wipe{position:relative;overflow:hidden}
.veil{position:absolute;inset:0;background:var(--brass);transform:scaleX(0);z-index:2;pointer-events:none}
.noanim .veil{display:none}
/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-b);font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:none;transition:color .35s ease,border-color .35s ease;position:relative;overflow:hidden;background:transparent}
.btn::before{content:'';position:absolute;inset:0;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.btn:hover::before{transform:scaleX(1)}
.btn span,.btn svg{position:relative;z-index:1}
.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;flex-shrink:0;transition:transform .35s ease}
.btn:hover svg{transform:translateX(4px)}
.btn-brass{background:var(--brass);color:#0a0a0a;padding:1rem 2.2rem}
.btn-brass::before{background:var(--ivory)}
.btn-ghost{color:var(--ivory);padding:1rem 2.2rem;border:1px solid rgba(240,234,224,.22)}
.btn-ghost::before{background:var(--brass)}
.btn-ghost:hover{color:#0a0a0a;border-color:var(--brass)}
.btn-big{padding:1.5rem 3.4rem;font-size:.75rem;letter-spacing:.26em}
.rl{display:inline-block;position:relative;overflow:hidden;vertical-align:top}
.rl i{font-style:normal;display:block;transition:transform .55s cubic-bezier(.76,0,.24,1)}
.rl i:last-child{position:absolute;left:0;top:100%;width:100%}
.btn:hover .rl i,.nav-book:hover .rl i,.sbar-btn:hover .rl i{transform:translateY(-100%)}
.link-u{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);text-decoration:none;font-weight:500;position:relative;padding-bottom:.35rem}
.link-u::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--brass);transform-origin:right;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.link-u:hover::after{transform:scaleX(0)}
/* ─── NAV ─── */
nav.top{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.4rem clamp(1.5rem,3vw,2.75rem);display:flex;align-items:center;justify-content:space-between;transition:background .5s ease,box-shadow .5s ease,backdrop-filter .5s ease}
nav.top.scrolled{background:rgba(10,10,10,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line-soft)}
.nav-logo{font-family:var(--ff-d);font-size:1.15rem;font-weight:400;font-style:italic;letter-spacing:.05em;color:var(--ivory);text-decoration:none;display:flex;align-items:baseline;gap:.55rem}
.nav-logo em{font-family:var(--ff-b);font-style:normal;font-size:.4375rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.nav-right{display:flex;align-items:center;gap:1.9rem}
.nav-book{font-family:var(--ff-b);font-size:.5625rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);background:transparent;border:1px solid rgba(200,127,148,.4);padding:.7rem 1.3rem;transition:background .35s ease,color .35s ease,border-color .35s ease}
.nav-book:hover{background:var(--brass);color:#0a0a0a;border-color:var(--brass)}
#mtog{background:none;border:none;display:flex;align-items:center;gap:.65rem;font-family:var(--ff-b);font-size:.5625rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory)}
.mlines{display:flex;flex-direction:column;gap:4px}
.ml{width:22px;height:1px;background:currentColor;transition:transform .35s ease,opacity .35s ease;transform-origin:center}
.menu-open .ml:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-open .ml:nth-child(2){opacity:0}
.menu-open .ml:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
nav.top.menu-on{background:transparent;box-shadow:none;backdrop-filter:none}
nav.top.menu-on .nav-book{opacity:0;pointer-events:none}
/* ─── OVERLAY MENU ─── */
#mov{position:fixed;inset:0;background:var(--bg-2);z-index:900;display:flex;flex-direction:column;justify-content:space-between;padding:6.5rem clamp(1.5rem,4vw,3.5rem) 2.5rem;clip-path:inset(0 0 100% 0);pointer-events:none}
#mov.open{pointer-events:all}
.noanim #mov{clip-path:none;display:none}
.noanim #mov.open{display:flex}
.mol{list-style:none;flex:1;display:flex;flex-direction:column;justify-content:center}
.moi{border-top:1px solid var(--line-soft);overflow:hidden}
.moi:last-child{border-bottom:1px solid var(--line-soft)}
.moa{display:flex;align-items:baseline;gap:2.5rem;padding:1.2rem 0;text-decoration:none;color:var(--ivory)}
.mon{font-family:var(--ff-d);font-style:italic;font-size:.75rem;color:var(--brass);flex-shrink:0}
.mot{font-family:var(--ff-d);font-size:clamp(2.2rem,5.5vw,5.5rem);font-weight:300;font-style:italic;letter-spacing:-.01em;display:block;transform:translateY(112%);transition:transform .5s cubic-bezier(.65,0,.35,1),color .4s ease,letter-spacing .4s ease}
.noanim .mot{transform:none}
.moa:hover .mot{color:var(--brass);letter-spacing:.02em}
.mov-foot{margin-top:2.5rem;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem}
.mov-contact{display:flex;gap:2.5rem;flex-wrap:wrap}
.mov-c{font-family:var(--ff-b);font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s}
.mov-c:hover{color:var(--brass)}
/* ─── STICKY BOOKING BAR ─── */
#sbar{position:fixed;left:0;right:0;bottom:0;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.65rem clamp(1.25rem,3vw,2.75rem);background:rgba(12,11,9,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);transform:translateY(110%);visibility:hidden;transition:transform .65s cubic-bezier(.65,0,.35,1),visibility .65s}
#sbar.on{transform:translateY(0);visibility:visible}
body.bw-open #sbar{transform:translateY(110%)}
.sbar-brand{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:1rem;color:var(--ivory);display:flex;align-items:baseline;gap:.9rem;min-width:0}
.sbar-brand em{font-family:var(--ff-b);font-style:normal;font-size:.4375rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbar-btn{padding:.7rem 1.6rem;flex-shrink:0}
/* ─── HERO ─── */
#hero{min-height:100svh;position:relative;overflow:hidden;display:flex;background:var(--rose)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg-img{position:absolute;left:33%;right:33%;top:12%;width:auto;height:69%;object-fit:cover;object-position:center 30%;filter:saturate(.72) sepia(.06) contrast(.94);will-change:transform;box-shadow:0 30px 80px rgba(75,43,43,.2);border:1px solid rgba(255,250,245,.45)}
.hero-scrim{position:absolute;inset:0}
.hero-scrim::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(230,201,204,.96) 0%,rgba(230,201,204,.24) 30%,rgba(230,201,204,.12) 70%,rgba(230,201,204,.94) 100%)}
.hero-scrim::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(230,201,204,.98) 0%,rgba(230,201,204,.12) 44%,transparent 70%),linear-gradient(to bottom,rgba(230,201,204,.55) 0%,transparent 24%)}
.hero-glow{position:absolute;top:0;left:0;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(255,250,245,.36) 0%,rgba(255,250,245,.08) 42%,transparent 68%);mix-blend-mode:screen;opacity:0;pointer-events:none}
.hero-frame{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:7.5rem clamp(1.5rem,4vw,3.5rem) clamp(2.5rem,6vh,4.5rem);max-width:1520px;margin:0 auto;width:100%}
.h-label{display:inline-flex;align-items:center}
.hero-bottom{display:flex;flex-direction:column;gap:clamp(2rem,4.5vh,3.5rem)}
.hh{font-family:var(--ff-d);font-weight:300;font-style:normal;line-height:.79;letter-spacing:-.055em;font-size:max(3.6rem,10.2vw);color:var(--ivory);text-shadow:none;text-transform:uppercase}
.hh-row{display:block}
.hh-row-2{margin-left:clamp(1.25rem,4vw,5rem)}
.hh-row-2 .outline{-webkit-text-stroke:1.2px rgba(57,39,37,.68)}
.hh-row-3{margin-left:clamp(2.5rem,8vw,10rem)}
.hero-low{display:flex;align-items:flex-end;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}
.hs{font-size:.82rem;font-weight:400;line-height:1.8;color:var(--muted);max-width:47ch;letter-spacing:.015em}
.h-actions{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}
.hero-side{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-lr;font-size:.5rem;letter-spacing:.34em;text-transform:uppercase;color:var(--faint);z-index:3}
@keyframes spinb{to{transform:rotate(360deg)}}
/* ─── MARQUEE ─── */
.ticker{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:1.9rem 0;overflow:hidden;position:relative;background:var(--bg)}
.ticker-track{display:flex;align-items:center;gap:3.75rem;width:max-content;will-change:transform}
.ticker-item{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(1.6rem,3vw,2.8rem);color:var(--ivory);white-space:nowrap;flex-shrink:0}
.ticker-item.alt{-webkit-text-stroke:1px rgba(240,234,224,.4);color:transparent;font-style:normal}
.ticker-dot{color:var(--brass);font-size:.65rem;flex-shrink:0}
/* ─── STATS ─── */
#stats{border-bottom:1px solid var(--line-soft)}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);max-width:1520px;margin:0 auto}
.stat-item{padding:clamp(2.5rem,4vw,4rem) clamp(1.5rem,2.5vw,2.75rem);border-right:1px solid var(--line-soft);position:relative}
.stat-item:last-child{border-right:none}
.stat-item::before{content:attr(data-i);position:absolute;top:1.3rem;right:1.5rem;font-family:var(--ff-d);font-style:italic;font-size:.8rem;color:rgba(200,127,148,.45)}
.stat-num{font-family:var(--ff-d);font-size:clamp(3rem,5.8vw,6rem);font-weight:300;font-style:italic;color:var(--ivory);line-height:.95;margin-bottom:.85rem;letter-spacing:-.02em}
.stat-lbl{font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.stat-bar{height:1px;background:var(--line-soft);margin-top:1.5rem;position:relative;overflow:hidden}
.stat-bar i{position:absolute;inset:0;background:var(--brass);transform:scaleX(0);transform-origin:left}
.noanim .stat-bar i{transform:scaleX(1)}
/* ─── ABOUT ─── */
#about{padding:clamp(6rem,11vw,10rem) 0;position:relative;overflow:hidden}
#about-big{position:absolute;top:2rem;left:-1rem;font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(6rem,16vw,17rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(240,234,224,.05);white-space:nowrap;pointer-events:none;user-select:none}
.about-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2.5rem,7vw,8rem);align-items:start;position:relative}
.about-media{position:sticky;top:6.5rem;min-height:520px}
.aimg-1-w{width:74%;aspect-ratio:3/4;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.aimg-1{width:100%;height:115%;margin-top:-7.5%;object-fit:cover;filter:saturate(.85)}
.aimg-2-w{position:absolute;bottom:-2.5rem;right:0;width:46%;aspect-ratio:4/5;border:1px solid rgba(200,127,148,.25);box-shadow:0 24px 60px rgba(0,0,0,.55)}
.aimg-2{width:100%;height:115%;margin-top:-7.5%;object-fit:cover;filter:saturate(.85)}
.aimg-stamp{position:absolute;top:-2rem;right:14%;width:96px;height:96px;z-index:3}
.aimg-stamp svg{width:100%;height:100%;animation:spinb 20s linear infinite}
.about-txt{padding-top:1rem}
.about-txt .lbl{display:inline-block;margin-bottom:1.75rem}
.about-h{font-family:var(--ff-d);font-size:max(2.3rem,6vw);font-weight:300;font-style:italic;line-height:.95;letter-spacing:-.02em;margin-bottom:2.5rem;color:var(--ivory)}
.about-p{font-size:.9rem;font-weight:300;line-height:1.85;color:var(--muted);max-width:46ch;margin-bottom:1.5rem}
.about-quote{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(1.5rem,2.4vw,2.15rem);line-height:1.4;color:var(--ivory);border-left:1px solid var(--brass);padding-left:1.9rem;margin:2.75rem 0;max-width:36ch}
.about-sign{display:flex;align-items:center;gap:1.25rem;margin-top:2.75rem}
.about-sign-img{width:52px;height:52px;border-radius:50%;object-fit:cover;filter:saturate(.8)}
.about-sign-name{font-family:var(--ff-d);font-style:italic;font-size:1.35rem;font-weight:300;color:var(--ivory);line-height:1}
.about-sign-role{font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.45rem}
/* ─── SERVICES HORIZONTAL ─── */
#services{position:relative;background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
#sv-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
#sv-track{display:flex;height:100%;align-items:stretch;will-change:transform}
.noanim #sv-sticky{position:static;height:auto}
.noanim #sv-track{overflow-x:auto;height:82vh}
.sp-intro{min-width:36vw;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(2rem,4vw,4.5rem);border-right:1px solid var(--line-soft);flex-shrink:0}
.sp-intro .lbl{display:inline-block;margin-bottom:1.75rem}
.sp-intro h2{font-family:var(--ff-d);font-size:clamp(2.4rem,4.6vw,5.2rem);font-weight:300;font-style:italic;line-height:.94;color:var(--ivory);margin-bottom:1.75rem}
.sp-intro p{font-size:.875rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:32ch}
.sp-hint{margin-top:3rem;display:flex;align-items:center;gap:.85rem;font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.sp-hint-arr{color:var(--brass);font-size:.85rem;display:inline-block;animation:hintbob 1.8s ease-in-out infinite}
@keyframes hintbob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
.sp{min-width:42vw;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(2rem,3.5vw,4rem) clamp(3rem,7vh,4.5rem);border-right:1px solid var(--line-soft);flex-shrink:0;position:relative}
.sp-big{position:absolute;top:8vh;right:2.5rem;font-family:var(--ff-d);font-style:italic;font-size:clamp(5rem,10vw,10rem);font-weight:300;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(200,127,148,.2);pointer-events:none}
.sp-n{font-size:.5625rem;letter-spacing:.3em;color:var(--brass);margin-bottom:1.4rem;font-weight:500;text-transform:uppercase}
.sp-nm{font-family:var(--ff-d);font-size:clamp(2.2rem,4.6vw,4.8rem);font-weight:300;font-style:italic;line-height:.92;letter-spacing:-.02em;margin-bottom:1.6rem;color:var(--ivory)}
.sp-d{font-size:.875rem;font-weight:300;line-height:1.72;color:var(--muted);max-width:32ch;margin-bottom:1.9rem}
.sp-pr{font-size:.5625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:1.2rem;display:flex;justify-content:space-between;margin-bottom:1.75rem}
.sp-pr span:last-child{color:var(--brass)}
.sp-img-col{min-width:30vw;height:100%;flex-shrink:0;position:relative;border-right:1px solid var(--line-soft)}
.sp-img-col .wipe{position:absolute;inset:0;overflow:hidden}
.sp-img-col img{position:absolute;inset:0;width:112%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.9)}
.sp-img-cap{position:absolute;bottom:1.6rem;left:1.9rem;z-index:3;font-family:var(--ff-d);font-style:italic;font-size:1.05rem;color:var(--ivory);text-shadow:0 2px 16px rgba(0,0,0,.7)}
.sv-end{min-width:8vw;flex-shrink:0}
.sv-prog{position:absolute;bottom:2rem;left:clamp(2rem,4vw,4.5rem);right:clamp(2rem,4vw,4.5rem);height:1px;background:var(--line);z-index:5}
.sv-prog i{position:absolute;inset:0;background:var(--brass);transform:scaleX(0);transform-origin:left}
.noanim .sv-prog{display:none}
/* ─── BEFORE / AFTER ─── */
#ba{padding:clamp(6rem,11vw,10rem) 0;position:relative;overflow:hidden}
.ba-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3.5rem;flex-wrap:wrap}
.ba-head p{font-size:.875rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:36ch}
.ba-wrap{position:relative;max-width:980px;margin:0 auto;aspect-ratio:16/10;overflow:hidden;user-select:none;touch-action:pan-y;box-shadow:0 40px 100px rgba(0,0,0,.55);border:1px solid var(--line-soft)}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-before{filter:saturate(.4) contrast(.9) brightness(.82)}
.ba-after-clip{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 0 50%);pointer-events:none}
.ba-divider{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--brass);z-index:3;pointer-events:none;box-shadow:0 0 24px rgba(200,127,148,.5)}
.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--brass);z-index:4;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.5);pointer-events:none}
.ba-handle svg{width:26px;height:14px;stroke:#0a0a0a;fill:none;stroke-width:1.6}
.ba-tag{position:absolute;top:1.4rem;font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;padding:.55rem 1rem;z-index:3;pointer-events:none}
.ba-tag.l{left:1.4rem;background:rgba(10,10,10,.75);color:var(--ivory)}
.ba-tag.r{right:1.4rem;background:var(--brass);color:#0a0a0a}
.ba-note{text-align:center;margin-top:1.9rem;font-family:var(--ff-d);font-style:italic;font-size:1.05rem;color:var(--muted)}
/* ─── PROCESS ─── */
#process{padding:clamp(6rem,11vw,10rem) 0;border-top:1px solid var(--line-soft)}
.proc-grid{display:grid;grid-template-columns:38% 62%;gap:clamp(2.5rem,5vw,5rem);align-items:start}
.proc-left{position:sticky;top:7rem}
.proc-left p{font-size:.875rem;font-weight:300;line-height:1.8;color:var(--muted);max-width:32ch}
.proc-list{position:relative;padding-left:clamp(1.75rem,3vw,2.75rem)}
.proc-spine{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line)}
.proc-spine i{position:absolute;inset:0;background:var(--brass);transform:scaleY(0);transform-origin:top}
.noanim .proc-spine i{transform:scaleY(1)}
.proc-item{display:grid;grid-template-columns:96px 1fr auto;gap:clamp(1.25rem,2.5vw,2.5rem);align-items:baseline;padding:2.6rem 0;border-bottom:1px solid var(--line-soft);position:relative}
.proc-item:first-child{border-top:1px solid var(--line-soft)}
.proc-num{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:2.9rem;color:transparent;-webkit-text-stroke:1px rgba(200,127,148,.45);line-height:1;transition:color .5s ease}
.proc-item.active .proc-num{color:var(--brass);-webkit-text-stroke:1px var(--brass)}
.proc-body h3{font-family:var(--ff-d);font-size:1.7rem;font-weight:300;font-style:italic;margin-bottom:.8rem;color:var(--muted);transition:color .5s ease}
.proc-item.active .proc-body h3{color:var(--ivory)}
.proc-body p{font-size:.8125rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:48ch}
.proc-time{font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);white-space:nowrap;transition:color .5s ease}
.proc-item.active .proc-time{color:var(--brass)}
/* ─── MID CTA ─── */
#mid-cta{background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:clamp(6rem,10vw,9rem) 0;position:relative;overflow:hidden}
.mid-marq{position:absolute;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(6rem,14vw,14rem);color:transparent;-webkit-text-stroke:1px rgba(240,234,224,.06);pointer-events:none;will-change:transform}
.mid-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;position:relative;z-index:2}
.mid-cta-h{font-family:var(--ff-d);font-size:max(2.3rem,6vw);font-weight:300;font-style:italic;line-height:.95;color:var(--ivory);max-width:18ch}
.mid-cta-right{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
.mid-cta-sub{font-size:.875rem;font-weight:300;color:var(--muted);max-width:30ch;line-height:1.7}
/* ─── TREATMENTS INDEX ─── */
#treatments{padding:clamp(6rem,11vw,10rem) 0;position:relative;overflow:hidden}
.tr-bgs{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.tr-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity .7s ease,transform 2.4s cubic-bezier(.2,.6,.2,1);filter:brightness(.42) saturate(.75)}
.tr-bg.on{opacity:.55;transform:scale(1)}
.tr-shade{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,10,10,.88) 0%,rgba(10,10,10,.55) 60%,rgba(10,10,10,.75) 100%)}
#treatments .ctr{position:relative;z-index:2}
.tr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.tr-head-note{font-family:var(--ff-d);font-style:italic;font-size:1.1rem;color:var(--muted);max-width:22ch;line-height:1.3;padding-bottom:.5rem}
.tr-list{border-top:1px solid var(--line)}
.tr-row{border-bottom:1px solid var(--line)}
.tr-headr{width:100%;display:grid;grid-template-columns:clamp(56px,7vw,96px) 1fr auto;column-gap:clamp(1rem,2.5vw,2.5rem);align-items:center;padding:clamp(1.6rem,2.8vw,2.4rem) 0;background:none;border:none;text-align:left;font-family:var(--ff-b);transition:padding-left .45s cubic-bezier(.65,0,.35,1)}
.tr-row:hover .tr-headr,.tr-row.open .tr-headr{padding-left:1rem}
.tr-num{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(1.1rem,1.8vw,1.6rem);color:transparent;-webkit-text-stroke:1px rgba(200,127,148,.5);transition:color .4s ease}
.tr-row:hover .tr-num,.tr-row.open .tr-num{color:var(--brass);-webkit-text-stroke:1px var(--brass)}
.tr-ttl{display:flex;align-items:baseline;gap:1.25rem;flex-wrap:wrap;min-width:0}
.tr-nm{font-family:var(--ff-d);font-size:clamp(1.7rem,3.6vw,3.6rem);font-weight:300;font-style:italic;line-height:1;letter-spacing:-.02em;color:var(--ivory);transition:color .4s ease}
.tr-row:hover .tr-nm,.tr-row.open .tr-nm{color:var(--brass)}
.tr-tag{font-size:.4375rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(200,127,148,.35);padding:.35rem .7rem;white-space:nowrap}
.tr-plus{width:20px;height:20px;position:relative;flex-shrink:0;justify-self:end}
.tr-plus::before,.tr-plus::after{content:'';position:absolute;background:var(--brass);top:50%;left:0;right:0;height:1px;transform:translateY(-50%);transition:transform .45s ease,opacity .45s ease}
.tr-plus::after{transform:translateY(-50%) rotate(90deg)}
.tr-row.open .tr-plus::after{transform:translateY(-50%) rotate(0deg);opacity:0}
.tr-body{height:0;overflow:hidden}
.tr-body-in{display:flex;align-items:flex-end;justify-content:space-between;gap:2.5rem;flex-wrap:wrap;padding:0 0 clamp(1.8rem,3vw,2.6rem) clamp(56px,7vw,96px)}
.tr-d{font-size:.875rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:52ch}
.tr-foot{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.tr-pr{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(200,127,148,.35);padding:.6rem 1.1rem;white-space:nowrap}
.tr-link{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.5rem;transition:color .3s ease,gap .3s ease}
.tr-link:hover{color:var(--brass);gap:.8rem}
.tr-link svg{width:12px;height:12px;stroke:currentColor;fill:none}
/* ─── TEAM ─── */
#team{padding:clamp(6rem,11vw,10rem) 0;position:relative;overflow:hidden;border-top:1px solid var(--line-soft)}
#team-big{position:absolute;bottom:1rem;right:-2rem;font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(5rem,14vw,15rem);color:transparent;-webkit-text-stroke:1px rgba(240,234,224,.05);white-space:nowrap;pointer-events:none}
.team-wrap{display:grid;grid-template-columns:1fr minmax(300px,420px);gap:clamp(2.5rem,6vw,6.5rem);align-items:start;position:relative;z-index:2}
.team-list{border-top:1px solid var(--line)}
.tm-row{width:100%;display:grid;grid-template-columns:56px 1fr auto;column-gap:1.5rem;align-items:baseline;padding:2rem 0;border:none;border-bottom:1px solid var(--line);background:none;text-align:left;font-family:var(--ff-b);transition:padding-left .45s cubic-bezier(.65,0,.35,1)}
.tm-row:hover,.tm-row.active{padding-left:1rem}
.tm-idx{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:.95rem;color:transparent;-webkit-text-stroke:1px rgba(200,127,148,.5);transition:color .35s}
.tm-row.active .tm-idx{color:var(--brass);-webkit-text-stroke:1px var(--brass)}
.tm-name{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.05;color:var(--muted);transition:color .4s;display:block}
.tm-row:hover .tm-name,.tm-row.active .tm-name{color:var(--ivory)}
.tm-role{grid-column:2;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-top:.65rem}
.tm-exp{font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);white-space:nowrap}
.team-photo-col{position:sticky;top:7rem}
.team-photos{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg-3);border:1px solid var(--line-soft)}
.tm-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .6s ease,transform 1.2s cubic-bezier(.2,.6,.2,1);filter:saturate(.85)}
.tm-ph.active{opacity:1;transform:scale(1)}
.tm-bio{font-size:.8125rem;font-weight:300;line-height:1.8;color:var(--muted);margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--line);min-height:6em}
/* ─── GALLERY ─── */
#gallery{padding:clamp(6rem,11vw,10rem) 0;border-top:1px solid var(--line-soft)}
.gal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.gal-count{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:1rem;color:var(--brass);padding-bottom:.5rem}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:10px}
.gi{overflow:hidden;position:relative}
.gi:nth-child(1){grid-row:span 2}
.gi:nth-child(3){grid-row:span 2}
.gi:nth-child(5){grid-column:span 2}
.gimg{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.88);transition:transform 1.2s cubic-bezier(.2,.6,.2,1),filter .7s ease}
.gi:hover .gimg{transform:scale(1.05);filter:saturate(1) brightness(1)}
.gi-cap{position:absolute;left:1.2rem;bottom:1.1rem;z-index:2;font-family:var(--ff-d);font-style:italic;font-size:1.05rem;color:var(--ivory);text-shadow:0 2px 14px rgba(0,0,0,.65);opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}
.gi:hover .gi-cap{opacity:1;transform:translateY(0)}
.gi::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.5),transparent 42%);opacity:0;transition:opacity .45s ease;pointer-events:none}
.gi:hover::after{opacity:1}
/* ─── PRICING ─── */
#pricing{background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:clamp(6rem,11vw,10rem) 0}
.pr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.pr-head p{font-size:.8125rem;font-weight:300;color:var(--muted);max-width:34ch;line-height:1.75;padding-bottom:.5rem}
.pr-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6.5rem)}
.pr-group-t{display:flex;align-items:baseline;gap:1.1rem;font-size:.5625rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.pr-gnum{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:2.4rem;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(200,127,148,.45);letter-spacing:0}
.pr-group+.pr-group{margin-top:3.5rem}
.pr-row{display:flex;align-items:baseline;gap:1rem;padding:1.15rem 0;text-decoration:none;color:inherit;border-bottom:1px solid var(--line-soft);transition:padding-left .4s cubic-bezier(.65,0,.35,1)}
.pr-row:hover{padding-left:1rem}
.pr-row-nm{font-family:var(--ff-d);font-size:clamp(1.15rem,1.6vw,1.45rem);font-weight:300;font-style:italic;white-space:nowrap;color:var(--muted);transition:color .35s}
.pr-row:hover .pr-row-nm{color:var(--ivory)}
.pr-dots{flex:1;border-bottom:1px dotted rgba(240,234,224,.22);transform:translateY(-5px)}
.pr-val{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:1.05rem;letter-spacing:.02em;color:var(--muted);white-space:nowrap;transition:color .3s}
.pr-row:hover .pr-val{color:var(--brass)}
.pr-row::after{content:'→';font-family:var(--ff-b);font-size:.85rem;color:var(--brass);opacity:0;transform:translateX(-10px);transition:opacity .35s ease,transform .35s ease}
.pr-row:hover::after{opacity:1;transform:translateX(0)}
.pr-note{margin-top:3.5rem;display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.pr-note p{font-size:.6875rem;color:var(--muted);line-height:1.7;max-width:44ch}
/* ─── TESTIMONIALS ─── */
#testimonials{padding:clamp(6rem,11vw,10rem) 0;overflow:hidden}
.test-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.test-ctrl{display:flex;gap:.6rem;padding-bottom:.5rem}
.ts-btn{width:46px;height:46px;border:1px solid var(--line);background:none;display:flex;align-items:center;justify-content:center;transition:background .35s,border-color .35s}
.ts-btn:hover{background:var(--brass);border-color:var(--brass)}
.ts-btn svg{width:15px;height:15px;stroke:var(--ivory);fill:none;stroke-width:1.5;transition:stroke .35s}
.ts-btn:hover svg{stroke:#0a0a0a}
.test-drag{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;user-select:none}
.test-drag::-webkit-scrollbar{display:none}
.test-track{display:flex;gap:1.25rem;width:max-content;padding-bottom:.5rem}
.ts-card{width:min(560px,80vw);flex-shrink:0;border:1px solid var(--line);padding:clamp(1.75rem,3vw,2.75rem);display:flex;flex-direction:column;background:rgba(240,234,224,.015)}
.ts-card img{-webkit-user-drag:none;user-select:none}
.ts-stars{color:var(--brass);font-size:.7rem;letter-spacing:.34em;margin-bottom:1.5rem}
.ts-q{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(1.2rem,1.75vw,1.65rem);line-height:1.5;color:var(--ivory);margin-bottom:2rem;flex:1}
.test-author{display:flex;align-items:center;gap:1rem}
.test-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:saturate(.7);flex-shrink:0}
.test-name{font-size:.5625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory)}
.test-since{font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:.3rem}
.test-proc{font-family:var(--ff-d);font-style:italic;font-size:1rem;color:var(--brass);margin-left:auto}
.test-foot{display:flex;align-items:center;gap:1.75rem;margin-top:2.25rem}
.ts-progress{flex:1;height:1px;background:var(--line);position:relative;overflow:hidden}
.ts-progress i{position:absolute;inset:0;background:var(--brass);transform:scaleX(0);transform-origin:left;display:block}
.ts-count{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:.9rem;color:var(--muted);white-space:nowrap}
/* ─── FAQ ─── */
#faq{padding:clamp(6rem,11vw,10rem) 0;border-top:1px solid var(--line-soft)}
.faq-grid{display:grid;grid-template-columns:36% 64%;gap:clamp(2.5rem,5vw,5rem);align-items:start}
.faq-side{position:sticky;top:7rem}
.faq-side p{font-size:.8125rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:28ch;margin-bottom:2rem}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.7rem 0;background:none;border:none;text-align:left;font-family:var(--ff-d);font-size:1.25rem;font-weight:300;font-style:italic;color:var(--ivory);gap:1.25rem;transition:padding-left .4s cubic-bezier(.65,0,.35,1),color .35s ease}
.faq-item:hover .faq-q{padding-left:.8rem;color:var(--brass)}
.faq-q-icon{width:20px;height:20px;flex-shrink:0;position:relative}
.faq-q-icon::before,.faq-q-icon::after{content:'';position:absolute;background:var(--brass);top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}
.faq-q-icon::after{transform:translateY(-50%) rotate(90deg);transition:transform .45s ease,opacity .45s ease}
.faq-item.open .faq-q-icon::after{transform:translateY(-50%) rotate(0deg);opacity:0}
.faq-a{height:0;overflow:hidden}
.faq-a-inner{font-size:.875rem;font-weight:300;line-height:1.8;color:var(--muted);padding-bottom:1.9rem;max-width:58ch}
/* ─── CONTACT ─── */
#contact{background:var(--bg-2);border-top:1px solid var(--line-soft);padding:clamp(6rem,11vw,10rem) 0 clamp(5rem,9vw,8rem);position:relative;overflow:hidden}
#contact-big{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(8rem,22vw,24rem);color:transparent;-webkit-text-stroke:1px rgba(240,234,224,.04);white-space:nowrap;pointer-events:none}
.contact-grid{display:grid;grid-template-columns:38% 62%;gap:clamp(3rem,5vw,5rem);align-items:end;position:relative;z-index:2}
.contact-meta .lbl{display:inline-block;margin-bottom:2rem}
.contact-addr{font-size:.875rem;font-weight:300;line-height:1.9;color:var(--muted)}
.contact-hours{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
.contact-hours-lbl{font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-bottom:.9rem}
.contact-hours-row{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:300;color:var(--muted);padding:.4rem 0;max-width:270px}
.contact-hours-row.off span:last-child{color:var(--brass);font-family:var(--ff-d);font-style:italic}
.a-note{width:clamp(120px,11vw,160px);background:#121110;border:1px solid rgba(200,127,148,.28);padding:.45rem .45rem 1.9rem;transform:rotate(-3.5deg);box-shadow:0 20px 50px rgba(0,0,0,.5);position:relative;margin-top:2.5rem}
.a-note img{width:100%;aspect-ratio:1;object-fit:cover;filter:saturate(.8)}
.a-note span{font-family:var(--ff-d);font-style:italic;font-size:.8rem;color:var(--brass);position:absolute;bottom:.45rem;left:0;right:0;text-align:center}
.contact-cta .eyebrow{font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);margin-bottom:2.5rem}
.contact-h{font-family:var(--ff-d);font-size:max(2.6rem,7vw);font-weight:300;font-style:italic;line-height:.9;letter-spacing:-.025em;margin-bottom:2.75rem;color:var(--ivory)}
.contact-h .hand{font-size:.6em;vertical-align:middle}
.contact-link{display:block;font-size:.875rem;font-weight:300;color:var(--muted);text-decoration:none;letter-spacing:.03em;margin-top:.55rem;transition:color .3s,padding-left .3s}
.contact-link:hover{color:var(--brass);padding-left:.4rem}
.contact-link:first-of-type{margin-top:2.25rem}
/* ─── FOOTER ─── */
footer{border-top:1px solid var(--line-soft);padding:clamp(4rem,7vw,6.5rem) clamp(1.5rem,4vw,3.5rem) 2rem;overflow:hidden;background:var(--bg);position:relative}
.ft-word{font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(5rem,17.5vw,17.5rem);line-height:.85;color:transparent;-webkit-text-stroke:1px rgba(200,127,148,.22);text-align:center;user-select:none;white-space:nowrap}
.ft-word .w{padding:.02em .12em .16em;margin:-.02em -.12em -.16em}
.ft-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.4rem 0;margin:clamp(2.5rem,5vw,4.5rem) 0 2.5rem}
.ft-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.ft-logo{font-family:var(--ff-d);font-size:.9rem;font-weight:300;font-style:italic;letter-spacing:.05em;color:var(--muted)}
.ft-links{display:flex;gap:2.25rem;list-style:none}
.ft-links a{font-size:.4375rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);text-decoration:none;position:relative;padding-bottom:.35rem;transition:color .3s}
.ft-links a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.ft-links a:hover{color:var(--brass)}
.ft-links a:hover::after{transform:scaleX(1);transform-origin:left}
.ft-copy{font-size:.4375rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
/* ─── LIGHTBOX ─── */
#lb{position:fixed;inset:0;z-index:7500;background:rgba(8,8,8,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}
#lb.open{opacity:1;pointer-events:all}
#lb figure{margin:0}
#lb img{max-width:86vw;max-height:76vh;object-fit:contain;border:1px solid var(--line-soft)}
#lb figcaption{font-family:var(--ff-d);font-style:italic;font-size:1.05rem;color:var(--brass);text-align:center;margin-top:1.2rem}
.lb-x{position:absolute;background:none;border:1px solid rgba(240,234,224,.3);color:var(--ivory);width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;transition:border-color .3s,color .3s}
.lb-x:hover{border-color:var(--brass);color:var(--brass)}
#lb-close{top:1.5rem;right:1.5rem}
#lb-prev{left:1.5rem;top:50%;transform:translateY(-50%)}
#lb-next{right:1.5rem;top:50%;transform:translateY(-50%)}
#lb-count{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);font-size:.5625rem;letter-spacing:.26em;color:var(--muted)}
/* ─── BOOKING WIDGET ─── */
#bw{position:fixed;inset:0;z-index:7600;pointer-events:none}
#bw.open{pointer-events:all}
#bw-overlay{position:absolute;inset:0;background:rgba(5,5,5,.6);opacity:0;transition:opacity .45s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#bw.open #bw-overlay{opacity:1}
#bw-panel{position:absolute;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--bg-2);border-left:1px solid rgba(200,127,148,.2);transform:translateX(100%);transition:transform .55s cubic-bezier(.76,0,.24,1);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}
#bw.open #bw-panel{transform:translateX(0)}
.bw-head{padding:1.75rem 1.75rem 1.25rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--bg-2);z-index:2}
.bw-title{font-family:var(--ff-d);font-size:1.6rem;font-weight:300;font-style:italic;color:var(--ivory)}
#bw-close{background:none;border:1px solid var(--line);width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1rem;line-height:1;transition:border-color .25s,color .25s;flex-shrink:0}
#bw-close:hover{border-color:var(--brass);color:var(--brass)}
.bw-body{padding:1.75rem;flex:1;display:flex;flex-direction:column}
.bw-sub{font-size:.8125rem;font-weight:300;color:var(--muted);line-height:1.75;margin-bottom:1.75rem;padding-bottom:1.75rem;border-bottom:1px solid var(--line)}
.bw-form{display:flex;flex-direction:column;gap:1.15rem}
.bw-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.bw-field{display:flex;flex-direction:column;gap:.4rem}
.bw-field label{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500}
.bw-field input,.bw-field textarea,.bw-field select{font-family:var(--ff-b);font-size:.9375rem;font-weight:300;color:var(--ivory);background:#141210;border:1px solid rgba(240,234,224,.14);padding:.85rem 1rem;outline:none;transition:border-color .25s ease,box-shadow .25s ease;-webkit-appearance:none;appearance:none;border-radius:0;width:100%;color-scheme:dark}
.bw-field input::placeholder,.bw-field textarea::placeholder{color:rgba(240,234,224,.28)}
.bw-field input:focus,.bw-field textarea:focus,.bw-field select:focus{border-color:var(--brass);box-shadow:0 0 0 3px rgba(200,127,148,.12)}
.bw-field textarea{min-height:90px;resize:none}
.bw-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23c9a96e' fill='none' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}
.bw-err{font-size:.6875rem;color:#c96e6e;margin-top:.2rem;display:none}
.bw-field.invalid .bw-err{display:block}
.bw-field.invalid input,.bw-field.invalid textarea{border-color:#c96e6e}
.bw-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}
.bw-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border:1px solid rgba(240,234,224,.16);cursor:pointer;font-size:.75rem;font-weight:300;color:var(--muted);transition:border-color .2s,color .2s,background .2s;background:transparent;user-select:none;-webkit-tap-highlight-color:transparent}
.bw-chip:hover{border-color:var(--brass);color:var(--ivory)}
.bw-chip input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.bw-chip.selected{border-color:var(--brass);color:var(--brass);background:rgba(200,127,148,.07)}
.bw-chip.selected::before{content:'✓';font-size:.6rem;color:var(--brass)}
.bw-submit{margin-top:.75rem;width:100%;padding:1.15rem;background:var(--brass);color:#0a0a0a;border:none;font-family:var(--ff-b);font-size:.5625rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .3s ease,opacity .2s;position:relative;overflow:hidden}
.bw-submit:hover:not(:disabled){background:var(--brass-2)}
.bw-submit:disabled{opacity:.55;cursor:not-allowed}
.bw-submit-txt{transition:opacity .2s}
.bw-spinner{display:none;width:18px;height:18px;border:2px solid rgba(10,10,10,.35);border-top-color:#0a0a0a;border-radius:50%;animation:spin .7s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.bw-submit.loading .bw-submit-txt{opacity:0}
.bw-submit.loading .bw-spinner{display:block}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.bw-note{font-size:.6875rem;font-weight:300;color:var(--faint);text-align:center;margin-top:.65rem;line-height:1.6}
.bw-success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;gap:1.25rem;min-height:50vh}
.bw-success-icon{width:58px;height:58px;background:rgba(200,127,148,.1);border:1px solid rgba(200,127,148,.3);display:flex;align-items:center;justify-content:center}
.bw-success-icon svg{width:28px;height:28px;stroke:var(--brass);fill:none;stroke-width:1.5}
.bw-success h3{font-family:var(--ff-d);font-size:2.4rem;font-weight:300;font-style:italic;color:var(--ivory)}
.bw-success p{font-size:.875rem;color:var(--muted);max-width:28ch;line-height:1.7}
.bw-success-close{margin-top:.5rem;padding:.8rem 2.1rem;border:1px solid var(--line);background:none;font-family:var(--ff-b);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:var(--ivory);transition:background .25s,color .25s,border-color .25s}
.bw-success-close:hover{background:var(--brass);color:#0a0a0a;border-color:var(--brass)}
/* ─── TOUCH ─── */
@media(hover:none) and (pointer:coarse){
  html{cursor:auto}
  .test-drag{scroll-snap-type:x proximity}
  .ts-card{scroll-snap-align:start}
  .tr-bg.on{opacity:.4}
}
/* ─── RESPONSIVE ─── */
@media(max-width:1200px){
  .contact-grid{gap:3rem}
  .team-wrap{grid-template-columns:1fr 320px}
}
@media(max-width:900px){
  #grain{animation:none}
  .nav-book{display:none}
  .hero-frame{padding-top:6.5rem}
  .hh{font-size:max(2.6rem,12.5vw)}
  .hh-row-2{margin-left:clamp(1rem,5vw,3rem)}
  .hh-row-3{margin-left:clamp(2rem,9vw,5rem)}
  .hero-side{display:none}
  .hero-glow{display:none}
  .sec-h{font-size:max(2rem,9.5vw)}
  .about-h{font-size:max(2rem,9vw)}
  .mid-cta-h{font-size:max(2rem,9vw)}
  .contact-h{font-size:max(2.2rem,10vw)}
  .about-grid{grid-template-columns:1fr;gap:4rem}
  .about-media{position:static;min-height:0;padding-bottom:3.5rem}
  .aimg-1-w{width:84%}
  #about-big{font-size:5rem;top:1rem}
  .sp-intro{min-width:84vw;padding:0 1.5rem}
  .sp{min-width:86vw;padding:0 1.5rem 4.5rem}
  .sp-img-col{min-width:74vw}
  .sv-prog{left:1.5rem;right:1.5rem}
  .proc-grid{grid-template-columns:1fr;gap:2.5rem}
  .proc-left{position:static}
  .proc-item{grid-template-columns:60px 1fr;gap:1.25rem}
  .proc-time{grid-column:2}
  .proc-num{font-size:2rem}
  .ba-wrap{aspect-ratio:4/3}
  .tr-headr{grid-template-columns:44px 1fr auto;column-gap:1rem}
  .tr-body-in{padding-left:44px}
  .team-wrap{grid-template-columns:1fr}
  .team-photo-col{position:static;max-width:440px}
  .gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}
  .gi:nth-child(1),.gi:nth-child(3){grid-row:span 1}
  .gi:nth-child(5){grid-column:span 1}
  .pr-cols{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr;gap:2.5rem}
  .faq-side{position:static}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .stats-inner{grid-template-columns:1fr 1fr}
  .stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid var(--line-soft)}
  .stat-item:nth-child(2){border-right:none}
  .mid-cta-inner{flex-direction:column;align-items:flex-start}
  #bw-panel{width:100%}
}
@media(max-width:600px){
  .stats-inner{grid-template-columns:1fr}
  .stat-item{border-right:none;border-bottom:1px solid var(--line-soft)}
  .btn-brass,.btn-ghost{padding:.85rem 1.6rem}
  .bw-row{grid-template-columns:1fr}
  .bw-body{padding:1.25rem}
  .bw-head{padding:1.25rem 1.25rem 1rem}
  .bw-chips{gap:.35rem}
  .bw-chip{font-size:.7rem;padding:.45rem .75rem}
  .gal-grid{grid-template-columns:1fr;grid-auto-rows:240px}
  .faq-q{font-size:1.05rem;padding:1.3rem 0}
  .tr-nm{font-size:clamp(1.5rem,7.5vw,2rem)}
  .tr-tag{display:none}
  footer{padding:2.5rem 1.5rem 1.5rem}
  .ft-links{flex-wrap:wrap;justify-content:center}
  .ft-row{flex-direction:column;text-align:center}
  .sbar-brand em{display:none}
}
/* ─── 2026 EDITORIAL BLUSH ART DIRECTION ─── */
html{background:var(--bg);color:var(--ivory)}
body{background:var(--bg);color:var(--ivory);font-size:.9375rem;letter-spacing:.005em}
::selection{background:var(--brass);color:var(--paper)}
body::-webkit-scrollbar-track{background:#f1e3df}
body::-webkit-scrollbar-thumb{background:#b78c90;border:3px solid #f1e3df}
body::-webkit-scrollbar-thumb:hover{background:var(--brass)}
#sprog{height:2px;background:var(--brass)}
.lp{background:#493332;border-color:rgba(255,250,245,.08)}
#lw{font-size:clamp(3rem,8vw,7.5rem);color:#fff7f1;text-transform:uppercase;letter-spacing:.12em}
#lcount{color:rgba(243,204,207,.55)}
#lline{color:rgba(255,250,245,.65)}
.ctr{max-width:1440px}
.lbl{font-weight:600;letter-spacing:.3em;color:var(--brass)}
.sec-h{font-style:normal;font-weight:300;letter-spacing:-.045em;line-height:.88}
.hand{color:var(--brass);font-style:italic}
.outline{-webkit-text-stroke:1px rgba(57,39,37,.62);color:transparent}
.veil{background:var(--brass)}
/* Buttons are deliberately compact and tailored, like editorial captions. */
.btn{font-weight:600;letter-spacing:.21em}
.btn-brass{background:var(--brass);color:var(--paper);box-shadow:0 12px 32px rgba(79,45,47,.12)}
.btn-brass::before{background:#493230}
.btn-ghost{color:var(--ivory);border-color:rgba(57,39,37,.32);background:rgba(255,250,245,.2)}
.btn-ghost::before{background:var(--ivory)}
.btn-ghost:hover{color:var(--paper);border-color:var(--ivory)}
.link-u{color:var(--ivory)}
/* Wordmark / navigation */
nav.top{padding-top:1.15rem;padding-bottom:1.15rem;color:var(--ivory)}
nav.top.scrolled{background:rgba(255,250,245,.84);box-shadow:0 1px 0 var(--line),0 12px 40px rgba(89,53,54,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav-logo{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;color:var(--ivory);font-style:normal;text-decoration:none}
.nav-wordmark{font-family:var(--ff-d);font-size:1.18rem;font-weight:400;line-height:.9;text-transform:uppercase;letter-spacing:.09em}
.nav-logo em{font-family:var(--ff-b);font-size:.4rem;font-weight:500;letter-spacing:.28em;color:var(--muted)}
.nav-book{color:var(--ivory);border-color:rgba(57,39,37,.32);background:rgba(255,250,245,.2)}
.nav-book:hover{background:var(--ivory);color:var(--paper);border-color:var(--ivory)}
#mtog{color:var(--ivory)}
#mov{background:#e5c9cb;color:var(--ivory)}
.moi,.moi:last-child{border-color:rgba(57,39,37,.11)}
.moa{color:var(--ivory)}
.mot{font-style:normal;letter-spacing:-.035em}
.mov-c{color:var(--muted)}
#sbar{--ivory:#fff8f2;--muted:rgba(255,248,242,.62);--line:rgba(255,248,242,.15);background:rgba(57,39,37,.93);border-color:var(--line);box-shadow:0 -12px 40px rgba(54,33,32,.12)}
#sbar .btn-brass{background:#e7bfc2;color:#392725}
#sbar .btn-brass::before{background:#fff8f2}
/* Hero: centered portrait, oversized type and negative space from the reference. */
#hero::before{content:'';position:absolute;z-index:1;left:-9vw;bottom:6vh;width:28vw;height:28vw;border:1px solid rgba(57,39,37,.12);border-radius:50%;box-shadow:0 0 0 2.4vw rgba(255,250,245,.07),0 0 0 5vw rgba(255,250,245,.04);pointer-events:none}
#hero::after{content:'PERMANENT BEAUTY · BY NINA';position:absolute;z-index:2;right:clamp(1.5rem,4vw,3.5rem);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:right top;font-size:.46rem;font-weight:600;letter-spacing:.36em;color:rgba(57,39,37,.46);white-space:nowrap;pointer-events:none}
.hero-frame{padding-top:6.5rem;padding-bottom:clamp(2rem,4vh,3rem)}
.h-label{color:var(--ivory)}
.hero-bottom{gap:clamp(1.75rem,3.5vh,2.8rem)}
.hh-row-2{margin-left:clamp(1.1rem,7vw,8rem)}
.hh-row-3{margin-left:clamp(2.2rem,15vw,18rem)}
.hero-low{padding-left:clamp(0rem,2.5vw,3rem)}
.hero-side{color:rgba(57,39,37,.45)}
/* Rhythm and alternating paper / blush sections */
.ticker{background:#fffaf5;border-color:var(--line-soft);padding:1.45rem 0}
.ticker-item{font-style:normal;color:var(--ivory);letter-spacing:-.025em}
.ticker-item.alt{-webkit-text-stroke:1px rgba(57,39,37,.42);font-style:italic}
#stats{background:#fffaf5;border-color:var(--line-soft)}
.stat-item{transition:background .45s ease,padding-left .45s cubic-bezier(.65,0,.35,1)}
.stat-item:hover{background:rgba(230,201,204,.28);padding-left:clamp(1.9rem,3vw,3.25rem)}
.stat-num{font-style:normal;letter-spacing:-.055em}
.stat-item::before{color:rgba(134,86,92,.55)}
#about{background:#f8f3ee}
#about-big{-webkit-text-stroke:1px rgba(134,86,92,.1);font-style:normal;text-transform:uppercase;letter-spacing:.03em}
.aimg-1-w{box-shadow:0 34px 90px rgba(80,45,47,.15)}
.aimg-2-w{border-color:rgba(134,86,92,.3);box-shadow:0 24px 60px rgba(80,45,47,.15)}
.aimg-1,.aimg-2{filter:saturate(.7) sepia(.04)}
.about-h{font-style:normal;font-weight:300;letter-spacing:-.045em;line-height:.9}
.about-quote{font-size:clamp(1.55rem,2.5vw,2.35rem);color:var(--ivory);background:rgba(230,201,204,.18);padding:1.35rem 1.6rem;border-left-color:var(--brass)}
#services{background:#e7cdd0}
.sp-intro{background:#e7cdd0}
.sp-intro h2,.sp-nm{font-style:normal;font-weight:300;letter-spacing:-.045em}
.sp{background:linear-gradient(135deg,rgba(255,250,245,.22),rgba(255,250,245,.05));transition:background .5s ease}
.sp:hover{background:rgba(255,250,245,.34)}
.sp-big{-webkit-text-stroke:1px rgba(134,86,92,.3);font-style:normal}
.sp-img-col{background:#d6b6b9}
.sp-img-col img{filter:saturate(.7) brightness(.97) sepia(.05);transition:filter .7s ease,transform 1.2s ease}
.sp-img-col:hover img{filter:saturate(.9) brightness(1)}
.sp-img-cap{color:#fff9f4;text-shadow:0 2px 16px rgba(57,39,37,.55)}
#ba{background:#fffaf5}
.ba-wrap{box-shadow:0 38px 90px rgba(80,45,47,.16);border-color:rgba(57,39,37,.12)}
.ba-before{filter:saturate(.45) sepia(.06) contrast(.92) brightness(.92)}
.ba-handle{box-shadow:0 12px 36px rgba(57,39,37,.26)}
.ba-handle svg{stroke:#fffaf5}
.ba-tag.l{background:rgba(57,39,37,.82);color:#fffaf5}
.ba-tag.r{color:#fffaf5}
#process{background:#f8f3ee}
.proc-item{transition:background .45s ease,padding-left .45s cubic-bezier(.65,0,.35,1),padding-right .45s cubic-bezier(.65,0,.35,1)}
.proc-item:hover{background:rgba(230,201,204,.21);padding-left:1rem;padding-right:1rem}
.proc-num{-webkit-text-stroke:1px rgba(134,86,92,.48);font-style:normal}
.proc-body h3{font-style:normal}
#mid-cta{--ivory:#fff7f1;--muted:rgba(255,247,241,.68);--faint:rgba(255,247,241,.38);--line:rgba(255,247,241,.17);--line-soft:rgba(255,247,241,.1);--brass:#ecc3c6;background:#493230}
#mid-cta .outline{-webkit-text-stroke:1px rgba(255,247,241,.66)}
#mid-cta .mid-marq{-webkit-text-stroke:1px rgba(255,247,241,.07)}
#mid-cta .btn-brass{background:#edc8ca;color:#392725}
#mid-cta .btn-brass::before{background:#fff7f1}
.mid-cta-h{font-style:normal;font-weight:300;letter-spacing:-.04em}
#treatments{--ivory:#fff7f1;--muted:rgba(255,247,241,.68);--faint:rgba(255,247,241,.4);--line:rgba(255,247,241,.2);--line-soft:rgba(255,247,241,.11);--brass:#edc2c5;background:#493230}
#treatments .outline{-webkit-text-stroke:1px rgba(255,247,241,.68)}
.tr-bg{filter:brightness(.5) saturate(.65) sepia(.06)}
.tr-bg.on{opacity:.44}
.tr-shade{background:linear-gradient(to right,rgba(57,39,37,.94) 0%,rgba(57,39,37,.62) 54%,rgba(57,39,37,.83) 100%)}
.tr-row{transition:background .4s ease}
.tr-row:hover,.tr-row.open{background:rgba(255,247,241,.045)}
.tr-nm{font-style:normal;letter-spacing:-.04em}
.tr-head-note{color:var(--muted)}
#team{background:#eedcdf}
#team-big{-webkit-text-stroke:1px rgba(134,86,92,.1);font-style:normal;text-transform:uppercase}
.tm-name{font-style:normal;letter-spacing:-.03em}
.tm-row{transition:padding-left .45s cubic-bezier(.65,0,.35,1),background .4s ease}
.tm-row:hover,.tm-row.active{background:rgba(255,250,245,.22)}
.team-photos{border-color:rgba(57,39,37,.13);box-shadow:0 30px 70px rgba(80,45,47,.13)}
#gallery{background:#fffaf5}
.gal-grid{gap:14px}
.gi{background:#e6c9cc;box-shadow:0 0 0 1px rgba(57,39,37,.04)}
.gimg{filter:saturate(.62) brightness(.94) sepia(.04)}
.gi:hover .gimg{transform:scale(1.045);filter:saturate(.95) brightness(1)}
#pricing{background:#ead6d8}
.pr-group-t{color:var(--ivory)}
.pr-dots{border-color:rgba(57,39,37,.25)}
.pr-row{transition:padding-left .4s cubic-bezier(.65,0,.35,1),background .35s ease}
.pr-row:hover{background:rgba(255,250,245,.18);padding-right:.75rem}
#testimonials{background:#f8f3ee}
.ts-card{background:#fffaf5;border-color:rgba(57,39,37,.13);box-shadow:0 18px 50px rgba(80,45,47,.06);transition:transform .5s cubic-bezier(.2,.6,.2,1),box-shadow .5s ease}
.ts-card:hover{transform:translateY(-7px);box-shadow:0 28px 65px rgba(80,45,47,.12)}
.ts-q{font-style:normal;letter-spacing:-.02em}
.ts-btn:hover svg{stroke:#fffaf5}
#faq{background:#fffaf5}
.faq-item{transition:background .4s ease,padding-left .4s ease,padding-right .4s ease}
.faq-item:hover,.faq-item.open{background:rgba(230,201,204,.17);padding-left:.8rem;padding-right:.8rem}
.faq-q{font-style:normal;letter-spacing:-.015em}
#contact{background:#e5c9cc}
#contact-big{-webkit-text-stroke:1px rgba(134,86,92,.1);font-style:normal;text-transform:uppercase;letter-spacing:.08em}
.a-note{background:#fffaf5;border-color:rgba(134,86,92,.28);box-shadow:0 22px 55px rgba(80,45,47,.18)}
.contact-h{font-style:normal;letter-spacing:-.05em}
.contact-cta{padding:clamp(2rem,4vw,4rem);border:1px solid rgba(57,39,37,.12);background:rgba(255,250,245,.18)}
footer{--ivory:#fff7f1;--muted:rgba(255,247,241,.64);--faint:rgba(255,247,241,.38);--line:rgba(255,247,241,.17);--line-soft:rgba(255,247,241,.1);--brass:#edc2c5;background:#493230}
.ft-word{-webkit-text-stroke:1px rgba(237,194,197,.3);font-style:normal;text-transform:uppercase;letter-spacing:.03em}
footer .btn-brass{background:#edc2c5;color:#392725}
footer .btn-brass::before{background:#fff7f1}
/* Overlays follow the same material palette. */
#lb{--ivory:#fff7f1;--muted:rgba(255,247,241,.64);--line:rgba(255,247,241,.18);background:rgba(57,39,37,.94)}
.lb-x{border-color:rgba(255,247,241,.28);color:#fff7f1}
#bw-overlay{background:rgba(57,39,37,.5)}
#bw-panel{background:#fffaf5;border-left-color:rgba(134,86,92,.25);box-shadow:-22px 0 70px rgba(57,39,37,.16)}
.bw-head{background:rgba(255,250,245,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.bw-field input,.bw-field textarea,.bw-field select{color:var(--ivory);background:#f7eeea;border-color:rgba(57,39,37,.17);color-scheme:light}
.bw-field input::placeholder,.bw-field textarea::placeholder{color:rgba(57,39,37,.35)}
.bw-chip{border-color:rgba(57,39,37,.18)}
.bw-chip.selected{background:rgba(134,86,92,.09)}
.bw-submit{color:#fffaf5}
.bw-spinner{border-color:rgba(255,250,245,.35);border-top-color:#fffaf5}
.bw-success-close:hover{color:#fffaf5}
@media(max-width:900px){
  #hero::after{display:none}
  .hero-bg-img{left:22%;right:22%;top:13%;height:64%}
  .hero-frame{padding-top:6rem}
  .hh{font-size:max(3rem,13vw);line-height:.82}
  .hero-low{padding-left:0}
  .about-quote{padding:1.15rem 1.25rem}
  .contact-cta{padding:2rem}
}
@media(max-width:600px){
  nav.top{padding-left:1.15rem;padding-right:1.15rem}
  .nav-logo em{letter-spacing:.2em}
  .hero-bg-img{left:13%;right:13%;top:14%;height:55%}
  .hero-frame{padding:5.8rem 1.15rem 1.8rem}
  .hh{font-size:max(3.05rem,15.8vw);line-height:.8}
  .hh-row-2{margin-left:5vw}
  .hh-row-3{margin-left:10vw}
  .hero-low{gap:1.35rem}
  .hs{font-size:.76rem;max-width:40ch}
  .h-actions{gap:.65rem}
  .ticker{padding:1.1rem 0}
  .stat-item:hover{padding-left:1.5rem}
  .proc-item:hover{padding-left:.5rem;padding-right:.5rem}
  .contact-cta{padding:1.35rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
/* ─── EDITORIAL COVER V3: asymmetric, quieter, more fashion-led ─── */
body.layout-v3 #hero{background:#e8cfd1}
body.layout-v3 .hero-bg-img{left:53%;right:6%;top:10%;height:78%;border:10px solid rgba(255,250,245,.34);box-shadow:0 35px 90px rgba(80,45,47,.18)}
body.layout-v3 .hero-scrim::before{background:linear-gradient(90deg,#e8cfd1 0%,rgba(232,207,209,.97) 39%,rgba(232,207,209,.18) 68%,rgba(232,207,209,.08) 100%)}
body.layout-v3 .hero-scrim::after{background:linear-gradient(to top,#e8cfd1 0%,rgba(232,207,209,.24) 34%,transparent 62%)}
body.layout-v3 .hero-frame{padding-top:7rem;justify-content:flex-end}
body.layout-v3 .h-label{position:absolute;top:7rem;left:clamp(1.5rem,4vw,3.5rem)}
body.layout-v3 .hero-bottom{width:100%;gap:1.6rem}
body.layout-v3 .hh{max-width:10ch;font-size:max(3.6rem,9.4vw);line-height:.88;letter-spacing:-.065em;text-transform:none;position:relative;z-index:3}
body.layout-v3 .hh-row-2{margin-left:clamp(1.2rem,6vw,7rem);font-style:italic}
body.layout-v3 .hh-row-3{margin-left:clamp(2.5rem,12vw,15rem)}
body.layout-v3 .hero-low{width:min(46%,620px);align-items:flex-start;padding-left:0}
body.layout-v3 .hero-note{position:absolute;z-index:4;font-family:var(--ff-d);font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.25;color:var(--ivory)}
body.layout-v3 .hero-note em{color:var(--brass)}
body.layout-v3 .hero-note-left{left:clamp(1.5rem,4vw,3.5rem);top:27%}
body.layout-v3 .hero-note-right{right:clamp(1.5rem,4vw,3.5rem);bottom:8%;font-family:var(--ff-b);font-size:.5rem;font-style:normal;font-weight:600;letter-spacing:.28em;text-transform:uppercase;writing-mode:vertical-rl}
body.layout-v3 #hero::before{width:18vw;height:18vw;left:42%;bottom:-6vw;border-color:rgba(57,39,37,.1)}
body.layout-v3 #hero::after{display:none}
@media(max-width:900px){
  body.layout-v3 .hero-bg-img{left:40%;right:7%;top:12%;height:64%}
  body.layout-v3 .hero-low{width:75%}
  body.layout-v3 .hero-note-left{top:22%}
}
@media(max-width:600px){
  body.layout-v3 .hero-bg-img{left:28%;right:6%;top:13%;height:55%;border-width:6px}
  body.layout-v3 .hero-frame{padding-top:6rem}
  body.layout-v3 .h-label{top:6rem;left:1.15rem}
  body.layout-v3 .hero-note-left{top:24%;left:1.15rem;font-size:.9rem}
  body.layout-v3 .hero-note-right{display:none}
  body.layout-v3 .hh{font-size:max(3rem,14vw);line-height:.9}
  body.layout-v3 .hero-low{width:100%}
}
/* ─── V3 SECTION SYSTEM: magazine sequence, not stacked templates ─── */
body.layout-v3{font-family:var(--ff-b);font-weight:300}
body.layout-v3 .sec-h,
body.layout-v3 .about-h,
body.layout-v3 .mid-cta-h,
body.layout-v3 .contact-h{font-family:var(--ff-d);font-style:normal;line-height:.98;letter-spacing:-.055em}
body.layout-v3 .hand{font-style:normal;letter-spacing:-.055em}
body.layout-v3 .ticker{padding:.95rem 0;background:#493230;--ivory:#fff8f3;--brass:#eabfc3;--line-soft:rgba(255,248,243,.12)}
body.layout-v3 .ticker-item{font-family:var(--ff-b);font-size:.66rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase}
body.layout-v3 .ticker-item.alt{-webkit-text-stroke:0;color:var(--brass);font-style:normal}
body.layout-v3 .ticker-dot{font-size:.45rem}
/* Manifesto: copy becomes the first visual anchor, imagery acts as evidence. */
body.layout-v3 #about{padding:clamp(7rem,12vw,12rem) 0;background:#fffaf5}
body.layout-v3 #about-big{top:auto;bottom:2rem;left:35%;font-size:clamp(5rem,13vw,13rem);opacity:.7}
body.layout-v3 .about-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(3rem,8vw,9rem);align-items:center}
body.layout-v3 .about-txt{grid-column:1;grid-row:1;padding:0}
body.layout-v3 .about-media{grid-column:2;grid-row:1;position:relative;top:auto;min-height:680px}
body.layout-v3 .aimg-1-w{position:absolute;right:0;top:0;width:72%;aspect-ratio:3/4}
body.layout-v3 .aimg-2-w{left:0;right:auto;bottom:0;width:48%;aspect-ratio:4/5}
body.layout-v3 .aimg-stamp{top:10%;right:auto;left:13%;width:112px;height:112px}
body.layout-v3 .about-h{font-size:clamp(3rem,5.4vw,6.3rem);margin-bottom:2.75rem}
body.layout-v3 .about-p{font-size:.88rem;max-width:43ch}
body.layout-v3 .about-quote{margin:2.5rem 0 0;background:transparent;border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0;font-family:var(--ff-d);font-size:clamp(1.2rem,1.8vw,1.7rem)}
body.layout-v3 .about-sign{margin-top:2rem}
/* Signature edit: paired editorial stories replace the horizontal scroller. */
body.layout-v3 #services{background:#ead3d5;padding:0}
body.layout-v3 #sv-sticky{position:static;height:auto;overflow:visible;display:block}
body.layout-v3 #sv-track{display:grid;grid-template-columns:1fr 1fr;height:auto;align-items:stretch;transform:none!important;width:100%}
body.layout-v3 .sp-intro{grid-column:1/-1;min-width:0;height:auto;min-height:70vh;padding:clamp(5rem,9vw,9rem) clamp(1.5rem,9vw,10rem);display:grid;grid-template-columns:1.15fr .85fr;align-content:center;column-gap:6vw;border-right:0;border-bottom:1px solid var(--line)}
body.layout-v3 .sp-intro .lbl{grid-column:1/-1}
body.layout-v3 .sp-intro h2{font-family:var(--ff-d);font-size:clamp(4rem,8vw,9rem);line-height:.9;margin:0}
body.layout-v3 .sp-intro p{align-self:end;font-size:.95rem;max-width:34ch}
body.layout-v3 .sp-hint{grid-column:2;margin-top:2rem}
body.layout-v3 .sp{min-width:0;height:auto;min-height:680px;padding:clamp(3rem,6vw,7rem);justify-content:center;border-right:0;border-bottom:1px solid var(--line);background:rgba(255,250,245,.16)}
body.layout-v3 .sp-img-col{min-width:0;height:auto;min-height:680px;border-right:0;border-bottom:1px solid var(--line)}
body.layout-v3 #sv-track>.sp:nth-child(4){grid-column:2;grid-row:3}
body.layout-v3 #sv-track>.sp-img-col:nth-child(5){grid-column:1;grid-row:3}
body.layout-v3 #sv-track>.sp:nth-child(8){grid-column:2;grid-row:5}
body.layout-v3 #sv-track>.sp-img-col:nth-child(9){grid-column:1;grid-row:5}
body.layout-v3 .sp-nm{font-family:var(--ff-d);font-size:clamp(3rem,5vw,6.4rem);line-height:.98}
body.layout-v3 .sp-big{top:3rem;right:3rem;font-size:clamp(5rem,9vw,10rem)}
body.layout-v3 .sp-img-col img{height:108%;top:-4%}
body.layout-v3 .sv-end,body.layout-v3 .sv-prog{display:none}
/* Numbers become an inset editorial rail. */
body.layout-v3 #stats{background:#fffaf5;padding:clamp(4rem,7vw,7rem) clamp(1.5rem,4vw,3.5rem)}
body.layout-v3 .stats-inner{max-width:1320px;gap:1px;background:var(--line);border:1px solid var(--line)}
body.layout-v3 .stat-item{background:#fffaf5;border:0!important;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end}
body.layout-v3 .stat-num{font-family:var(--ff-d);font-size:clamp(3.4rem,5vw,5.8rem)}
body.layout-v3 .stat-lbl{font-size:.48rem;font-weight:600}
/* Results: title aligns as a side caption to one cinematic comparison. */
body.layout-v3 #ba{padding:clamp(7rem,11vw,11rem) 0;background:#f5e9e5}
body.layout-v3 .ba-head{display:grid;grid-template-columns:.8fr 1.2fr;align-items:end;margin-bottom:4rem}
body.layout-v3 .ba-head p{justify-self:end}
body.layout-v3 .ba-wrap{max-width:1180px;aspect-ratio:16/8.8}
body.layout-v3 .ba-note{text-align:right;max-width:1180px;margin-left:auto;margin-right:auto}
/* Ritual: four independent cards replace the vertical timeline. */
body.layout-v3 #process{padding:clamp(7rem,11vw,11rem) 0;background:#fffaf5}
body.layout-v3 .proc-grid{display:block}
body.layout-v3 .proc-left{position:static;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:4vw;margin-bottom:4rem}
body.layout-v3 .proc-left .sh{margin:0!important}
body.layout-v3 .proc-left p{justify-self:end;font-size:.9rem}
body.layout-v3 .proc-list{padding-left:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
body.layout-v3 .proc-spine{display:none}
body.layout-v3 .proc-item{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;min-height:360px;padding:2rem;border:1px solid var(--line);background:#faf1ed}
body.layout-v3 .proc-item:first-child{border-top:1px solid var(--line)}
body.layout-v3 .proc-item:hover{padding:2rem;background:#ead3d5}
body.layout-v3 .proc-num{font-family:var(--ff-d);font-size:3.6rem;margin-bottom:auto}
body.layout-v3 .proc-body h3{font-family:var(--ff-d);font-size:1.65rem;color:var(--ivory)}
body.layout-v3 .proc-time{order:3}
body.layout-v3 #mid-cta{padding:clamp(7rem,10vw,10rem) 0;background:#493230}
body.layout-v3 .mid-cta-inner{display:grid;grid-template-columns:1.25fr .75fr;align-items:end}
body.layout-v3 .mid-cta-h{font-size:clamp(3.2rem,6.6vw,7.5rem)}
body.layout-v3 .mid-cta-right{justify-self:end}
/* Treatment menu: two-column index, still expandable and keyboard friendly. */
body.layout-v3 #treatments{padding:clamp(7rem,11vw,11rem) 0;background:#493230}
body.layout-v3 .tr-head{align-items:end}
body.layout-v3 .tr-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,5vw,6rem);border-top:0}
body.layout-v3 .tr-row{border-top:1px solid var(--line);border-bottom:0}
body.layout-v3 .tr-headr{grid-template-columns:48px 1fr auto;padding:1.75rem 0}
body.layout-v3 .tr-nm{font-family:var(--ff-d);font-size:clamp(1.35rem,2.15vw,2.5rem);line-height:1.15}
body.layout-v3 .tr-body-in{padding-left:48px;display:block}
body.layout-v3 .tr-foot{margin-top:1.25rem;justify-content:space-between}
/* Portfolio becomes a graphic contact sheet. */
body.layout-v3 #gallery{padding:clamp(7rem,11vw,11rem) 0;background:#fffaf5}
body.layout-v3 .gal-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(80px,8vw,130px);gap:12px}
body.layout-v3 .gi:nth-child(1){grid-column:1/span 5;grid-row:span 4}
body.layout-v3 .gi:nth-child(2){grid-column:6/span 3;grid-row:span 3;margin-top:4vw}
body.layout-v3 .gi:nth-child(3){grid-column:9/span 4;grid-row:span 4}
body.layout-v3 .gi:nth-child(4){grid-column:1/span 3;grid-row:span 3;margin-top:2vw}
body.layout-v3 .gi:nth-child(5){grid-column:4/span 5;grid-row:span 4}
body.layout-v3 .gi:nth-child(6){grid-column:9/span 4;grid-row:span 3;margin-top:2vw}
/* Nina: image first, biography as a framed editorial note. */
body.layout-v3 #team{padding:clamp(7rem,11vw,11rem) 0;background:#ead3d5}
body.layout-v3 .team-wrap{grid-template-columns:minmax(360px,.95fr) 1.05fr;gap:clamp(2rem,6vw,7rem);align-items:center}
body.layout-v3 .team-photo-col{order:-1;position:relative;top:auto;display:grid;grid-template-columns:1fr .72fr;align-items:end}
body.layout-v3 .team-photo-col .wipe{grid-column:1/-1;grid-row:1}
body.layout-v3 .team-photos{aspect-ratio:4/5}
body.layout-v3 .tm-bio{grid-column:2;grid-row:1;z-index:3;margin:0 0 2rem -3rem;padding:1.5rem;background:#fffaf5;border:1px solid var(--line);min-height:0}
body.layout-v3 .team-list{border-top:0}
body.layout-v3 .tm-row{padding:2.25rem 0;border-top:1px solid var(--line)}
body.layout-v3 .tm-name{font-family:var(--ff-d);font-size:clamp(2.5rem,4vw,5rem)}
body.layout-v3 #pricing{padding:clamp(7rem,11vw,11rem) 0;background:#fffaf5}
body.layout-v3 .pr-cols{gap:1rem}
body.layout-v3 .pr-group{padding:clamp(1.5rem,3vw,3rem);background:#f4e5e2;border:1px solid rgba(57,39,37,.11)}
body.layout-v3 .pr-group+.pr-group{margin-top:1rem}
body.layout-v3 .pr-row:last-child{border-bottom:0}
body.layout-v3 .pr-note{padding:2rem;border:1px solid var(--line)}
/* Review becomes a single oversized pull quote, not a carousel-looking block. */
body.layout-v3 #testimonials{padding:clamp(7rem,12vw,12rem) 0;background:#493230;--ivory:#fff8f3;--muted:rgba(255,248,243,.64);--faint:rgba(255,248,243,.36);--line:rgba(255,248,243,.16);--brass:#eabfc3}
body.layout-v3 .test-head{align-items:start}
body.layout-v3 .test-ctrl,body.layout-v3 .test-foot{display:none}
body.layout-v3 .test-drag{overflow:visible}
body.layout-v3 .test-track{width:100%;display:block}
body.layout-v3 .ts-card{width:min(900px,82vw);margin:0 0 0 auto;padding:clamp(2rem,5vw,5rem);background:transparent;border:1px solid var(--line);box-shadow:none}
body.layout-v3 .ts-card:hover{transform:none;box-shadow:none;background:rgba(255,248,243,.035)}
body.layout-v3 .ts-q{font-family:var(--ff-d);font-size:clamp(2.2rem,4.8vw,5.4rem);line-height:1.15}
/* Questions become a two-column card wall. */
body.layout-v3 #faq{padding:clamp(7rem,11vw,11rem) 0;background:#f5e9e5}
body.layout-v3 .faq-grid{display:block}
body.layout-v3 .faq-side{position:static;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;margin-bottom:4rem}
body.layout-v3 .faq-side .sh{margin:0!important}
body.layout-v3 .faq-side p,body.layout-v3 .faq-side .link-u{grid-column:2}
body.layout-v3 .faq-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:0}
body.layout-v3 .faq-item{border:1px solid var(--line);background:#fffaf5;padding:0 1.5rem}
body.layout-v3 .faq-item:hover,body.layout-v3 .faq-item.open{padding-left:1.5rem;padding-right:1.5rem;background:#ead3d5}
body.layout-v3 .faq-q{font-family:var(--ff-d);font-size:1.2rem;min-height:90px}
body.layout-v3 #contact{padding:clamp(8rem,12vw,12rem) 0;background:#dcbec1}
body.layout-v3 .contact-grid{grid-template-columns:.8fr 1.2fr;align-items:stretch}
body.layout-v3 .contact-meta{display:flex;flex-direction:column}
body.layout-v3 .a-note{margin-top:auto;width:clamp(150px,14vw,210px)}
body.layout-v3 .contact-cta{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,6vw,7rem);background:#fffaf5;border:0}
body.layout-v3 .contact-h{font-size:clamp(3.2rem,6vw,7rem)}
@media(max-width:900px){
  body.layout-v3 .about-grid{grid-template-columns:1fr}
  body.layout-v3 .about-txt,body.layout-v3 .about-media{grid-column:1;grid-row:auto}
  body.layout-v3 .about-media{min-height:620px}
  body.layout-v3 .sp-intro{grid-template-columns:1fr;min-height:0}
  body.layout-v3 .sp-intro p,body.layout-v3 .sp-hint{grid-column:1}
  body.layout-v3 .sp,body.layout-v3 .sp-img-col{min-height:560px}
  body.layout-v3 .proc-list{grid-template-columns:1fr 1fr}
  body.layout-v3 .tr-list{grid-template-columns:1fr}
  body.layout-v3 .team-wrap{grid-template-columns:1fr}
  body.layout-v3 .team-photo-col{max-width:none}
  body.layout-v3 .faq-list{grid-template-columns:1fr}
}
@media(max-width:600px){
  body.layout-v3 .about-media{min-height:500px}
  body.layout-v3 #sv-track{grid-template-columns:1fr}
  body.layout-v3 .sp-intro{grid-column:1;padding:5rem 1.5rem}
  body.layout-v3 .sp,body.layout-v3 .sp-img-col{grid-column:1!important;grid-row:auto!important;min-height:500px}
  body.layout-v3 .stats-inner{grid-template-columns:1fr}
  body.layout-v3 .stat-item{min-height:180px}
  body.layout-v3 .ba-head,body.layout-v3 .proc-left,body.layout-v3 .mid-cta-inner,body.layout-v3 .faq-side{grid-template-columns:1fr}
  body.layout-v3 .ba-head p,body.layout-v3 .proc-left p,body.layout-v3 .mid-cta-right{justify-self:start}
  body.layout-v3 .proc-list{grid-template-columns:1fr}
  body.layout-v3 .proc-item{min-height:300px}
  body.layout-v3 .gal-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:230px}
  body.layout-v3 .gi:nth-child(n){grid-column:auto;grid-row:auto;margin-top:0}
  body.layout-v3 .team-photo-col{display:block}
  body.layout-v3 .tm-bio{margin:1rem 0 0}
  body.layout-v3 .pr-cols{grid-template-columns:1fr}
  body.layout-v3 .ts-card{width:100%;margin:0}
  body.layout-v3 .contact-grid{grid-template-columns:1fr}
}
/* ─── V4 HUMAN EDITORIAL HERO: restrained, tactile, intentionally composed ─── */
html{scrollbar-width:none}
body::-webkit-scrollbar{display:none;width:0;height:0}
html.js:not(.noanim),html.js:not(.noanim) a,html.js:not(.noanim) button{cursor:auto}
html.js:not(.noanim) a,html.js:not(.noanim) button{cursor:pointer}
body.layout-v3 #loader,
body.layout-v3 .ticker,
body.layout-v3 .hero-glow,
body.layout-v3 #about-big,
body.layout-v3 #team-big,
body.layout-v3 #contact-big,
body.layout-v3 #mid-marq{display:none!important}
body.layout-v3 .outline{color:inherit;-webkit-text-stroke:0;opacity:.52}
body.layout-v3 .aimg-stamp{opacity:.55}
body.layout-v3 .sp-big{opacity:.45}
body.layout-v3 #hero{min-height:100svh;background:#f5ece2;color:#4a171b;isolation:isolate}
body.layout-v3 #hero .hero-bg{z-index:auto}
body.layout-v3 #hero .hero-scrim{z-index:0}
body.layout-v3 #hero .hero-scrim::before{background:linear-gradient(90deg,#f5ece2 0%,rgba(245,236,226,.97) 34%,rgba(245,236,226,.42) 61%,rgba(245,236,226,.12) 100%)}
body.layout-v3 #hero .hero-scrim::after{background:linear-gradient(to top,#f5ece2 0%,rgba(245,236,226,.18) 26%,transparent 54%)}
body.layout-v3 #hero::before{content:'';display:block;position:absolute;z-index:1;width:min(52vw,760px);height:min(52vw,760px);left:auto;right:-4vw;top:34%;bottom:auto;border:0;border-radius:50%;background:#4a171b;box-shadow:none}
body.layout-v3 #hero::after{content:'';display:block;position:absolute;z-index:1;left:clamp(1.25rem,3vw,3rem);right:clamp(1.25rem,3vw,3rem);top:9.5rem;height:1px;background:rgba(74,23,27,.28)}
body.layout-v3 #hero .hero-bg-img{z-index:3;left:50%;right:-2%;top:15%;width:auto;height:88%;border:0;box-shadow:none;object-position:center 24%;filter:saturate(.68) sepia(.08) contrast(.94);mix-blend-mode:multiply;clip-path:ellipse(48% 62% at 53% 60%)}
body.layout-v3 #hero .hero-frame{z-index:auto;display:block;padding:0;max-width:none}
body.layout-v3 #hero .h-label{z-index:5;top:7.25rem;left:clamp(1.25rem,3vw,3rem);font-size:.44rem;color:#4a171b;letter-spacing:.27em}
body.layout-v3 #hero .hero-note{z-index:5;color:#4a171b;font-family:var(--ff-b);font-size:.48rem;font-weight:500;line-height:1.65;letter-spacing:.15em;text-transform:uppercase}
body.layout-v3 #hero .hero-note-left{left:clamp(1.25rem,3vw,3rem);top:58%}
body.layout-v3 #hero .hero-note-right{right:clamp(1.25rem,3vw,3rem);top:6.7rem;bottom:auto;text-align:right;writing-mode:initial}
body.layout-v3 #hero .hero-bottom{display:block;width:auto}
body.layout-v3 #hero .hh{position:absolute;z-index:2;top:18%;left:clamp(1.25rem,2.3vw,2.5rem);right:1rem;width:auto;max-width:none;margin:0;color:#4a171b;font-family:var(--ff-d);font-size:clamp(4.25rem,11.6vw,13.5rem);font-weight:400;line-height:.86;letter-spacing:-.075em;text-transform:none;white-space:nowrap}
body.layout-v3 #hero .hh-row{display:block}
body.layout-v3 #hero .hh-signature{display:block;margin:.55rem 0 0 .45rem;font-family:var(--ff-b);font-size:clamp(.62rem,.72vw,.82rem);font-weight:500;line-height:1;letter-spacing:.3em;text-transform:uppercase;color:#4a171b}
body.layout-v3 #hero .hero-low{position:absolute;z-index:5;left:clamp(1.25rem,3vw,3rem);bottom:7%;display:block;width:min(37%,520px);padding:1.35rem 0 0;border-top:1px solid rgba(74,23,27,.35)}
body.layout-v3 #hero .hs{max-width:39ch;color:rgba(74,23,27,.76);font-size:.78rem;line-height:1.75}
body.layout-v3 #hero .h-actions{margin-top:1.35rem;gap:.75rem}
body.layout-v3 #hero .btn-brass{background:#4a171b;color:#fff8f0;box-shadow:none}
body.layout-v3 #hero .btn-brass::before{background:#6b2930}
body.layout-v3 #hero .btn-ghost{background:transparent;color:#4a171b;border-color:rgba(74,23,27,.4)}
body.layout-v3 #hero .btn-ghost::before{background:#4a171b}
body.layout-v3 #hero .btn-ghost:hover{color:#fff8f0}
body.layout-v3 #hero .hero-side{display:none}
body.layout-v3 nav.top .nav-logo{position:absolute;left:50%;transform:translateX(-50%);align-items:center;text-align:center}
body.layout-v3 nav.top .nav-wordmark{font-size:1rem;letter-spacing:.1em}
body.layout-v3 nav.top .nav-logo em{font-size:.36rem}
@media(max-width:900px){
  body.layout-v3 #hero::before{width:68vw;height:68vw;right:-17vw;top:31%}
  body.layout-v3 #hero .hero-bg-img{left:42%;right:-12%;top:17%;height:78%}
  body.layout-v3 #hero .hh{top:20%;font-size:clamp(4rem,13.6vw,8rem)}
  body.layout-v3 #hero .hero-low{width:48%}
  body.layout-v3 #hero .hero-note-left{top:56%}
}
@media(max-width:600px){
  body.layout-v3 #hero{min-height:820px}
  body.layout-v3 #hero::after{top:8.3rem}
  body.layout-v3 #hero::before{width:105vw;height:105vw;right:-46vw;top:31%}
  body.layout-v3 #hero .h-label{top:6.45rem;left:1.15rem}
  body.layout-v3 #hero .hero-note-right{display:none}
  body.layout-v3 #hero .hero-note-left{top:53%;left:1.15rem;font-size:.42rem}
  body.layout-v3 #hero .hero-bg-img{left:31%;right:-28%;top:17%;height:68%;border:0;clip-path:ellipse(48% 60% at 52% 58%)}
  body.layout-v3 #hero .hh{top:18%;left:1rem;right:.5rem;font-size:clamp(3.15rem,15.2vw,5.6rem);letter-spacing:-.075em}
  body.layout-v3 #hero .hh-signature{font-size:.5rem;letter-spacing:.24em}
  body.layout-v3 #hero .hero-low{left:1.15rem;right:1.15rem;bottom:3.5%;width:auto}
  body.layout-v3 #hero .hs{max-width:34ch;font-size:.72rem}
}
/* ─── V5 WHITE + BLUSH HERO ─── */
body.layout-v3 #hero{
  min-height:100svh;
  background:#fffdfc;
  color:#713a49;
}
body.layout-v3 #hero .hero-scrim::before{
  background:linear-gradient(90deg,#fffdfc 0%,rgba(255,253,252,.98) 31%,rgba(255,253,252,.58) 55%,rgba(255,253,252,.08) 78%,rgba(255,253,252,.2) 100%);
}
body.layout-v3 #hero .hero-scrim::after{
  background:linear-gradient(to top,#fffdfc 0%,rgba(255,253,252,.72) 14%,rgba(255,253,252,.05) 47%,transparent 70%);
}
body.layout-v3 #hero::before{
  width:min(49vw,720px);
  height:min(49vw,720px);
  right:1.5vw;
  top:31%;
  background:#f0cbd4;
  border:1px solid rgba(150,77,96,.15);
  box-shadow:-2.2vw 2.2vw 0 #fae9ed,0 30px 90px rgba(151,82,101,.13);
}
body.layout-v3 #hero::after{
  top:9.5rem;
  background:linear-gradient(90deg,rgba(160,91,108,.4),rgba(160,91,108,.12) 58%,rgba(160,91,108,.28));
}
body.layout-v3 #hero .hero-bg-img{
  left:51%;
  right:1%;
  top:13%;
  height:89%;
  object-position:center 20%;
  mix-blend-mode:normal;
  clip-path:ellipse(47% 61% at 53% 59%);
  filter:saturate(.8) contrast(.96) brightness(1.045) drop-shadow(0 28px 38px rgba(112,55,70,.12));
}
body.layout-v3 #hero .h-label,
body.layout-v3 #hero .hero-note,
body.layout-v3 #hero .hh,
body.layout-v3 #hero .hh-signature{
  color:#713a49;
}
body.layout-v3 #hero .h-label::before{
  content:'';
  width:1.8rem;
  height:1px;
  margin-right:.7rem;
  background:#d59bab;
}
body.layout-v3 #hero .hero-note{color:rgba(113,58,73,.72)}
body.layout-v3 #hero .hh{
  z-index:4;
  text-shadow:0 1px 0 rgba(255,255,255,.34);
}
body.layout-v3 #hero .hh-signature{
  width:max-content;
  margin-top:.7rem;
  padding:.58rem .78rem .52rem;
  border:1px solid rgba(152,81,99,.22);
  background:rgba(255,253,252,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
body.layout-v3 #hero .hero-low{
  border-top-color:rgba(152,81,99,.3);
}
body.layout-v3 #hero .hs{color:rgba(92,48,60,.76)}
body.layout-v3 #hero .btn-brass{
  background:#a65f72;
  color:#fff;
  box-shadow:0 12px 30px rgba(137,71,89,.14);
}
body.layout-v3 #hero .btn-brass::before{background:#87485a}
body.layout-v3 #hero .btn-ghost{
  color:#713a49;
  border-color:rgba(152,81,99,.34);
  background:rgba(255,255,255,.55);
}
body.layout-v3 #hero .btn-ghost::before{background:#f1cfd8}
body.layout-v3 #hero .btn-ghost:hover{color:#713a49;border-color:#d99ead}
body.layout-v3 nav.top:not(.menu-on) .nav-logo,
body.layout-v3 nav.top:not(.menu-on) #mtog{color:#713a49}
body.layout-v3 nav.top:not(.menu-on) .nav-logo em{color:rgba(113,58,73,.6)}
body.layout-v3 nav.top:not(.menu-on) .nav-book{
  color:#713a49;
  border-color:rgba(152,81,99,.28);
  background:rgba(255,255,255,.5);
}
body.layout-v3 nav.top:not(.menu-on) .nav-book:hover{
  color:#fff;
  border-color:#a65f72;
  background:#a65f72;
}
@media(max-width:900px){
  body.layout-v3 #hero::before{width:67vw;height:67vw;right:-13vw;top:30%}
  body.layout-v3 #hero .hero-bg-img{left:43%;right:-8%;top:15%;height:80%}
}
@media(max-width:600px){
  body.layout-v3 #hero{min-height:820px;background:#fffdfc}
  body.layout-v3 #hero::before{width:101vw;height:101vw;right:-39vw;top:29%;box-shadow:-1.15rem 1.15rem 0 #fae9ed,0 24px 60px rgba(151,82,101,.12)}
  body.layout-v3 #hero .hero-scrim::before{background:linear-gradient(90deg,#fffdfc 0%,rgba(255,253,252,.92) 25%,rgba(255,253,252,.28) 68%,transparent 100%)}
  body.layout-v3 #hero .hero-bg-img{left:28%;right:-24%;top:15%;height:70%;clip-path:ellipse(48% 60% at 53% 57%)}
  body.layout-v3 #hero .hh{top:18.5%;font-size:clamp(3.1rem,15vw,5.5rem)}
  body.layout-v3 #hero .hh-signature{margin-top:.5rem;padding:.46rem .58rem .42rem;background:rgba(255,253,252,.66)}
  body.layout-v3 #hero .hero-note-left{top:52%}
  body.layout-v3 #hero .hero-low{bottom:3.4%;padding-top:1rem;background:linear-gradient(90deg,rgba(255,253,252,.9),rgba(255,253,252,.64),transparent)}
}
/* ─── V6 LUXURY MOTION + SPACING SYSTEM ─── */
:root{--lux-ease:cubic-bezier(.22,1,.36,1);--lux-shadow:0 24px 70px rgba(89,43,56,.09)}
body.layout-v3{background:#fffaf7}
body.layout-v3 .ctr{max-width:1420px;padding-inline:clamp(1.25rem,5vw,4.75rem)}
body.layout-v3 .sh{margin-bottom:clamp(3.5rem,6vw,6.5rem)}
body.layout-v3 .sec-h,
body.layout-v3 .about-h,
body.layout-v3 .mid-cta-h,
body.layout-v3 .contact-h{text-wrap:balance;line-height:.94}
body.layout-v3 .about-p,
body.layout-v3 .sp-intro p,
body.layout-v3 .proc-left p,
body.layout-v3 .faq-side p,
body.layout-v3 .pr-head p{line-height:1.9}
body.layout-v3 #about,
body.layout-v3 #ba,
body.layout-v3 #process,
body.layout-v3 #mid-cta,
body.layout-v3 #treatments,
body.layout-v3 #gallery,
body.layout-v3 #team,
body.layout-v3 #pricing,
body.layout-v3 #testimonials,
body.layout-v3 #faq,
body.layout-v3 #contact{padding-block:clamp(8rem,11vw,12rem)}
body.layout-v3 #contact{padding-bottom:clamp(7rem,10vw,10rem)}
body.layout-v3 main>section{scroll-margin-top:5rem}
body.layout-v3 .sh .lbl,
body.layout-v3 .sp-intro>.lbl{display:inline-flex;align-items:center;gap:.85rem;width:max-content}
body.layout-v3 .sh .lbl::after,
body.layout-v3 .sp-intro>.lbl::after{content:'';width:2.7rem;height:1px;background:currentColor;opacity:.48;transform-origin:left}
/* Dynamic glass navigation changes tone over light and dark sections. */
body.layout-v3 nav.top{
  top:0;
  padding-top:1.15rem;
  padding-bottom:1.15rem;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:top .55s var(--lux-ease),padding .45s var(--lux-ease),color .4s ease;
  isolation:isolate;
}
body.layout-v3 nav.top::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  transform:scaleY(.82);
  transform-origin:top;
  background:rgba(255,253,252,.76);
  border-bottom:1px solid rgba(132,65,83,.12);
  box-shadow:0 14px 38px rgba(86,43,55,.06);
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
  transition:opacity .45s ease,transform .55s var(--lux-ease),background .45s ease,border-color .45s ease;
}
body.layout-v3 nav.top.scrolled{padding-top:.78rem;padding-bottom:.78rem}
body.layout-v3 nav.top.scrolled::before{opacity:1;transform:scaleY(1)}
body.layout-v3 nav.top.nav-hidden{top:-6rem}
body.layout-v3 nav.top.menu-on{top:0}
body.layout-v3 nav.top.menu-on::before{opacity:0}
body.layout-v3 nav.top.nav-on-dark::before{background:rgba(73,50,48,.86);border-bottom-color:rgba(255,248,243,.13);box-shadow:0 16px 42px rgba(45,25,26,.18)}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-logo,
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) #mtog{color:#fff8f3}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-logo em{color:rgba(255,248,243,.57)}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-book{color:#fff8f3;border-color:rgba(255,248,243,.28);background:rgba(255,255,255,.04)}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-book:hover{color:#493230;border-color:#efc7cf;background:#efc7cf}
/* Buttons feel weightier and react with a restrained light pass. */
body.layout-v3 .btn{min-height:52px;padding:1.05rem 2.25rem;transition:color .35s ease,border-color .35s ease,transform .45s var(--lux-ease),box-shadow .45s ease}
body.layout-v3 .btn:hover{transform:translateY(-3px)}
body.layout-v3 .btn:active{transform:translateY(-1px) scale(.985)}
body.layout-v3 .btn::after{content:'';position:absolute;z-index:0;top:-50%;left:-70%;width:44%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .7s var(--lux-ease)}
body.layout-v3 .btn:hover::after{left:130%}
body.layout-v3 .link-u{transition:color .35s ease}
/* Editorial cards gain depth without becoming rounded UI tiles. */
body.layout-v3 .proc-item,
body.layout-v3 .pr-group,
body.layout-v3 .faq-item,
body.layout-v3 .ts-card{transition:transform .55s var(--lux-ease),background .45s ease,border-color .45s ease,box-shadow .55s ease,padding .45s var(--lux-ease)}
body.layout-v3 .proc-item:hover,
body.layout-v3 .pr-group:hover,
body.layout-v3 .faq-item:hover{transform:translateY(-6px);border-color:rgba(135,72,89,.23);box-shadow:var(--lux-shadow)}
body.layout-v3 .proc-item{overflow:hidden}
body.layout-v3 .proc-item::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:#c8899a;transform:scaleX(0);transform-origin:left;transition:transform .65s var(--lux-ease)}
body.layout-v3 .proc-item:hover::after,
body.layout-v3 .proc-item.active::after{transform:scaleX(1)}
body.layout-v3 .pr-group{position:relative;overflow:hidden}
body.layout-v3 .pr-group::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#bc788b;transform:scaleY(0);transform-origin:bottom;transition:transform .65s var(--lux-ease)}
body.layout-v3 .pr-group:hover::before{transform:scaleY(1)}
/* Image surfaces breathe on scroll and respond delicately to hover. */
body.layout-v3 .wipe,
body.layout-v3 .gi,
body.layout-v3 .sp-img-col{isolation:isolate}
body.layout-v3 .gi{box-shadow:0 18px 46px rgba(90,48,59,.08)}
body.layout-v3 .gimg{--lux-img-y:0%;filter:saturate(.78) brightness(.96);transform:translate3d(0,var(--lux-img-y),0) scale(1.055);transition:transform 1.25s var(--lux-ease),filter .7s ease}
body.layout-v3 .gi:hover .gimg{transform:translate3d(0,var(--lux-img-y),0) scale(1.105);filter:saturate(.95) brightness(1)}
body.layout-v3 .gi::before,
body.layout-v3 .sp-img-col::after{content:'';position:absolute;z-index:3;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(105,55,69,.045)}
body.layout-v3 .sp{overflow:hidden}
body.layout-v3 .sp::after{content:'';position:absolute;left:clamp(2rem,3.5vw,4rem);right:clamp(2rem,3.5vw,4rem);top:2rem;height:1px;background:rgba(112,58,73,.24);transform:scaleX(0);transform-origin:left;transition:transform .75s var(--lux-ease)}
body.layout-v3 .sp:hover::after{transform:scaleX(1)}
body.layout-v3 .sp:hover{background:rgba(255,250,245,.3)}
body.layout-v3 .sp-nm{transition:letter-spacing .55s var(--lux-ease),color .4s ease}
body.layout-v3 .sp:hover .sp-nm{letter-spacing:-.035em;color:#7b4050}
body.layout-v3 #treatments .sp:hover .sp-nm{color:inherit}
body.layout-v3 .tr-row{position:relative;overflow:hidden}
body.layout-v3 .tr-row::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,199,207,.1),transparent 70%);transform:translateX(-105%);transition:transform .7s var(--lux-ease);pointer-events:none}
body.layout-v3 .tr-row:hover::before,
body.layout-v3 .tr-row.open::before{transform:translateX(0)}
/* Fine section separators and roomier mobile rhythm. */
body.layout-v3 #stats{padding-block:clamp(5rem,7vw,7.5rem)}
body.layout-v3 .stat-item{min-height:250px;padding:clamp(2.5rem,4vw,4rem)}
body.layout-v3 .stat-num{transition:transform .55s var(--lux-ease),color .4s ease}
body.layout-v3 .stat-item:hover .stat-num{transform:translateY(-5px);color:#8d5060}
body.layout-v3 .about-quote{padding-top:1.8rem}
body.layout-v3 .tm-bio{box-shadow:0 22px 55px rgba(83,44,55,.1)}
body.layout-v3 .contact-cta{box-shadow:0 28px 75px rgba(91,48,60,.11)}
body.layout-v3 #hero::before{--hero-orb-y:0px;--hero-orb-scale:1;transform:translate3d(0,var(--hero-orb-y),0) scale(var(--hero-orb-scale));will-change:transform}
@media(max-width:900px){
  body.layout-v3 #about,
  body.layout-v3 #ba,
  body.layout-v3 #process,
  body.layout-v3 #mid-cta,
  body.layout-v3 #treatments,
  body.layout-v3 #gallery,
  body.layout-v3 #team,
  body.layout-v3 #pricing,
  body.layout-v3 #testimonials,
  body.layout-v3 #faq,
  body.layout-v3 #contact{padding-block:clamp(6.5rem,13vw,8.5rem)}
}
@media(max-width:600px){
  body.layout-v3 .ctr{padding-inline:1.2rem}
  body.layout-v3 .sh{margin-bottom:3rem}
  body.layout-v3 nav.top{padding-left:1.1rem;padding-right:1.1rem}
  body.layout-v3 nav.top.scrolled{padding-top:.68rem;padding-bottom:.68rem}
  body.layout-v3 .btn{min-height:50px;padding:1rem 1.45rem}
  body.layout-v3 .proc-item:hover,
  body.layout-v3 .pr-group:hover,
  body.layout-v3 .faq-item:hover{transform:none;box-shadow:none}
  body.layout-v3 .stat-item{min-height:190px}
}
/* ─── V7 FRAMED PINK-GRADIENT HERO ─── */
body.layout-v3 #hero{
  min-height:100svh;
  display:block;
  padding:clamp(.8rem,2vw,1.8rem);
  background:linear-gradient(135deg,#e997ad 0%,#f4b7c7 38%,#f8d8df 68%,#d7afd2 100%);
  color:#4c2636;
  overflow:hidden;
}
body.layout-v3 #hero::before{
  content:'';
  display:block;
  position:absolute;
  inset:-38%;
  z-index:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:repeating-radial-gradient(circle at 52% 45%,transparent 0 86px,rgba(255,255,255,.095) 87px 88px,transparent 89px 142px);
  box-shadow:none;
  transform:none!important;
  pointer-events:none;
}
body.layout-v3 #hero::after{display:none}
body.layout-v3 #hero .hero-card-shell{
  position:relative;
  z-index:1;
  min-height:calc(100svh - clamp(1.6rem,4vw,3.6rem));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.62);
  border-radius:clamp(1.25rem,2vw,2rem);
  background:linear-gradient(118deg,#fffefd 0%,#fffdfd 37%,#f5edf8 64%,#ead8f2 100%);
  box-shadow:0 34px 90px rgba(91,44,68,.22),0 8px 24px rgba(91,44,68,.1),inset 0 1px 0 rgba(255,255,255,.8);
}
body.layout-v3 #hero .hero-card-shell::before{
  content:'';
  position:absolute;
  z-index:0;
  width:48vw;
  height:48vw;
  right:-9vw;
  top:-10vw;
  border-radius:50%;
  background:radial-gradient(circle at 40% 45%,rgba(238,192,221,.72),rgba(205,182,232,.44) 46%,rgba(238,219,245,0) 72%);
  pointer-events:none;
}
body.layout-v3 #hero .hero-card-shell::after{
  content:'';
  position:absolute;
  z-index:0;
  width:45vw;
  height:32vw;
  left:-10vw;
  bottom:-18vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(246,166,181,.72),rgba(250,202,210,.34) 48%,transparent 73%);
  filter:blur(3px);
  pointer-events:none;
}
body.layout-v3 #hero .hero-bg{z-index:1;overflow:hidden;border-radius:inherit}
body.layout-v3 #hero .hero-scrim{z-index:2}
body.layout-v3 #hero .hero-scrim::before{
  background:linear-gradient(90deg,#fffefd 0%,rgba(255,254,253,.98) 30%,rgba(255,254,253,.73) 44%,rgba(255,254,253,.1) 64%,transparent 100%);
}
body.layout-v3 #hero .hero-scrim::after{
  background:linear-gradient(to top,rgba(255,250,249,.5),transparent 35%),linear-gradient(to bottom,rgba(255,255,255,.2),transparent 24%);
}
body.layout-v3 #hero .hero-bg-img{
  z-index:1;
  left:auto;
  right:-1.5%;
  top:1%;
  width:61%;
  height:99%;
  object-fit:contain;
  object-position:right bottom;
  border:0;
  box-shadow:none;
  mix-blend-mode:normal;
  clip-path:none;
  filter:saturate(.82) contrast(.96) brightness(1.045) drop-shadow(0 30px 38px rgba(99,52,75,.13));
}
body.layout-v3 #hero .hero-frame{
  position:relative;
  z-index:4;
  min-height:calc(100svh - clamp(1.6rem,4vw,3.6rem));
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:none;
  margin:0;
  padding:clamp(7rem,10vh,9rem) clamp(2.2rem,8vw,8.5rem) clamp(8.5rem,16vh,11rem);
}
body.layout-v3 #hero .h-label{
  top:clamp(5.4rem,9vh,7rem);
  left:clamp(2.2rem,8vw,8.5rem);
  color:#704052;
  font-size:.48rem;
  letter-spacing:.25em;
}
body.layout-v3 #hero .hero-note,
body.layout-v3 #hero .hero-side{display:none!important}
body.layout-v3 #hero .hero-bottom{display:flex;flex-direction:column;justify-content:center;width:100%;gap:0}
body.layout-v3 #hero .hh{
  position:static;
  z-index:4;
  width:min(52%,720px);
  max-width:720px;
  margin:0;
  color:#4c2636;
  font-family:var(--ff-d);
  font-size:clamp(3.35rem,5.5vw,6.6rem);
  font-weight:400;
  line-height:.99;
  letter-spacing:-.065em;
  white-space:normal;
  text-shadow:none;
}
body.layout-v3 #hero .hh-row{display:block;width:max-content;max-width:100%}
body.layout-v3 #hero .hh-row:nth-child(3){font-size:.78em;letter-spacing:-.055em}
body.layout-v3 #hero .hh-signature{
  display:block;
  width:max-content;
  margin:1rem 0 0 .18rem;
  padding:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:#9e5f73;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.26em;
}
body.layout-v3 #hero .hero-low{
  position:static;
  z-index:4;
  display:block;
  width:min(39%,500px);
  margin-top:clamp(1.6rem,3vh,2.4rem);
  padding:0;
  border:0;
}
body.layout-v3 #hero .hs{max-width:45ch;color:rgba(76,38,54,.72);font-size:.78rem;line-height:1.75}
body.layout-v3 #hero .h-actions{margin-top:1.45rem}
body.layout-v3 #hero .btn-brass{background:#9f5870;color:#fff;box-shadow:0 14px 30px rgba(119,55,78,.17)}
body.layout-v3 #hero .btn-brass::before{background:#7d4056}
body.layout-v3 #hero .btn-ghost{color:#573044;border-color:rgba(91,46,65,.32);background:rgba(255,255,255,.34)}
body.layout-v3 #hero .btn-ghost::before{background:#f0cad7}
body.layout-v3 #hero .hero-benefits{
  position:absolute;
  z-index:5;
  left:clamp(2.2rem,8vw,8.5rem);
  bottom:clamp(2rem,5vh,3.75rem);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(52%,680px);
  padding-top:1.25rem;
  border-top:1px solid rgba(94,48,67,.18);
}
body.layout-v3 #hero .hero-benefit{display:grid;grid-template-columns:auto 1fr;gap:.7rem;padding-right:1rem;color:#5f3447}
body.layout-v3 #hero .hero-benefit+.hero-benefit{padding-left:1rem;border-left:1px solid rgba(94,48,67,.13)}
body.layout-v3 #hero .hero-benefit-mark{font-family:var(--ff-d);font-size:.72rem;color:#b06a80;line-height:1.2}
body.layout-v3 #hero .hero-benefit strong{display:block;font-family:var(--ff-b);font-size:.58rem;font-weight:600;line-height:1.3;letter-spacing:.04em}
body.layout-v3 #hero .hero-benefit small{display:block;margin-top:.35rem;color:rgba(76,38,54,.58);font-size:.54rem;line-height:1.45}
body.layout-v3 nav.top{left:clamp(1.8rem,4.6vw,5.2rem);right:clamp(1.8rem,4.6vw,5.2rem);width:auto}
body.layout-v3 nav.top::before{border-radius:1rem}
@media(max-width:900px){
  body.layout-v3 #hero .hero-card-shell::before{width:72vw;height:72vw;right:-20vw;top:-10vw}
  body.layout-v3 #hero .hero-bg-img{right:-9%;top:8%;width:68%;height:92%}
  body.layout-v3 #hero .hero-frame{padding-left:clamp(2rem,6vw,4rem);padding-right:clamp(2rem,6vw,4rem)}
  body.layout-v3 #hero .h-label,
  body.layout-v3 #hero .hero-benefits{left:clamp(2rem,6vw,4rem)}
  body.layout-v3 #hero .hh{width:58%;font-size:clamp(3.1rem,7.4vw,5.4rem)}
  body.layout-v3 #hero .hero-low{width:48%}
  body.layout-v3 #hero .hero-benefits{width:61%}
}
@media(max-width:600px){
  body.layout-v3 #hero{min-height:940px;padding:.55rem}
  body.layout-v3 #hero .hero-card-shell{min-height:922px;border-radius:1.1rem}
  body.layout-v3 #hero .hero-card-shell::before{width:115vw;height:115vw;right:-48vw;top:27%}
  body.layout-v3 #hero .hero-card-shell::after{width:105vw;height:75vw;left:-50vw;bottom:-18vw}
  body.layout-v3 #hero .hero-bg-img{right:-29%;top:31%;width:104%;height:65%;opacity:.74;object-position:right bottom;filter:saturate(.74) contrast(.95) brightness(1.06) drop-shadow(0 24px 30px rgba(99,52,75,.12))}
  body.layout-v3 #hero .hero-scrim::before{background:linear-gradient(180deg,#fffefd 0%,rgba(255,254,253,.96) 31%,rgba(255,254,253,.42) 57%,rgba(255,254,253,.04) 82%)}
  body.layout-v3 #hero .hero-scrim::after{background:linear-gradient(to top,rgba(255,250,249,.8),transparent 33%)}
  body.layout-v3 #hero .hero-frame{min-height:922px;justify-content:flex-start;padding:8.2rem 1.35rem 8.5rem}
  body.layout-v3 #hero .h-label{top:6.1rem;left:1.35rem;font-size:.42rem}
  body.layout-v3 #hero .hero-bottom{justify-content:flex-start}
  body.layout-v3 #hero .hh{width:100%;font-size:clamp(2.75rem,12.2vw,4.5rem);line-height:1.02}
  body.layout-v3 #hero .hh-row:nth-child(3){font-size:.73em}
  body.layout-v3 #hero .hh-signature{font-size:.48rem;margin-top:.75rem}
  body.layout-v3 #hero .hero-low{width:100%;max-width:25rem;margin-top:1.4rem;padding:1rem;background:rgba(255,253,252,.63);border:1px solid rgba(103,54,74,.11);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  body.layout-v3 #hero .hs{font-size:.7rem;max-width:36ch}
  body.layout-v3 #hero .h-actions{gap:.5rem;margin-top:1rem}
  body.layout-v3 #hero .btn{min-height:46px;padding:.88rem 1.05rem;font-size:.52rem}
  body.layout-v3 #hero .hero-benefits{left:1.35rem;right:1.35rem;bottom:1.65rem;width:auto;gap:0;padding-top:1rem}
  body.layout-v3 #hero .hero-benefit{display:block;padding-right:.55rem}
  body.layout-v3 #hero .hero-benefit+.hero-benefit{padding-left:.55rem}
  body.layout-v3 #hero .hero-benefit-mark{font-size:.62rem}
  body.layout-v3 #hero .hero-benefit strong{margin-top:.3rem;font-size:.5rem;line-height:1.35}
  body.layout-v3 #hero .hero-benefit small{display:none}
  body.layout-v3 nav.top{left:1rem;right:1rem}
}
/* ─── V8 EDITED ONE-PAGE FLOW + REFERENCE HERO ─── */
[hidden]{display:none!important}
body.layout-v3 #hero{min-height:100svh;padding:0;background:#fbfafc}
body.layout-v3 #hero::before,
body.layout-v3 #hero::after{display:none}
body.layout-v3 #hero .hero-card-shell{
  min-height:100svh;
  border:0;
  border-radius:0;
  background:#fdfcfe;
  box-shadow:none;
}
body.layout-v3 #hero .hero-card-shell::before{
  width:62vw;
  height:72vw;
  right:-18vw;
  top:-26vw;
  background:radial-gradient(circle at 45% 54%,rgba(210,199,238,.7),rgba(231,219,245,.34) 48%,transparent 72%);
}
body.layout-v3 #hero .hero-card-shell::after{
  width:54vw;
  height:44vw;
  left:-15vw;
  bottom:-25vw;
  background:radial-gradient(circle at 55% 42%,rgba(245,160,180,.82),rgba(249,192,196,.52) 40%,rgba(223,190,232,.24) 64%,transparent 76%);
  filter:blur(8px);
}
body.layout-v3 #hero .hero-bg{border-radius:0}
body.layout-v3 #hero .hero-bg-img{
  right:0;
  top:0;
  width:61%;
  height:100%;
  object-fit:cover;
  object-position:54% center;
  opacity:1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.7) 11%,#000 23%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.7) 11%,#000 23%,#000 100%);
  filter:saturate(.76) contrast(.94) brightness(1.06);
}
body.layout-v3 #hero .hero-scrim::before{
  background:linear-gradient(90deg,#fdfcfe 0%,rgba(253,252,254,.98) 33%,rgba(253,252,254,.62) 47%,rgba(253,252,254,.04) 63%,transparent 100%);
}
body.layout-v3 #hero .hero-scrim::after{
  background:linear-gradient(to top,rgba(239,205,225,.22),transparent 34%),linear-gradient(to bottom,rgba(255,255,255,.08),transparent 25%);
}
body.layout-v3 #hero .hero-frame{
  min-height:100svh;
  padding:clamp(7.5rem,12vh,10rem) clamp(2.2rem,10vw,10.5rem) clamp(8.5rem,16vh,11rem);
}
body.layout-v3 #hero .h-label{top:clamp(5.3rem,8vh,6.8rem);left:clamp(2.2rem,10vw,10.5rem)}
body.layout-v3 #hero .hh{width:min(47%,660px);font-size:clamp(3.45rem,5.25vw,6.3rem);line-height:.99}
body.layout-v3 #hero .hero-low{width:min(39%,490px)}
body.layout-v3 #hero .hero-benefits{left:clamp(2.2rem,10vw,10.5rem);width:min(46%,650px)}
body.layout-v3 nav.top{left:clamp(1.8rem,6vw,6rem);right:clamp(1.8rem,6vw,6rem)}
/* Six deliberate sections, each with its own visual cadence. */
body.layout-v3 #services{background:linear-gradient(145deg,#f2dce3 0%,#ead6e8 100%)}
body.layout-v3 .sp-intro{min-height:62vh}
body.layout-v3 .sp,
body.layout-v3 .sp-img-col{min-height:610px}
body.layout-v3 .sp{background:rgba(255,255,255,.19)}
body.layout-v3 .sp:hover{background:rgba(255,255,255,.32)}
body.layout-v3 #ba{background:#fffdfb;border-top:1px solid rgba(95,50,65,.1)}
body.layout-v3 .ba-wrap{border:10px solid #fff;border-radius:1.5rem;box-shadow:0 35px 90px rgba(91,47,62,.16)}
body.layout-v3 .ba-handle{box-shadow:0 12px 30px rgba(75,37,51,.24)}
body.layout-v3 #team{background:linear-gradient(145deg,#efdce2,#e6cbd7)}
body.layout-v3 .team-photos{border:8px solid rgba(255,255,255,.52);border-radius:1.25rem;box-shadow:0 30px 75px rgba(91,47,62,.14)}
body.layout-v3 .tm-bio{border-radius:.8rem;border-color:rgba(106,55,72,.12)}
body.layout-v3 #pricing{background:#fffdfb}
body.layout-v3 .pr-group{background:linear-gradient(145deg,#f8eceb,#f1dfe3);border-color:rgba(106,55,72,.1)}
body.layout-v3 .pr-note{background:#f8eeec;border-color:rgba(106,55,72,.1)}
body.layout-v3 #contact{background:linear-gradient(135deg,#dfbdca,#d5b1ca)}
body.layout-v3 .contact-cta{border-radius:1.25rem;background:rgba(255,253,251,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:900px){
  body.layout-v3 #hero .hero-bg-img{right:-12%;width:72%;object-position:48% center}
  body.layout-v3 #hero .hero-frame{padding-left:clamp(2rem,6vw,4rem);padding-right:clamp(2rem,6vw,4rem)}
  body.layout-v3 #hero .h-label,
  body.layout-v3 #hero .hero-benefits{left:clamp(2rem,6vw,4rem)}
  body.layout-v3 #hero .hh{width:58%}
  body.layout-v3 #hero .hero-low{width:46%}
  body.layout-v3 #hero .hero-benefits{width:58%}
}
@media(max-width:600px){
  body.layout-v3 #hero{min-height:900px}
  body.layout-v3 #hero .hero-card-shell,
  body.layout-v3 #hero .hero-frame{min-height:900px}
  body.layout-v3 #hero .hero-bg-img{right:-34%;top:32%;width:118%;height:68%;object-position:center center;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.72) 12%,#000 26%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.72) 12%,#000 26%,#000 100%)}
  body.layout-v3 #hero .hero-frame{padding:8rem 1.25rem 8.2rem}
  body.layout-v3 #hero .h-label{left:1.25rem;top:6rem}
  body.layout-v3 #hero .hh{width:100%;font-size:clamp(2.7rem,12vw,4.4rem)}
  body.layout-v3 #hero .hero-low{width:100%;background:rgba(255,253,252,.72)}
  body.layout-v3 #hero .hero-benefits{left:1.25rem;right:1.25rem;width:auto}
  body.layout-v3 .sp,
  body.layout-v3 .sp-img-col{min-height:500px}
  body.layout-v3 .ba-wrap{border-width:5px;border-radius:1rem}
}
/* ─── V9 POLISHED NAVIGATION, MENU + FOOTER ─── */
body.menu-is-open{overflow:hidden}
body.layout-v3 nav.top{
  top:12px;
  justify-content:flex-start;
  gap:clamp(1rem,2vw,2rem);
}
body.layout-v3 nav.top.menu-on{top:12px}
body.layout-v3 nav.top .nav-logo{
  position:static;
  left:auto;
  transform:none;
  margin-right:auto;
  align-items:flex-start;
  text-align:left;
}
body.layout-v3 nav.top .nav-right{
  margin-left:auto;
  justify-content:flex-end;
  gap:clamp(.75rem,1.6vw,1.35rem);
}
body.layout-v3 nav.top .nav-book,
body.layout-v3 nav.top #mtog{
  min-height:42px;
}
body.layout-v3 nav.top .nav-book{
  border-radius:999px;
  padding:.7rem 1.2rem;
  background:rgba(255,255,255,.42);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
body.layout-v3 nav.top #mtog{
  padding:.5rem .25rem .5rem .75rem;
  border-radius:999px;
}
body.layout-v3 nav.top.menu-on::before{
  opacity:1;
  transform:scaleY(1);
  background:rgba(255,251,252,.72);
  border-color:rgba(116,59,79,.1);
  box-shadow:0 16px 46px rgba(92,46,65,.08);
}
body.layout-v3 nav.top.menu-on .nav-logo,
body.layout-v3 nav.top.menu-on #mtog{
  color:#4b2636;
}
body.layout-v3 nav.top.menu-on .nav-logo em{
  color:rgba(75,38,54,.58);
}
body.layout-v3 nav.top.menu-on .nav-book{
  opacity:1;
  pointer-events:auto;
  color:#4b2636;
  border-color:rgba(75,38,54,.24);
  background:rgba(255,255,255,.52);
}
body.layout-v3 nav.top.menu-on .nav-book:hover{
  color:#fff;
  border-color:#8f4b64;
  background:#8f4b64;
}
body.layout-v3 #mov{
  z-index:950;
  padding:clamp(7.75rem,14vh,9.25rem) clamp(1.5rem,6vw,6.5rem) clamp(1.6rem,4vw,3rem);
  overflow-y:auto;
  color:#4b2636;
  background:
    radial-gradient(circle at 88% 18%,rgba(202,183,232,.56),transparent 34%),
    radial-gradient(circle at 10% 86%,rgba(244,167,188,.52),transparent 36%),
    linear-gradient(135deg,#fffdfd 0%,#f8e7ed 52%,#f0d8e5 100%);
  isolation:isolate;
}
body.layout-v3 #mov::before,
body.layout-v3 #mov::after{
  content:'';
  position:fixed;
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(111,58,77,.09);
  border-radius:50%;
}
body.layout-v3 #mov::before{
  width:min(46vw,660px);
  aspect-ratio:1;
  right:-17vw;
  bottom:-32vw;
  box-shadow:0 0 0 4vw rgba(255,255,255,.13),0 0 0 8vw rgba(255,255,255,.07);
}
body.layout-v3 #mov::after{
  width:clamp(150px,19vw,310px);
  aspect-ratio:1;
  top:18%;
  left:-10vw;
}
body.layout-v3 #mov .mol{
  position:relative;
  z-index:1;
  width:min(100%,1240px);
  margin:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:center;
  column-gap:clamp(3rem,8vw,9rem);
  flex:1 0 auto;
}
body.layout-v3 #mov .moi,
body.layout-v3 #mov .moi:last-child{
  border-color:rgba(75,38,54,.13);
}
body.layout-v3 #mov .moi:nth-child(5),
body.layout-v3 #mov .moi:nth-child(6){
  border-bottom:1px solid rgba(75,38,54,.13);
}
body.layout-v3 #mov .moa{
  gap:clamp(1rem,2vw,2rem);
  padding:clamp(.8rem,1.7vh,1.15rem) 0;
  color:#4b2636;
}
body.layout-v3 #mov .mon{
  min-width:1.5rem;
  color:#9b5870;
  font-family:var(--ff-b);
  font-size:.46rem;
  font-style:normal;
  font-weight:600;
  letter-spacing:.18em;
}
body.layout-v3 #mov .mot{
  font-size:clamp(2.35rem,4.8vw,5.2rem);
  font-style:normal;
  letter-spacing:-.045em;
  line-height:1;
  color:#4b2636;
}
body.layout-v3 #mov .moa:hover .mot{
  color:#98536b;
  letter-spacing:-.025em;
}
body.layout-v3 #mov .mov-foot{
  position:relative;
  z-index:1;
  width:min(100%,1240px);
  margin:clamp(2rem,4vh,3.25rem) auto 0;
  padding-top:1.4rem;
  border-top:1px solid rgba(75,38,54,.15);
  align-items:center;
}
body.layout-v3 #mov .mov-contact{
  gap:clamp(1rem,3vw,2.6rem);
}
body.layout-v3 #mov .mov-c{
  color:rgba(75,38,54,.68);
  font-size:.5rem;
  font-weight:500;
}
body.layout-v3 #mov .mov-c:hover{color:#8f4b64}
body.layout-v3 #mov .mov-signoff{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.15rem;
  color:#4b2636;
  font-family:var(--ff-d);
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.layout-v3 #mov .mov-signoff em{
  color:rgba(75,38,54,.54);
  font-family:var(--ff-b);
  font-size:.38rem;
  font-style:normal;
  letter-spacing:.25em;
}
body.layout-v3 footer{
  --ivory:#fff9f6;
  --muted:rgba(255,249,246,.65);
  --faint:rgba(255,249,246,.38);
  --line:rgba(255,249,246,.17);
  --line-soft:rgba(255,249,246,.1);
  --brass:#efc4ce;
  padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5.5rem) 1.8rem;
  color:var(--ivory);
  background:
    radial-gradient(circle at 90% 4%,rgba(184,107,137,.2),transparent 27%),
    linear-gradient(145deg,#3b2630 0%,#4a2b38 48%,#38242d 100%);
  border-top:0;
}
body.layout-v3 footer::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.028) 47.2% 47.5%,transparent 47.7%);
}
body.layout-v3 .ft-intro{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:clamp(3rem,9vw,10rem);
  align-items:end;
  padding-bottom:clamp(4rem,8vw,7rem);
}
body.layout-v3 .ft-kicker,
body.layout-v3 .ft-label{
  display:block;
  color:#efc4ce;
  font-size:.46rem;
  font-weight:600;
  letter-spacing:.3em;
  text-transform:uppercase;
}
body.layout-v3 .ft-heading h2{
  margin-top:1.35rem;
  color:#fff9f6;
  font-family:var(--ff-d);
  font-size:clamp(2.8rem,6.5vw,7.2rem);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.045em;
}
body.layout-v3 .ft-heading h2 em{
  color:#efc4ce;
  font-style:normal;
}
body.layout-v3 .ft-invitation{
  padding-left:clamp(0rem,3vw,3rem);
  border-left:1px solid rgba(255,249,246,.15);
}
body.layout-v3 .ft-invitation p{
  max-width:34ch;
  margin-bottom:1.8rem;
  color:rgba(255,249,246,.66);
  font-size:.82rem;
  line-height:1.75;
}
body.layout-v3 footer .btn-brass{
  color:#3b2630;
  background:#efc4ce;
  box-shadow:0 16px 44px rgba(22,11,16,.2);
}
body.layout-v3 footer .btn-brass::before{background:#fff9f6}
body.layout-v3 .ft-word{
  position:relative;
  z-index:1;
  margin:0 -.02em;
  color:transparent;
  -webkit-text-stroke:1px rgba(239,196,206,.31);
  font-size:clamp(7rem,23vw,24rem);
  font-style:normal;
  font-weight:400;
  line-height:.72;
  letter-spacing:-.065em;
  text-align:left;
  text-transform:none;
}
body.layout-v3 .ft-cta{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.35fr 1fr .75fr .8fr;
  align-items:start;
  gap:clamp(2rem,5vw,5rem);
  margin:clamp(4rem,7vw,6rem) 0 0;
  padding:clamp(2rem,4vw,3.2rem) 0;
  border-top:1px solid rgba(255,249,246,.16);
  border-bottom:1px solid rgba(255,249,246,.16);
}
body.layout-v3 .ft-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.55rem;
}
body.layout-v3 .ft-column .ft-label{margin-bottom:.8rem}
body.layout-v3 .ft-column address,
body.layout-v3 .ft-column a,
body.layout-v3 .ft-column button{
  color:rgba(255,249,246,.68);
  font-family:var(--ff-b);
  font-size:.72rem;
  font-style:normal;
  font-weight:300;
  line-height:1.7;
  text-align:left;
  text-decoration:none;
}
body.layout-v3 .ft-column button{
  padding:0;
  border:0;
  background:none;
}
body.layout-v3 .ft-column a,
body.layout-v3 .ft-column button{
  position:relative;
  transition:color .3s ease,transform .35s ease;
}
body.layout-v3 .ft-column a:hover,
body.layout-v3 .ft-column button:hover{
  color:#efc4ce;
  transform:translateX(4px);
}
body.layout-v3 .ft-row{
  position:relative;
  z-index:1;
  padding-top:1.65rem;
}
body.layout-v3 .ft-logo{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:rgba(255,249,246,.62);
  font-family:var(--ff-b);
  font-size:.52rem;
  font-style:normal;
  font-weight:500;
  letter-spacing:.17em;
  text-transform:uppercase;
}
body.layout-v3 .ft-logo span{
  display:grid;
  width:32px;
  aspect-ratio:1;
  place-items:center;
  border:1px solid rgba(239,196,206,.42);
  border-radius:50%;
  color:#efc4ce;
  font-family:var(--ff-d);
  font-size:.55rem;
  letter-spacing:0;
}
body.layout-v3 .ft-back{
  color:rgba(255,249,246,.66);
  font-size:.48rem;
  font-weight:500;
  letter-spacing:.2em;
  text-decoration:none;
  text-transform:uppercase;
  transition:color .3s ease;
}
body.layout-v3 .ft-back span{display:inline-block;margin-left:.35rem;transition:transform .35s ease}
body.layout-v3 .ft-back:hover{color:#efc4ce}
body.layout-v3 .ft-back:hover span{transform:translateY(-4px)}
body.layout-v3 .ft-copy{color:rgba(255,249,246,.38)}
@media(max-width:900px){
  body.layout-v3 #mov .mol{column-gap:2rem}
  body.layout-v3 #mov .mov-contact{max-width:70%}
  body.layout-v3 .ft-intro{grid-template-columns:1fr;gap:2.5rem}
  body.layout-v3 .ft-invitation{max-width:32rem;padding-left:0;border-left:0}
  body.layout-v3 .ft-cta{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}
}
@media(max-width:600px){
  body.layout-v3 nav.top{
    top:8px;
    left:.65rem;
    right:.65rem;
    padding:.75rem .8rem;
  }
  body.layout-v3 nav.top.menu-on{top:8px}
  body.layout-v3 nav.top .nav-wordmark{font-size:.86rem;letter-spacing:.06em}
  body.layout-v3 nav.top .nav-logo em{display:none}
  body.layout-v3 nav.top .nav-right{gap:.25rem}
  body.layout-v3 nav.top .nav-book{
    min-height:38px;
    padding:.6rem .78rem;
    font-size:.43rem;
    letter-spacing:.15em;
  }
  body.layout-v3 nav.top #mtog{
    min-height:38px;
    padding:.5rem .2rem .5rem .55rem;
  }
  body.layout-v3 nav.top #mtog #mtog-txt{display:none}
  body.layout-v3 #mov{
    padding:6.8rem 1.2rem 1.25rem;
  }
  body.layout-v3 #mov .mol{
    grid-template-columns:1fr;
    align-content:start;
  }
  body.layout-v3 #mov .moi:nth-child(5){border-bottom:0}
  body.layout-v3 #mov .moa{padding:.72rem .1rem}
  body.layout-v3 #mov .mot{font-size:clamp(2.15rem,11vw,3.35rem)}
  body.layout-v3 #mov .mov-foot{
    align-items:flex-start;
    gap:1.2rem;
    margin-top:1.5rem;
    padding-top:1.1rem;
  }
  body.layout-v3 #mov .mov-contact{
    max-width:none;
    flex-direction:column;
    gap:.6rem;
  }
  body.layout-v3 #mov .mov-signoff{align-items:flex-start}
  body.layout-v3 footer{padding:5rem 1.2rem 1.4rem}
  body.layout-v3 .ft-heading h2{font-size:clamp(2.5rem,12.5vw,4.2rem)}
  body.layout-v3 .ft-invitation .btn{width:100%;justify-content:center}
  body.layout-v3 .ft-word{font-size:clamp(6rem,39vw,12rem);line-height:.78}
  body.layout-v3 .ft-cta{grid-template-columns:1fr 1fr;gap:2.5rem 1.25rem}
  body.layout-v3 .ft-row{align-items:flex-start;text-align:left}
  body.layout-v3 .ft-logo{width:100%;justify-content:center}
  body.layout-v3 .ft-back,
  body.layout-v3 .ft-copy{width:100%;text-align:center}
}
/* ─── V10 SHARED SIX-PAGE NAVBAR + MATERIAL POLISH ─── */
body.menu-is-open,
body.bw-open,
body.lb-open{overflow:hidden}
body.layout-v3 nav.top{
  top:12px;
  left:clamp(.65rem,1.35vw,1.25rem);
  right:clamp(.65rem,1.35vw,1.25rem);
  min-height:66px;
  padding:.65rem .75rem .65rem 1.15rem;
  gap:2rem;
  background:transparent!important;
}
body.layout-v3 nav.top.menu-on{top:12px}
body.layout-v3 nav.top::before{
  opacity:1;
  transform:none;
  border:1px solid rgba(104,53,72,.11);
  border-radius:18px;
  background:rgba(255,253,253,.72);
  box-shadow:0 14px 45px rgba(85,43,59,.07);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
}
body.layout-v3 nav.top.scrolled{min-height:58px;padding-top:.65rem;padding-bottom:.65rem}
body.layout-v3 nav.top.scrolled::before{background:rgba(255,253,253,.9);box-shadow:0 16px 50px rgba(85,43,59,.12)}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on)::before{background:rgba(255,253,253,.9);border-color:rgba(104,53,72,.11);box-shadow:0 16px 50px rgba(85,43,59,.12)}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-logo,
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) #mtog{color:#4b2636}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-logo em{color:rgba(75,38,54,.58)}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-book{border-color:#9b5870;background:#9b5870;color:#fff}
body.layout-v3 nav.top.nav-on-dark:not(.menu-on) .nav-book:hover{border-color:#4b2636;background:#4b2636;color:#fff}
body.layout-v3 nav.top .nav-logo{margin-right:auto;gap:.12rem}
body.layout-v3 nav.top .nav-wordmark{font-size:1rem;line-height:1;letter-spacing:.08em}
body.layout-v3 nav.top .nav-logo em{font-size:.36rem;letter-spacing:.28em}
body.layout-v3 .home-links{display:flex;align-items:center;gap:clamp(.9rem,1.7vw,1.65rem)}
body.layout-v3 .home-links a{position:relative;padding:.5rem 0;color:rgba(75,38,54,.68);font-size:.46rem;font-weight:600;letter-spacing:.18em;text-decoration:none;text-transform:uppercase;transition:color .3s ease}
body.layout-v3 .home-links a::after{content:'';position:absolute;left:0;right:0;bottom:.2rem;height:1px;background:#9b5870;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.22,1,.36,1)}
body.layout-v3 .home-links a:hover,
body.layout-v3 .home-links a[aria-current="page"]{color:#4b2636}
body.layout-v3 .home-links a:hover::after,
body.layout-v3 .home-links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
body.layout-v3 nav.top .nav-right{margin-left:0;gap:.75rem}
body.layout-v3 nav.top .nav-book{min-height:44px;padding:.8rem 1.25rem;border-color:#9b5870;background:#9b5870;color:#fff;font-size:.48rem;letter-spacing:.18em;box-shadow:none}
body.layout-v3 nav.top .nav-book:hover{border-color:#4b2636;background:#4b2636;color:#fff;box-shadow:0 13px 30px rgba(104,53,72,.18);transform:translateY(-2px)}
body.layout-v3 nav.top #mtog{display:none;width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;background:rgba(155,88,112,.1);color:#4b2636;justify-content:center}
body.layout-v3 nav.top #mtog #mtog-txt{display:none}
body.layout-v3 nav.top .mlines{gap:4px}
body.layout-v3 nav.top .ml{width:18px}
/* Subtle section finishing without changing the editorial layouts. */
body.layout-v3 main>section:not(#hero){isolation:isolate}
body.layout-v3 main>section:not(#hero)::before{pointer-events:none}
body.layout-v3 .sp,
body.layout-v3 .pr-group,
body.layout-v3 .tm-bio,
body.layout-v3 .contact-cta{backface-visibility:hidden}
body.layout-v3 .pr-row:not(:last-child){border-bottom:1px solid rgba(75,38,54,.07)}
body.layout-v3 .contact-cta{border:1px solid rgba(75,38,54,.1);box-shadow:0 30px 85px rgba(86,43,58,.13)}
body.layout-v3 .ba-wrap{box-shadow:0 38px 100px rgba(83,40,56,.18)}
body.layout-v3 .team-photos{box-shadow:0 34px 90px rgba(83,40,56,.17)}
body.layout-v3 #services .sp-intro{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.3),transparent 34%),linear-gradient(135deg,#f0d7e0,#e6d6ea)}
body.layout-v3 #services .sp-intro::after{content:'';position:absolute;right:-8vw;bottom:-16vw;width:36vw;aspect-ratio:1;border:1px solid rgba(75,38,54,.1);border-radius:50%;box-shadow:0 0 0 4vw rgba(255,255,255,.1),0 0 0 8vw rgba(255,255,255,.06);pointer-events:none}
body.layout-v3 .sp-img-col img{transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .65s ease}
body.layout-v3 .sp-img-col:hover img{transform:scale(1.045);filter:saturate(.9) contrast(.97)}
body.layout-v3 #services .sp:nth-child(4n+2){background:linear-gradient(145deg,rgba(255,255,255,.25),rgba(231,207,223,.42))}
body.layout-v3 #services .sp:nth-child(4n){background:linear-gradient(145deg,rgba(229,211,238,.42),rgba(255,255,255,.2))}
body.layout-v3 .ba-wrap{transform:rotate(-.35deg);transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s ease}
body.layout-v3 .ba-wrap:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 46px 110px rgba(83,40,56,.22)}
body.layout-v3 .team-photos{border-radius:2.5rem .9rem 2.5rem .9rem;transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s ease}
body.layout-v3 .team-photos:hover{transform:translateY(-6px);box-shadow:0 44px 105px rgba(83,40,56,.2)}
body.layout-v3 #pricing .pr-group:nth-child(even){margin-top:1.5rem}
body.layout-v3 .team-head{display:grid;grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);align-items:end}
body.layout-v3 .team-head .lbl{margin:0 0 .75rem}
body.layout-v3 .team-head #team-h{max-width:12ch;margin:0!important;font-size:clamp(3.2rem,6vw,6.6rem);line-height:.98;letter-spacing:-.05em}
body.layout-v3 .team-head #team-h .hand{font-size:.82em}
/* One editorial guide across the homepage: hero, grids, CTA and footer. */
body.layout-v3{--site-gutter:clamp(1.25rem,6vw,6.5rem)}
body.layout-v3 .ctr{
  width:100%;
  max-width:none;
  padding-left:var(--site-gutter);
  padding-right:var(--site-gutter);
}
body.layout-v3 #hero .hero-frame{
  padding-left:var(--site-gutter);
  padding-right:var(--site-gutter);
}
body.layout-v3 #hero .h-label,
body.layout-v3 #hero .hero-benefits{left:var(--site-gutter)}
body.layout-v3 #services .sp-intro{
  padding-left:var(--site-gutter);
  padding-right:var(--site-gutter);
}
body.layout-v3 footer{
  padding-left:var(--site-gutter);
  padding-right:var(--site-gutter);
}
@media(max-width:1080px){
  body.layout-v3 .home-links{display:none}
  body.layout-v3 nav.top .nav-right{margin-left:auto}
  body.layout-v3 nav.top #mtog{display:flex}
  body.layout-v3 #mov{padding:7.5rem 1.25rem 2rem}
  body.layout-v3 #mov .mol{grid-template-columns:1fr;align-content:start;width:100%;max-width:none;column-gap:0}
  body.layout-v3 #mov .moi:nth-child(5){border-bottom:0}
  body.layout-v3 #mov .moa{padding:.85rem 0}
  body.layout-v3 #mov .mot{font-size:clamp(2.4rem,8vw,4.4rem)}
  body.layout-v3 #mov .mov-foot{width:100%;max-width:none}
}
@media(max-width:760px){
  body.layout-v3{--site-gutter:1.2rem}
  body.layout-v3 nav.top,
  body.layout-v3 nav.top.menu-on{
    top:8px;
  }
  body.layout-v3 nav.top{
    left:.65rem;
    right:.65rem;
    min-height:58px;
    padding:.55rem .6rem .55rem .85rem;
    border-radius:15px;
  }
  body.layout-v3 nav.top::before{border-radius:15px}
  body.layout-v3 nav.top .nav-wordmark{font-size:.78rem;letter-spacing:.08em}
  body.layout-v3 nav.top .nav-logo em{display:none}
  body.layout-v3 nav.top .nav-book{min-height:40px;padding:.68rem .85rem;font-size:.4rem;letter-spacing:.13em}
  body.layout-v3 nav.top #mtog{width:40px;height:40px;min-height:40px}
  body.layout-v3 .team-head{grid-template-columns:1fr;gap:1rem}
  body.layout-v3 .team-head #team-h{font-size:clamp(2.8rem,12vw,4.6rem)}
}
@media(max-width:430px){
  body.layout-v3 nav.top .nav-book{display:none}
}
/* ─── V11 MOBILE-FIRST FINISH + PERFORMANCE ─── */
body.layout-v3 main,
body.layout-v3 main>section,
body.layout-v3 .ctr,
body.layout-v3 .sp,
body.layout-v3 .sp-img-col,
body.layout-v3 .team-wrap,
body.layout-v3 .pr-cols,
body.layout-v3 .contact-grid{min-width:0}
body.layout-v3 img{max-width:100%}
body.layout-v3 .sec-h,
body.layout-v3 .contact-h,
body.layout-v3 .ft-heading h2{text-wrap:balance;overflow-wrap:anywhere}
body.layout-v3 .pr-audience{margin:.9rem 0 .35rem;padding:.7rem 0;border-top:1px solid rgba(155,88,112,.22);border-bottom:1px solid rgba(155,88,112,.22);color:#8d4e65;font-size:.48rem;font-weight:600;letter-spacing:.16em;line-height:1.55;text-transform:uppercase}
@media(max-width:760px){
  html,body.layout-v3{overflow-x:hidden}
  body.layout-v3{--site-gutter:clamp(1rem,4.8vw,1.35rem)}
  body.layout-v3 nav.top,
  body.layout-v3 nav.top.menu-on{
    top:max(8px,env(safe-area-inset-top));
  }
  body.layout-v3 nav.top{
    left:max(.55rem,env(safe-area-inset-left));
    right:max(.55rem,env(safe-area-inset-right));
    min-height:58px;
    padding:.5rem .55rem .5rem .78rem;
  }
  body.layout-v3 nav.top .nav-book,
  body.layout-v3 nav.top #mtog,
  body.layout-v3 .btn,
  body.layout-v3 .ft-column a,
  body.layout-v3 .ft-column button{min-height:44px}
  body.layout-v3 #mov{
    min-height:100dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:calc(6.7rem + env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.4rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
  }
  body.layout-v3 #mov .moa{min-height:58px;align-items:center}
  body.layout-v3 #mov .mot{font-size:clamp(2.05rem,10.5vw,3.35rem);line-height:.96}
  body.layout-v3 #mov .mov-foot{flex-direction:column;align-items:flex-start}
  body.layout-v3 #hero,
  body.layout-v3 #hero .hero-card-shell,
  body.layout-v3 #hero .hero-frame{min-height:max(760px,100svh)}
  body.layout-v3 #hero .hero-frame{
    justify-content:flex-start;
    padding:7.55rem var(--site-gutter) 8.2rem;
  }
  body.layout-v3 #hero .h-label{top:5.7rem;left:var(--site-gutter);font-size:.4rem;letter-spacing:.21em}
  body.layout-v3 #hero .hh{width:100%;max-width:11ch;font-size:clamp(2.72rem,12.3vw,4.5rem);line-height:.98;letter-spacing:-.06em}
  body.layout-v3 #hero .hh-row{width:auto}
  body.layout-v3 #hero .hh-row:nth-child(3){max-width:12ch;font-size:.72em;line-height:1.04}
  body.layout-v3 #hero .hh-signature{font-size:.46rem;letter-spacing:.2em}
  body.layout-v3 #hero .hero-low{
    width:min(100%,25rem);
    margin-top:1.15rem;
    padding:.9rem;
    border:1px solid rgba(103,54,74,.1);
    border-radius:.85rem;
    background:rgba(255,253,252,.76);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  body.layout-v3 #hero .hs{font-size:.7rem;line-height:1.65}
  body.layout-v3 #hero .h-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.9rem}
  body.layout-v3 #hero .btn{width:100%;min-width:0;padding:.8rem .7rem;font-size:.48rem;white-space:nowrap}
  body.layout-v3 #hero .hero-bg-img{
    right:-30%;
    top:31%;
    width:116%;
    height:69%;
    object-position:center bottom;
    opacity:.8;
  }
  body.layout-v3 #hero .hero-benefits{left:var(--site-gutter);right:var(--site-gutter);bottom:max(1.2rem,env(safe-area-inset-bottom));width:auto;padding-top:.85rem}
  body.layout-v3 #hero .hero-benefit{padding-right:.45rem;gap:.35rem}
  body.layout-v3 #hero .hero-benefit+.hero-benefit{padding-left:.45rem}
  body.layout-v3 #hero .hero-benefit strong{font-size:.47rem;line-height:1.25}
  body.layout-v3 #services .sp-intro{min-height:auto;padding:5.25rem var(--site-gutter)}
  body.layout-v3 .sp-intro h2{max-width:8ch;font-size:clamp(3.2rem,15vw,5rem);line-height:.92;letter-spacing:-.055em}
  body.layout-v3 .sp-intro p{margin-top:2rem;font-size:.82rem;line-height:1.75}
  body.layout-v3 .sp-hint{margin-top:1.5rem}
  body.layout-v3 .sp{min-height:430px;padding:3.1rem var(--site-gutter)}
  body.layout-v3 .sp-img-col{min-height:clamp(390px,112vw,510px)}
  body.layout-v3 .sp-img-col img{height:100%;top:0}
  body.layout-v3 .sp-big{top:1.5rem;right:var(--site-gutter);font-size:5.2rem}
  body.layout-v3 .sp-nm{font-size:clamp(2.7rem,12vw,4rem);line-height:.98}
  body.layout-v3 .sp-pr{gap:1rem}
  body.layout-v3 #ba,
  body.layout-v3 #team,
  body.layout-v3 #pricing,
  body.layout-v3 #contact{padding-top:5.75rem;padding-bottom:5.75rem}
  body.layout-v3 .ba-head{gap:1.4rem;margin-bottom:2.4rem}
  body.layout-v3 .ba-head .sec-h{font-size:clamp(3rem,13vw,4.5rem);line-height:.96}
  body.layout-v3 .ba-head p{font-size:.78rem;line-height:1.7}
  body.layout-v3 .ba-wrap{width:100%;aspect-ratio:4/5;border-width:4px;border-radius:.9rem;transform:none}
  body.layout-v3 .ba-img{object-fit:cover}
  body.layout-v3 .ba-note{text-align:center;font-size:.48rem;letter-spacing:.12em}
  body.layout-v3 .ba-handle{width:46px;height:46px}
  body.layout-v3 .team-head{margin-bottom:2.5rem}
  body.layout-v3 .team-head #team-h{max-width:10ch;font-size:clamp(2.8rem,12vw,4.3rem);line-height:.98}
  body.layout-v3 .team-wrap{gap:2.25rem}
  body.layout-v3 .team-photo-col{display:block}
  body.layout-v3 .team-photos{width:100%;aspect-ratio:4/5;border-width:4px;border-radius:1.7rem .7rem 1.7rem .7rem}
  body.layout-v3 .tm-bio{margin:.85rem 0 0;padding:1.25rem}
  body.layout-v3 .tm-row{padding:1.5rem 0}
  body.layout-v3 .tm-name{font-size:clamp(2.25rem,10vw,3.45rem)}
  body.layout-v3 .pr-head{margin-bottom:2.6rem}
  body.layout-v3 .pr-cols{grid-template-columns:1fr;gap:.85rem}
  body.layout-v3 #pricing .pr-group:nth-child(even){margin-top:0}
  body.layout-v3 .pr-group{padding:1.35rem;border-radius:.8rem}
  body.layout-v3 .pr-group+.pr-group{margin-top:.85rem}
  body.layout-v3 .pr-row{grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding:1rem 0}
  body.layout-v3 .pr-row-nm{line-height:1.45}
  body.layout-v3 .pr-dots{display:none}
  body.layout-v3 .pr-val{white-space:nowrap}
  body.layout-v3 .pr-note{padding:1.35rem;border-radius:.8rem}
  body.layout-v3 .contact-grid{gap:2rem}
  body.layout-v3 .contact-meta{gap:1.6rem}
  body.layout-v3 .contact-addr{font-size:clamp(1.7rem,8vw,2.45rem);line-height:1.18}
  body.layout-v3 .contact-hours-row{gap:1rem}
  body.layout-v3 .a-note{width:min(58vw,220px);margin-top:0}
  body.layout-v3 .contact-cta{padding:2rem 1.25rem;border-radius:1rem;backdrop-filter:none;-webkit-backdrop-filter:none}
  body.layout-v3 .contact-h{font-size:clamp(3rem,13vw,4.6rem);line-height:.96}
  body.layout-v3 .contact-cta .btn{align-self:stretch!important;width:100%}
  body.layout-v3 .contact-link{overflow-wrap:anywhere}
  body.layout-v3 footer{padding:4.8rem var(--site-gutter) max(1.35rem,env(safe-area-inset-bottom))}
  body.layout-v3 .ft-intro{gap:2rem}
  body.layout-v3 .ft-heading h2{font-size:clamp(2.7rem,12.6vw,4.15rem);line-height:.98}
  body.layout-v3 .ft-word{font-size:clamp(5.8rem,37vw,11rem);line-height:.8}
  body.layout-v3 .ft-cta{grid-template-columns:1fr 1fr;gap:2.1rem 1rem;padding-top:2.5rem}
  body.layout-v3 .ft-column a,
  body.layout-v3 .ft-column button{display:flex;align-items:center;margin-top:.15rem}
  body.layout-v3 .ft-row{gap:1.1rem}
  body.layout-v3 main>section:not(#hero),
  body.layout-v3>section:not(#hero),
  body.layout-v3 footer{content-visibility:auto;contain-intrinsic-size:1px 780px}
}
@media(max-width:430px){
  body.layout-v3 #hero .hero-frame{padding-top:7.25rem}
  body.layout-v3 #hero .hh{font-size:clamp(2.5rem,12.8vw,3.5rem)}
  body.layout-v3 #hero .h-actions{grid-template-columns:1fr}
  body.layout-v3 #hero .hero-low{max-width:22rem}
  body.layout-v3 #hero .hero-bg-img{right:-39%;width:130%;opacity:.72}
  body.layout-v3 #hero .hero-benefit-mark{font-size:.56rem}
  body.layout-v3 #hero .hero-benefit strong{font-size:.43rem}
  body.layout-v3 .ft-cta{grid-template-columns:1fr}
}
@media(hover:none) and (pointer:coarse){
  body.layout-v3 .sp:hover,
  body.layout-v3 .pr-group:hover,
  body.layout-v3 .ba-wrap:hover,
  body.layout-v3 .team-photos:hover,
  body.layout-v3 .sp-img-col:hover img,
  body.layout-v3 nav.top .nav-book:hover{transform:none;filter:none;box-shadow:none}
  body.layout-v3 .sp:hover::after,
  body.layout-v3 .pr-group:hover::before{transform:none}
}
@media(prefers-reduced-motion:reduce){
  body.layout-v3 *,body.layout-v3 *::before,body.layout-v3 *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}