
/* ════════════════════════════════════════════════════════════════════
   BREWER STRATEGIES — Editorial / Boutique-Hospitality
   Forest green · cream · brass · serif-led
   ════════════════════════════════════════════════════════════════════ */

:root{
  /* base palette — deep forest, warm cream, brass */
  --forest-0:#0a1410;        /* deepest */
  --forest-1:#0E1F1A;        /* primary bg */
  --forest-2:#142B23;        /* lifted */
  --forest-3:#1B392F;        /* hover/lifted */
  --forest-edge:#243d34;     /* hairline-on-dark */

  --cream-0:#F0E8D8;         /* primary type on dark */
  --cream-1:#E8DEC8;
  --cream-mute:#bfb29a;      /* secondary text */
  --cream-faint:#8a826f;     /* tertiary/captions */

  --ink-0:#0a0d0c;           /* near-black, used on cream blocks */
  --ink-1:#1a221e;
  --ink-mute:#56635c;

  --brass-0:#7a6438;         /* deepest brass */
  --brass-1:#B89968;         /* primary brass accent */
  --brass-2:#D9B97D;         /* highlight brass */
  --brass-3:#EFD7A4;         /* shimmer brass */

  --linen:#EFE6D2;           /* alt cream for "light" sections */
  --linen-2:#E5DBC2;

  --rule:rgba(184,153,104,0.22);  /* hairline gold rule */
  --rule-strong:rgba(184,153,104,0.5);
  --rule-cream:rgba(240,232,216,0.16);
}

*{ box-sizing:border-box; margin:0; padding:0 }
html,body{ background:var(--forest-1); color:var(--cream-0); }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }

body{
  font-family:"Inter Tight", -apple-system, system-ui, sans-serif;
  font-weight:400; line-height:1.55; font-size:16px;
  overflow-x:hidden;
  background:
    radial-gradient(1200px 700px at 80% -10%, rgba(184,153,104,0.07) 0%, transparent 60%),
    radial-gradient(900px 600px at 0% 20%, rgba(36,80,65,0.45) 0%, transparent 70%),
    var(--forest-1);
  background-attachment:fixed;
}

::selection{ background:var(--brass-2); color:var(--forest-0); }

img{ display:block; max-width:100%; }

/* ─── Typography utilities ─── */
.serif{ font-family:"Cormorant Garamond", "Times New Roman", serif; font-weight:400; letter-spacing:-0.005em; }
.mono{ font-family:"JetBrains Mono", monospace; font-weight:400; }
.italic{ font-style:italic; font-family:"Cormorant Garamond", serif; font-weight:400; }
.eyebrow{
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--brass-2); display:inline-flex; align-items:center; gap:14px;
}
.eyebrow::before{ content:""; width:32px; height:1px; background:var(--brass-2); display:inline-block; }
.eyebrow.center{ display:flex; justify-content:center; }
.eyebrow.center::before{ display:none; }
.eyebrow.center::after{ display:none; }

.hush{ color:var(--cream-mute); }
.faint{ color:var(--cream-faint); }
.brass{ color:var(--brass-2); }

h1,h2,h3,h4{ font-family:"Cormorant Garamond", serif; font-weight:300; letter-spacing:-0.012em; line-height:1.02; color:var(--cream-0); }

.h-xl{ font-size:clamp(56px, 9.2vw, 148px); font-weight:300; line-height:0.96; letter-spacing:-0.022em; text-wrap:balance; }
.h-lg{ font-size:clamp(44px, 6vw, 92px); font-weight:300; line-height:0.98; letter-spacing:-0.018em; text-wrap:balance; }
.h-md{ font-size:clamp(32px, 3.6vw, 52px); font-weight:300; line-height:1.05; letter-spacing:-0.01em; text-wrap:balance; }
.h-sm{ font-size:clamp(22px, 2vw, 30px); font-weight:400; line-height:1.15; }

.lede{ font-family:"Cormorant Garamond", serif; font-size:clamp(19px, 1.5vw, 24px); line-height:1.45; color:var(--cream-1); font-weight:300; max-width:60ch; }
.lede em, .italic-em{ font-style:italic; color:var(--brass-2); font-weight:300; }

.body-copy{ color:var(--cream-mute); font-size:15px; line-height:1.7; max-width:62ch; }

/* ─── Layout ─── */
.wrap{ max-width:1480px; margin:0 auto; padding:0 max(36px, 5vw); }
.wrap-narrow{ max-width:1080px; margin:0 auto; padding:0 max(36px, 5vw); }

section{ position:relative; padding:140px 0; }
@media(max-width:780px){ section{ padding:100px 0; } }

.divider{ height:1px; background:var(--rule); width:100%; }

/* ─── Buttons ─── */
.btn{
  display:inline-flex; align-items:center; gap:14px;
  padding:18px 28px; border-radius:0;
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:0.26em; text-transform:uppercase;
  cursor:pointer; border:1px solid transparent;
  text-decoration:none; transition:all 0.5s cubic-bezier(0.22,1,0.36,1);
  position:relative; overflow:hidden;
}
.btn .arr{ transition:transform 0.45s cubic-bezier(0.22,1,0.36,1); display:inline-block; }
.btn:hover .arr{ transform:translateX(6px); }

.btn-primary{
  background:var(--brass-1); color:var(--forest-0);
  border:1px solid var(--brass-1);
}
.btn-primary:hover{ background:var(--brass-2); border-color:var(--brass-2); }
/* Gold shimmer kept */
.btn-primary::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.4) 50%, transparent 70%);
  transform:translateX(-100%); transition:transform 0.7s cubic-bezier(0.22,1,0.36,1);
  pointer-events:none;
}
.btn-primary:hover::after{ transform:translateX(100%); }

.btn-ghost{
  background:transparent; color:var(--cream-0);
  border:1px solid var(--rule-strong);
}
.btn-ghost:hover{ border-color:var(--brass-2); color:var(--brass-2); background:rgba(184,153,104,0.05); }

/* ─── Magnetic cursor (kept, refined) ─── */
#cursor-glow{
  position:fixed; width:560px; height:560px; pointer-events:none; z-index:100;
  background:radial-gradient(circle, rgba(217,185,125,0.10) 0%, rgba(217,185,125,0.04) 35%, transparent 65%);
  border-radius:50%; transform:translate(-50%,-50%); mix-blend-mode:screen;
  transition:opacity 0.4s; opacity:0;
}
#cursor-dot{
  position:fixed; width:6px; height:6px; pointer-events:none; z-index:101;
  background:var(--brass-2); border-radius:50%; transform:translate(-50%,-50%);
  transition:transform 0.18s cubic-bezier(0.22,1,0.36,1), opacity 0.3s;
  box-shadow:0 0 12px rgba(217,185,125,0.6);
}
@media (hover:none){ #cursor-glow,#cursor-dot{ display:none } }

/* magnetic */
.magnetic{ transition:transform 0.45s cubic-bezier(0.22,1,0.36,1); will-change:transform; }

/* ─── Reveal animations ─── */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity 1s cubic-bezier(0.22,1,0.36,1), transform 1s cubic-bezier(0.22,1,0.36,1); }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ opacity:0; transform:translateY(20px); transition:opacity 0.8s cubic-bezier(0.22,1,0.36,1), transform 0.8s cubic-bezier(0.22,1,0.36,1); }
.reveal-stagger.in > *:nth-child(1){ transition-delay:0.05s; }
.reveal-stagger.in > *:nth-child(2){ transition-delay:0.15s; }
.reveal-stagger.in > *:nth-child(3){ transition-delay:0.25s; }
.reveal-stagger.in > *:nth-child(4){ transition-delay:0.35s; }
.reveal-stagger.in > *:nth-child(5){ transition-delay:0.45s; }
.reveal-stagger.in > *:nth-child(6){ transition-delay:0.55s; }
.reveal-stagger.in > *{ opacity:1; transform:translateY(0); }

/* image mask wipe — gold curtain reveal */
.mask-wipe{ position:relative; overflow:hidden; }
.mask-wipe::after{
  content:""; position:absolute; inset:0;
  background:var(--brass-1);
  transform:scaleX(1); transform-origin:right;
  transition:transform 1.2s cubic-bezier(0.85,0,0.15,1);
  z-index:2;
}
.mask-wipe.in::after{ transform:scaleX(0); transform-origin:left; }
.mask-wipe img{ transform:scale(1.08); transition:transform 1.6s cubic-bezier(0.22,1,0.36,1); }
.mask-wipe.in img{ transform:scale(1); }

/* parallax helper */
.parallax{ will-change:transform; }

/* scroll hint */
.scroll-hint{
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--cream-faint); display:flex; flex-direction:column; align-items:center; gap:14px;
}
.scroll-hint::after{
  content:""; width:1px; height:48px; background:linear-gradient(to bottom, var(--brass-2), transparent);
  animation:scrollPulse 2.4s ease-in-out infinite;
}
@keyframes scrollPulse{ 0%,100%{ height:48px; opacity:0.4 } 50%{ height:64px; opacity:1 } }

/* ─── Navigation ─── */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:60;
  display:flex; align-items:center; gap:24px;
  padding:24px max(36px,5vw);
  transition:background 0.5s, padding 0.5s, border-bottom-color 0.5s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(14,31,26,0.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding-top:16px; padding-bottom:16px;
  border-bottom-color:var(--rule);
}
.brand{
  display:flex; align-items:center; gap:14px;
  text-decoration:none; color:var(--cream-0);
  font-family:"Cormorant Garamond", serif; font-size:22px; font-weight:400; letter-spacing:0.01em;
}
.brand-mark{
  width:38px; height:38px; border:1px solid var(--brass-2); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:"Cormorant Garamond", serif; font-style:italic; font-size:18px; color:var(--brass-2);
}
.brand-tag{
  font-family:"JetBrains Mono", monospace;
  font-size:9px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--cream-faint); margin-left:14px; padding-left:14px;
  border-left:1px solid var(--rule);
}

.nav-links{ display:flex; gap:6px; margin-left:auto; align-items:center; }
.nav-link{
  font-family:"JetBrains Mono", monospace;
  font-size:10px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--cream-mute); text-decoration:none;
  padding:10px 14px; transition:color 0.4s; position:relative;
}
.nav-link::after{
  content:""; position:absolute; bottom:6px; left:14px; right:14px; height:1px;
  background:var(--brass-2); transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.nav-link:hover{ color:var(--cream-0); }
.nav-link:hover::after{ transform:scaleX(1); }

/* audience pill */
.aud-pill{
  display:inline-flex; padding:3px;
  border:1px solid var(--rule); border-radius:999px;
  background:rgba(14,31,26,0.5);
}
.aud-pill button{
  font-family:"JetBrains Mono", monospace;
  font-size:9px; letter-spacing:0.22em; text-transform:uppercase;
  background:transparent; border:0; color:var(--cream-mute);
  padding:8px 14px; border-radius:999px; cursor:pointer;
  transition:all 0.4s cubic-bezier(0.22,1,0.36,1);
}
.aud-pill button.active{ background:var(--brass-1); color:var(--forest-0); }

.aud-only-business{ display:none; }
[data-audience="business"] .aud-only-individual{ display:none; }
[data-audience="business"] .aud-only-business{ display:revert; }
[data-audience="business"] span.aud-only-business{ display:inline; }

/* mobile nav */
.menu-btn{
  display:none; background:transparent; border:1px solid var(--rule);
  width:44px; height:44px; cursor:pointer; align-items:center; justify-content:center;
  color:var(--cream-0); border-radius:50%;
}
@media(max-width:980px){
  .nav-links{ display:none; }
  .menu-btn{ display:inline-flex; }
}

#mobile-nav{
  position:fixed; top:0; left:0; right:0; bottom:0; z-index:55;
  background:var(--forest-1); padding:120px 36px 40px;
  transform:translateY(-100%); transition:transform 0.6s cubic-bezier(0.85,0,0.15,1);
  display:flex; flex-direction:column; gap:6px;
}
#mobile-nav.open{ transform:translateY(0); }
#mobile-nav .nav-link{ font-size:14px; padding:18px 0; border-bottom:1px solid var(--rule); }

/* ─── Audience welcome modal ─── */
#aud-welcome{
  position:fixed; inset:0; z-index:200;
  background:rgba(10,20,16,0.92); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  display:flex; align-items:center; justify-content:center; padding:40px;
  opacity:0; transition:opacity 0.6s; pointer-events:none;
}
#aud-welcome.show{ opacity:1; pointer-events:auto; }
.aud-modal{
  max-width:680px; text-align:center; border:1px solid var(--rule);
  background:var(--forest-2); padding:60px 50px;
}
.aud-choice{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:36px; }
.aud-card{
  border:1px solid var(--rule); padding:28px 22px; cursor:pointer;
  text-align:left; transition:all 0.45s cubic-bezier(0.22,1,0.36,1);
  background:transparent;
}
.aud-card:hover{ border-color:var(--brass-2); background:rgba(184,153,104,0.05); transform:translateY(-3px); }
.aud-card-mark{
  font-family:"Cormorant Garamond", serif; font-style:italic;
  font-size:28px; color:var(--brass-2); margin-bottom:14px;
}
.aud-card-title{ font-family:"Cormorant Garamond", serif; font-size:24px; color:var(--cream-0); }
.aud-card-sub{ font-size:12px; color:var(--cream-mute); margin-top:8px; line-height:1.5; }

/* ════════════════════════════════════════════════════════════════════
   HERO — editorial full-bleed photography + giant serif headline
   ════════════════════════════════════════════════════════════════════ */
.hero{
  min-height:92vh; padding:0; position:relative; overflow:hidden;
  display:flex; align-items:flex-end;
}
.hero-bg{
  position:absolute; inset:0; z-index:1;
  background:#0E1F1A;
  overflow:hidden;
}
#hero-fx{
  position:absolute; inset:0; width:100%; height:100%;
  display:block;
  z-index:1;
}
/* Fallback image: only visible if the canvas fails (then we hide canvas via display:none) */
.hero-bg-fallback{
  position:absolute; inset:0;
  width:100%; height:120%; object-fit:cover;
  filter:saturate(0.85) brightness(0.55);
  transform:scale(1.05);
  z-index:0;
}
/* Once WebGL is up, the canvas covers it; if WebGL fails, JS sets canvas display:none and the img shines through */
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(14,31,26,0.6) 0%, rgba(14,31,26,0.2) 30%, rgba(14,31,26,0.92) 100%),
    linear-gradient(90deg, rgba(14,31,26,0.6) 0%, transparent 60%);
}
.hero-grain{
  position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0.4;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.91  0 0 0 0 0.84  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.hero-inner{
  position:relative; z-index:3;
  width:100%; padding:0 max(36px,5vw) 100px;
}
.hero-meta{
  display:flex; justify-content:space-between; align-items:flex-end;
  flex-wrap:wrap; gap:30px;
  border-bottom:1px solid var(--rule); padding-bottom:30px; margin-bottom:60px;
}
.hero-meta-l{ display:flex; flex-direction:column; gap:8px; }
.hero-meta-r{
  display:flex; gap:48px; flex-wrap:wrap;
  font-family:"JetBrains Mono", monospace;
  font-size:10px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--cream-mute);
}
.hero-meta-r span strong{ color:var(--brass-2); font-weight:400; }
.hero-content{
  display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:flex-end;
}
@media(max-width:980px){
  .hero-content{ grid-template-columns:1fr; }
  .hero-inner{ padding-bottom:80px; }
}
.hero-h1{
  font-family:"Cormorant Garamond", serif; font-weight:300;
  font-size:clamp(56px, 9.5vw, 156px); line-height:0.94; letter-spacing:-0.025em;
  color:var(--cream-0); text-wrap:balance;
}
.hero-h1 em{ font-style:italic; color:var(--brass-2); font-weight:300; }
.hero-sub{
  color:var(--cream-1); font-family:"Cormorant Garamond", serif; font-weight:300;
  font-size:clamp(18px, 1.4vw, 22px); line-height:1.5; max-width:46ch;
  margin-bottom:30px;
}
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:42px; }
.hero-stat .v{
  font-family:"Cormorant Garamond", serif; font-weight:300;
  font-size:clamp(36px, 4vw, 58px); color:var(--cream-0); line-height:1;
}
.hero-stat .l{
  font-family:"JetBrains Mono", monospace; font-size:9px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--cream-faint); margin-top:10px; line-height:1.4;
}

/* horizontal index marker (signature flourish) */
.h-idx{
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--cream-faint); display:flex; align-items:center; gap:14px;
}
.h-idx .num{ color:var(--brass-2); font-weight:500; }
.h-idx::before{ content:""; width:18px; height:1px; background:var(--brass-2); }

/* ─── Marquee ─── */
.marquee{
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  padding:24px 0; overflow:hidden; background:var(--forest-0);
}
.marquee-track{
  display:flex; gap:60px; white-space:nowrap;
  animation:scroll 70s linear infinite;
  font-family:"Cormorant Garamond", serif; font-size:24px; font-style:italic;
  color:var(--cream-mute);
}
.marquee-track .dot{ color:var(--brass-2); font-style:normal; }
@keyframes scroll{ to{ transform:translateX(-50%) } }

/* ════════════════════════════════════════════════════════════════════
   ABOUT — bookmatched: cream-block essay × full-bleed founder portrait
   ════════════════════════════════════════════════════════════════════ */
.about{ padding:0; }
.about-grid{
  display:grid; grid-template-columns:1.05fr 1fr; min-height:760px;
}
@media(max-width:980px){ .about-grid{ grid-template-columns:1fr; } }
.about-text{
  background:var(--linen); color:var(--ink-0);
  padding:120px max(36px,5vw); display:flex; flex-direction:column; justify-content:center;
}
.about-text .eyebrow{ color:var(--brass-0); }
.about-text .eyebrow::before{ background:var(--brass-0); }
.about-text h2{ color:var(--ink-0); margin-bottom:30px; }
.about-text .essay p{ color:var(--ink-mute); font-family:"Cormorant Garamond", serif; font-size:21px; line-height:1.55; font-weight:300; margin-bottom:18px; max-width:54ch; }
.about-text .essay em{ color:var(--brass-0); font-style:italic; }
.about-sig{
  margin-top:40px; padding-top:30px; border-top:1px solid rgba(122,100,56,0.25);
  display:flex; align-items:center; gap:20px;
}
.about-sig-mark{
  font-family:"Cormorant Garamond", serif; font-style:italic;
  font-size:46px; color:var(--brass-0); line-height:1;
}
.about-sig-meta{ font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--ink-mute); }
.about-sig-meta strong{ color:var(--ink-0); display:block; font-family:"Cormorant Garamond", serif; font-weight:400; font-size:18px; letter-spacing:0; text-transform:none; margin-bottom:4px; }
.about-photo{ position:relative; overflow:hidden; }
.about-photo img{
  width:100%; height:100%; object-fit:cover; min-height:560px;
  filter:saturate(0.85);
}
.about-photo .cap{
  position:absolute; left:36px; bottom:36px; right:36px;
  font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--cream-0);
  display:flex; justify-content:space-between; gap:20px;
}
.about-photo .cap strong{ color:var(--brass-2); font-weight:400; }

/* ════════════════════════════════════════════════════════════════════
   AUDIT — quiet calculator panel with brass rules
   ════════════════════════════════════════════════════════════════════ */
.section-head{ display:flex; gap:60px; align-items:flex-end; justify-content:space-between; margin-bottom:80px; flex-wrap:wrap; }
.section-head-l{ max-width:780px; }
.section-head-r{ max-width:380px; color:var(--cream-mute); font-size:14px; line-height:1.6; }

.audit-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
@media(max-width:980px){ .audit-grid{ grid-template-columns:1fr; } }
.audit-l{ padding:50px 50px 50px 0; border-right:1px solid var(--rule); }
@media(max-width:980px){ .audit-l{ padding:50px 0; border-right:0; border-bottom:1px solid var(--rule); } }
.audit-r{ padding:50px 0 50px 50px; display:flex; flex-direction:column; align-items:flex-start; }
@media(max-width:980px){ .audit-r{ padding:50px 0 0; } }

.aud-row{ padding:18px 0; border-bottom:1px dashed var(--rule); }
.aud-row:last-child{ border-bottom:0; }
.aud-row-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
.aud-row-label{ font-family:"Cormorant Garamond", serif; font-size:20px; color:var(--cream-0); }
.aud-row-val{ font-family:"JetBrains Mono", monospace; font-size:13px; color:var(--brass-2); }
.aud-slider{ -webkit-appearance:none; appearance:none; width:100%; height:1px; background:var(--rule-strong); outline:0; cursor:pointer; }
.aud-slider::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:14px; height:14px; border-radius:50%; background:var(--brass-2);
  border:2px solid var(--forest-1); cursor:pointer;
  box-shadow:0 0 0 0 rgba(217,185,125,0); transition:box-shadow 0.4s, transform 0.3s;
}
.aud-slider::-webkit-slider-thumb:hover{ transform:scale(1.2); box-shadow:0 0 0 8px rgba(217,185,125,0.15); }
.aud-slider::-moz-range-thumb{ width:14px; height:14px; border-radius:50%; background:var(--brass-2); border:2px solid var(--forest-1); cursor:pointer; }

.aud-total{ display:flex; justify-content:space-between; align-items:baseline; margin-top:24px; padding-top:24px; border-top:1px solid var(--rule); }
.aud-total span:first-child{ font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:0.26em; text-transform:uppercase; color:var(--cream-faint); }
.aud-total span:last-child{ font-family:"Cormorant Garamond",serif; font-size:32px; color:var(--brass-2); }

.dial-wrap{ position:relative; width:240px; height:240px; display:flex; align-items:center; justify-content:center; margin:30px 0 24px; }
.dial-num{ position:relative; text-align:center; }
.dial-grade{ font-family:"Cormorant Garamond", serif; font-style:italic; font-size:108px; color:var(--brass-2); line-height:1; font-weight:300; }
.dial-score{ font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:0.26em; text-transform:uppercase; color:var(--cream-faint); margin-top:4px; }

.audit-r-eyebrow{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.32em; text-transform:uppercase; color:var(--brass-2); }
.audit-r-leakage{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.32em; text-transform:uppercase; color:var(--cream-faint); margin-top:12px; }
.audit-r-leakage-num{ font-family:"Cormorant Garamond",serif; font-size:64px; font-weight:300; color:var(--brass-2); margin:8px 0 28px; line-height:1; }

/* mid CTA strip */
.cta-strip{
  display:flex; justify-content:space-between; align-items:center; gap:30px;
  padding:50px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  flex-wrap:wrap;
}
.cta-strip-l .eyebrow{ margin-bottom:14px; }
.cta-strip-l h3{ font-family:"Cormorant Garamond", serif; font-size:clamp(28px,3vw,42px); font-weight:300; line-height:1.1; color:var(--cream-0); max-width:580px; }
.cta-strip-l h3 em{ font-style:italic; color:var(--brass-2); }

/* ════════════════════════════════════════════════════════════════════
   POINTS HQ — three editorial cards, restrained
   ════════════════════════════════════════════════════════════════════ */
.points-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--rule); }
@media(max-width:980px){ .points-grid{ grid-template-columns:1fr; } }
.point-card{ padding:50px 36px 60px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); position:relative; }
.points-grid > .point-card:last-child{ border-right:0; }
@media(max-width:980px){ .point-card{ border-right:0; } }
.point-num{
  font-family:"Cormorant Garamond", serif; font-style:italic;
  font-size:80px; color:var(--brass-2); line-height:1; margin-bottom:30px; font-weight:300;
}
.point-card h3{ font-size:30px; margin-bottom:18px; font-weight:400; }
.point-card.with-photo{ padding:0; overflow:hidden; min-height:480px; display:flex; align-items:flex-end; }
.point-card.with-photo .ph-bg{
  position:absolute; inset:0; z-index:0;
}
.point-card.with-photo .ph-bg img{ width:100%; height:100%; object-fit:cover; }
.point-card.with-photo .ph-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,31,26,0.2) 30%, rgba(14,31,26,0.92) 100%);
}
.point-card.with-photo .ph-body{ position:relative; z-index:1; padding:36px; color:var(--cream-0); }
.point-card.with-photo .ph-body h3{ color:var(--cream-0); }
.point-card.with-photo .ph-body p{ color:var(--cream-mute); }

.research-row{
  display:flex; flex-wrap:wrap; gap:0;
  border-bottom:1px solid var(--rule); padding:30px 0;
}
.research-row .lab{ flex:0 0 auto; padding-right:36px; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--cream-faint); padding-top:6px; }
.research-row .links{ flex:1; display:flex; flex-wrap:wrap; gap:0; }
.research-row .links a{
  display:inline-flex; align-items:center; gap:10px;
  padding:6px 18px 6px 0; margin-right:18px; color:var(--cream-1); text-decoration:none;
  font-family:"Cormorant Garamond", serif; font-size:21px; font-weight:300;
  border-right:1px solid var(--rule);
  transition:color 0.35s;
}
.research-row .links a:last-child{ border-right:0; }
.research-row .links a:hover{ color:var(--brass-2); }
.research-row .links a .arrow{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--brass-2); }

/* ════════════════════════════════════════════════════════════════════
   CINEMATIC BAND (replaces broken video)
   ════════════════════════════════════════════════════════════════════ */
.cine-band{
  position:relative; min-height:80vh; display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden; padding:120px 36px;
}
.cine-band .bg{ position:absolute; inset:0; z-index:0; }
.cine-band .bg img{ width:100%; height:100%; object-fit:cover; filter:saturate(0.78) brightness(0.6); }
.cine-band .bg::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at center, rgba(14,31,26,0.4) 0%, rgba(10,20,16,0.95) 95%);
}
.cine-band .body{ position:relative; z-index:1; max-width:780px; }
.cine-band h2{ color:var(--cream-0); margin:18px 0 30px; }
.cine-band h2 em{ font-style:italic; color:var(--brass-2); }

/* ════════════════════════════════════════════════════════════════════
   TRAVEL PORTAL — magazine grid, full-bleed photography
   ════════════════════════════════════════════════════════════════════ */
.dest-grid{
  display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:200px; gap:18px;
}
.dest{
  position:relative; overflow:hidden; cursor:pointer;
  border:1px solid var(--rule);
}
.dest img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s cubic-bezier(0.22,1,0.36,1); filter:saturate(0.88); }
.dest:hover img{ transform:scale(1.06); filter:saturate(1); }
.dest::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,31,26,0) 35%, rgba(14,31,26,0.92) 100%);
  pointer-events:none;
}
.dest .meta{
  position:absolute; left:24px; right:24px; bottom:22px; z-index:2;
  color:var(--cream-0);
}
.dest .loc{ font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:0.32em; text-transform:uppercase; color:var(--brass-2); margin-bottom:10px; }
.dest .ttl{ font-family:"Cormorant Garamond",serif; font-size:clamp(20px,1.6vw,26px); font-weight:400; line-height:1.15; }
.dest .price{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.18em; color:var(--cream-mute); margin-top:8px; }

.dest.tall{ grid-row:span 2; }
.dest.wide{ grid-column:span 6; }
.dest.span4{ grid-column:span 4; }
.dest.span3{ grid-column:span 3; }
.dest.span5{ grid-column:span 5; }
.dest.span6{ grid-column:span 6; }
.dest.span8{ grid-column:span 8; }
@media(max-width:980px){
  .dest-grid{ grid-template-columns:repeat(6,1fr); }
  .dest.wide,.dest.span8,.dest.span5,.dest.span4,.dest.span6{ grid-column:span 6; }
  .dest.span3{ grid-column:span 3; }
}

/* ════════════════════════════════════════════════════════════════════
   CARD MATRIX — typographic table, gold rules
   ════════════════════════════════════════════════════════════════════ */
.matrix-wrap{ border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); overflow-x:auto; }
.matrix{ width:100%; border-collapse:collapse; font-family:"Inter Tight",sans-serif; min-width:760px; }
.matrix th{
  text-align:left; padding:24px 18px; font-family:"JetBrains Mono",monospace;
  font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--brass-2);
  border-bottom:1px solid var(--rule); font-weight:400;
}
.matrix th:nth-child(n+3){ text-align:right; }
.matrix td{
  padding:24px 18px; border-bottom:1px solid var(--rule);
  color:var(--cream-1); font-size:14px; vertical-align:middle;
  transition:background 0.35s;
}
.matrix tbody tr:hover td{ background:rgba(184,153,104,0.05); }
.matrix tbody tr:last-child td{ border-bottom:0; }
.matrix .card-name{ font-family:"Cormorant Garamond",serif; font-size:21px; color:var(--cream-0); font-weight:400; }
.matrix .card-best{ color:var(--cream-mute); font-size:13px; }
.matrix .mult{ font-family:"JetBrains Mono",monospace; color:var(--brass-2); font-size:13px; text-align:right; }
.matrix .annual{ font-family:"JetBrains Mono",monospace; text-align:right; color:var(--cream-mute); font-size:13px; }
.matrix-foot{ padding:14px 18px; font-size:11px; color:var(--cream-faint); }

/* ════════════════════════════════════════════════════════════════════
   TAX — calm imagery + 4 columns
   ════════════════════════════════════════════════════════════════════ */
.tax-head-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:center; margin-bottom:80px; }
@media(max-width:980px){ .tax-head-grid{ grid-template-columns:1fr; } }
.tax-photo{ height:440px; overflow:hidden; position:relative; }
.tax-photo img{ width:100%; height:100%; object-fit:cover; filter:saturate(0.9) brightness(0.82); }
.tax-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(14,31,26,0.2), rgba(14,31,26,0.55)); }

.tax-cols{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
@media(max-width:980px){ .tax-cols{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .tax-cols{ grid-template-columns:1fr; } }
.tax-col{ padding:40px 30px; border-right:1px solid var(--rule); }
.tax-col:last-child{ border-right:0; }
@media(max-width:980px){
  .tax-col:nth-child(2){ border-right:0; }
  .tax-col:nth-child(1),.tax-col:nth-child(2){ border-bottom:1px solid var(--rule); }
}
@media(max-width:600px){ .tax-col{ border-right:0; border-bottom:1px solid var(--rule); } .tax-col:last-child{ border-bottom:0; } }
.tax-col .lab{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--brass-2); margin-bottom:18px; display:block; }
.tax-col h3{ font-family:"Cormorant Garamond",serif; font-size:24px; color:var(--cream-0); font-weight:400; margin-bottom:14px; line-height:1.15; }
.tax-col p{ color:var(--cream-mute); font-size:14px; line-height:1.65; }
.disclaimer{
  margin-top:30px; padding:20px 24px; border:1px solid var(--rule);
  background:rgba(184,153,104,0.04);
  font-size:13px; color:var(--cream-mute); line-height:1.6;
}
.disclaimer strong{ color:var(--brass-2); font-weight:400; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; margin-right:10px; }

/* ════════════════════════════════════════════════════════════════════
   WEALTH — feature stat (full bleed) + service grid
   ════════════════════════════════════════════════════════════════════ */
.wealth-feature{
  position:relative; min-height:480px; overflow:hidden; margin-bottom:0;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.wealth-feature .bg{ position:absolute; inset:0; z-index:0; }
.wealth-feature .bg img{ width:100%; height:100%; object-fit:cover; filter:saturate(0.85) brightness(0.55); }
.wealth-feature .bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(14,31,26,0.55), rgba(10,20,16,0.85)); }
.wealth-feature .inside{ position:relative; z-index:1; padding:80px max(36px,5vw); display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; }
@media(max-width:980px){ .wealth-feature .inside{ grid-template-columns:1fr; padding:60px 36px; } }
.wealth-feature .stat-num{ font-family:"Cormorant Garamond",serif; font-size:clamp(80px,11vw,180px); color:var(--brass-2); font-weight:300; line-height:0.95; }
.wealth-feature p{ color:var(--cream-mute); font-family:"Cormorant Garamond",serif; font-size:22px; line-height:1.45; font-weight:300; }
.wealth-feature p em{ font-style:italic; color:var(--cream-0); }

.wealth-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-bottom:1px solid var(--rule); }
@media(max-width:980px){ .wealth-services{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .wealth-services{ grid-template-columns:1fr; } }
.wealth-svc{ padding:40px 30px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.wealth-services .wealth-svc:nth-last-child(-n+3){ border-bottom:0; }
@media(max-width:980px){
  .wealth-services .wealth-svc:nth-last-child(-n+3){ border-bottom:1px solid var(--rule); }
  .wealth-services .wealth-svc:nth-last-child(-n+2){ border-bottom:0; }
  .wealth-services .wealth-svc:nth-child(2n){ border-right:0; }
}
@media(max-width:600px){ .wealth-svc{ border-right:0; } }
.wealth-svc .lab{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--brass-2); margin-bottom:14px; display:block; }
.wealth-svc h3{ font-family:"Cormorant Garamond",serif; font-size:22px; font-weight:400; color:var(--cream-0); margin-bottom:12px; }
.wealth-svc p{ color:var(--cream-mute); font-size:14px; line-height:1.65; }

/* ════════════════════════════════════════════════════════════════════
   RECOMMEND — boutique form
   ════════════════════════════════════════════════════════════════════ */
.rec-form{
  display:grid; grid-template-columns:1fr 1fr; gap:32px 36px;
  border-top:1px solid var(--rule); padding-top:50px;
}
@media(max-width:780px){ .rec-form{ grid-template-columns:1fr; } }
.rec-field label{ display:block; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--brass-2); margin-bottom:14px; }
.rec-field input, .rec-field select, .rec-field textarea{
  width:100%; background:transparent; border:0; border-bottom:1px solid var(--rule);
  padding:8px 0 14px; font-family:"Cormorant Garamond",serif; font-size:22px; font-weight:300;
  color:var(--cream-0); outline:0; transition:border-color 0.4s;
}
.rec-field input::placeholder, .rec-field textarea::placeholder{ color:var(--cream-faint); font-style:italic; }
.rec-field input:focus, .rec-field select:focus, .rec-field textarea:focus{ border-bottom-color:var(--brass-2); }
.rec-field textarea{ resize:vertical; min-height:80px; line-height:1.5; }
.rec-field select{ appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23D9B97D'><path d='M6 8 0 0h12z'/></svg>"); background-repeat:no-repeat; background-position:right 4px center; cursor:pointer; }
.rec-field.full{ grid-column:1/-1; }
.rec-foot{
  grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;
  padding-top:30px; border-top:1px solid var(--rule); margin-top:10px;
}
.rec-foot p{ font-size:12px; color:var(--cream-faint); max-width:420px; line-height:1.6; }

/* ════════════════════════════════════════════════════════════════════
   BOOK — paired plans + FAQ
   ════════════════════════════════════════════════════════════════════ */
.book-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
@media(max-width:980px){ .book-grid{ grid-template-columns:1fr; } }
.plan{ padding:60px 50px; border-right:1px solid var(--rule); position:relative; }
.book-grid .plan:last-child{ border-right:0; }
@media(max-width:980px){
  .plan{ border-right:0; border-bottom:1px solid var(--rule); }
  .book-grid .plan:last-child{ border-bottom:0; }
}
.plan.featured{ background:rgba(184,153,104,0.04); }
.plan-tag{
  position:absolute; top:32px; right:32px;
  font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--brass-2); padding:6px 12px; border:1px solid var(--brass-2); border-radius:999px;
}
.plan-eyebrow{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--cream-faint); margin-bottom:24px; }
.plan h3{ font-family:"Cormorant Garamond",serif; font-size:clamp(34px,3.4vw,46px); font-weight:300; line-height:1.05; margin-bottom:18px; }
.plan h3 em{ font-style:italic; color:var(--brass-2); }
.plan-sub{ color:var(--cream-mute); font-family:"Cormorant Garamond",serif; font-size:19px; font-weight:300; line-height:1.5; margin-bottom:36px; max-width:48ch; }
.plan-list{ list-style:none; padding:0; margin:0 0 36px; }
.plan-list li{
  padding:16px 0; border-bottom:1px dashed var(--rule);
  font-family:"Cormorant Garamond",serif; font-size:18px; color:var(--cream-1); font-weight:300;
  display:flex; align-items:baseline; gap:14px;
}
.plan-list li::before{ content:"—"; color:var(--brass-2); }
.plan .btn{ width:100%; justify-content:center; }

/* FAQ */
.faq{ max-width:880px; margin:80px auto 0; padding-top:60px; border-top:1px solid var(--rule); }
.faq h3{ font-size:clamp(34px,4vw,52px); margin-bottom:30px; }
details{ border-bottom:1px solid var(--rule); padding:24px 0; }
details summary{
  list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center;
  font-family:"Cormorant Garamond",serif; font-size:22px; color:var(--cream-0); font-weight:400;
  transition:color 0.35s;
}
details summary::-webkit-details-marker{ display:none; }
details summary::after{
  content:"+"; font-family:"JetBrains Mono",monospace; color:var(--brass-2); font-size:24px; transition:transform 0.4s, color 0.35s;
}
details[open] summary::after{ content:"−"; }
details:hover summary{ color:var(--brass-2); }
details p{ color:var(--cream-mute); font-family:"Cormorant Garamond",serif; font-size:18px; line-height:1.55; padding-top:14px; max-width:64ch; font-weight:300; }

/* ════════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════════ */
footer{
  padding:80px max(36px,5vw) 50px;
  background:var(--forest-0); border-top:1px solid var(--rule);
}
.footer-top{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px; padding-bottom:60px; border-bottom:1px solid var(--rule); }
@media(max-width:980px){ .footer-top{ grid-template-columns:1fr 1fr; } }
@media(max-width:600px){ .footer-top{ grid-template-columns:1fr; } }
.f-brand{ display:flex; flex-direction:column; gap:18px; max-width:340px; }
.f-brand .brand{ font-size:28px; }
.f-brand p{ color:var(--cream-mute); font-size:14px; line-height:1.65; font-family:"Cormorant Garamond",serif; font-weight:300; font-size:18px; }
.f-col h4{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--brass-2); margin-bottom:18px; font-weight:400; }
.f-col a, .f-col li{
  display:block; color:var(--cream-1); text-decoration:none; padding:6px 0;
  font-family:"Cormorant Garamond",serif; font-size:18px; font-weight:300;
  transition:color 0.35s;
}
.f-col a:hover{ color:var(--brass-2); }
.footer-bot{
  padding-top:30px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--cream-faint);
}

/* ─── Tweaks panel (kept hidden by default; toggle via toolbar) ─── */
#tweaks{
  position:fixed; bottom:24px; right:24px; z-index:90;
  background:var(--forest-2); border:1px solid var(--rule);
  padding:20px; min-width:280px; max-width:320px;
  display:none; box-shadow:0 30px 60px rgba(0,0,0,0.4);
}
#tweaks.show{ display:block; }
.tw-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.tw-head .ttl{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--brass-2); }
.tw-head button{ background:none; border:0; color:var(--cream-mute); cursor:pointer; font-size:20px; }
.tw-row{ margin-bottom:14px; }
.tw-row label{ display:block; font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--cream-faint); margin-bottom:8px; }
.tw-segment{ display:flex; gap:6px; }
.tw-segment button{
  flex:1; background:transparent; border:1px solid var(--rule);
  color:var(--cream-mute); padding:8px 10px; cursor:pointer;
  font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:0.18em; text-transform:uppercase;
  transition:all 0.3s;
}
.tw-segment button.active{ background:var(--brass-1); color:var(--forest-0); border-color:var(--brass-1); }

/* ─── helpers ─── */
.fade-in-load{ animation:fadeIn 1.4s 0.2s cubic-bezier(0.22,1,0.36,1) both; }
@keyframes fadeIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }


/* ════════════════════════════════════════════════════════════════════
   MULTI-PAGE ADDITIONS
   ════════════════════════════════════════════════════════════════════ */

/* active nav state */
.nav-link.active{ color:var(--cream-0); }
.nav-link.active::after{ transform:scaleX(1); }

/* page hero — used at top of each interior page */
.page-hero{
  padding:200px 0 100px;
  border-bottom:1px solid var(--rule);
  position:relative; overflow:hidden;
}
.page-hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(900px 500px at 80% 0%, rgba(217,185,125,0.08) 0%, transparent 60%),
    radial-gradient(700px 400px at 0% 100%, rgba(36,80,65,0.5) 0%, transparent 70%);
  pointer-events:none;
}
.page-hero > .wrap{ position:relative; z-index:1; }

/* home practice grid — six tiles, hairline rules */
.practice-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:0;
  border-top:1px solid var(--rule); border-left:1px solid var(--rule);
}
@media(max-width:980px){ .practice-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .practice-grid{ grid-template-columns:1fr; } }
.practice-tile{
  position:relative; padding:46px 36px 50px; min-height:340px;
  display:flex; flex-direction:column; gap:14px;
  border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
  text-decoration:none; color:var(--cream-0);
  transition:background 0.5s cubic-bezier(0.22,1,0.36,1);
  overflow:hidden;
}
.practice-tile:hover{ background:rgba(184,153,104,0.05); }
.practice-tile .pt-num{
  font-family:"Cormorant Garamond",serif; font-style:italic; font-size:46px;
  color:var(--brass-2); line-height:1; font-weight:300;
}
.practice-tile .pt-eyebrow{
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em;
  text-transform:uppercase; color:var(--cream-faint);
}
.practice-tile h3{
  font-family:"Cormorant Garamond",serif; font-size:28px; font-weight:400;
  line-height:1.1; color:var(--cream-0); margin-top:auto;
}
.practice-tile p{ color:var(--cream-mute); font-size:14px; line-height:1.6; max-width:38ch; }
.practice-tile .pt-arr{
  margin-top:auto; padding-top:14px;
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em;
  text-transform:uppercase; color:var(--brass-2);
  transition:padding-left 0.4s cubic-bezier(0.22,1,0.36,1);
}
.practice-tile:hover .pt-arr{ padding-left:8px; }

/* photo variant */
.practice-tile.with-photo{ color:var(--cream-0); }
.practice-tile.with-photo .pt-bg{
  position:absolute; inset:0; z-index:0;
}
.practice-tile.with-photo .pt-bg img{
  width:100%; height:100%; object-fit:cover; filter:saturate(0.85) brightness(0.5);
  transition:transform 1.2s cubic-bezier(0.22,1,0.36,1);
}
.practice-tile.with-photo:hover .pt-bg img{ transform:scale(1.05); }
.practice-tile.with-photo .pt-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,31,26,0.2) 30%, rgba(14,31,26,0.92) 100%);
}
.practice-tile.with-photo > *{ position:relative; z-index:1; }

/* ─── LOGIN ─── */
.login-section{
  position:relative; min-height:100vh;
  padding:160px max(36px,5vw) 100px;
  display:flex; align-items:center;
  overflow:hidden;
}
.login-bg{ position:absolute; inset:0; z-index:0; }
.login-bg img{ width:100%; height:115%; object-fit:cover; filter:saturate(0.78) brightness(0.42); }
.login-bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(14,31,26,0.4) 0%, rgba(14,31,26,0.8) 100%),
    radial-gradient(900px 600px at 70% 50%, rgba(217,185,125,0.08) 0%, transparent 70%);
}
.login-section .hero-grain{ z-index:1; }
.login-wrap{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.05fr 1fr; gap:80px; align-items:center;
}
@media(max-width:980px){ .login-wrap{ grid-template-columns:1fr; gap:50px; } }

.login-feats{ margin-top:50px; display:flex; flex-direction:column; gap:24px; max-width:520px; }
.login-feat{
  display:flex; gap:24px; align-items:flex-start;
  padding:20px 0; border-top:1px solid var(--rule);
}
.login-feat:last-child{ border-bottom:1px solid var(--rule); }
.login-feat .lf-num{
  font-family:"Cormorant Garamond",serif; font-style:italic; font-size:30px;
  color:var(--brass-2); line-height:1; flex-shrink:0; padding-top:4px;
}
.login-feat h4{
  font-family:"Cormorant Garamond",serif; font-size:20px; font-weight:400;
  color:var(--cream-0); margin-bottom:6px;
}
.login-feat p{ color:var(--cream-mute); font-size:13px; line-height:1.6; }

.login-form{
  background:rgba(14,31,26,0.78);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--rule);
  padding:50px 44px;
  display:flex; flex-direction:column;
}
.lf-head{ display:flex; gap:18px; align-items:center; padding-bottom:30px; border-bottom:1px solid var(--rule); margin-bottom:32px; }
.lf-mark{
  width:48px; height:48px; border:1px solid var(--brass-2); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:"Cormorant Garamond",serif; font-style:italic; font-size:24px;
  color:var(--brass-2); flex-shrink:0;
}
.login-form .rec-field{ margin-bottom:24px; }
.lf-row{
  display:flex; justify-content:space-between; align-items:center;
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--cream-mute); margin-top:8px;
}
.lf-check{
  display:inline-flex; align-items:center; gap:10px; cursor:pointer; user-select:none;
}
.lf-check input{ position:absolute; opacity:0; pointer-events:none; }
.lf-check span{
  width:14px; height:14px; border:1px solid var(--rule-strong);
  display:inline-block; position:relative; transition:all 0.3s;
}
.lf-check input:checked + span{ background:var(--brass-2); border-color:var(--brass-2); }
.lf-check input:checked + span::after{
  content:""; position:absolute; left:3px; top:0px; width:5px; height:9px;
  border:solid var(--forest-0); border-width:0 1.5px 1.5px 0; transform:rotate(45deg);
}
.lf-forgot{ color:var(--brass-2); text-decoration:none; transition:color 0.3s; }
.lf-forgot:hover{ color:var(--brass-3); }

.lf-divider{
  display:flex; align-items:center; gap:14px;
  margin:30px 0 20px;
  font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--cream-faint);
}
.lf-divider::before, .lf-divider::after{
  content:""; flex:1; height:1px; background:var(--rule);
}

.lf-foot{
  margin-top:30px; padding-top:24px; border-top:1px solid var(--rule);
  text-align:center; font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--cream-faint);
}
.lf-foot a{ color:var(--brass-2); text-decoration:none; transition:color 0.3s; margin:0 4px; }
.lf-foot a:hover{ color:var(--brass-3); }

.lf-msg{
  margin-top:18px; padding:14px 18px; border:1px solid var(--brass-2);
  background:rgba(184,153,104,0.08);
  font-family:"Cormorant Garamond",serif; font-size:15px; color:var(--cream-0);
  font-style:italic;
}


/* ═════════════════════════════════════════════════════════════════
   HOMEPAGE LEAD MAGNET — quick gap teaser
   ════════════════════════════════════════════════════════════════ */
.lead-teaser{
  padding:120px 0; position:relative;
  background:linear-gradient(180deg, var(--forest-1) 0%, var(--forest-2) 50%, var(--forest-1) 100%);
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.lead-teaser::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(900px 500px at 80% 30%, rgba(184,153,104,0.06), transparent 60%);
}
.lead-teaser .lt-inner{
  display:grid; grid-template-columns:1fr 1.1fr; gap:90px; align-items:center;
  position:relative; z-index:1;
}
.lt-copy h2{ margin-top:30px; }
.lt-sub{
  margin-top:18px; color:var(--cream-mute);
  font-family:"Cormorant Garamond",serif; font-style:italic; font-size:20px; line-height:1.5;
}
.lt-tool{
  background:rgba(10,20,16,0.55); backdrop-filter:blur(20px);
  border:1px solid var(--rule); border-radius:4px;
  padding:44px 40px;
  position:relative;
}
.lt-tool::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--brass-2), transparent);
}
.lt-row{ margin-bottom:24px; }
.lt-row label{
  display:block;
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.26em;
  text-transform:uppercase; color:var(--cream-faint); margin-bottom:12px;
}
.lt-input{
  display:flex; align-items:center; gap:8px;
  border-bottom:1px solid var(--rule-strong); padding:6px 0;
  transition:border-color 0.3s;
}
.lt-input:focus-within{ border-color:var(--brass-2); }
.lt-input span{
  font-family:"Cormorant Garamond",serif; font-size:36px; font-weight:300;
  color:var(--brass-2);
}
.lt-input input{
  flex:1; background:transparent; border:0; outline:0;
  font-family:"Cormorant Garamond",serif; font-size:36px; font-weight:300;
  color:var(--cream-0); padding:6px 0;
}
.lt-input input::placeholder{ color:var(--cream-faint); font-style:italic; }
.lt-segments{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.lt-seg{
  background:transparent; cursor:pointer;
  border:1px solid var(--rule); border-radius:2px; padding:14px 10px;
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--cream-mute);
  transition:all 0.3s cubic-bezier(0.22,1,0.36,1);
}
.lt-seg:hover{ border-color:var(--brass-2); color:var(--cream-0); }
.lt-seg.active{ background:var(--brass-1); color:var(--forest-0); border-color:var(--brass-1); }
.lt-result{
  margin:30px 0 24px; padding:24px 0;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  text-align:center;
}
.lt-result-label{
  font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--cream-faint); margin-bottom:12px;
}
.lt-result-value{
  font-family:"Cormorant Garamond",serif; font-weight:300;
  font-size:clamp(48px, 7vw, 88px); line-height:1;
  color:var(--brass-2); transition:color 0.5s;
  font-feature-settings:"tnum";
}
.lt-result.computed .lt-result-value{ color:var(--brass-3); }
.lt-result-sub{
  margin-top:10px; font-family:"Cormorant Garamond",serif; font-style:italic;
  color:var(--cream-mute); font-size:15px;
}
.lt-cta{ width:100%; justify-content:center; }
.lt-fine{
  margin-top:14px; text-align:center;
  font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:0.16em;
  color:var(--cream-faint); line-height:1.6;
}

@media(max-width:880px){
  .lead-teaser{ padding:80px 0; }
  .lead-teaser .lt-inner{ grid-template-columns:1fr; gap:50px; }
  .lt-tool{ padding:30px 24px; }
}


/* ═════════════════════════════════════════════════════════════════
   SERVICES — 4-TIER PRICING
   ═════════════════════════════════════════════════════════════════ */
.svc-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
@media(max-width:1180px){ .svc-grid{ grid-template-columns:repeat(2, 1fr); } }
@media(max-width:680px){ .svc-grid{ grid-template-columns:1fr; } }
.svc-tier{
  position:relative;
  padding:50px 36px 44px;
  border-right:1px solid var(--rule);
  display:flex; flex-direction:column;
  background:var(--forest-1);
  transition:background .5s ease;
}
.svc-tier:last-child{ border-right:0; }
@media(max-width:1180px){
  .svc-tier:nth-child(2n){ border-right:0; }
  .svc-tier:nth-child(-n+2){ border-bottom:1px solid var(--rule); }
}
@media(max-width:680px){
  .svc-tier{ border-right:0; border-bottom:1px solid var(--rule); }
  .svc-tier:last-child{ border-bottom:0; }
}
.svc-tier:hover{ background:var(--forest-2); }
.svc-tier.featured{
  background:linear-gradient(180deg, rgba(184,153,104,0.06) 0%, rgba(184,153,104,0.02) 100%);
}
.svc-tier.hero-tier{
  background:linear-gradient(180deg, rgba(184,153,104,0.1) 0%, rgba(217,185,125,0.02) 100%);
}
.svc-badge{
  position:absolute; top:24px; right:28px;
  font-family:"JetBrains Mono", monospace;
  font-size:9px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--brass-2);
  padding:5px 10px; border:1px solid var(--brass-2);
  border-radius:99px;
}
.svc-num{
  font-family:"JetBrains Mono", monospace;
  font-size:10px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--brass-2);
  margin-bottom:18px;
}
.svc-name{
  font-family:"Cormorant Garamond", serif;
  font-size:38px; line-height:1; font-weight:400;
  color:var(--cream-0); margin-bottom:14px;
}
.svc-name em{ font-style:italic; color:var(--brass-2); font-weight:300; }
.svc-tag{
  color:var(--cream-mute);
  font-size:13px; line-height:1.6;
  margin-bottom:28px;
  min-height:60px;
}
.svc-price{
  font-family:"Cormorant Garamond", serif;
  font-size:48px; line-height:1; font-weight:300;
  color:var(--cream-0);
  display:flex; align-items:baseline; gap:8px;
}
.svc-price .per{
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.16em;
  color:var(--cream-faint);
  font-weight:400; text-transform:lowercase;
}
.svc-price-sub{
  font-family:"JetBrains Mono", monospace;
  font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cream-faint);
  margin-top:8px; margin-bottom:32px;
  padding-bottom:24px;
  border-bottom:1px solid var(--rule);
}
.svc-list{
  list-style:none; padding:0; margin:0 0 32px 0;
  display:flex; flex-direction:column; gap:14px;
  flex:1;
}
.svc-list li{
  position:relative;
  padding-left:26px;
  font-size:13px; line-height:1.5;
  color:var(--cream-1);
}
.svc-list li.no{ color:var(--cream-faint); opacity:.45; }
.svc-list li::before{
  content:"";
  position:absolute; left:0; top:6px;
  width:14px; height:14px;
  border-radius:50%;
  background:radial-gradient(circle, var(--brass-2) 30%, transparent 32%);
}
.svc-list li.no::before{
  background:transparent;
  border:1px solid var(--cream-faint);
  opacity:.4;
}
.svc-list li.no::after{
  content:"";
  position:absolute; left:3px; top:12px;
  width:8px; height:1px;
  background:var(--cream-faint);
  opacity:.6;
}
.svc-list li strong{
  color:var(--cream-0); font-weight:500;
}
.svc-list li .qty{
  font-family:"JetBrains Mono", monospace;
  color:var(--brass-2);
  font-size:11px; letter-spacing:.08em;
}
.svc-cta{ margin-top:auto; }
.svc-cta .btn{
  width:100%;
  justify-content:center;
}
.svc-secondary{
  display:block; text-align:center; margin-top:10px;
  font-family:"JetBrains Mono", monospace;
  font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cream-faint);
  text-decoration:none;
  transition:color .3s;
}
.svc-secondary:hover{ color:var(--brass-2); }

/* COMPARISON TABLE */
.svc-comparison{
  padding:120px 0;
  background:var(--forest-0);
  border-top:1px solid var(--rule);
}
.svc-comparison-wrap{ max-width:1240px; margin:0 auto; padding:0 60px; }
@media(max-width:780px){ .svc-comparison-wrap{ padding:0 24px; } }
.svc-comparison h2{
  font-family:"Cormorant Garamond", serif;
  font-size:48px; font-weight:400; color:var(--cream-0);
  margin:18px 0 50px;
}
.svc-comparison table{
  width:100%; border-collapse:collapse;
  font-size:13px;
}
.svc-comparison th, .svc-comparison td{
  padding:18px 14px; text-align:left;
  border-bottom:1px solid var(--rule);
}
.svc-comparison th{
  font-family:"JetBrains Mono", monospace;
  font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--brass-2); font-weight:500;
  border-bottom:1px solid var(--brass-3);
  padding-bottom:24px;
  text-align:center;
}
.svc-comparison th:first-child{ text-align:left; }
.svc-comparison td{ color:var(--cream-1); vertical-align:top; }
.svc-comparison td:first-child{
  font-family:"Cormorant Garamond", serif;
  font-size:18px; font-weight:400;
  color:var(--cream-0);
  width:30%;
}
.svc-comparison td:not(:first-child){ text-align:center; }
.svc-comparison th.b{
  background:rgba(184,153,104,0.05);
}
.svc-comparison td.b{ background:rgba(184,153,104,0.03); }
.svc-comparison .yes{ color:var(--cream-0); }
.svc-comparison .yes-mark{ color:var(--brass-2); font-size:16px; }
.svc-comparison .no{ color:var(--cream-faint); opacity:.4; }
@media(max-width:780px){
  .svc-comparison{ padding:80px 0; }
  .svc-comparison h2{ font-size:36px; }
  .svc-comparison-wrap{ overflow-x:auto; }
  .svc-comparison table{ min-width:680px; }
}


/* ─── PRACTICE MOSAIC — asymmetric featured grid ─── */
.practice-mosaic{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-template-rows: 320px 320px 320px;
  gap:14px;
  margin-top:60px;
}
@media(max-width:980px){
  .practice-mosaic{ grid-template-columns:repeat(2,1fr); grid-template-rows:auto; }
  .pt-featured{ grid-column:span 2; min-height:480px; }
  .pt-tall{ grid-row:auto !important; }
}
@media(max-width:640px){
  .practice-mosaic{ grid-template-columns:1fr; }
  .pt-featured{ grid-column:auto; min-height:420px; }
}

.pt-featured{ grid-column:span 2; grid-row:span 2; }
.pt-tall{ grid-row:span 1; }

.ptile{
  position:relative;
  overflow:hidden;
  border-radius:4px;
  text-decoration:none;
  color:var(--cream-0);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:32px 30px 30px;
  isolation:isolate;
  transition:transform .6s cubic-bezier(0.22,1,0.36,1);
  border:1px solid rgba(184,153,104,0.12);
}
.ptile:hover{ transform:translateY(-3px); }

.pt-img{
  position:absolute; inset:0; z-index:0;
  overflow:hidden;
}
.pt-img img{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.78) brightness(.42) contrast(1.05);
  transform:scale(1.04);
  transition:transform 1.4s cubic-bezier(0.22,1,0.36,1), filter .8s ease;
}
.ptile:hover .pt-img img{
  transform:scale(1.1);
  filter:saturate(.88) brightness(.5) contrast(1.05);
}
.pt-img::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,20,16,0.15) 0%, rgba(10,20,16,0.55) 55%, rgba(10,20,16,0.95) 100%),
    radial-gradient(120% 80% at 100% 0%, rgba(184,153,104,0.18), transparent 60%);
  z-index:1;
}
.pt-grain{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,0.025) 1px, transparent 0);
  background-size:3px 3px;
  mix-blend-mode:overlay;
  opacity:.6;
}

.ptile > *:not(.pt-img):not(.pt-grain){ position:relative; z-index:3; }

/* Featured badge */
.pt-badge{
  position:absolute; top:24px; left:30px; z-index:4;
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 13px 7px 11px;
  background:rgba(217,185,125,0.16);
  border:1px solid rgba(217,185,125,0.45);
  border-radius:99px;
  font-family:"JetBrains Mono",monospace;
  font-size:9.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--brass-2);
  backdrop-filter:blur(6px);
}
.pt-badge-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--brass-2);
  box-shadow:0 0 0 0 rgba(217,185,125,0.7);
  animation:ptpulse 2s infinite;
}
@keyframes ptpulse{
  0%{ box-shadow:0 0 0 0 rgba(217,185,125,0.6); }
  70%{ box-shadow:0 0 0 8px rgba(217,185,125,0); }
  100%{ box-shadow:0 0 0 0 rgba(217,185,125,0); }
}

.pt-meta{
  display:flex; align-items:flex-end; gap:14px;
  margin-bottom:auto;
}
.pt-num{
  font-family:"Cormorant Garamond",serif;
  font-weight:300; font-style:italic;
  font-size:54px; line-height:.85;
  color:var(--brass-2);
  letter-spacing:-.02em;
}
.pt-featured .pt-num{ font-size:78px; }
.pt-cat{
  font-family:"JetBrains Mono",monospace;
  font-size:10px; letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--cream-mute);
  padding-bottom:8px;
}

.pt-body h3{
  font-family:"Cormorant Garamond",serif;
  font-weight:400; font-size:24px; line-height:1.15;
  color:var(--cream-0);
  margin:0 0 10px;
  letter-spacing:-.005em;
  max-width:24ch;
}
.pt-featured .pt-body h3{ font-size:38px; max-width:18ch; line-height:1.08; }
.pt-body p{
  font-size:13px; line-height:1.55;
  color:var(--cream-mute);
  margin:0 0 16px;
  max-width:42ch;
}
.pt-featured .pt-body p{ font-size:15px; max-width:48ch; }

.pt-arr{
  display:inline-flex; align-items:center; gap:12px;
  font-family:"JetBrains Mono",monospace;
  font-size:10px; letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--cream-0);
  padding-top:6px;
}
.pt-arr-line{
  display:block; height:1px; width:24px;
  background:var(--brass-2);
  transition:width .5s cubic-bezier(0.22,1,0.36,1);
}
.ptile:hover .pt-arr-line{ width:46px; }
.pt-arr::after{
  content:"→"; font-family:"Cormorant Garamond",serif;
  font-style:italic; font-size:18px; line-height:1;
  color:var(--brass-2);
  transition:transform .5s cubic-bezier(0.22,1,0.36,1);
}
.ptile:hover .pt-arr::after{ transform:translateX(6px); }

/* corner accent */
.ptile::before{
  content:""; position:absolute; top:0; right:0; z-index:3;
  width:0; height:1px;
  background:var(--brass-2);
  transition:width .8s cubic-bezier(0.22,1,0.36,1);
}
.ptile::after{
  content:""; position:absolute; top:0; right:0; z-index:3;
  width:1px; height:0;
  background:var(--brass-2);
  transition:height .8s cubic-bezier(0.22,1,0.36,1) .15s;
}
.ptile:hover::before{ width:60%; }
.ptile:hover::after{ height:50%; }

/* ════════════════════════════════════════════════════════════════════
   MOTION REFRESH — Phase C additions
   ════════════════════════════════════════════════════════════════════ */

/* Sticky CTA pill (homepage only — appears after hero scroll) */
.sticky-cta-pill {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(80px);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 22px 14px 26px;
  background: rgba(10, 20, 16, 0.92);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid var(--brass-3);
  border-radius: 999px;
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 13px;
  color: var(--cream);
  text-decoration: none;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  z-index: 100;
  opacity: 0;
  transition: transform 0.6s cubic-bezier(.22,1,.36,1), opacity 0.4s;
  pointer-events: none;
}
.sticky-cta-pill.visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.sticky-cta-pill .sc-label { letter-spacing: 0.02em; }
.sticky-cta-pill .sc-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px;
  color: var(--brass-2);
  font-weight: 500;
  border-left: 1px solid rgba(184,153,104,.25);
  padding-left: 12px;
}
.sticky-cta-pill .sc-arr { color: var(--brass-2); font-size: 15px; transition: transform 0.25s; }
.sticky-cta-pill:hover .sc-arr { transform: translateX(3px); }
.sticky-cta-pill .sc-close {
  background: none;
  border: none;
  color: var(--cream-faint);
  font-size: 16px;
  cursor: pointer;
  padding: 0 0 0 8px;
  line-height: 1;
  margin-left: 4px;
  transition: color 0.2s;
}
.sticky-cta-pill .sc-close:hover { color: var(--cream); }
@media (max-width: 640px) {
  .sticky-cta-pill { font-size: 12px; padding: 12px 18px 12px 22px; }
}

/* Leak teaser warming gradient states */
.lt-result.warm {
  background: linear-gradient(135deg, rgba(184,153,104,0.10), rgba(217,185,125,0.06));
  border-color: rgba(184,153,104,0.30);
  transition: background 0.6s, border-color 0.4s;
}
.lt-result.hot {
  background: linear-gradient(135deg, rgba(217,185,125,0.22), rgba(184,153,104,0.10));
  border-color: rgba(217,185,125,0.45);
  box-shadow: 0 18px 40px rgba(184,153,104,0.18);
  transition: background 0.6s, border-color 0.4s, box-shadow 0.6s;
}

/* Services matrix — Platinum ambient glow */
@keyframes platinumGlow {
  0%, 100% { box-shadow: inset 1.5px 0 0 rgba(217,185,125,.5), inset -1.5px 0 0 rgba(217,185,125,.5); }
  50% { box-shadow: inset 1.5px 0 0 rgba(217,185,125,.75), inset -1.5px 0 0 rgba(217,185,125,.75), 0 0 28px -8px rgba(217,185,125,0.3); }
}
.matrix thead th.col-platinum {
  animation: platinumGlow 4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .matrix thead th.col-platinum { animation: none; }
}

/* Points worked-example row reveal on scroll */
#worked-example tr[data-pin-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
#worked-example tr[data-pin-reveal].pinned-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Audit sliders — brass pulse halo on change */
.aud-row { position: relative; }
.aud-row::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at var(--pulse-x, 50%) center, rgba(217,185,125,0.15) 0%, transparent 60%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s;
}
.aud-row.pulsing::after { opacity: 1; transition: opacity 0.1s; }
@media (prefers-reduced-motion: reduce) {
  .aud-row::after { display: none; }
}

/* Discovery Tool glass treatment */
.bs-discovery .stack-card,
.bs-discovery .panel,
.bs-discovery .portfolio-scene,
.bs-discovery .architect .box {
  background: rgba(20, 43, 35, 0.55);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid rgba(184, 153, 104, 0.20);
}

/* Redemption photo grid (homepage — replaces YouTube band) */
.redemption-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 280px;
  gap: 18px;
  margin-top: 50px;
}
.redemption-grid .rd-large {
  grid-column: span 2;
  grid-row: span 2;
}
.rd-tile {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: 6px;
  text-decoration: none;
  color: var(--cream);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 26px 24px;
  transition: transform 0.5s cubic-bezier(.22,1,.36,1), border-color 0.4s;
  isolation: isolate;
}
.rd-tile:hover {
  transform: translateY(-3px);
  border-color: var(--brass-2);
}
.rd-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: saturate(.78) brightness(.45);
  transition: transform 1.2s cubic-bezier(.22,1,.36,1), filter 0.5s;
}
.rd-tile:hover img {
  transform: scale(1.06);
  filter: saturate(.92) brightness(.55);
}
.rd-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,20,16,0.2) 0%, rgba(10,20,16,0.92) 100%);
  z-index: 1;
}
.rd-tile-body { position: relative; z-index: 2; }
.rd-tile-cat {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--brass-2);
  display: block;
  margin-bottom: 12px;
}
.rd-tile h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.2;
  color: var(--cream);
  margin: 0 0 6px;
}
.rd-large h3 { font-size: 38px; max-width: 18ch; }
.rd-tile p {
  font-size: 13px;
  color: var(--cream-mute);
  line-height: 1.55;
  margin: 0;
}
.rd-tile-arr {
  display: inline-block;
  margin-top: 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brass-2);
  transition: padding-left 0.3s;
}
.rd-tile:hover .rd-tile-arr { padding-left: 6px; }
@media (max-width: 980px) {
  .redemption-grid { grid-template-columns: repeat(2, 1fr); }
  .rd-large { grid-column: span 2; }
}
@media (max-width: 640px) {
  .redemption-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .rd-tile { min-height: 240px; }
  .rd-large { grid-column: auto; }
}

/* ════════════════════════════════════════════════════════════════════
   GUARANTEE BAND (one-pager content — $15K + $20K = $35K)
   Used on index.html (cinematic variant) and services.html (compact variant)
   ════════════════════════════════════════════════════════════════════ */
.guarantee-band {
  position: relative;
  padding: 120px 0 130px;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(217,185,125,0.08) 0%, transparent 60%),
    linear-gradient(180deg, var(--forest-1) 0%, rgba(20,43,35,0.55) 100%);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
}
.guarantee-band::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 1px; height: 80px;
  background: linear-gradient(to bottom, var(--brass-2), transparent);
  opacity: 0.6;
}
/* Compact variant on services page — smaller numbers, denser layout */
.svc-compact-offer.guarantee-band { padding: 80px 0 90px; }
.svc-compact-offer.guarantee-band::before { display:none; }
.svc-compact-offer .guarantee-num { font-size: 54px; }
.svc-compact-offer .individual-offer-num { font-size: 60px; }
.svc-compact-offer .guarantee-card { padding: 28px 30px 26px; }
.svc-compact-offer .guarantee-grid { gap: 18px; margin-top: 36px; }
.svc-compact-offer .h-lg { font-size: clamp(36px, 4.5vw, 56px); }
.guarantee-eyebrow {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--brass-2);
  padding: 10px 22px;
  border-top: 1px solid var(--brass-3);
  border-bottom: 1px solid var(--brass-3);
}
.guarantee-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: stretch;
  margin-top: 48px;
}
.guarantee-card {
  background: rgba(20, 43, 35, 0.55);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid var(--brass-3);
  border-radius: 18px;
  padding: 36px 36px 32px;
  text-align: left;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.35);
}
.guarantee-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brass-2);
  margin-bottom: 18px;
}
.guarantee-num {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 84px;
  line-height: 1;
  color: var(--brass-2);
  letter-spacing: -0.02em;
  display: flex;
  align-items: baseline;
  gap: 4px;
  text-shadow: 0 0 32px rgba(217, 185, 125, 0.18);
}
.guarantee-num .plus {
  font-size: 0.55em;
  font-weight: 400;
  color: var(--brass-2);
}
.guarantee-sub {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 20px;
  color: var(--cream);
  margin-top: 10px;
  margin-bottom: 18px;
}
.guarantee-card p {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  color: var(--cream-mute);
  margin: 0;
}
.guarantee-card p strong {
  color: var(--brass-2);
}
.guarantee-plus {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: 80px;
  color: var(--brass-2);
  line-height: 1;
  align-self: center;
  opacity: 0.7;
}
.guarantee-quarterly {
  margin: 48px auto 0;
  max-width: 720px;
  text-align: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  line-height: 1.5;
  color: var(--cream-mute);
  padding: 22px 28px;
  border: 1px solid var(--brass-3);
  border-radius: 14px;
  background: rgba(184, 153, 104, 0.05);
}
.guarantee-quarterly strong { color: var(--cream); font-weight: 500; }

@media (max-width: 820px) {
  .guarantee-grid { grid-template-columns: 1fr; gap: 18px; }
  .guarantee-plus { font-size: 60px; transform: rotate(0); }
  .guarantee-num { font-size: 56px; }
}

/* Individual offer (softer single card, no guarantee framing) */
.individual-offer {
  max-width: 720px;
  margin: 48px auto 0;
  padding: 44px 48px 40px;
  background: rgba(20, 43, 35, 0.55);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid var(--brass-3);
  border-radius: 18px;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.35);
  text-align: center;
}
.individual-offer-num {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 84px;
  line-height: 1;
  color: var(--brass-2);
  letter-spacing: -0.02em;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.individual-offer-num .plus {
  font-size: 0.55em;
  font-weight: 400;
  color: var(--brass-2);
}
.individual-offer-num .permo {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 0.25em;
  font-weight: 400;
  color: var(--cream-faint);
  letter-spacing: 0.02em;
  margin-left: 6px;
}
.individual-offer-sub {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 22px;
  color: var(--cream);
  margin: 12px 0 18px;
}
.individual-offer p {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: var(--cream-mute);
  margin: 0 auto;
  max-width: 56ch;
}

/* Offer footnote (asterisk caveat) */
.offer-footnote {
  margin: 28px auto 0;
  max-width: 640px;
  text-align: center;
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--cream-faint);
  font-style: italic;
}

@media (max-width: 820px) {
  .individual-offer { padding: 32px 28px; }
  .individual-offer-num { font-size: 60px; }
}

/* ════════════════════════════════════════════════════════════════════
   CLIENT REDEMPTIONS CAROUSEL (homepage)
   ════════════════════════════════════════════════════════════════════ */
.bs-carousel {
  position: relative;
  margin-top: 60px;
  padding: 60px 0 30px;
  overflow: hidden;
}
.bs-carousel-track {
  position: relative;
  height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bs-carousel-slide {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(580px, 92vw);
  padding: 48px 52px;
  background: rgba(20, 43, 35, 0.72);
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border: 1px solid var(--brass-3);
  border-radius: 18px;
  box-shadow: 0 36px 80px rgba(0, 0, 0, 0.5);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.85);
  transition: none;
  pointer-events: none;
}
.bs-carousel-slide.is-active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  z-index: 3;
  pointer-events: auto;
}
.bs-carousel-slide.is-prev,
.bs-carousel-slide.is-next {
  opacity: 0.28;
  z-index: 2;
  pointer-events: none;
}
.bs-carousel-slide.is-prev { transform: translate(calc(-50% - 280px), -50%) scale(0.82); }
.bs-carousel-slide.is-next { transform: translate(calc(-50% + 280px), -50%) scale(0.82); }
.bs-carousel-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--brass-2);
  margin-bottom: 24px;
}
.bs-carousel-quote {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.35;
  color: var(--cream);
  margin: 0 0 36px;
  font-style: italic;
  letter-spacing: -0.005em;
}
.bs-carousel-quote::before { content: '\201C'; color: var(--brass-2); font-size: 1.2em; margin-right: 4px; }
.bs-carousel-quote::after { content: '\201D'; color: var(--brass-2); font-size: 1.2em; margin-left: 4px; }
.bs-carousel-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding-top: 22px;
  border-top: 1px solid var(--rule);
}
.bs-carousel-stat-v {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  color: var(--brass-2);
  line-height: 1;
  letter-spacing: -0.01em;
}
.bs-carousel-stat-l {
  margin-top: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cream-faint);
}
.bs-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: rgba(10, 20, 16, 0.85);
  border: 1px solid var(--brass-3);
  color: var(--brass-2);
  font-family: 'Cormorant Garamond', serif;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background 0.25s, transform 0.25s, color 0.25s;
}
.bs-carousel-arrow:hover { background: rgba(184, 153, 104, 0.12); color: var(--cream); transform: translateY(-50%) scale(1.08); }
.bs-carousel-prev { left: 16px; }
.bs-carousel-next { right: 16px; }
.bs-carousel-dots {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 36px;
}
.bs-carousel-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  border: 1px solid var(--brass-3);
  background: transparent;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s;
}
.bs-carousel-dot.is-active { background: var(--brass-2); transform: scale(1.3); }
.bs-carousel-dot:hover { background: rgba(184, 153, 104, 0.4); }

@media (max-width: 920px) {
  .bs-carousel-track { height: 520px; }
  .bs-carousel-slide.is-prev, .bs-carousel-slide.is-next { display: none; }
  .bs-carousel-arrow { width: 44px; height: 44px; font-size: 24px; }
  .bs-carousel-prev { left: 8px; }
  .bs-carousel-next { right: 8px; }
}
@media (max-width: 560px) {
  .bs-carousel-slide { padding: 32px 24px; }
  .bs-carousel-quote { font-size: 19px; }
  .bs-carousel-stat-v { font-size: 22px; }
  .bs-carousel-stats { grid-template-columns: repeat(3, 1fr); gap: 8px; }
}
