*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#0a0a0a;
  --bg-2:#0d0c0a;
  --bg-3:#131110;
  --brass:#C9B896;
  --brass-2:#A8956E;
  --brass-dim:rgba(201,184,150,.55);
  --ivory:#f0eae0;
  --muted:rgba(240,234,224,.52);
  --faint:rgba(240,234,224,.32);
  --line:rgba(240,234,224,.1);
  --line-soft:rgba(240,234,224,.06);
  --ff-d:'Fraunces',Georgia,serif;
  --ff-b:'Inter Tight',system-ui,sans-serif;
}

html{background:var(--bg);color:var(--ivory);font-family:var(--ff-b);overflow-x:hidden;scroll-behavior:auto!important;font-size:120%}
body{overflow-x:hidden;background:var(--bg);font-weight:300;font-size:1.0625rem;-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}
  html.js #quiz,html.js #quiz *{cursor:auto}
  html.js #quiz button,html.js #quiz .qz-opt{cursor:pointer}
}

/* custom cursor: replaces the native pointer that :not(.noanim) hides above */
#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;transform:translate(-50%,-50%);transition:width .3s cubic-bezier(.65,0,.35,1),height .3s cubic-bezier(.65,0,.35,1),background-color .3s ease,border-color .3s ease,opacity .25s 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}
html.js:not(.noanim) #cur{opacity:1}
#cur.c-link{width:42px;height:42px;background:rgba(201,184,150,.14);border-color:var(--brass-dim)}
#cur.c-book{width:56px;height:56px;background:var(--brass);opacity:.9}
#cur.c-view{width:80px;height:80px;background:var(--brass);border-color:var(--brass)}
#cur.c-view span{opacity:1;transition-delay:.12s}
@media(hover:none),(pointer:coarse){#cur{display:none}}
.noanim #cur{display:none}

/* film-grain overlay: theme-neutral static noise, adds tactile depth on
   flat dark backgrounds instead of leaving them a single dead-flat plane */
#grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:8000;pointer-events:none;opacity:.035;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 8s steps(10) infinite;will-change:transform}
@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%)}}
@media(prefers-reduced-motion:reduce){#grain{display:none}}

/* magnetic hover: buttons/cards drift very slightly toward the cursor,
   a small "twist" borrowed from richer reference sites, re-tinted here
   through the same brass system as everything else */
@media(hover:hover) and (pointer:fine){
  html.js:not(.noanim) .btn,html.js:not(.noanim) .mag{transition:transform .35s cubic-bezier(.2,.7,.3,1),color .35s ease,border-color .35s ease}
}

/* ─── SCROLL PROGRESS ─── */

/* ─── 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:clamp(1.9rem,3.6vw,3.4rem);font-weight:300;font-style:italic;line-height:1;letter-spacing:-.015em;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;vertical-align:top;padding:.1em .09em .14em;margin:-.1em -.09em -.14em;will-change:transform,filter,opacity}
.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}

/* ─── IMAGE PLACEHOLDER ───────────────────────────────────────────────
   No client photos exist yet. Every real <img> in the source template was
   swapped for one of these (see _build/imgify.ps1); original per-image
   classes (aimg-1, hero-bg-img, gimg, tm-ph, …) are preserved alongside
   img-ph so existing sizing/positioning CSS still applies, and this adds
   only the placeholder's own look. */
.img-ph{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;min-height:120px;
  background:
    linear-gradient(135deg, rgba(201,184,150,.09) 0%, rgba(201,184,150,.02) 50%, rgba(240,234,224,.03) 100%),
    var(--bg-2);
  border:1px dashed rgba(240,234,224,.16);
  overflow:hidden;text-align:center;padding:1.25rem;
}
.img-ph::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011 0.0035' numOctaves='5' seed='31'/%3E%3CfeColorMatrix values='0 0 0 0 0.79 0 0 0 0 0.72 0 0 0 0 0.59 0 0 0 4 -1.6'/%3E%3C/filter%3E%3Crect width='900' height='900' filter='url(%23m)' opacity='0.4'/%3E%3C/svg%3E");
  background-size:700px 700px;
}
.img-ph::after{
  content:attr(data-label);position:relative;z-index:1;
  font-family:var(--ff-b);font-size:.5625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);max-width:22ch;line-height:1.6;
}
/* the nav/footer wordmark placeholders read as a text logo, not a photo box */
.nav-logo-img.img-ph,.nav-logo-alt.img-ph,.ft-brand-mark.img-ph{
  min-height:0;border:none;background:none;padding:0;height:58px;width:auto;min-width:160px;
}
.nav-logo-img.img-ph::before{display:none}
.nav-logo-img.img-ph::after,.nav-logo-alt.img-ph::after,.ft-brand-mark.img-ph::after{
  font-family:var(--ff-d);font-style:italic;font-weight:500;font-size:1.05rem;letter-spacing:.01em;
  color:var(--ivory);text-transform:none;white-space:nowrap;max-width: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;position:relative;overflow:hidden;background:transparent;transition:color .4s ease,border-color .4s ease,transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}
.btn::before{content:'';position:absolute;top:-10%;bottom:-10%;left:-20%;width:140%;transform:translateX(-112%) skewX(-14deg);transition:transform .5s cubic-bezier(.72,0,.24,1)}
.btn:hover::before,.btn:focus-visible::before{transform:translateX(0) skewX(-14deg)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0);transition-duration:.12s}
.btn span,.btn svg{position:relative;z-index:1}
.btn span{transition:letter-spacing .5s cubic-bezier(.22,1,.36,1)}
.btn:hover span{letter-spacing:.26em}
.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;flex-shrink:0}
.btn:hover svg{animation:arrowNudge .7s cubic-bezier(.22,1,.36,1) infinite}
@keyframes arrowNudge{0%{transform:translateX(0)}45%{transform:translateX(6px)}100%{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.btn:hover svg{animation:none}.btn:hover{transform:none}}
.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}
.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{display:flex;align-items:center;text-decoration:none}
.nav-logo-img{height:44px;width:auto;background:var(--ivory);padding:.4rem .65rem;border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.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(201,184,150,.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(1.7rem,3.4vw,3.1rem);font-weight:500;letter-spacing:-.005em;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)}
.mov-hand{font-family:var(--ff-d);font-style:italic;color:var(--brass);display:inline-block}

/* ─── STICKY BOOKING BAR ─── */

/* ─── HERO ─── */
#hero{min-height:100svh;position:relative;overflow:hidden;display:flex}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg-img{position:absolute;left:0;right:0;top:-16%;width:100%;height:132%;object-fit:cover;object-position:center 32%;filter:saturate(.78) brightness(.86) contrast(1.02);will-change:transform}
.hero-scrim{position:absolute;inset:0}
.hero-scrim::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.6) 44%,rgba(10,10,10,.18) 74%,rgba(10,10,10,.5) 100%)}
.hero-scrim::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.9) 0%,transparent 40%),linear-gradient(to bottom,rgba(10,10,10,.65) 0%,transparent 24%)}
.hero-glow{position:absolute;top:0;left:0;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(201,184,150,.2) 0%,rgba(201,184,150,.05) 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:italic;line-height:.95;letter-spacing:-.025em;font-size:clamp(2.4rem,7vw,5.2rem);color:var(--ivory);text-shadow:0 2px 44px rgba(0,0,0,.4)}
.hh-row{display:block}
.hh-row-2{margin-left:clamp(1.25rem,4vw,5rem)}
.hh-row-2 .outline{-webkit-text-stroke:1.5px rgba(240,234,224,.82)}
.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:.9rem;font-weight:300;line-height:1.75;color:rgba(240,234,224,.72);max-width:42ch;letter-spacing:.01em}
.h-actions{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}
@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-inner{display:grid;grid-template-columns:repeat(4,1fr);max-width:1520px;margin:0 auto}
.noanim .stat-bar i{transform:scaleX(1)}

/* ─── ABOUT ─── */
#about{padding:clamp(6rem,11vw,10rem) 0;position:relative;overflow:hidden}
.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(201,184,150,.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:clamp(2rem,3.6vw,3.2rem);font-weight:300;font-style:italic;line-height:.98;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.4rem,2.1vw,1.9rem);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 (scroll-jacked pin, adopted from reference) ─── */
#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(201,184,150,.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}
/* interactive drag-slider, adopted from reference — primary featured case */
.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%;pointer-events:none;background-size:200% 100%;background-repeat:no-repeat;background-color:var(--bg-3)}
/* Our real before/after photos are single composite JPGs with both states
   already baked in side by side (client's own habit, confirmed by viewing
   the source files) — not two separate crops. The drag-slider needs two
   distinct layers, so each layer shows only its half of the same composite
   via background-position, instead of stretching the same full image twice. */
.ba-before{background-position:left center;filter:saturate(.4) contrast(.9) brightness(.82)}
.ba-after-clip .ba-img{background-position:right center}
.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(201,184,150,.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}
@media(max-width:600px){.ba-wrap{aspect-ratio:4/3}}
/* secondary case grid — keeps the rest of our real before/after photos below the featured slider */
.ba-more{margin-top:clamp(3rem,5vw,4.5rem)}
.ba-more-lbl{font-size:.5625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;display:block}
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.75rem,1.4vw,1.1rem)}
.ba-case{position:relative;overflow:hidden;border:1px solid var(--line-soft);background:var(--bg-2)}
.ba-case img{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}
.ba-case:hover img{transform:scale(1.04)}
.ba-case figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1rem .85rem;font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);background:linear-gradient(to top,rgba(10,10,10,.88),transparent)}
@media(max-width:900px){.ba-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ba-grid{grid-template-columns:1fr}}



.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(201,184,150,.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-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:clamp(2rem,3.6vw,3.1rem);font-weight:300;font-style:italic;line-height:.98;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}

/* ─── QR ─── */
.contact-qr{margin-top:2.5rem;display:flex;align-items:center;gap:1.25rem}
.contact-qr svg{width:104px;height:104px;flex-shrink:0;background:var(--ivory);padding:8px;border:1px solid rgba(201,184,150,.28)}
.contact-qr-cap{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);line-height:1.9;max-width:18ch}
.contact-qr-cap b{display:block;color:var(--brass);font-weight:500}

/* ─── SKIN TIERS (Селекция кожа) ─── */
#tiers{padding:clamp(5rem,9vw,8rem) 0;background:var(--bg-2);border-top:1px solid var(--line-soft)}
.ti-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2.5rem,5vw,4rem)}
.ti-head-note{font-family:var(--ff-d);font-style:italic;font-size:1.1rem;color:var(--muted);max-width:26ch;line-height:1.4;padding-bottom:.4rem}
.ti-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.ti-card{position:relative;background:var(--bg);display:flex;flex-direction:column;padding:clamp(2rem,3.2vw,3rem) clamp(1.5rem,2.4vw,2.25rem) clamp(2rem,3vw,2.75rem);transition:background-color .5s ease}
.ti-card::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s cubic-bezier(.65,0,.35,1)}
.ti-card:hover{background:var(--bg-3)}
.ti-card:hover::before{transform:scaleX(1)}
.ti-step{font-family:var(--ff-d);font-style:italic;font-size:1rem;color:var(--brass-dim);margin-bottom:1.5rem}
.ti-nm{font-family:var(--ff-d);font-size:clamp(1.5rem,2.2vw,2rem);font-weight:300;font-style:italic;line-height:1.1;color:var(--ivory);margin-bottom:1rem;transition:color .4s ease}
.ti-card:hover .ti-nm{color:var(--brass)}
.ti-meta{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:1.5rem}
.ti-d{font-size:.8125rem;font-weight:300;line-height:1.75;color:var(--muted);margin-bottom:2rem;flex:1}
.ti-card .btn{align-self:flex-start}
.ti-foot{margin-top:clamp(2rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:clamp(1.5rem,2.5vw,2rem)}
.ti-foot p{font-size:.875rem;font-weight:300;color:var(--muted);max-width:44ch;line-height:1.7}
@media(max-width:900px){.ti-grid{grid-template-columns:1fr}}

/* ─── 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}
/* sector filter above the accordion */
.tr-sectors{display:flex;flex-wrap:wrap;gap:.5rem clamp(.5rem,1.4vw,1.1rem);margin:clamp(2.5rem,4vw,3.5rem) 0 0;padding-bottom:clamp(1.5rem,2.5vw,2.2rem);border-bottom:1px solid var(--line)}
.tr-sec-btn{position:relative;background:none;border:1px solid var(--line);color:var(--muted);font-family:var(--ff-b);font-size:.5625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:.85rem 1.35rem;transition:color .4s ease,border-color .4s ease,background-color .4s ease}
.tr-sec-btn::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.tr-sec-btn:hover{color:var(--ivory);border-color:rgba(201,184,150,.35)}
.tr-sec-btn.on{color:#0a0a0a;background:var(--brass);border-color:var(--brass)}
.tr-sec-btn.on::after{transform:scaleX(1)}
.tr-sec-count{opacity:.6;margin-left:.55rem;font-size:.5rem}
.tr-cat[hidden]{display:none}
.tr-empty{padding:clamp(2.5rem,5vw,4rem) 0;border-bottom:1px solid var(--line)}
.tr-empty-h{font-family:var(--ff-d);font-weight:500;font-size:clamp(1.2rem,1.85vw,1.7rem);color:var(--ivory);margin-bottom:1rem}
.tr-empty p{font-size:.875rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:46ch}
.tr-empty .tr-pr{display:inline-block;margin-top:1.5rem}
.tr-list{border-top:1px solid var(--line)}
.tr-cat{border-bottom:1px solid var(--line)}
.tr-cat-h{width:100%;display:grid;grid-template-columns:1fr auto auto;column-gap:clamp(1rem,2.5vw,2.5rem);align-items:center;padding:clamp(1.5rem,2.6vw,2.2rem) 0;background:none;border:none;text-align:left;font-family:var(--ff-b);transition:padding-left .45s cubic-bezier(.65,0,.35,1)}
.tr-cat:hover .tr-cat-h,.tr-cat.open .tr-cat-h{padding-left:1rem}
.tr-cat-nm{font-family:var(--ff-d);font-size:clamp(1.2rem,1.85vw,1.7rem);font-weight:500;color:var(--ivory);transition:color .3s}
.tr-cat:hover .tr-cat-nm,.tr-cat.open .tr-cat-nm{color:var(--brass)}
.tr-cat-count{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.tr-cat.open>.tr-cat-h .tr-plus::after{transform:translateY(-50%) rotate(0deg);opacity:0}
.tr-cat-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.65,0,.35,1)}
.tr-cat.open .tr-cat-body{grid-template-rows:1fr}
.tr-cat-body-in{overflow:hidden;min-height:0;padding-left:clamp(.5rem,2vw,1.5rem)}
.tr-cat-body-in .tr-row:last-child{border-bottom:none}
.tr-note{padding:1.75rem 0 0;font-size:.8125rem;color:var(--muted)}
.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(201,184,150,.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.5rem,2.6vw,2.4rem);font-weight:300;font-style:italic;line-height:1.05;letter-spacing:-.01em;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(201,184,150,.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(201,184,150,.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-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(201,184,150,.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-weight:500;font-size:clamp(1.25rem,1.9vw,1.75rem);line-height:1.15;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(201,184,150,.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}
.test-leave{margin-top:1.5rem}
.test-leave a{font-size:.8125rem;letter-spacing:.04em;color:var(--brass);text-decoration:none;border-bottom:1px solid var(--brass-dim);padding-bottom:.15rem;transition:opacity .2s ease}
.test-leave a:hover{opacity:.75}
.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 ─── */
/* ─── GIFT VOUCHERS ─── */
#vouchers{padding:clamp(5rem,9vw,8rem) 0;background:var(--bg-2);border-top:1px solid var(--line-soft)}
.vch-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.vch-sub{margin-top:1.5rem;font-size:.9375rem;color:var(--muted);line-height:1.75;max-width:44ch}
/* двата кадъра се застъпват леко, за да не изглежда като подредена решетка */
.vch-media{margin-top:clamp(2rem,4vw,3rem);position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(.6rem,1.2vw,1rem);align-items:start}
.vch-media .wipe{position:relative;overflow:hidden}
.vch-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.vch-media .wipe:hover img{transform:scale(1.04)}
.vch-m1{aspect-ratio:3/2}
.vch-m2{aspect-ratio:3/4;margin-top:clamp(1.5rem,3vw,2.5rem)}
@media(max-width:560px){.vch-media{grid-template-columns:1fr}.vch-m2{margin-top:0;aspect-ratio:3/2}}
.vch-box{border:1px solid var(--line);padding:clamp(2rem,4vw,3rem);background:var(--bg-3)}
.vch-label{display:block;font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:.85rem}
.vch-input-row{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid var(--line);padding-bottom:.7rem;margin-bottom:1.4rem}
.vch-input-row input{background:none;border:none;outline:none;color:var(--ivory);font-family:var(--ff-d);font-style:italic;font-size:clamp(2.2rem,4vw,3.2rem);width:100%;-moz-appearance:textfield}
.vch-input-row input::-webkit-outer-spin-button,.vch-input-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.vch-cur{font-family:var(--ff-d);font-style:italic;font-size:1.8rem;color:var(--brass)}
.vch-presets{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.75rem}
.vch-preset{background:none;border:1px solid var(--line);padding:.55rem 1.05rem;color:var(--muted);font-family:var(--ff-b);font-size:.75rem;cursor:pointer;transition:border-color .2s,color .2s}
.vch-preset:hover,.vch-preset.active{border-color:var(--brass);color:var(--brass)}
.vch-note{margin-top:1.1rem;font-size:.6875rem;color:var(--faint)}
@media(max-width:900px){.vch-grid{grid-template-columns:1fr}}

/* Вътрешните страници нямат герой, затова първата секция сама трябва да се
   освободи изпод фиксираната навигация. Класът се слага от _build/split-pages.ps1. */
body.sub > section:first-of-type{padding-top:clamp(9rem,15vw,13rem)}

/* ─── АКАДЕМИЯ ЗА ЗДРАВА КОЖА ─── */
#akademia{padding:clamp(5rem,9vw,8rem) 0;border-top:1px solid var(--line-soft)}
.ak-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.ak-head-note{font-family:var(--ff-d);font-style:italic;font-size:1.1rem;color:var(--muted);max-width:24ch;line-height:1.35;padding-bottom:.4rem}
.ak-tabs{display:flex;flex-wrap:wrap;gap:.5rem clamp(.5rem,1.4vw,1.1rem);margin:clamp(2.5rem,4vw,3.5rem) 0 0;padding-bottom:clamp(1.5rem,2.5vw,2.2rem);border-bottom:1px solid var(--line)}
.ak-tab{position:relative;background:none;border:1px solid var(--line);color:var(--muted);font-family:var(--ff-b);font-size:.5625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:.85rem 1.35rem;transition:color .4s ease,border-color .4s ease,background-color .4s ease}
.ak-tab::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.ak-tab:hover{color:var(--ivory);border-color:rgba(201,184,150,.35)}
.ak-tab.on{color:#0a0a0a;background:var(--brass);border-color:var(--brass)}
.ak-tab.on::after{transform:scaleX(1)}
.ak-pane[hidden]{display:none}
.ak-pane{padding-top:clamp(2.5rem,5vw,4rem)}
.ak-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.ak-mod{font-family:var(--ff-d);font-style:italic;font-size:1rem;color:var(--brass-dim)}
.ak-h{font-family:var(--ff-d);font-size:clamp(1.7rem,3.1vw,2.9rem);font-weight:500;line-height:1.08;color:var(--ivory);margin:1.1rem 0 0}
.ak-lead{margin-top:1.5rem;font-family:var(--ff-d);font-style:italic;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55;color:var(--ivory);max-width:44ch}
.ak-body{margin-top:1.5rem;font-size:.875rem;font-weight:300;line-height:1.85;color:var(--muted);max-width:58ch}
.ak-list{margin:2.25rem 0 2.5rem;list-style:none;max-width:52ch}
.ak-list li{position:relative;padding:.9rem 0 .9rem 1.85rem;border-bottom:1px solid var(--line-soft);font-size:.875rem;font-weight:300;color:var(--muted);transition:color .35s ease,padding-left .45s cubic-bezier(.65,0,.35,1)}
.ak-list li::before{content:'';position:absolute;left:0;top:1.42rem;width:9px;height:1px;background:var(--brass);transition:width .45s cubic-bezier(.65,0,.35,1)}
.ak-list li:hover{color:var(--ivory);padding-left:2.35rem}
.ak-list li:hover::before{width:18px}
.ak-side{border:1px solid var(--line);background:var(--bg-2);padding:clamp(1.5rem,2.6vw,2.1rem)}
.ak-media{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;margin-bottom:clamp(1.5rem,2.6vw,2.1rem)}
.ak-media .wipe{position:absolute;inset:0}
.ak-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.9)}
.ak-fact{padding:1.05rem 0;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:.45rem}
.ak-fact:last-child{border-bottom:none}
.ak-fact span{font-size:.5625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.ak-fact b{font-weight:400;font-size:.875rem;color:var(--ivory)}
.ak-foot{margin-top:clamp(2rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:clamp(1.5rem,2.5vw,2rem)}
.ak-foot p{font-size:.875rem;font-weight:300;color:var(--muted);max-width:48ch;line-height:1.7}
@media(max-width:900px){.ak-grid{grid-template-columns:1fr}}

/* ─── КОЗМЕТИКА И РУТИНА ─── */
#kozmetika{padding:clamp(5rem,9vw,8rem) 0;background:var(--bg-2);border-top:1px solid var(--line-soft)}
.kz-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2.5rem,5vw,4rem)}
.kz-head-note{font-family:var(--ff-d);font-style:italic;font-size:1.1rem;color:var(--muted);max-width:26ch;line-height:1.4;padding-bottom:.4rem}
.kz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.kz-card{position:relative;background:var(--bg);display:flex;flex-direction:column;padding:clamp(2rem,3.2vw,3rem) clamp(1.5rem,2.4vw,2.25rem) clamp(2rem,3vw,2.75rem);transition:background-color .5s ease}
.kz-card::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s cubic-bezier(.65,0,.35,1)}
.kz-card:hover{background:var(--bg-3)}
.kz-card:hover::before{transform:scaleX(1)}
.kz-media{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;margin:0 0 clamp(1.5rem,2.6vw,2.1rem)}
.kz-media .wipe{position:absolute;inset:0}
.kz-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.9);transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.kz-card:hover .kz-media img{transform:scale(1.05)}
.kz-step{font-family:var(--ff-d);font-style:italic;font-size:1rem;color:var(--brass-dim);margin-bottom:1.5rem}
.kz-nm{font-family:var(--ff-d);font-size:clamp(1.3rem,1.95vw,1.75rem);font-weight:500;line-height:1.15;color:var(--ivory);margin-bottom:1rem;transition:color .4s ease}
.kz-card:hover .kz-nm{color:var(--brass)}
.kz-meta{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:1.5rem}
.kz-d{font-size:.8125rem;font-weight:300;line-height:1.75;color:var(--muted);margin-bottom:2rem;flex:1}
.kz-card .btn{align-self:flex-start}
.kz-brands{margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line);padding-top:clamp(1.5rem,2.5vw,2rem);display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap}
.kz-brands-lbl{font-size:.5625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);flex-shrink:0}
.kz-brand{font-family:var(--ff-d);font-size:clamp(1rem,1.5vw,1.3rem);font-weight:500;color:var(--muted);transition:color .35s ease}
.kz-brand:hover{color:var(--brass)}
@media(max-width:900px){.kz-grid{grid-template-columns:1fr}}

/* ─── ОСТАВЕТЕ ОТЗИВ ─── */
#otzivi-cta{padding:clamp(5rem,9vw,8rem) 0;border-top:1px solid var(--line-soft)}
.rv-box{border:1px solid var(--line);background:var(--bg-3);padding:clamp(2.5rem,5vw,4.5rem);display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,5vw,4rem);flex-wrap:wrap}
.rv-copy{max-width:44ch}
.rv-copy .lbl{display:inline-block;margin-bottom:1.5rem}
.rv-copy p{margin-top:1.5rem;font-size:.875rem;font-weight:300;line-height:1.8;color:var(--muted)}
.rv-actions{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.rv-actions .btn{white-space:nowrap}
@media(max-width:900px){.rv-box{flex-direction:column;align-items:flex-start}}

/* ─── SKIN QUIZ CTA ─── */
#quiz-cta{padding:clamp(4.5rem,8vw,7rem) 0;border-top:1px solid var(--line-soft)}
.qc-box{background:var(--bg-3);border:1px solid var(--line);padding:clamp(2.5rem,5vw,4rem);max-width:44rem}
.qc-copy p{font-size:.9375rem;color:var(--muted);margin-top:1.25rem}
.qc-list{margin:1.25rem 0 2rem;padding:0;list-style:none}
.qc-list li{position:relative;padding-left:1.4rem;font-size:.8125rem;color:var(--muted);line-height:1.9}
.qc-list li::before{content:'';position:absolute;left:0;top:.7rem;width:6px;height:6px;border-radius:50%;background:var(--brass)}

#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.15rem;font-weight:500;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-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(201,184,150,.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:clamp(1.8rem,3.3vw,3rem);font-weight:500;line-height:1.06;letter-spacing:-.01em;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) 0 2rem;overflow:hidden;background:var(--bg);position:relative}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(2rem,5vw,3rem);padding-bottom:clamp(2.5rem,5vw,4rem);margin-bottom:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line-soft)}
.ft-brand{font-family:var(--ff-d);font-style:italic;font-size:clamp(1.3rem,2vw,1.6rem);color:var(--ivory);margin-bottom:1rem}
.ft-tagline{font-size:.8125rem;line-height:1.7;color:var(--muted);max-width:32ch;margin-bottom:1.75rem}
.ft-col-h{font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:1.25rem}
.ft-list{list-style:none;display:flex;flex-direction:column;gap:.85rem}
.ft-list li{font-size:.8125rem;color:var(--muted)}
.ft-list a{color:var(--muted);text-decoration:none;transition:color .3s}
.ft-list a:hover{color:var(--brass)}
.ft-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.ft-copy{font-size:.6875rem;letter-spacing:.04em;color:var(--faint)}
.ft-legal{display:flex;gap:1.75rem;list-style:none}
.ft-legal a{font-size:.6875rem;color:var(--faint);text-decoration:none;transition:color .3s}
.ft-legal a:hover{color:var(--brass)}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr;row-gap:2.5rem}}
@media(max-width:560px){.ft-grid{grid-template-columns:1fr;text-align:center}.ft-tagline{margin-left:auto;margin-right:auto}.ft-bottom{flex-direction:column;text-align:center}}

/* ─── 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 ─── */
/* ─── SKIN QUIZ ─── */
#quiz{position:fixed;inset:0;z-index:7700;pointer-events:none}
#quiz.open{pointer-events:all}
#quiz-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)}
#quiz.open #quiz-overlay{opacity:1}
#quiz-panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--bg-2);border-left:1px solid rgba(201,184,150,.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}
#quiz.open #quiz-panel{transform:translateX(0)}
#quiz-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}
#quiz-close:hover{border-color:var(--brass);color:var(--brass)}
.qz-progress{height:2px;background:var(--line);margin-bottom:2rem;position:relative}
.qz-progress i{position:absolute;inset:0;background:var(--brass);transform-origin:left;transform:scaleX(.1);transition:transform .4s ease}
.qz-step{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:1rem}
.qz-q{font-family:var(--ff-d);font-size:1.4rem;font-weight:400;font-style:italic;color:var(--ivory);line-height:1.25;margin-bottom:1.75rem}
.qz-opts{display:flex;flex-direction:column;gap:.7rem;margin-bottom:2rem}
.qz-opt{display:block;width:100%;text-align:left;padding:.95rem 1.2rem;border:1px solid var(--line);background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;font-family:var(--ff-b);font-size:.875rem;font-weight:300;color:var(--ivory);transition:border-color .2s,color .2s,background .2s}
.qz-opt:hover{border-color:var(--brass);background:rgba(201,184,150,.05)}
.qz-opt.selected{border-color:var(--brass);color:var(--brass);background:rgba(201,184,150,.08)}
.qz-nav{display:flex;justify-content:space-between;gap:1rem}
.qz-back{background:none;border:1px solid var(--line);padding:.85rem 1.6rem;font-family:var(--ff-b);font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:border-color .2s,color .2s}
.qz-back:hover{border-color:var(--brass);color:var(--brass)}
.qz-back:disabled{opacity:0;pointer-events:none}
.qz-result-h{font-family:var(--ff-d);font-size:1.6rem;font-weight:400;font-style:italic;color:var(--ivory);margin-bottom:1.5rem}
.qz-result-block{margin-bottom:1.75rem}
.qz-result-block h4{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:.65rem}
.qz-result-block p{font-size:.875rem;color:var(--muted);line-height:1.7}
.qz-result-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}
.qz-retake{background:none;border:none;color:var(--muted);font-size:.75rem;text-decoration:underline;cursor:pointer;align-self:flex-start}

#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(201,184,150,.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.35rem;font-weight:500;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(201,184,150,.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(201,184,150,.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(201,184,150,.1);border:1px solid rgba(201,184,150,.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:1.8rem;font-weight:500;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){
  .nav-book{display:none}
  .hero-frame{padding-top:6.5rem}
  .hh{font-size:max(2.1rem,9.5vw)}
  .hh-row-2{margin-left:clamp(1rem,5vw,3rem)}
  .hh-row-3{margin-left:clamp(2rem,9vw,5rem)}
  .hero-glow{display:none}
  .sec-h{font-size:max(1.7rem,7.4vw)}
  .about-h{font-size:max(1.7rem,7vw)}
  .mid-cta-h{font-size:max(1.7rem,7vw)}
  .contact-h{font-size:max(1.9rem,7.8vw)}
  .about-grid{grid-template-columns:1fr;gap:4rem}
  .about-media{position:static;min-height:0;padding-bottom:3.5rem}
  .aimg-1-w{width:84%}
  .tg-grid{grid-template-columns:1fr 1fr}
  .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}

  .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}
  .mid-cta-inner{flex-direction:column;align-items:flex-start}
  #bw-panel{width:100%}
  #quiz-panel{width:100%}
}
@media(max-width:600px){
  .tg-grid{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:1fr}
  .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}
}

/* ── Stats ── */
#stats{padding:clamp(2.5rem,5vw,4rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat-n{display:block;font-family:var(--ff-d);font-style:italic;font-weight:500;font-size:clamp(2rem,4vw,3rem);color:var(--brass);line-height:1}
.stat-l{display:block;margin-top:.6rem;font-size:.75rem;letter-spacing:.08em;color:var(--muted)}
@media(max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}}

/* ── Brands ── */
#brands{padding:clamp(2rem,4vw,3rem) 0}
.brands-lbl{text-align:center;margin-bottom:1.5rem}
.brands-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.5rem,4vw,3.5rem)}
.brand-item{font-family:var(--ff-d);font-style:italic;font-size:clamp(1.1rem,1.8vw,1.4rem);color:var(--muted);opacity:.85;transition:opacity .3s,color .3s}
.brand-item:hover{opacity:1;color:var(--brass)}

/* ── Instagram ── */
#instagram{padding:var(--sec-y,clamp(4rem,8vw,7rem)) 0;text-align:center}
#instagram .sec-h{margin:.75rem 0 2.5rem}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem}
.ig-item{display:block;aspect-ratio:1/1;border-radius:4px;overflow:hidden}
.ig-item .img-ph,.ig-item img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.ig-grid{grid-template-columns:repeat(2,1fr)}}

/* ── Spotlight ── */
#spotlight{padding:var(--sec-y,clamp(4rem,8vw,7rem)) 0}
.spot-grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.spot-media{position:relative}
.spot-img{aspect-ratio:4/5;border-radius:6px;transform:rotate(-2.2deg);box-shadow:0 38px 84px rgba(0,0,0,.45);overflow:hidden}
.spot-img img{width:100%;height:100%;object-fit:cover}
.spot-chip{position:absolute;bottom:-1.1rem;right:-1rem;background:var(--brass);color:#0a0a0a;font-family:var(--ff-b);font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.25rem;border-radius:4px;transform:rotate(3deg);box-shadow:0 14px 30px rgba(0,0,0,.35)}
.spot-copy p{color:var(--muted);line-height:1.75;margin-top:1.25rem;max-width:48ch}
.spot-lead{font-size:var(--fs-lead,1.15rem)!important;color:var(--ivory)!important}
.spot-copy .btn{margin-top:2rem}
@media(max-width:900px){.spot-grid{grid-template-columns:1fr;gap:3rem}.spot-img{transform:none;max-width:340px;margin:0 auto}.spot-chip{right:1rem}}

/* ── Subpage hero: base, then three distinct treatments so pages don't
   all repeat the same banner shape (photo / split-photo / text-only) ── */
.p-hero{padding:clamp(8rem,16vh,11rem) 0 clamp(3rem,6vw,5rem);position:relative;overflow:hidden}
.p-hero .lbl{display:block;margin-bottom:1.25rem}
.p-hero h1{font-family:var(--ff-d);font-style:italic;font-weight:500;font-size:clamp(2.6rem,7vw,4.6rem);line-height:.98;letter-spacing:-.02em;color:var(--ivory);max-width:16ch}
.p-hero .hand{color:var(--brass)}
.p-hero p{margin-top:1.5rem;color:var(--muted);font-size:var(--fs-lead,1.1rem);max-width:52ch;line-height:1.7}
.p-hero-chip{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.75rem;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(201,184,150,.35);border-radius:99px;padding:.6rem 1.1rem}

/* photo treatment: single tilted frame, top-right */
.p-hero-photo{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.p-hero-photo .p-hero-img{aspect-ratio:3/4;border-radius:6px;transform:rotate(2deg);box-shadow:0 34px 70px rgba(0,0,0,.4);width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.p-hero-photo{grid-template-columns:1fr}.p-hero-photo .p-hero-img{transform:none;max-width:300px;margin:0 auto;order:-1}}

/* split-photo treatment: two stacked frames, offset — used on Резултати */
.p-hero-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.p-hero-split-media{position:relative;aspect-ratio:1/1;width:100%}
.p-hero-split-media .p-hero-img{position:absolute;border-radius:6px;box-shadow:0 30px 60px rgba(0,0,0,.42);overflow:hidden}
.p-hero-split-media .p-hero-img img{width:100%;height:100%;object-fit:cover}
.p-hero-split-media .p-hero-img:first-child{width:62%;aspect-ratio:3/4;left:0;top:6%;transform:rotate(-3deg);z-index:2}
.p-hero-split-media .p-hero-img:last-child{width:56%;aspect-ratio:3/4;right:0;bottom:0;transform:rotate(4deg);z-index:1}
@media(max-width:900px){.p-hero-split{grid-template-columns:1fr}.p-hero-split-media{max-width:320px;margin:0 auto 1rem;order:-1}}

/* text-only treatment: no photo, oversized outline word behind the title — used on Контакти */
.p-hero-plain{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.p-hero-plain h1{max-width:22ch}
.p-hero-plain .p-hero-bg-word{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-family:var(--ff-d);font-style:italic;font-size:clamp(6rem,22vw,16rem);color:transparent;-webkit-text-stroke:1px rgba(201,184,150,.14);white-space:nowrap;pointer-events:none;z-index:0;user-select:none}
.p-hero-plain>*{position:relative;z-index:1}