/* ═══════════════════════════════════════════
   STROYNYASHKA · "Obsidian & Honey"
   ═══════════════════════════════════════════ */

:root{
  /* Obsidian world */
  --obsidian:#0B0B0C;
  --obsidian-2:#14110E;
  --obsidian-3:#1B1712;
  /* Warm skin world */
  --champagne:#E7D8C6;
  --taupe:#B7A18C;
  --blush:#EBD9D2;
  --ivory:#F4EEE7;
  /* Accents */
  --honey:#E8A94B;
  --rose:#D9B6A6;
  --gold-1:#F6E5A8;
  --gold-2:#C79A3A;
  --gold-3:#8A5E1E;
  --gold-grad:linear-gradient(135deg,#F6E5A8 0%,#E8C978 30%,#C79A3A 60%,#8A5E1E 100%);
  --gold-sheen:linear-gradient(120deg,#8A5E1E 0%,#C79A3A 25%,#FBEFC0 48%,#F6E5A8 52%,#C79A3A 72%,#8A5E1E 100%);

  --text-dark:#12100E;
  --text-light:#F4EEE7;
  --muted-light:rgba(244,238,231,.62);
  --muted-dark:rgba(18,16,14,.6);

  --serif:'Fraunces',Georgia,serif;
  --sans:'Manrope',system-ui,sans-serif;

  --ease:cubic-bezier(.19,1,.22,1);
  --ease-2:cubic-bezier(.65,.05,.36,1);
  --maxw:1320px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  font-family:var(--sans);
  background:var(--obsidian);
  color:var(--text-light);
  overflow-x:hidden;
  line-height:1.6;
  cursor:none;
}
@media (hover:none){body{cursor:auto}}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold-2);color:#0B0B0C}
section{position:relative}

/* soft warm bloom that sits behind the whole page */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(120% 60% at 50% -10%, rgba(232,169,75,.08), transparent 60%);
}

/* ═══════════ FILM GRAIN + VIGNETTE ═══════════ */
.grain{
  position:fixed;inset:-50%;z-index:9998;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.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 6s steps(6) infinite;mix-blend-mode:overlay;
}
@keyframes grain{
  0%,100%{transform:translate(0,0)}10%{transform:translate(-4%,-4%)}
  30%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}
  70%{transform:translate(2%,2%)}90%{transform:translate(-3%,1%)}
}
.vignette{position:fixed;inset:0;z-index:9997;pointer-events:none;
  box-shadow:inset 0 0 240px 40px rgba(0,0,0,.5)}

/* ═══════════ CUSTOM CURSOR ═══════════ */
.cursor{
  position:fixed;top:0;left:0;z-index:10000;pointer-events:none;
  width:34px;height:34px;border:1.4px solid rgba(246,229,168,.85);border-radius:50%;
  transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),background .3s,border-color .3s;
  mix-blend-mode:difference;display:flex;align-items:center;justify-content:center;
}
.cursor-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#0B0B0C;opacity:0;transition:.25s;font-weight:600;white-space:nowrap}
.cursor.is-link{width:54px;height:54px;background:rgba(246,229,168,.12)}
.cursor.is-cta{width:76px;height:76px;background:rgba(246,229,168,.9);border-color:transparent}
.cursor.is-cta .cursor-label{opacity:1}
.cursor.is-drag{width:70px;height:70px;background:rgba(246,229,168,.9);border-color:transparent}
.cursor.is-drag .cursor-label{opacity:1}
@media (hover:none){.cursor{display:none}}

/* scroll thread */
.scroll-thread{position:fixed;top:0;right:22px;width:1px;height:100vh;z-index:60;background:rgba(255,255,255,.08)}
.scroll-thread span{display:block;width:100%;height:0;background:var(--gold-grad);box-shadow:0 0 8px rgba(232,169,75,.6)}
@media(max-width:760px){.scroll-thread{display:none}}

/* ═══════════ PRELOADER ═══════════ */
.preloader{position:fixed;inset:0;z-index:10001;background:#0B0B0C;display:flex;align-items:center;justify-content:center;flex-direction:column}
.preloader.done{opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility .8s}
.seal{overflow:visible}
.seal-ring{stroke-dasharray:600;stroke-dashoffset:600}
.seal-ring--inner{stroke-dasharray:520;stroke-dashoffset:520}
.seal-word{font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:.02em;
  fill:transparent;stroke:url(#sealGold);stroke-width:.5;opacity:0}
.seal-word--b{font-style:italic}
.seal-tag{font-family:var(--sans);font-size:6.4px;letter-spacing:.34em;fill:var(--gold-2);opacity:0;text-transform:uppercase}
.preloader-skip{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);
  background:none;border:none;color:var(--muted-light);font-family:var(--sans);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:.3s}
.preloader-skip:hover{color:var(--gold-1)}

/* ═══════════ SHARED TYPE ═══════════ */
.kicker,.eyebrow{font-family:var(--sans);font-size:clamp(10px,1vw,12px);letter-spacing:.34em;
  text-transform:uppercase;font-weight:600;color:var(--gold-2)}
.h-serif{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.01em;
  font-size:clamp(2.4rem,6vw,5.4rem)}
.h-serif em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:clamp(1rem,1.4vw,1.22rem);font-weight:300;max-width:56ch;color:var(--muted-light)}
.rail{position:absolute;top:12%;left:26px;writing-mode:vertical-rl;font-family:var(--serif);
  font-style:italic;font-size:14px;letter-spacing:.3em;color:rgba(244,238,231,.3);text-transform:uppercase;z-index:5}
.rail--light{color:rgba(18,16,14,.28)}
@media(max-width:900px){.rail{display:none}}

/* ═══════════ BUTTONS ═══════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.04em;
  padding:16px 32px;border-radius:100px;position:relative;overflow:hidden;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);cursor:none;white-space:nowrap}
.btn--gold{color:#241a08;background:var(--gold-grad);background-size:200% 200%;
  box-shadow:0 6px 30px -8px rgba(232,169,75,.55),inset 0 0 0 1px rgba(255,255,255,.18)}
.btn--gold::after{content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);
  transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn--gold:hover::after{transform:translateX(120%)}
.btn--gold:hover{box-shadow:0 10px 44px -6px rgba(232,169,75,.75),inset 0 0 0 1px rgba(255,255,255,.3)}
.btn--ghost{color:var(--gold-1);background:transparent;box-shadow:inset 0 0 0 1px rgba(246,229,168,.5)}
.btn--ghost::before{content:"";position:absolute;inset:0;background:var(--gold-grad);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:-1}
.btn--ghost:hover{color:#241a08}
.btn--ghost:hover::before{transform:scaleX(1)}
.btn span,.btn{z-index:1}

/* ═══════════ NAV ═══════════ */
.nav{position:fixed;top:0;left:0;width:100%;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px clamp(20px,4vw,54px);transition:padding .5s var(--ease)}
.nav.is-condensed{padding:14px clamp(20px,4vw,54px)}
.nav.is-condensed .nav-inner-bg{opacity:1}
.nav::before{content:"";position:absolute;inset:10px clamp(16px,3vw,40px);border-radius:100px;
  background:rgba(18,16,14,.5);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:inset 0 0 0 1px rgba(246,229,168,.14),0 10px 40px -12px rgba(0,0,0,.6);
  opacity:0;transition:opacity .5s var(--ease);z-index:-1}
.nav.is-condensed::before{opacity:1}
.nav-logo{display:flex;align-items:center;gap:11px;z-index:2}
.nav-logo-mark{font-family:var(--serif);font-size:20px;font-style:italic;fill:url(#sealGold)}
.nav-logo-text{font-family:var(--serif);font-size:22px;font-style:italic;letter-spacing:.01em;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;gap:30px}
.nav-links a{font-size:13px;font-weight:500;letter-spacing:.03em;position:relative;color:var(--text-light);padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;
  background:var(--gold-grad);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-right{display:flex;align-items:center;gap:22px;z-index:2}
.nav-phone{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--gold-1)}
.nav-cta{padding:12px 26px;font-size:13px}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;z-index:210;padding:8px}
.nav-burger span{width:26px;height:2px;background:var(--gold-1);transition:.4s var(--ease);border-radius:2px}
.nav.menu-open .nav-burger span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.nav.menu-open .nav-burger span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:1040px){.nav-links,.nav-right{display:none}.nav-burger{display:flex}}

.mobile-menu{position:fixed;inset:0;z-index:190;background:rgba(11,11,12,.97);
  backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu a{font-family:var(--serif);font-size:28px;font-style:italic;color:var(--text-light)}
.mobile-menu .btn{font-family:var(--sans);font-style:normal;margin-top:10px}
.mobile-menu__phone{font-family:var(--sans)!important;font-style:normal!important;font-size:16px!important;color:var(--gold-1)!important}

/* ═══════════ HERO ═══════════ */
.hero{min-height:100vh;display:flex;align-items:center;
  padding:140px clamp(20px,5vw,80px) 90px;overflow:hidden;position:relative}
.hero-aura{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(70% 80% at 78% 42%, rgba(232,169,75,.16), transparent 60%),
    radial-gradient(60% 60% at 12% 12%, rgba(199,154,58,.10), transparent 55%),
    linear-gradient(180deg,#0B0B0C 0%,#111013 60%,#0B0B0C 100%)}
.hero-particles{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.7}
.hero-inner{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;width:100%;
  display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,70px);align-items:center}
.hero-copy{max-width:620px}
.kicker{margin-bottom:22px}
.hero-title{font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:-.015em;
  font-size:clamp(2.7rem,6vw,5rem);margin-bottom:26px}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero-title .word{display:inline-block}
.hero-title em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{max-width:48ch;font-size:clamp(1rem,1.3vw,1.16rem);font-weight:300;line-height:1.65;color:rgba(244,238,231,.78);margin-bottom:34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px}
.hero-proof{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--muted-light)}
.hero-proof b{font-family:var(--serif);font-size:19px;font-style:italic;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:2px}
.hero-proof i{width:3px;height:3px;border-radius:50%;background:var(--gold-3)}

/* founders portrait */
.hero-portrait{position:relative;aspect-ratio:1/1;border-radius:20px;overflow:hidden;justify-self:end;width:100%;max-width:440px;
  box-shadow:0 50px 100px -40px rgba(0,0,0,.85),inset 0 0 0 1px rgba(246,229,168,.28);
  background:linear-gradient(150deg,#241d14,#0e0c0a)}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;
  filter:saturate(.98) contrast(1.02) brightness(.98)}
.hero-portrait__fallback{position:absolute;inset:0;display:none;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 35%,#2a2015,#0e0c0a)}
.hero-portrait__fallback span{font-family:var(--serif);font-style:italic;font-size:120px;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.85}
.hero-portrait.no-photo img{display:none}
.hero-portrait.no-photo .hero-portrait__fallback{display:flex}
.hero-portrait figcaption{position:absolute;left:0;bottom:0;width:100%;z-index:2;
  padding:44px 26px 22px;display:flex;flex-direction:column;gap:3px;
  background:linear-gradient(transparent,rgba(8,7,6,.82))}
.hero-portrait figcaption b{font-family:var(--serif);font-style:italic;font-weight:500;font-size:20px;color:var(--ivory)}
.hero-portrait figcaption small{font-size:12px;letter-spacing:.02em;color:var(--gold-1)}

@media(max-width:900px){
  .hero{padding-top:120px}
  .hero-inner{grid-template-columns:1fr;gap:38px}
  .hero-portrait{order:-1;max-width:340px;justify-self:center;aspect-ratio:1/1}
}
.hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted-light);
  display:flex;flex-direction:column;align-items:center;gap:10px}
.hero-scroll span{width:1px;height:40px;background:linear-gradient(var(--gold-2),transparent);position:relative;overflow:hidden}
.hero-scroll span::after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;background:var(--gold-1);animation:scrolldot 2s var(--ease) infinite}
@keyframes scrolldot{0%{transform:translateY(-100%)}100%{transform:translateY(250%)}}

/* ═══════════ MARQUEE ═══════════ */
.marquee{overflow:hidden;padding:26px 0;border-top:1px solid rgba(246,229,168,.14);border-bottom:1px solid rgba(246,229,168,.14);
  background:rgba(11,11,12,.5);position:relative;z-index:4}
.marquee-track{display:flex;align-items:center;gap:38px;white-space:nowrap;width:max-content;animation:marquee 34s linear infinite}
.marquee-track span{font-family:var(--serif);font-style:italic;font-size:clamp(20px,3vw,34px);color:rgba(244,238,231,.62)}
.marquee-track i{color:var(--gold-2);font-size:14px;font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ═══════════ METHOD ═══════════ */
.method{padding:clamp(90px,14vh,180px) clamp(20px,5vw,80px);max-width:1500px;margin:0 auto}
.method-intro{max-width:var(--maxw);margin:0 auto 60px}
.method-intro .eyebrow{margin-bottom:20px;display:block}
.method-intro .h-serif{margin-bottom:26px;color:var(--text-light)}
.method-intro .h-serif em{display:inline}
.method-sticky{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:var(--maxw);margin:0 auto;align-items:start}
.method-visual{position:sticky;top:14vh;height:72vh;border-radius:20px;overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7),inset 0 0 0 1px rgba(246,229,168,.18)}
.mv{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);
  background-image:var(--img);background-size:cover;background-position:center;transform:scale(1.04)}
.mv-1{opacity:1}
.mv-grain{position:absolute;inset:0;background:linear-gradient(160deg,rgba(232,169,75,.12),transparent 50%,rgba(11,11,12,.4));pointer-events:none}
.method-steps{display:flex;flex-direction:column;gap:14vh;padding:10vh 0}
.mstep{opacity:.28;transition:opacity .5s var(--ease)}
.mstep.is-active{opacity:1}
.mstep-n{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--gold-2);display:block;margin-bottom:14px;letter-spacing:.1em}
.mstep h3{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,3rem);font-weight:400;line-height:1.05;margin-bottom:16px;color:var(--text-light)}
.mstep.is-active h3{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.mstep p{color:var(--muted-light);max-width:40ch}

.method-facts{display:flex;justify-content:center;gap:clamp(30px,7vw,110px);max-width:var(--maxw);
  margin:90px auto 0;padding-top:60px;border-top:1px solid rgba(246,229,168,.16);flex-wrap:wrap}
.fact{text-align:center}
.fact-k{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2);margin-bottom:12px}
.fact-v{font-family:var(--serif);font-size:clamp(3rem,6vw,5rem);line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.fact-v small{font-size:.28em;font-style:italic;-webkit-text-fill-color:var(--muted-light)}

/* wrap ritual — transitions to warm world */
.wrap-ritual{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;
  max-width:var(--maxw);margin:clamp(90px,14vh,170px) auto 0}
.wrap-copy .eyebrow{display:block;margin-bottom:18px}
.wrap-copy .h-serif{color:var(--champagne);margin-bottom:24px}
.wrap-list{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:14px}
.wrap-list li{position:relative;padding-left:26px;font-size:1.02rem;color:rgba(244,238,231,.8)}
.wrap-list li::before{content:"";position:absolute;left:0;top:.6em;width:12px;height:1px;background:var(--gold-grad)}
.wrap-figure{border-radius:18px;overflow:hidden;aspect-ratio:4/5;
  background-image:var(--img);background-size:cover;background-position:center;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.6),inset 0 0 0 1px rgba(246,229,168,.2)}

@media(max-width:900px){
  .method-sticky{grid-template-columns:1fr;gap:20px}
  .method-visual{position:relative;top:0;height:56vh}
  .method-steps{gap:40px;padding:40px 0}
  .mstep{opacity:1}
  .wrap-ritual{grid-template-columns:1fr;gap:34px}
}

/* ═══════════ RESULTS (warm world) ═══════════ */
.results{padding:clamp(110px,16vh,200px) clamp(20px,5vw,80px);color:var(--text-dark);
  background:linear-gradient(180deg,#0B0B0C 0%,#2a2118 8%,#6d5d4b 16%,#cbb59d 26%,#F4EEE7 42%,#F4EEE7 58%,#E7D8C6 72%,#6d5d4b 88%,#14110E 97%,#0B0B0C 100%)}
.results-head{max-width:var(--maxw);margin:0 auto 56px;text-align:center}
.results-head .eyebrow{color:var(--gold-3);margin-bottom:18px;display:block}
.results-head .h-serif{color:#241d15}
.results-head .h-serif em{background:linear-gradient(135deg,#8A5E1E,#C79A3A);-webkit-background-clip:text;background-clip:text;color:transparent}
.results-head .lede{color:var(--muted-dark);margin:22px auto 0}
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:var(--maxw);margin:0 auto}
.ba{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;
  box-shadow:0 30px 70px -28px rgba(60,40,20,.5),inset 0 0 0 1px rgba(138,94,30,.25);user-select:none}
.ba-img{position:absolute;inset:0}
.ba-img img{width:100%;height:100%;object-fit:cover}
.ba figcaption{position:absolute;bottom:0;left:0;width:100%;padding:44px 18px 16px;z-index:2;
  font-size:13px;letter-spacing:.03em;color:#fff;font-weight:500;
  background:linear-gradient(transparent,rgba(20,12,4,.72))}
.ba-labels{position:absolute;top:14px;width:100%;display:flex;justify-content:space-between;padding:0 16px;z-index:2}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:var(--maxw);margin:70px auto 0}
.stat{text-align:center;padding:34px 16px;border-radius:14px;
  background:rgba(255,255,255,.28);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(138,94,30,.2)}
.stat-num{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4rem);line-height:1;font-variant-numeric:tabular-nums;
  background:linear-gradient(135deg,#8A5E1E,#C79A3A,#8A5E1E);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:12px}
.stat-cap{font-size:13px;color:var(--muted-dark);line-height:1.4;display:block;max-width:22ch;margin:0 auto}
.pull{max-width:800px;margin:70px auto 0;text-align:center;font-family:var(--serif);font-style:italic;
  font-size:clamp(1.4rem,3.2vw,2.4rem);line-height:1.3;color:#3a2c1c}
.pull::first-letter{color:var(--gold-3)}
@media(max-width:900px){
  .ba-grid{grid-template-columns:1fr;max-width:420px}
  .stats{grid-template-columns:repeat(2,1fr)}
}

/* ═══════════ SERVICES (obsidian) ═══════════ */
.services{padding:clamp(90px,14vh,180px) clamp(20px,5vw,80px);max-width:1500px;margin:0 auto}
.services-head{text-align:center;margin-bottom:44px}
.services-head .eyebrow{display:block;margin-bottom:18px}
.services-head .h-serif{color:var(--text-light)}
.chips{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 50px;max-width:820px;padding:6px;
  border-radius:100px;background:rgba(20,17,14,.5);box-shadow:inset 0 0 0 1px rgba(246,229,168,.14)}
.chip{position:relative;z-index:2;border:none;background:none;cursor:none;color:var(--muted-light);
  font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.02em;padding:12px 22px;border-radius:100px;transition:color .4s var(--ease)}
.chip.is-active{color:#241a08}
.chip-pill{position:absolute;z-index:1;top:6px;height:calc(100% - 12px);border-radius:100px;
  background:var(--gold-grad);box-shadow:0 6px 20px -6px rgba(232,169,75,.6);
  transition:left .5s var(--ease),width .5s var(--ease);left:6px;width:60px}
@media(max-width:640px){.chips{border-radius:22px}.chip-pill{display:none}.chip.is-active{background:var(--gold-grad)}}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:var(--maxw);margin:0 auto;perspective:1400px}
.card{position:relative;border-radius:18px;overflow:hidden;background:rgba(20,17,14,.6);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.8),inset 0 0 0 1px rgba(246,229,168,.16);
  backdrop-filter:blur(8px);transition:transform .5s var(--ease),box-shadow .5s var(--ease);
  transform-style:preserve-3d;will-change:transform;display:flex;flex-direction:column}
.card.is-hidden{display:none}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(120deg,transparent 35%,rgba(246,229,168,.14) 48%,transparent 60%);
  transform:translateX(-120%);transition:transform .8s var(--ease)}
.card:hover::after{transform:translateX(120%)}
.card:hover{box-shadow:0 40px 90px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(246,229,168,.4)}
.card-photo{height:190px;background-image:var(--img);background-size:cover;background-position:center;
  transition:transform .6s var(--ease);transform:translateZ(20px) scale(1.02)}
.card:hover .card-photo{transform:translateZ(40px) scale(1.08)}
.card-photo::after{content:"";position:absolute;top:0;left:0;right:0;height:190px;
  background:linear-gradient(180deg,transparent 40%,rgba(20,17,14,.85))}
.tex-obsidian{background:radial-gradient(120% 120% at 30% 20%,#3a2f22,#14110E)}
.tex-honey{background:radial-gradient(120% 120% at 60% 30%,#E8A94B,#8A5E1E 70%,#3a2712)}
.tex-wood{background:repeating-linear-gradient(96deg,#6b4a29 0,#8a6034 6px,#5a3d22 12px),radial-gradient(circle,#8a6034,#3a2712)}
.card-body{padding:26px 24px 28px;position:relative;z-index:2;flex:1;display:flex;flex-direction:column}
.card-badge{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2);font-weight:600;margin-bottom:12px;display:block}
.card-body h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;line-height:1.05;margin-bottom:16px;color:var(--text-light)}
.card-body>p{color:var(--muted-light);font-size:.95rem;margin-bottom:auto}
.price-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin-top:6px}
.price-list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px solid rgba(246,229,168,.1);font-size:.95rem;color:rgba(244,238,231,.82)}
.price-list li:last-child{border-bottom:none}
.price-list b{font-family:var(--serif);font-weight:500;font-size:1.3rem;font-variant-numeric:tabular-nums;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.price-list .is-combo b{font-size:1.5rem}
.card--signature{box-shadow:0 30px 70px -30px rgba(232,169,75,.4),inset 0 0 0 1px rgba(246,229,168,.4)}
.card--signature .card-photo{height:220px}
.card--signature .card-photo::after{height:220px}
.card-price{margin-top:20px;font-family:var(--serif);font-size:1.1rem;color:var(--muted-light)}
.card-price-num{font-size:2.4rem;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
@media(max-width:960px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cards{grid-template-columns:1fr;max-width:440px}}

/* offers */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--maxw);margin:56px auto 0}
.offer{position:relative;overflow:hidden;border-radius:16px;padding:38px 28px;min-height:220px;
  display:flex;flex-direction:column;justify-content:flex-end;cursor:none;isolation:isolate;
  box-shadow:inset 0 0 0 1px rgba(246,229,168,.22);transition:transform .5s var(--ease)}
.offer::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--img);
  background-size:cover;background-position:center;filter:brightness(.4) saturate(.8);transition:transform .7s var(--ease)}
.offer::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,11,12,.2),rgba(11,11,12,.86))}
.offer:hover{transform:translateY(-6px)}
.offer:hover::before{transform:scale(1.08)}
.offer-num{font-family:var(--serif);font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;margin-bottom:12px;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.offer-txt{font-size:.95rem;color:rgba(244,238,231,.85);max-width:26ch}
@media(max-width:820px){.offers{grid-template-columns:1fr;max-width:440px}}

/* ═══════════ LOCATIONS ═══════════ */
.locations{background:var(--obsidian);position:relative;overflow:hidden}
.loc-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  padding:80px 0;position:relative}
.loc-head{padding:0 clamp(20px,5vw,80px);max-width:var(--maxw);margin:0 auto 44px;width:100%;position:relative}
.loc-head .eyebrow{display:block;margin-bottom:16px}
.loc-head .h-serif{color:var(--text-light)}
.loc-hint{margin-top:14px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-2)}
.loc-track{display:flex;gap:24px;padding:0 clamp(20px,5vw,80px);will-change:transform}
.loc-card{flex:0 0 min(78vw,360px);min-height:340px;border-radius:18px;padding:40px 32px;
  display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(160deg,rgba(30,25,20,.9),rgba(15,13,11,.95));
  box-shadow:inset 0 0 0 1px rgba(246,229,168,.16),0 30px 60px -30px rgba(0,0,0,.7);position:relative;overflow:hidden}
.loc-card::before{content:"";position:absolute;top:-40%;right:-30%;width:70%;height:80%;
  background:radial-gradient(circle,rgba(232,169,75,.16),transparent 65%);filter:blur(10px)}
.loc-num{font-family:var(--serif);font-size:20px;font-style:italic;color:var(--gold-2);letter-spacing:.1em}
.loc-card h3{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;line-height:1.1;color:var(--text-light);margin-bottom:8px}
.loc-card p{color:var(--gold-1);font-size:.92rem;letter-spacing:.02em}
.loc-card--cta{background:var(--gold-grad);justify-content:center;align-items:flex-start;gap:20px}
.loc-card--cta::before{display:none}
.loc-card--cta h3{color:#241a08}
.loc-card--cta .btn{background:#14110E;color:var(--gold-1)}
@media(max-width:900px){.loc-pin{min-height:auto}.loc-track{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:20px}.loc-card{scroll-snap-align:center;flex:0 0 80vw}}

/* ═══════════ TEAM (warm) ═══════════ */
.team{padding:clamp(110px,16vh,200px) clamp(20px,5vw,80px);color:var(--text-dark);
  background:linear-gradient(180deg,#0B0B0C 0%,#2a2118 8%,#6d5d4b 16%,#cbb59d 26%,#F4EEE7 42%,#F4EEE7 58%,#E7D8C6 72%,#6d5d4b 88%,#14110E 97%,#0B0B0C 100%)}
.team-head{max-width:var(--maxw);margin:0 auto 54px;text-align:center}
.team-head .eyebrow{color:var(--gold-3);display:block;margin-bottom:16px}
.team-head .h-serif{color:#241d15}
.team-head .h-serif em{background:linear-gradient(135deg,#8A5E1E,#C79A3A);-webkit-background-clip:text;background-clip:text;color:transparent}
.team-head .lede{color:var(--muted-dark);margin:22px auto 0}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:var(--maxw);margin:0 auto}
.member{cursor:none}
.member-photo{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;
  box-shadow:0 28px 60px -28px rgba(60,40,20,.5),inset 0 0 0 1px rgba(138,94,30,.25)}
.member-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center 36%);
  filter:grayscale(.72) sepia(.32) brightness(1.02) contrast(1.03);transform:scale(1.06);
  transition:filter .6s var(--ease),transform .8s var(--ease)}
/* top + bottom scrims mask residual caption text on the source screenshots */
.member-photo::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,14,6,.72) 0%,rgba(20,14,6,0) 26%,rgba(20,14,6,0) 60%,rgba(30,20,8,.9) 100%)}
.member-photo::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(232,169,75,.18),rgba(40,26,8,.4));
  mix-blend-mode:multiply;opacity:.7;transition:opacity .5s}
.member:hover .member-photo img{filter:grayscale(0) sepia(0) brightness(1) contrast(1);transform:scale(1.01)}
.member:hover .member-photo::after{opacity:.3}
.member figcaption{padding:18px 4px 0}
.member figcaption h3{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:#241d15;margin-bottom:4px}
.member figcaption p{font-size:.86rem;color:var(--muted-dark);line-height:1.4}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}}

/* ═══════════ CARE / FAQ ═══════════ */
.care{padding:clamp(90px,14vh,180px) clamp(20px,5vw,80px);max-width:960px;margin:0 auto}
.care-head{margin-bottom:44px}
.care-head .eyebrow{display:block;margin-bottom:16px}
.care-head .h-serif{color:var(--text-light);margin-bottom:22px}
.acc-item{border-top:1px solid rgba(246,229,168,.18)}
.acc-item:last-child{border-bottom:1px solid rgba(246,229,168,.18)}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;
  background:none;border:none;cursor:none;padding:26px 4px;text-align:left;
  font-family:var(--serif);font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:400;color:var(--text-light);transition:color .3s}
.acc-q:hover{color:var(--gold-1)}
.acc-q i{position:relative;width:16px;height:16px;flex:0 0 16px}
.acc-q i::before,.acc-q i::after{content:"";position:absolute;top:50%;left:0;width:100%;height:1.4px;background:var(--gold-grad);transition:transform .4s var(--ease)}
.acc-q i::after{transform:rotate(90deg)}
.acc-q[aria-expanded="true"] i::after{transform:rotate(0)}
.acc-a{overflow:hidden;height:0;transition:height .5s var(--ease)}
.acc-a>div{padding:0 4px 28px}
.acc-a ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.acc-a li{position:relative;padding-left:24px;color:var(--muted-light);font-size:1rem}
.acc-a li::before{content:"";position:absolute;left:0;top:.7em;width:12px;height:1px;background:var(--gold-grad)}
.acc-a p{color:var(--muted-light)}

/* ═══════════ FINAL / BOOK ═══════════ */
.final{padding:clamp(90px,16vh,200px) clamp(20px,5vw,80px);position:relative;overflow:hidden;text-align:center;
  background:radial-gradient(120% 80% at 50% 0%,rgba(232,169,75,.1),transparent 55%),var(--obsidian)}
.final-seal{position:absolute;top:6%;left:50%;transform:translateX(-50%);opacity:.14;pointer-events:none;
  animation:spin 40s linear infinite}
.final-seal .fs-w{font-family:var(--serif);font-size:34px;fill:transparent;stroke:url(#sealGold);stroke-width:.5}
.final-seal .fs-w--b{font-style:italic}
@keyframes spin{to{transform:translateX(-50%) rotate(360deg)}}
.final-inner{position:relative;z-index:2;max-width:640px;margin:0 auto}
.final-inner .eyebrow{display:block;margin-bottom:22px}
.final-title{font-family:var(--serif);font-weight:300;line-height:1;letter-spacing:-.02em;
  font-size:clamp(2.8rem,8vw,6rem);margin-bottom:26px;color:var(--text-light)}
.final-title em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.final-inner .lede{margin:0 auto 40px;color:var(--muted-light)}
.book-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;margin-bottom:34px}
.field{position:relative}
.field input,.field select{width:100%;padding:20px 18px 8px;border-radius:12px;border:none;
  background:rgba(20,17,14,.6);box-shadow:inset 0 0 0 1px rgba(246,229,168,.2);
  color:var(--text-light);font-family:var(--sans);font-size:15px;cursor:none;transition:box-shadow .3s}
.field select{cursor:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C79A3A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.field input:focus,.field select:focus{outline:none;box-shadow:inset 0 0 0 1px var(--gold-2),0 0 0 4px rgba(232,169,75,.18)}
.field label{position:absolute;left:18px;top:16px;font-size:15px;color:var(--muted-light);pointer-events:none;transition:.25s var(--ease)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,
.field input:valid+label,.field select:focus+label,.field select:valid+label{top:7px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
.book-submit{grid-column:1/-1;width:100%;padding:20px}
.book-note{grid-column:1/-1;font-size:13px;color:var(--gold-1);min-height:18px;text-align:center}
.final-contacts{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:14px;font-weight:600;letter-spacing:.03em}
.final-contacts a{color:var(--gold-1);position:relative}
.final-contacts a:hover{color:var(--gold-2)}
.final-contacts i{width:4px;height:4px;border-radius:50%;background:var(--gold-3)}
@media(max-width:600px){.book-form{grid-template-columns:1fr}}

/* ═══════════ FOOTER ═══════════ */
.footer{background:#08080a;padding:70px clamp(20px,5vw,80px) 40px;border-top:1px solid rgba(246,229,168,.12)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;max-width:var(--maxw);margin:0 auto 50px}
.footer-logo{font-family:var(--serif);font-style:italic;font-size:32px;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.footer-brand p{font-family:var(--serif);font-style:italic;color:var(--muted-light);margin-top:8px;font-size:1.1rem}
.footer-col h4{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-2);margin-bottom:16px}
.footer-col p{color:var(--muted-light);font-size:.9rem;margin-bottom:8px;line-height:1.5}
.footer-col a:hover{color:var(--gold-1)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:var(--maxw);margin:0 auto;
  padding-top:26px;border-top:1px solid rgba(246,229,168,.1);font-size:12px;color:var(--muted-light);letter-spacing:.03em}
@media(max-width:760px){.footer-top{grid-template-columns:1fr;gap:28px}}

/* ═══════════ MOBILE STICKY CTA ═══════════ */
.mobile-cta{position:fixed;bottom:0;left:0;width:100%;z-index:150;display:none;text-align:center;
  padding:16px;background:var(--gold-grad);color:#241a08;font-weight:700;font-size:15px;letter-spacing:.03em;
  box-shadow:0 -8px 30px -8px rgba(0,0,0,.5)}
@media(max-width:760px){.mobile-cta{display:block}body{padding-bottom:56px}}

/* ═══════════ REVEAL BASE ═══════════ */
[data-reveal]{opacity:0;transform:translateY(30px)}
.no-motion [data-reveal]{opacity:1;transform:none}

/* ═══════════ REDUCED MOTION ═══════════ */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}
  .grain{animation:none}
  .hero-plate{transform:scale(1.05)}
  [data-reveal]{opacity:1!important;transform:none!important}
}
