/* First paint must already be dark: the page background (var(--night)) is
   defined only in the external 334KB stylesheet. Without this, iOS Safari
   paints one white frame before that sheet applies -> whole-screen flash. */
html { background:#0A130E; color-scheme:dark; }
/* ==== motion ==== */
@keyframes floaty { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes drawarc { to { stroke-dashoffset:0; } }
@keyframes flow { to { stroke-dashoffset:-13; } }
@keyframes syncflash { 0% { box-shadow:0 10px 26px rgba(3,10,6,.15); }
  45% { box-shadow:0 0 0 7px rgba(96,214,144,.30), 0 10px 26px rgba(3,10,6,.15); }
  100% { box-shadow:0 10px 26px rgba(3,10,6,.15); } }
@keyframes glowpulse { 0%,100% { box-shadow:0 0 0 0 rgba(20,100,48,0); } 50% { box-shadow:0 0 0 8px rgba(20,100,48,.18); } }
.progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:50; background:rgba(255,255,255,.06); }
.progress i { display:block; height:100%; width:0; background:linear-gradient(90deg,#1F6B3A,#6FCF8E); }
.scrollcue { margin:44px auto 0; width:26px; height:40px; border:1.5px solid rgba(242,239,231,.35); border-radius:14px; position:relative; }
.scrollcue::after { content:""; position:absolute; left:50%; top:8px; width:4px; height:8px; margin-left:-2px; border-radius:3px;
  background:rgba(242,239,231,.6); animation:cue 1.8s ease-in-out infinite; }
@keyframes cue { 0% { transform:translateY(0); opacity:1; } 70% { transform:translateY(12px); opacity:0; } 100% { opacity:0; } }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s ease, transform .75s ease; transition-delay:calc(var(--i,0)*130ms); }
.reveal.in { opacity:1; transform:none; }

/* ==== backdrop layers (per dark section) ==== */
.layers { position:absolute; inset:0; z-index:0; }
.photo { position:absolute; inset:-40px; background:url(/img/inline/291eb63d9ae5.jpg) center/cover;
  filter:blur(34px) brightness(.55) saturate(.75); opacity:.5; }
.mesh { position:absolute; inset:-80px;
  background:
    radial-gradient(1100px 800px at 8% 4%,   #2e6b52 0%, transparent 55%),
    radial-gradient(1000px 700px at 85% 10%, #71875f 0%, transparent 55%),
    radial-gradient(800px 800px at 105% 60%, #3c5a41 0%, transparent 55%),
    radial-gradient(700px 600px at 15% 100%, #24513c 0%, transparent 60%),
    linear-gradient(160deg, rgba(14,40,32,.92) 0%, rgba(26,64,48,.82) 40%, rgba(36,81,60,.78) 70%, rgba(51,85,63,.8) 100%);
  filter:blur(46px) saturate(1.05); }
.streaks { position:absolute; inset:0; mix-blend-mode:soft-light; opacity:.5;
  background:
    linear-gradient(115deg, transparent 20%, rgba(255,252,240,.32) 32%, transparent 44%),
    linear-gradient(115deg, transparent 60%, rgba(255,252,240,.16) 70%, transparent 80%),
    linear-gradient(100deg, transparent 74%, rgba(240,190,110,.14) 84%, transparent 94%); }
.grain { position:absolute; inset:0; opacity:.16; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E"); }
.vig { position:absolute; inset:0; background:radial-gradient(120% 90% at 50% 30%, transparent 55%, rgba(4,12,8,.5) 100%); }

/* ==== act 1 · hero ==== */
.hero-sec { padding-bottom:110px; }
.hero { text-align:center; padding:84px 0 0; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:12.5px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:#9fc7ab;
  border:1px solid rgba(159,199,171,.3); border-radius:100px; padding:8px 18px; background:rgba(159,199,171,.07); }
.hero h1 { margin:34px 0 26px; }
.rotator { display:inline-block; position:relative; padding:0 22px 6px; border-radius:20px;
  background:rgba(159,199,171,.10); border:1px solid rgba(159,199,171,.22);
  transition:background .6s ease, border-color .6s ease, padding .6s ease; }
.rotator.done { background:transparent; border-color:transparent; padding:0 0 6px; }
.rotator .word { display:inline-flex; align-items:center; justify-content:center; gap:18px; text-align:center;
  font-family:'Fraunces',serif; font-style:italic; font-weight:340; color:var(--cream);
  height:1.18em; overflow:hidden; transition:width .13s ease; }
.rotator .word img { width:.58em; height:.58em; object-fit:contain; border-radius:12px; }
.rotator .reel { display:flex; flex-direction:column; align-items:center; will-change:transform; align-self:flex-start; width:100%; }
.rotator .row { height:1.18em; display:flex; align-items:center; justify-content:center; gap:18px; width:max-content; }
.hero .sub { font-size:20px; line-height:1.55; color:var(--cream-dim); max-width:640px; margin:0 auto 36px; }
.hero .ctas { display:flex; gap:26px; justify-content:center; align-items:center; }
.trustline { margin-top:22px; font-size:12.5px; font-weight:500; letter-spacing:.08em; color:var(--cream-faint); text-transform:uppercase; }
.trustchips { margin-top:22px; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.trustchip { display:inline-flex; align-items:center; gap:6px; padding:6px 13px; border:1px solid rgba(255,255,255,.16); border-radius:999px;
  font-family:'Space Grotesk',sans-serif; font-size:11.5px; font-weight:500; letter-spacing:.06em; color:var(--cream-faint); text-transform:uppercase; text-decoration:none; }
a.trustchip { transition:border-color .2s, color .2s; }
a.trustchip:hover { border-color:rgba(255,255,255,.34); color:var(--cream); }
.trustchip img { width:13px; height:14px; }
.hero-stage { position:relative; }
.arcs { position:absolute; left:50%; top:-40px; transform:translateX(-50%); width:1400px; height:760px; pointer-events:none; }
.arcs circle { fill:none; stroke:rgba(242,239,231,.10); stroke-width:1.2; stroke-dasharray:1; stroke-dashoffset:1; }
.arcs.in circle { animation:drawarc 2.4s ease-out forwards; }
.arcs.in circle:nth-child(2) { animation-delay:.35s; }
.arcs.in circle:nth-child(3) { animation-delay:.7s; }
.hbubble { position:absolute; border-radius:50%; background:rgba(70,80,72,.35); backdrop-filter:blur(10px);
  border:1.5px solid rgba(255,255,255,.22);
  box-shadow:0 0 0 8px rgba(160,170,160,.10), 0 16px 36px rgba(3,10,6,.35);
  display:flex; align-items:center; justify-content:center; z-index:3; animation:floaty 7.5s ease-in-out infinite; }
.hbubble:nth-of-type(2) { animation-duration:9s; animation-delay:1.1s; }
.hbubble:nth-of-type(3) { animation-duration:8s; animation-delay:2s; }
.hbubble:nth-of-type(4) { animation-duration:10s; animation-delay:.6s; }
.hbubble:nth-of-type(5) { animation-duration:8.5s; animation-delay:1.6s; }
.hbubble:nth-of-type(6) { animation-duration:9.5s; animation-delay:.3s; }
.hbubble:nth-of-type(7) { animation-duration:7s; animation-delay:2.4s; }
.hbubble:nth-of-type(8) { animation-duration:10.5s; animation-delay:1.9s; }
.hbubble:nth-of-type(9) { animation-duration:8s; animation-delay:.9s; }
.hbubble:nth-of-type(10) { animation-duration:9s; animation-delay:2.8s; }
.hbubble:nth-of-type(11) { animation-duration:11s; animation-delay:1.4s; }
.hbubble img { width:50%; height:50%; object-fit:contain; }
.hero-window { margin:64px auto 0; max-width:1060px; border-radius:18px; overflow:hidden; position:relative; z-index:2;
  box-shadow:0 60px 140px rgba(3,10,6,.55), 0 8px 30px rgba(3,10,6,.35);
  border:1px solid rgba(255,255,255,.14); will-change:transform; }
.win-head { display:flex; align-items:center; gap:9px; padding:13px 18px; background:#F7F9FB; border-bottom:1px solid #E8ECEF; }
.dot { width:11px; height:11px; border-radius:50%; }
.win-title { margin-left:8px; font-size:12.5px; font-weight:500; color:#4a545c; }
.hero-window img { display:block; width:100%; height:auto; } /* height:auto keeps aspect ratio; iOS Safari squished it when a height attr was set */

/* ambient lines: faint rails with slow light pulses, atmosphere not attention */
.herolines { position:absolute; inset:0; pointer-events:none; }
.herolines svg { width:100%; height:100%; display:block; }
.herolines line { fill:none; stroke-linecap:round; }
.herolines .rail { stroke:rgba(242,239,231,.05); stroke-width:1.2; }
.herolines .pulse { stroke:rgba(190,225,200,.34); stroke-width:1.5; stroke-dasharray:70 930;
  filter:drop-shadow(0 0 6px rgba(159,199,171,.65));
  animation:linedrift linear infinite; }
.herolines .pulse.dim { stroke:rgba(242,239,231,.22); filter:drop-shadow(0 0 4px rgba(242,239,231,.4)); }
@keyframes linedrift { from { stroke-dashoffset:1000; } to { stroke-dashoffset:0; } }

/* ==== act 2 · the pain (near-black, amber) ==== */
.pain .split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; text-align:left; }
.pain .ptext { margin-top:24px; font-size:17.5px; line-height:1.65; color:#CFC9BC; max-width:480px; }
.pain .ptext b.amber { color:#EFC896; font-weight:600; }
.pain .ptext b.green { color:#9FE0B4; font-weight:600; }
.permcard { background:#26251F; border:1px solid rgba(255,255,255,.10); border-radius:14px; padding:18px 20px 16px;
  box-shadow:0 30px 70px rgba(0,0,0,.45); max-width:470px; }
.pc-head { display:flex; align-items:center; gap:10px; font-size:15px; color:#EDEAE0; }
.pc-head img { width:24px; height:24px; border-radius:6px; background:#fff; padding:2px; }
.pc-body { margin-top:10px; font-size:13px; line-height:1.55; color:#A8A499; }
.pc-body b { color:#D8D4C8; }
.pc-btns { display:flex; gap:9px; margin-top:15px; }
.pc-btn { position:relative; flex:0 0 auto; padding:9px 16px; border-radius:9px; font-size:13px; font-weight:600;
  background:#3A3931; color:#E8E5DA; border:1px solid rgba(255,255,255,.08); }
.pc-btn.primary { background:#E8E5DA; color:#1c1b16; }
.pc-btn.ghost { background:transparent; color:#8f8b80; border-color:transparent; }
.pc-cursor { position:absolute; right:-10px; bottom:-13px; width:20px; filter:drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.cta-allow { display:inline-block; vertical-align:8px; margin:0 6px; padding:12px 34px !important;
  font-size:27px !important; font-weight:600; font-family:'Inter'; letter-spacing:-.01em;
  border-radius:16px !important; cursor:pointer; box-shadow:0 18px 44px rgba(3,10,6,.4);
  transition:transform .13s ease, filter .13s ease; }
.cta-allow .pc-cursor { width:28px; right:-14px; bottom:-17px; transition:transform .13s ease; }
.cta-allow.press { transform:scale(.94); filter:brightness(.9); }
.cta-allow.press .pc-cursor { transform:scale(.82) translate(2px,3px); }
.cta-allow .ring { position:absolute; inset:-5px; border-radius:inherit; border:2px solid rgba(242,239,231,.85);
  opacity:0; pointer-events:none; }
.cta-allow.rippling .ring { animation:clickring .75s ease-out; }
@keyframes clickring { 0% { opacity:.9; transform:scale(.97); } 100% { opacity:0; transform:scale(1.28); } }
.pain { background:
    radial-gradient(800px 400px at 50% 30%, rgba(200,140,60,.14), transparent 70%),
    radial-gradient(900px 500px at 85% 90%, rgba(120,80,40,.10), transparent 70%),
    linear-gradient(180deg, #12271d 0%, var(--night) 18%, var(--night) 100%);
  padding:140px 0 130px; }
.pain .kicker { font-size:13px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:#D9A868; }
.pain .q1 { font-family:'Fraunces',serif; font-weight:340; font-size:52px; line-height:1.18; margin-top:22px; }
.allow-chip { display:inline-block; position:relative; vertical-align:4px; margin:0 4px; padding:7px 22px; border-radius:11px;
  background:#E8E5DA; color:#1c1b16; font-family:'Inter'; font-weight:600; font-size:27px; letter-spacing:-.01em;
  box-shadow:0 10px 26px rgba(0,0,0,.35); }
.dotfield { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-start; max-width:470px; margin:30px 0 0; }
.dotfield i { width:10px; height:10px; border-radius:50%; background:rgba(217,168,104,.28); opacity:0; transform:scale(.3);
  transition:opacity .3s ease, transform .3s ease; }
.dotfield.in i { opacity:1; transform:scale(1); }
.dotfield i.used { transition:opacity .3s ease, transform .3s ease, background .5s ease, box-shadow .5s ease; }
.dotfield.lit i.used { background:#6FCF8E; box-shadow:0 0 12px rgba(111,207,142,.55); animation:usedpulse 2.6s ease-in-out 1; }
@keyframes usedpulse { 0%,100% { transform:scale(1); } 18% { transform:scale(1.55); } 36% { transform:scale(1); } }
.dotcaption { margin-top:14px; font-size:12.5px; color:#8f8b80; max-width:470px; }
.pain .qgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1040px; margin:70px auto 0; text-align:left; }
.pain .qcard { border:1px solid rgba(217,168,104,.22); background:rgba(217,168,104,.05); border-radius:16px; padding:24px 26px; }
.pain .qcard .q { font-family:'Fraunces',serif; font-style:italic; font-weight:340; font-size:21px; line-height:1.3; }
.pain .qcard .tag { margin-top:12px; font-size:12.5px; color:#B99B72; }

/* ==== act 3 · the dawn (dark to light) ==== */
.dawn { background:linear-gradient(180deg, var(--night) 0%, #143627 26%, #7B9678 58%, #DCE3D2 80%, var(--paper) 100%);
  padding:140px 0 120px; }
.dawn .head { text-align:center; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:64px; }
.step { padding:30px 28px; border-radius:20px; }
.step .num { font-family:'Fraunces',serif; font-size:15px; opacity:.6; }
.step .mode { display:inline-block; margin:14px 0 12px; font-size:12px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; padding:6px 12px; border-radius:8px; }
.step h3 { font-family:'Fraunces',serif; font-weight:340; font-size:26px; margin-bottom:10px; }
.step p { font-size:15px; line-height:1.55; }
.step.s1 { background:rgba(10,19,14,.5); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(12px); color:var(--cream); }
.step.s1 p { color:var(--cream-dim); }
.step.s1 .mode { background:rgba(255,255,255,.12); color:var(--cream); }
.step.s2 { background:rgba(255,255,255,.55); backdrop-filter:blur(12px); color:#141a15; border:1px solid rgba(255,255,255,.6); }
.step.s2 p { color:#4c564c; }
.step.s2 .mode { background:rgba(180,105,14,.14); color:#8a5410; }
.step.s3 { background:#fff; color:#141a15; box-shadow:0 30px 70px rgba(20,26,21,.18); }
.step.s3 p { color:#4c564c; }
.step.s3 .mode { background:#EBF4EE; color:#1F6B3A; }

/* ==== light acts ==== */
.on-light { color:#141a15; }
.on-light .sec-eyebrow { color:#1F6B3A; }
.on-light h2 { color:#141a15; }
.on-light .sec-sub { color:#565e56; }
.daylight { background:var(--paper); padding:110px 0 20px; }
.features { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; }
.feature { overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 24px 60px rgba(20,26,21,.10); }
.feature .pad { padding:30px 30px 22px; }
.feature h3 { font-family:'Fraunces',serif; font-weight:340; font-size:27px; margin-bottom:10px; color:#141a15; }
.feature p { font-size:15px; line-height:1.55; color:#565e56; max-width:440px; }
.expected { margin-top:24px; background:#fff; border-radius:20px; padding:32px 36px; box-shadow:0 24px 60px rgba(20,26,21,.10); }
.exp-head h3 { font-family:'Fraunces',serif; font-weight:340; font-size:23px; color:#141a15; margin-top:6px; }
.exp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:22px 28px; margin-top:26px; }
.exp-item b { display:block; font-size:14px; font-weight:700; color:#141a15; margin-bottom:6px; }
.exp-item span { display:block; font-size:13px; line-height:1.5; color:#565e56; }
.qline { font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#1F6B3A; margin-bottom:10px; }
.stage { position:relative; margin:20px 24px 26px; height:170px; border-radius:14px; overflow:hidden; }
.stage .smesh { position:absolute; inset:-30px; filter:blur(26px) saturate(1.05);
  background:
    radial-gradient(300px 200px at 20% 20%, #2e6b52 0%, transparent 60%),
    radial-gradient(280px 220px at 85% 30%, #6d7a55 0%, transparent 60%),
    radial-gradient(260px 200px at 55% 110%, #17352b 0%, transparent 60%),
    linear-gradient(115deg, #14372a, #275444); }
.stage.amber .smesh { background:
    radial-gradient(300px 200px at 20% 20%, #8a6a34 0%, transparent 60%),
    radial-gradient(280px 220px at 85% 30%, #b08246 0%, transparent 60%),
    radial-gradient(260px 200px at 55% 110%, #3a2c14 0%, transparent 60%),
    linear-gradient(115deg, #4a3a1c, #7a5c30); }
.stage.blue .smesh { background:
    radial-gradient(300px 200px at 20% 20%, #2e5a6b 0%, transparent 60%),
    radial-gradient(280px 220px at 85% 30%, #46708a 0%, transparent 60%),
    radial-gradient(260px 200px at 55% 110%, #142833 0%, transparent 60%),
    linear-gradient(115deg, #1c3a4a, #2c5666); }
.stage.violet .smesh { background:
    radial-gradient(300px 200px at 20% 20%, #4a3e6b 0%, transparent 60%),
    radial-gradient(280px 220px at 85% 30%, #6a5490 0%, transparent 60%),
    radial-gradient(260px 200px at 55% 110%, #1e1830 0%, transparent 60%),
    linear-gradient(115deg, #2e2648, #4c3e6e); }
.stage .sgrain { position:absolute; inset:0; opacity:.14; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E"); }
.sbubble { position:absolute; border-radius:50%; background:rgba(60,70,62,.4); backdrop-filter:blur(9px);
  border:1.5px solid rgba(255,255,255,.22);
  box-shadow:0 0 0 7px rgba(170,180,170,.12), 0 14px 30px rgba(3,10,6,.35);
  display:flex; align-items:center; justify-content:center; animation:floaty 8s ease-in-out infinite; }
.sbubble img { width:52%; height:52%; object-fit:contain; }
.sbubble.off { opacity:.5; }
.sbubble.off::after { content:""; position:absolute; inset:0; border-radius:50%; background:rgba(10,16,12,.35); }
.slock { position:absolute; right:-2px; bottom:-2px; width:20px; height:20px; border-radius:50%;
  background:#F2EFE7; display:flex; align-items:center; justify-content:center; font-size:10px; z-index:2; }
.spanel { position:absolute; background:#fff; border-radius:11px; padding:11px 13px; color:#17201a;
  box-shadow:0 18px 40px rgba(3,10,6,.4); }
.spanel .mrow { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.stag { position:absolute; font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(242,239,231,.85); background:rgba(10,20,14,.4); border:1px solid rgba(255,255,255,.14);
  border-radius:100px; padding:4px 11px; backdrop-filter:blur(8px); }
.pill { font-size:11.5px; font-weight:600; border-radius:7px; padding:4px 10px; }
.pill.ok { background:#EBF4EE; color:#1F6B3A; }
.pill.rule { background:#F7F9F7; color:#3c463f; border:1px solid #E8ECE9; }
.arrow { color:#6e776b; font-size:14px; }
.trace { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.trace .tstep { font-size:11px; font-weight:600; background:#F7F9F7; border:1px solid #E8ECE9; border-radius:7px; padding:5px 9px; white-space:nowrap; }
.trace .tarr { color:#6e776b; font-size:12px; }
.signed { font-size:10.5px; font-weight:700; letter-spacing:.06em; color:#1F6B3A; background:#EBF4EE; border-radius:6px; padding:4px 8px; }

/* personas on cream */
.personas-sec { background:var(--paper); padding:96px 0 110px; }
.personas { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:46px; }
.persona { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 24px 60px rgba(20,26,21,.12); }
.persona img { display:block; width:100%; height:280px; object-fit:cover; object-position:center 20%; }
.persona .pp { padding:22px 24px 26px; }
.persona .role { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#1F6B3A; }
.persona .quote { font-family:'Fraunces',serif; font-weight:340; font-style:italic; font-size:21px; line-height:1.3; margin-top:10px; }
.persona .val { margin-top:10px; font-size:13.5px; line-height:1.5; color:#565e56; }

/* ==== ruin/run letter drop (photo band headline) ==== */
.uletter { display:inline-block; }
.iletter { display:inline-block; color:#EFC896; width:.30em; overflow:visible;
  transition:width .8s cubic-bezier(.6,0,.7,1) 1.6s, transform .9s cubic-bezier(.5,-0.4,.8,1) 1.6s, opacity .7s ease 1.9s; }
.life.played .iletter { width:0; transform:translateY(110px) rotate(38deg); opacity:0; }

/* ==== act 5 · lifestyle photo (full bleed) ==== */
.life { position:relative; min-height:560px; }
.life .ph { position:absolute; inset:0; background:url(/img/inline/291eb63d9ae5.jpg) center/cover; }
.life .lscrim { position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(8,20,14,.80) 0%, rgba(8,20,14,.45) 45%, rgba(8,20,14,.15) 70%),
             linear-gradient(0deg, rgba(8,20,14,.55) 0%, transparent 40%),
             linear-gradient(180deg, var(--paper) 0%, transparent 14%); }
.life .lcopy { position:relative; z-index:2; padding:150px 0 64px; max-width:560px; }
.life h2 { color:var(--cream); font-size:44px; }
.life .lsub { margin-top:16px; font-size:17.5px; line-height:1.55; color:rgba(242,239,231,.88); }
.lifestack { position:absolute; z-index:2; right:8%; bottom:44px; width:460px; display:flex; flex-direction:column; gap:9px; }
.donecard { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.94); border-radius:11px;
  padding:10px 14px; color:#17201a; box-shadow:0 16px 40px rgba(3,10,6,.35); }
.donecard .dwhat { font-size:12.5px; }
.donecard .dchip { margin-left:auto; font-size:10.5px; font-weight:700; border-radius:7px; padding:3px 9px; }
.donecard .dchip.pass { background:#EBF4EE; color:#1F6B3A; }
.donecard .dchip.held { background:#FBF3E4; color:#9A5A0C; }
.lifecard { width:460px; background:#fff; border-radius:14px; margin-top:5px;
  padding:16px 18px; color:#17201a; box-shadow:0 30px 70px rgba(3,10,6,.5); }
.lifecard .what { font-size:14px; }
.lifecard .why { font-size:12.5px; color:#75808a; margin-top:3px; }
.lifecard .lrow { display:flex; align-items:center; gap:8px; margin-top:12px; }
.lifecard .exp { font-size:12px; color:#9A5A0C; font-weight:600; margin-left:auto; }
.ok { background:#146430; color:#fff; border-radius:8px; padding:8px 18px; font-size:13px; font-weight:600; }
.ok.pulse { animation:glowpulse 2.8s ease-in-out infinite; }
.no { background:#fff; border:1px solid #DDE3E0; border-radius:8px; padding:8px 18px; font-size:13px; font-weight:600; color:#17201a; }

/* ==== act 6 · hub on sage ==== */
.hub-sec { background:linear-gradient(180deg, #E9EFE6 0%, var(--paper) 100%); padding:110px 0 120px; }
.hubstage { position:relative; margin-top:38px; border-radius:18px; overflow:hidden; padding:34px 30px;
  box-shadow:0 40px 90px rgba(20,26,21,.18); }
.hubstage .smesh2 { position:absolute; inset:-40px; filter:blur(30px) saturate(1.05);
  background:
    radial-gradient(500px 300px at 12% 20%, #2e6b52 0%, transparent 60%),
    radial-gradient(480px 320px at 88% 25%, #5d7050 0%, transparent 60%),
    radial-gradient(420px 300px at 50% 115%, #17352b 0%, transparent 60%),
    linear-gradient(115deg, #14372a, #235040); }
.hubgrid { display:flex; align-items:center; gap:0; position:relative; }
.hubwires { width:70px; flex:0 0 auto; }
.hubwires path { stroke:rgba(242,239,231,.4); stroke-width:1.5; fill:none; stroke-dasharray:6 7; animation:flow 1.5s linear infinite; }
.rulebook { background:#fff; border-radius:14px; overflow:hidden; color:#17201a; width:340px; flex:0 0 auto;
  box-shadow:0 24px 60px rgba(3,10,6,.45); }
.rb-head { display:flex; align-items:center; gap:8px; padding:11px 15px; background:#F7F9FB; border-bottom:1px solid #E8ECEF; }
.rb-head img, .rb-head svg { width:18px; height:18px; border-radius:5px; }
.rb-head b { font-size:12.5px; }
.rb-head span { margin-left:auto; font-size:10.5px; font-weight:600; color:#626b5c; letter-spacing:.06em; }
.rb-row { padding:10px 15px; border-bottom:1px solid #F3F5F7; }
.rb-row:last-child { border-bottom:none; }
.rb-row .r1 { display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; }
.rb-row .r1 .act { margin-left:auto; font-size:10px; font-weight:700; color:#1F6B3A; background:#EBF4EE; border-radius:6px; padding:3px 8px; }
.rb-row .r2 { font-size:11.5px; color:#75808a; margin-top:2px; }
.dests { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dest { display:flex; align-items:center; gap:10px; background:rgba(252,253,252,.95); border-radius:11px;
  padding:10px 13px; color:#17201a; box-shadow:0 10px 26px rgba(3,10,6,.3); }
.dest.in { animation:syncflash 1.1s ease .2s; }
.dest img { width:22px; height:22px; border-radius:5px; object-fit:contain; }
.dest .dn { font-size:12.5px; font-weight:600; line-height:1.2; }
.dest .ds { font-size:10.5px; color:#626b5c; margin-top:1px; }
.hubnote { display:flex; gap:12px; margin-top:18px; flex-wrap:wrap; position:relative; }
.hnote { font-size:12px; font-weight:600; color:rgba(242,239,231,.85); background:rgba(10,20,14,.35);
  border:1px solid rgba(255,255,255,.14); border-radius:100px; padding:6px 14px; backdrop-filter:blur(8px); }
.hub-own { margin-top:20px; max-width:580px; font-size:14.5px; font-weight:600; line-height:1.6;
  color:rgba(242,239,231,.95); background:rgba(111,207,142,.08);
  border:1px solid rgba(111,207,142,.28); border-left:3px solid #6FCF8E;
  border-radius:12px; padding:16px 20px; backdrop-filter:blur(8px); }
.hub-own em { font-style:normal; font-weight:700; color:#6FCF8E; }

/* ==== act 6b · European by design (light) ==== */
.eu-sec { background:var(--paper); padding:100px 0 120px; }
.eu-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
.eu-tile { background:#fff; border-radius:18px; padding:30px 28px; box-shadow:0 24px 60px rgba(20,26,21,.10); }
.eu-tile .et-ic { width:44px; height:44px; border-radius:12px; background:#EBF4EE; display:flex;
  align-items:center; justify-content:center; font-size:20px; margin-bottom:16px; }
.eu-tile h3 { font-family:'Fraunces',serif; font-weight:340; font-size:25px; margin-bottom:10px; color:#141a15; }
.eu-tile p { font-size:14.5px; line-height:1.55; color:#565e56; }
.model-row { display:flex; align-items:center; gap:10px; margin-top:16px; flex-wrap:wrap; }
.model-chip { display:flex; align-items:center; gap:7px; background:#F7F9F7; border:1px solid #E8ECE9;
  border-radius:9px; padding:6px 11px; font-size:12px; font-weight:600; color:#3c463f; }
.model-chip img { width:16px; height:16px; object-fit:contain; }
.model-chip.more { color:#626b5c; border-style:dashed; }

/* supporters */
.supporters { position:relative; z-index:2; text-align:center; padding:26px 0 8px; border-top:1px solid rgba(255,255,255,.10); margin-top:56px; }
.supporters .sup-label { font-size:11.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--cream-faint); margin-bottom:18px; }
.sup-row { display:flex; gap:38px; justify-content:center; align-items:center; }
.sup { display:flex; align-items:center; gap:11px; opacity:.85; }
.sup { display:flex; align-items:center; gap:12px; }
.sup img { width:42px; height:42px; border-radius:10px; background:#fff; padding:5px; object-fit:contain;
  box-shadow:0 8px 20px rgba(3,10,6,.3); }
.sup .sn { text-align:left; }
.sup .sn { text-align:left; }
.sup .sn b { display:block; font-size:13.5px; color:var(--cream); font-weight:600; }
.sup .sn span { font-size:11px; color:var(--cream-faint); }
a.sup { text-decoration:none; transition:opacity .2s; }
a.sup:hover { opacity:1; }

.works-with { margin-top:34px; text-align:center; }
.ww-label { font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#7b857c; }
.ww-row { display:flex; gap:10px; justify-content:center; margin-top:16px; flex-wrap:wrap; }
.model-chip { display:flex; align-items:center; gap:7px; background:#fff; border:1px solid #E4E9E3;
  border-radius:9px; padding:7px 13px; font-size:12.5px; font-weight:600; color:#3c463f;
  box-shadow:0 8px 20px rgba(20,26,21,.06); }
.model-chip img { width:16px; height:16px; object-fit:contain; }
.model-chip.more { color:#626b5c; border-style:dashed; box-shadow:none; }

/* whitepaper + signup band */
.convert { display:grid; grid-template-columns:1fr 1.1fr; gap:24px; position:relative; z-index:2; margin-top:8px; }
.wp { background:var(--glass-bg); border:1px solid var(--glass-line); border-radius:20px; padding:36px 36px 32px;
  backdrop-filter:blur(16px); display:flex; flex-direction:column; align-items:flex-start; }
.wp .wp-kicker { font-size:11.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#D9A868; }
.wp h3 { font-family:'Fraunces',serif; font-weight:340; font-size:31px; line-height:1.15; margin:14px 0 12px; color:var(--cream); }
.wp p { font-size:14.5px; line-height:1.55; color:var(--cream-dim); }
.wp .btn { margin-top:auto; padding-top:0; }
.wp .btn-wp { margin-top:26px; background:var(--cream); color:var(--ink); padding:13px 26px; font-size:15px; border-radius:12px; }
.signup { background:#fff; border-radius:20px; padding:32px 34px 28px; color:#141a15; box-shadow:0 40px 90px rgba(3,10,6,.45); text-align:left; }
.signup h3 { font-family:'Fraunces',serif; font-weight:340; font-size:27px; margin-bottom:6px; }
.signup .su-sub { font-size:13.5px; color:#565e56; margin-bottom:20px; }
.signup .frow { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.signup input, .signup textarea { width:100%; border:1px solid #DFE5DF; border-radius:10px; padding:12px 14px;
  font-family:'Inter'; font-size:14px; color:#141a15; background:#FAFBFA; }
.signup input::placeholder, .signup textarea::placeholder { color:#6e776b; }
.signup textarea { resize:none; height:64px; margin-bottom:14px; }
.signup .su-btn { width:100%; text-align:center; background:var(--green-deep); color:#fff; border-radius:12px;
  padding:14px 0; font-size:15.5px; font-weight:600; }
.signup .su-note { margin-top:12px; font-size:12px; color:#626b5c; text-align:center; }

/* ==== act 7 · dark close ==== */
.close-sec { padding:0 0 34px; }
.close-sec .layers .mesh { background:
    radial-gradient(1100px 800px at 12% 10%, #2e6b52 0%, transparent 55%),
    radial-gradient(1000px 700px at 88% 30%, #5d7050 0%, transparent 55%),
    linear-gradient(180deg, var(--paper) 0%, #1a4030 26%, #0e2820 60%, var(--night) 100%);
  filter:blur(40px) saturate(1.05); inset:-60px; }
.footer-cta { text-align:center; padding:190px 0 70px; position:relative; z-index:2; }
.footer-cta h2 { font-size:56px; color:var(--cream); }
.footer-cta .sub { margin:20px auto 36px; max-width:520px; font-size:18px; line-height:1.55; color:var(--cream-dim); }
.chips { display:flex; gap:14px; justify-content:center; margin-top:44px; }
.chip { font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--cream-dim);
  border:1px solid rgba(255,255,255,.14); border-radius:100px; padding:8px 16px; }
footer { position:relative; z-index:2; padding:40px 0 0; display:flex; align-items:center; font-size:13px; color:var(--cream-faint); }
footer .links { margin-left:auto; display:flex; gap:22px; }

/* ==== interaction polish ==== */
.btn, .pc-btn, .su-btn, .btn-wp, nav .links span, footer .links span { cursor:pointer; }
.btn, .su-btn, .btn-wp { transition:transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease; }
.btn-solid:hover, .btn-wp:hover { transform:translateY(-1px); box-shadow:0 10px 26px rgba(3,10,6,.35); }
.btn-ghost:hover { opacity:.75; }
.su-btn:hover { background:#0F5226; transform:translateY(-1px); box-shadow:0 12px 28px rgba(20,100,48,.3); }
nav .links span { transition:opacity .18s ease; }
nav .links span:hover, footer .links span:hover { opacity:.7; }
.feature, .step, .dest, .persona { transition:transform .3s ease, box-shadow .3s ease; }
.feature:hover { transform:translateY(-3px); box-shadow:0 34px 74px rgba(20,26,21,.14); }
.signup input:focus, .signup textarea:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(31,107,58,.14); }
:focus-visible { outline:2px solid #6FCF8E; outline-offset:2px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; }
}

/* ==================== mobile ==================== */
@media (max-width: 900px) {
  .inner { padding:0 22px; }
  nav { gap:14px; padding:16px 0; }
  nav .links { display:none; }
  nav .btn-ghost { display:none; }

  h1 { font-size:44px; line-height:1.08; }
  h2 { font-size:30px; }
  .sec-sub { font-size:15.5px; }

  /* hero */
  .hero { padding-top:40px; }
  .hero .sub { font-size:15.5px; max-width:100%; margin-bottom:26px; }
  .hero .ctas { flex-direction:column; gap:14px; }
  .btn-big { padding:14px 26px; font-size:15.5px; }
  .trustline { font-size:10.5px; letter-spacing:.06em; }
  .rotator { padding:0 12px 3px; border-radius:12px; }
  .rotator .word { gap:9px; }
  .rotator .row { gap:9px; }
  .rotator .word img { border-radius:6px; }
  .hero-window { margin-top:36px; border-radius:12px; }
  .hbubble { display:none; }
  .hbubble:nth-of-type(1), .hbubble:nth-of-type(2), .hbubble:nth-of-type(3) { display:flex; transform:scale(.72); }
  .arcs { display:none; }

  /* pain */
  .pain { padding:80px 0 70px; }
  .pain .split { grid-template-columns:1fr; gap:40px; }
  .pain .q1 { font-size:32px; }
  .allow-chip { font-size:17px; padding:5px 14px; border-radius:8px; vertical-align:2px; margin:0 2px; }
  .pain .ptext { font-size:15px; }
  .permcard { max-width:100%; }
  .pc-btns { flex-wrap:wrap; }
  .dotfield { max-width:100%; }

  /* dawn */
  .dawn { padding:90px 0 80px; }
  .steps { grid-template-columns:1fr; gap:16px; margin-top:40px; }

  /* daylight */
  .daylight { padding:80px 0 10px; }
  .features { grid-template-columns:1fr; gap:18px; margin-top:34px; }
  .feature .pad { padding:24px 22px 16px; }
  .stage { margin:14px 16px 20px; }
  .stage.violet svg { display:none; }
  .stage.violet .spanel:last-child { top:auto !important; bottom:12px !important; right:12px !important; left:auto !important; }
  .stage.amber { height:206px; }
  .stage.amber .stag { top:auto !important; bottom:12px !important; }
  .stage.amber .spanel:nth-child(3) { right:16px !important; }
  .stage.amber .spanel:nth-child(4) { left:16px !important; right:auto !important; bottom:44px !important; }
  .wp h3 br { display:none; }

  /* personas */
  .personas-sec { padding:70px 0 80px; }
  .personas { grid-template-columns:1fr; gap:18px; margin-top:34px; }
  .persona img { height:210px; }

  /* life band */
  .life { min-height:0; }
  .life .lcopy { padding:70px 0 26px; max-width:100%; }
  .life h2 { font-size:32px; }
  .life .lsub { font-size:15px; }
  .lifestack { position:relative; right:auto; bottom:auto; width:100%; margin:0 0 46px; }
  .lifecard { width:100%; }

  /* hub */
  .hub-sec { padding:70px 0 80px; }
  .hubgrid { flex-direction:column; gap:16px; align-items:stretch; }
  .hubwires { display:none; }
  .rulebook { width:100%; }
  .dests { grid-template-columns:1fr; width:100%; }
  .hubstage { padding:22px 18px; }
  .hubnote { gap:8px; }
  .hnote { font-size:11px; padding:5px 11px; }
  .ww-row { gap:8px; }
  .model-chip { font-size:11.5px; padding:6px 10px; }

  /* close */
  .footer-cta { padding:110px 0 26px; }
  .footer-cta h2 { font-size:34px; }
  .footer-cta .sub { font-size:15.5px; }
  .cta-allow { font-size:19px !important; padding:10px 24px !important; vertical-align:4px; border-radius:12px !important; }
  .cta-allow .pc-cursor { width:22px; }
  .convert { grid-template-columns:1fr; gap:18px; }
  .wp { padding:28px 26px 26px; }
  .signup { padding:26px 24px 22px; }
  .signup .frow { grid-template-columns:1fr; }
  .chips { flex-wrap:wrap; gap:8px; }
  .sup-row { flex-direction:column; gap:18px; align-items:center; }
  footer { flex-direction:column; gap:14px; padding-top:26px; text-align:center; }
  footer .links { margin-left:0; }
}
@media (max-width: 420px) {
  h1 { font-size:38px; }
  .pain .q1 { font-size:28px; }
}

/* ==== re-grafted #betaForm (lives in the .signup card) ==== */
.beta-form { display:flex; flex-direction:column; gap:12px; }
.beta-form .frow { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.beta-form input, .beta-form textarea { width:100%; border:1px solid #DFE5DF; border-radius:10px;
  padding:12px 14px; font-family:'Inter'; font-size:14px; color:#141a15; background:#FAFBFA; }
.beta-form input::placeholder, .beta-form textarea::placeholder { color:#6e776b; }
.beta-form textarea { resize:none; height:64px; }
.beta-form input:focus, .beta-form textarea:focus { outline:none; border-color:var(--green);
  box-shadow:0 0 0 3px rgba(31,107,58,.14); }
.beta-form input:invalid:not(:placeholder-shown) { border-color:#B8382B; }
button.su-btn { border:0; width:100%; font-family:'Inter'; cursor:pointer; margin-top:2px; }
button.su-btn[disabled] { opacity:.6; cursor:wait; }
.bf-turnstile { margin:2px 0; min-height:65px; }
.bf-status { display:none; padding:11px 14px; border-radius:10px; font-size:13px; line-height:1.5; margin-top:2px; }
.bf-status.show { display:block; }
.bf-status.ok { background:#EBF4EE; border:1px solid #d6e8dc; color:#1F6B3A; }
.bf-status.err { background:#F9E0DB; border:1px solid #f0cabf; color:#B8382B; }
.bf-status a { color:inherit; text-decoration:underline; font-weight:600; }
@media (max-width:900px){ .beta-form .frow { grid-template-columns:1fr; } }

/* ── */

/* ==== preview restyle: modern sans display, white surfaces ==== */
:root { --paper:#FFFFFF; }
h1, h2, h3, .step h3, .step .num, .pr-text h3, .wp h3, .signup h3, .footer-cta h2,
.persona .quote, .dawn-close, .ent h3 {
  font-family:'Geist','Inter',system-ui,sans-serif;
}
h1 { font-weight:700; font-size:72px; letter-spacing:-.042em; line-height:1.02; }
h2 { font-weight:700; font-size:44px; letter-spacing:-.034em; line-height:1.1; }
h3 { font-weight:600; letter-spacing:-.02em; }
/* clear pills: sharp, uppercase, bordered */
.pass { background:#EBF7EF; color:#15703A; border:1px solid #BFE3CC; font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; border-radius:100px; padding:4px 11px; }
.held { background:#FCF4E3; color:#9A5A0C; border:1px solid #F0DCB0; font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; border-radius:100px; padding:4px 11px; }
.pill.rule { font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; border-radius:100px; padding:4px 11px; }
.pill.ok { font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; border-radius:100px; padding:4px 11px; border:1px solid #BFE3CC; }
.ent-chips span { border:1px solid #D8E6DB; background:#F2F8F3; }
/* premium motion */
.reveal { transform:translateY(18px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--i,0)*110ms); }
.dchip2, .rcard, .mini { transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1); }
.dchip2:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(20,26,21,.09); }
.rcard:hover { transform:translateY(-3px); }
.mini:hover { transform:rotate(0deg) translateY(-3px); box-shadow:0 30px 64px rgba(20,26,21,.13); }
h1 em, h2 em { font-style:normal; }
.hero h1 em, .dawn h2 em { color:#9fc7ab; }
.on-light h2 em { color:var(--green-deep); }
.step h3 { font-size:21px; font-weight:600; }
.step .num { font-weight:500; }
.pr-text h3 { font-weight:600; font-size:27px; letter-spacing:-.025em; }
.ent h3 { font-weight:600; font-size:21px; letter-spacing:-.02em; }
.persona .quote { font-style:normal; font-weight:500; font-size:18.5px; letter-spacing:-.015em; line-height:1.4; }
.dawn-close { font-style:normal; font-weight:500; font-size:19px; color:#28332c; }
.wp h3 { font-weight:600; letter-spacing:-.025em; }
.signup h3 { font-weight:600; letter-spacing:-.02em; }
.footer-cta h2 { font-weight:600; font-size:46px; letter-spacing:-.032em; }
.hub-sec { background:#fff; }
.eu-sec, .personas-sec, .route2-sec { background:#fff; }
.persona { border:1px solid #EDF0EB; }
.hubstage { border:1px solid #E7ECE6; }
@media (max-width:900px){ h1 { font-size:42px; } h2 { font-size:31px; } .footer-cta h2 { font-size:33px; } }

/* ── */

/* ==== dropdown mega-nav (preview) ==== */
nav { position:relative; z-index:60; }
.nav-dd { margin-left:auto; display:flex; gap:2px; align-items:center; }
.dd { position:relative; }
.dd > button { display:inline-flex; align-items:center; gap:6px; background:none; border:0; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:14.5px; color:var(--cream-dim); padding:9px 13px; border-radius:10px;
  transition:color .15s, background .15s; }
.dd > button:hover, .dd:hover > button, .dd.show > button { color:var(--cream); background:rgba(255,255,255,.06); }
.dd > button svg { width:10px; height:10px; opacity:.55; transition:transform .2s; }
.dd:hover > button svg, .dd.show > button svg { transform:rotate(180deg); }
.dd-panel { position:absolute; top:calc(100% + 12px); left:0; min-width:198px;
  background:rgba(11,20,15,.98); border:1px solid rgba(255,255,255,.12); border-radius:14px;
  box-shadow:0 34px 80px rgba(3,10,6,.62); padding:8px; opacity:0; visibility:hidden; transform:translateY(7px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s; backdrop-filter:blur(18px) saturate(1.1); }
.dd:hover .dd-panel, .dd.show .dd-panel, .dd:focus-within .dd-panel { opacity:1; visibility:visible; transform:none; }
.dd-panel a { display:block; padding:10px 13px; border-radius:10px; color:var(--cream); font-size:14px; font-weight:500; white-space:nowrap; }
.dd-panel a:hover { background:rgba(255,255,255,.07); }
@media (max-width:980px){ .nav-dd { display:none; } }

/* ── */

.hero-kick { font-family:'Space Grotesk',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#9fc7ab; margin-bottom:18px; }
  .hero2 { text-align:left; display:grid; grid-template-columns:1.04fr .96fr; gap:56px; align-items:center; padding:52px 0 96px; }
  .hero2 .hero-copy { max-width:none; }
  .hero2 h1 { margin:0 0 22px; }
  .hero2 .sub { margin:0 0 32px; max-width:520px; text-align:left; }
  .hero2 .ctas { justify-content:flex-start; gap:20px; }
  .hero2 .trustchips { justify-content:flex-start; margin-top:28px; }
  /* curated hero card */
  .hero-vis { position:relative; }
  .hero-vis::before { content:''; position:absolute; inset:-14% -10%; z-index:0;
    background:radial-gradient(60% 55% at 60% 40%, rgba(111,207,142,.22), transparent 70%); filter:blur(20px); }
  .hv-card { position:relative; z-index:1; background:#fff; border-radius:18px; overflow:hidden;
    box-shadow:0 50px 120px rgba(3,10,6,.55), 0 6px 20px rgba(3,10,6,.30); }
  .hv-head { display:flex; align-items:center; gap:8px; padding:14px 17px; border-bottom:1px solid #EEF1EC; font-size:12.5px; color:#5a655c; font-weight:500; }
  .hv-dot { width:7px; height:7px; border-radius:50%; background:#57BE7D; box-shadow:0 0 0 3px rgba(87,190,125,.18); animation:pulse2 2.4s infinite; }
  .hv-count { margin-left:auto; font-family:'Space Grotesk',sans-serif; font-size:11px; letter-spacing:.05em; color:#8a948c; text-transform:uppercase; }
  .hv-feed { padding:4px 17px; }
  .hv-row { display:flex; align-items:center; gap:8px; padding:11px 0; border-bottom:1px solid #F3F5F2; font-size:13px; color:#43514a; }
  .hv-row:last-child { border-bottom:none; }
  .hv-agent { color:#146430; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:12.5px; }
  .hv-row .pass, .hv-row .stopped, .hv-row .held { margin-left:auto; }
  .stopped { background:#FBEDEA; color:#B8382B; border:1px solid #F0D2CC; font-size:10px; letter-spacing:.07em; text-transform:uppercase; border-radius:100px; padding:4px 10px; font-weight:700; }
  .hv-appr { margin:8px 13px 15px; background:#FFFBF2; border:1px solid #F3E3C2; border-radius:14px; padding:14px 15px; }
  .hv-appr-top { display:flex; align-items:center; gap:8px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#9A5A0C; }
  .hv-appr-body { margin:10px 0 13px; font-size:13.5px; color:#1d2530; line-height:1.45; }
  .hv-appr-body b { color:#141a15; }
  .hv-why { color:#9a824f; font-size:12px; }
  .hv-appr-btns { display:flex; align-items:center; gap:8px; }
  .hv-ok { background:#146430; color:#fff; border-radius:9px; padding:8px 20px; font-size:12.5px; font-weight:600; box-shadow:0 6px 16px rgba(20,100,48,.25); }
  .hv-no { background:#fff; border:1px solid #E4E4DA; border-radius:9px; padding:8px 18px; font-size:12.5px; font-weight:600; color:#17201a; }
  .hv-exp { margin-left:auto; font-size:11px; color:#b6a674; }
  @media(max-width:980px){ .hero2 { grid-template-columns:1fr; gap:40px; padding:32px 0 64px; } .hero2 .sub { max-width:100%; } }

/* ── */

.pov-sec{ background:var(--bg,#FCFCFB); padding:112px 0; }
    .pov-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
    .pov-head h2{ margin-top:2px; }
    .pov-nav{ display:flex; gap:8px; flex:0 0 auto; }
    .pov-arrow{ width:44px; height:44px; border-radius:100px; border:1px solid var(--line,rgba(20,26,20,.12)); background:#fff; color:#1a1e1a; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s, border-color .15s; }
    .pov-arrow:hover{ background:#F4F6F3; border-color:rgba(20,26,20,.28); }
    .pov-track{ display:flex; gap:20px; margin-top:44px; overflow-x:auto; scroll-behavior:smooth; padding-bottom:10px; scrollbar-width:none; }
    .pov-track::-webkit-scrollbar{ display:none; }
    .pov-card{ flex:0 0 320px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.10)); border-radius:16px; padding:24px 24px 22px; display:flex; flex-direction:column; box-shadow:0 1px 2px rgba(20,26,20,.03), 0 14px 32px rgba(20,26,20,.05); }
    .pov-ic{ width:40px; height:40px; border-radius:11px; background:#EDF4EF; display:flex; align-items:center; justify-content:center; margin-bottom:16px; flex:0 0 auto; }
    .pov-ic svg{ width:20px; height:20px; stroke:#146430; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .pov-card h3{ font-size:21px; letter-spacing:-.01em; margin-bottom:8px; }
    .pov-card p{ font-size:14px; line-height:1.5; color:var(--muted,#5b635b); }
    .pov-mock{ margin-top:20px; background:#FBFCFB; border:1px solid rgba(20,26,20,.07); border-radius:12px; padding:14px; }
    .pm-line{ font-size:12.5px; color:#1d2530; font-style:italic; margin-bottom:11px; }
    .pm-amt{ font-family:'Fraunces',serif; font-weight:340; font-size:18px; color:#141a15; }
    .pm-row{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
    .pm-tools{ display:flex; gap:8px; align-items:center; }
    .pm-tools img{ width:28px; height:28px; border-radius:8px; background:#fff; padding:4px; border:1px solid rgba(20,26,20,.08); object-fit:contain; }
    .pm-tools .lk{ opacity:.4; }
    .pm-cap{ margin-top:10px; font-size:11.5px; color:#79847b; }
    .pm-log{ display:flex; align-items:center; gap:8px; font-size:12px; color:#43514a; padding:5px 0; border-bottom:1px solid #F1F3F0; }
    .pm-log:last-child{ border-bottom:none; }
    .pm-log b{ font-family:'Space Grotesk',sans-serif; color:#146430; font-weight:600; font-size:11.5px; }
    .pm-log .s{ margin-left:auto; }
    .chipset{ display:flex; gap:6px; flex-wrap:wrap; margin-top:auto; padding-top:18px; }
    .chip2{ font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#5b635b; background:#F7F9F7; border:1px solid var(--line,rgba(20,26,20,.12)); border-radius:100px; padding:5px 11px; }
    .p-ok{ background:#EBF7EF; color:#15703A; border:1px solid #BFE3CC; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:100px; padding:4px 10px; }
    .p-hold{ background:#FCF4E3; color:#9A5A0C; border:1px solid #F0DCB0; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:100px; padding:4px 10px; }
    .p-rule{ background:#F5F8F5; color:#3c463f; border:1px solid #E6ECE6; font-size:10px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; border-radius:100px; padding:4px 10px; }
    .p-block{ background:#FBEDEA; color:#B8382B; border:1px solid #F0D2CC; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:100px; padding:4px 10px; }
    @media(max-width:900px){ .pov-card{ flex-basis:280px; } }

/* ── */

.dep-sec{ background:var(--bg-tint,#F6F7F3); padding:112px 0; }
    .dep-sec .head{ max-width:640px; }
    .seg{ display:inline-flex; background:#fff; border:1px solid var(--line,rgba(20,26,20,.12)); border-radius:13px; padding:4px; margin-top:34px; gap:4px; box-shadow:0 1px 2px rgba(20,26,20,.03); }
    .seg-b{ border:0; background:transparent; cursor:pointer; font-family:'Geist','Inter',sans-serif; font-weight:600; font-size:14px; color:#5a655c; padding:11px 22px; border-radius:9px; transition:.2s; }
    .seg-b.active{ background:#146430; color:#fff; }
    .dep-panel{ margin-top:40px; } .dep-panel[hidden]{ display:none; }
    .dep-grid{ display:grid; grid-template-columns:1.35fr .95fr; gap:52px; align-items:center; }
    .dep-diag{ position:relative; height:250px; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:16px; background:#fff; box-shadow:0 1px 2px rgba(20,26,20,.03); }
    .dep-diag.tall{ height:310px; }
    .dep-svg{ position:absolute; inset:0; width:100%; height:100%; }
    .dep-svg path{ fill:none; stroke:#C4D1C6; stroke-width:1.4; vector-effect:non-scaling-stroke; }
    .dep-svg path.dash{ stroke-dasharray:4 4; } .dep-svg path.mint{ stroke:#57BE7D; }
    .dn{ position:absolute; transform:translate(-50%,-50%); display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid #E0E7DF; border-radius:11px; padding:10px 14px; font-family:'Geist','Inter',sans-serif; font-weight:600; font-size:13px; color:#141a15; box-shadow:0 8px 20px rgba(20,26,20,.06); white-space:nowrap; z-index:2; }
    .dn.core{ background:#0C1811; color:#F2EFE7; border-color:transparent; }
    .dn .cm{ width:18px;height:18px; }
    .eb{ position:absolute; transform:translate(-50%,-50%); font-family:'Space Grotesk',sans-serif; font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; border-radius:100px; padding:4px 10px; white-space:nowrap; z-index:3; }
    .eb.enf{ color:#15703A; background:#EBF7EF; border:1px solid #BFE3CC; } .eb.dec{ color:#8a5a12; background:#FCF4E3; border:1px solid #EFD9A9; }
    .dl{ position:absolute; transform:translate(-50%,-50%); font-size:10px; font-weight:600; color:#8a948c; background:#fff; padding:1px 6px; font-family:'Space Grotesk',sans-serif; z-index:2; }
    .blk{ position:absolute; transform:translate(-50%,-50%); font-family:'Space Grotesk',sans-serif; font-size:8.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9aa39b; background:#F4F6F3; border:1px dashed #D3DBD3; border-radius:100px; padding:4px 10px; z-index:2; }
    .dep-copy h3{ font-size:23px; letter-spacing:-.02em; margin-bottom:12px; }
    .dep-copy p{ font-size:15.5px; line-height:1.6; color:var(--muted,#5b635b); }
    .dep-best{ margin-top:20px; font-size:14px; line-height:1.5; color:#5a655c; border-left:2px solid #146430; padding-left:14px; }
    .dep-best b{ color:#141a15; font-weight:600; }
    .dep-logos{ margin-top:18px; display:flex; gap:7px; flex-wrap:wrap; }
    .dep-logos span{ font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:600; color:#42514a; background:#fff; border:1px solid var(--line,rgba(20,26,20,.12)); border-radius:100px; padding:5px 12px; }
    @media(max-width:900px){ .dep-grid{ grid-template-columns:1fr; gap:30px; } .seg{ display:flex; } .seg-b{ flex:1; } }

/* ── */

.fit-sec{ background:var(--bg,#FCFCFB); }
    .fit-head{ text-align:center; max-width:640px; margin:0 auto; padding:96px 0 0; }
    .fit-head .sec-sub{ margin:16px auto 0; }
    .fit-scroll{ position:relative; height:420vh; }
    .fit-sticky{ position:sticky; top:0; height:100vh; display:flex; align-items:center; }
    .fit-grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:56px; align-items:center; width:100%; }
    .fit-list{ display:flex; flex-direction:column; gap:2px; }
    .fit-step{ text-align:left; border:0; background:transparent; cursor:pointer; padding:15px 18px; border-radius:12px; border-left:2px solid transparent; transition:background .25s, border-color .25s; }
    .fit-step b{ display:block; font-family:'Instrument Sans','Inter',sans-serif; font-weight:600; font-size:18px; letter-spacing:-.01em; color:#a6ada5; transition:color .25s; }
    .fit-step span{ display:block; font-size:13.5px; line-height:1.45; color:#b3bab2; margin-top:2px; max-height:0; opacity:0; overflow:hidden; transition:max-height .35s ease, opacity .3s ease, margin .3s; }
    .fit-step.active{ background:#F2F6F2; border-left-color:#146430; }
    .fit-step.active b{ color:#141a15; }
    .fit-step.active span{ color:#5b635b; max-height:70px; opacity:1; margin-top:6px; }
    .fit-visual{ position:relative; height:420px; }
    .fit-panel{ position:absolute; inset:0; opacity:0; transform:translateY(12px); transition:opacity .4s cubic-bezier(.16,1,.3,1), transform .4s cubic-bezier(.16,1,.3,1); pointer-events:none; }
    .fit-panel.active{ opacity:1; transform:none; pointer-events:auto; }
    .fit-card{ height:100%; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:20px; background:#fff; box-shadow:0 24px 54px rgba(20,26,20,.08); padding:34px; display:flex; flex-direction:column; }
    .fit-ic{ width:46px; height:46px; border-radius:13px; background:#EDF4EF; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
    .fit-ic svg{ width:23px; height:23px; stroke:#146430; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .fit-card h3{ font-size:23px; letter-spacing:-.02em; margin-bottom:10px; }
    .fit-card p{ font-size:15px; line-height:1.55; color:var(--muted,#5b635b); }
    .fit-mock{ margin-top:auto; background:#FBFCFB; border:1px solid rgba(20,26,20,.07); border-radius:14px; padding:18px; }
    .fchip{ display:inline-flex; align-items:center; gap:7px; font-family:'Instrument Sans','Inter',sans-serif; font-size:12.5px; font-weight:500; color:#1d2520; background:#fff; border:1px solid rgba(20,26,20,.1); border-radius:9px; padding:8px 12px; box-shadow:0 5px 14px rgba(20,26,20,.04); }
    .fchip img{ width:16px; height:16px; object-fit:contain; }
    .fchip.g{ background:#146430; color:#fff; border-color:#146430; }
    .frow{ display:flex; gap:8px; flex-wrap:wrap; }
    .fscope{ display:flex; gap:6px; margin-top:12px; }
    .fscope span{ font-family:'Instrument Sans',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#146430; background:#EBF4EE; border:1px solid #D2E7D9; border-radius:100px; padding:4px 10px; }
    .fmini{ font-size:12px; color:#79847b; margin-top:12px; }
    @media(max-width:900px){ .fit-scroll{ height:auto; } .fit-sticky{ position:static; height:auto; display:block; } .fit-grid{ grid-template-columns:1fr; gap:16px; }
      .fit-step.active span, .fit-step span{ max-height:none; opacity:1; margin-top:6px; }
      .fit-visual{ display:none; } }

/* ── */

.proc-sec{ background:var(--bg-tint,#F6F7F3); padding:124px 0 132px; }
    .proc-sec .head{ max-width:600px; }
    .proc{ position:relative; margin-top:64px; }
    .proc-track{ position:absolute; left:11px; right:11px; top:11px; height:3px; background:rgba(20,26,20,.10); border-radius:3px; }
    .proc-fill{ position:absolute; left:11px; top:11px; height:3px; width:calc(var(--p,0) * (100% - 22px)); background:var(--accent,#146430); border-radius:3px; }
    .proc-steps{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
    .proc-step{ position:relative; padding-top:46px; }
    .proc-node{ position:absolute; top:0; left:0; width:22px; height:22px; border-radius:50%; background:#fff; border:2px solid rgba(20,26,20,.16); transition:background .3s ease, border-color .3s ease, box-shadow .3s ease; }
    .proc-step.on .proc-node{ background:var(--accent,#146430); border-color:var(--accent,#146430); box-shadow:0 0 0 6px rgba(20,100,48,.12); }
    .proc-step .pn{ font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#9aa39b; transition:color .3s ease; }
    .proc-step.on .pn{ color:var(--accent,#146430); }
    .proc-step h3{ font-size:21px; margin:9px 0 8px; color:#a3aaa2; transition:color .3s ease; }
    .proc-step.on h3{ color:var(--ink,#1a1e1a); }
    .proc-step p{ font-size:13.5px; line-height:1.5; color:var(--muted,#5b635b); max-width:220px; opacity:.55; transition:opacity .3s ease; }
    .proc-step.on p{ opacity:1; }
    .proc-hint{ margin-top:44px; font-size:13.5px; color:#9aa39b; }
    @media(max-width:900px){ .proc-steps{ grid-template-columns:1fr; gap:16px; } .proc-track,.proc-fill{ display:none; } .proc-step{ padding-top:0; padding-left:38px; } .proc-node{ top:2px; } }

/* ── */

.bp-sec{ background:var(--bg,#FCFCFB); padding:112px 0; }
    .bp-head{ text-align:center; max-width:680px; margin:0 auto; }
    .bp-head h2{ margin-top:6px; }
    .bp-head .sec-sub{ margin:16px auto 0; }
    .bp-toggle{ display:inline-flex; background:#ECEEEA; border-radius:12px; padding:5px; gap:4px; margin-top:30px; }
    .bp-b{ border:0; background:transparent; cursor:pointer; font-family:'Instrument Sans','Inter',sans-serif; font-weight:600; font-size:14.5px; color:#5a655c; padding:10px 26px; border-radius:9px; transition:background .2s, color .2s, box-shadow .2s; }
    .bp-b.active{ background:#fff; color:#141a15; box-shadow:0 1px 3px rgba(20,26,20,.14); }
    .bp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
    .bp-grid[hidden]{ display:none; }
    .bp-card{ display:flex; flex-direction:column; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 1px 2px rgba(20,26,20,.03), 0 12px 30px rgba(20,26,20,.05); transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s; }
    .bp-card:hover{ transform:translateY(-3px); box-shadow:0 24px 50px rgba(20,26,20,.1); }
    .bp-img{ height:184px; position:relative; }
    .bp-img .gr{ position:absolute; inset:0; filter:blur(0); }
    .bp-img::after{ content:""; position:absolute; inset:0; opacity:.14; mix-blend-mode:overlay; 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.9'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"); }
    .bp-body{ padding:20px 22px 24px; display:flex; flex-direction:column; }
    .bp-tags{ display:flex; align-items:center; gap:8px; margin-bottom:14px; }
    .bp-tag{ font-family:'Instrument Sans','Inter',sans-serif; font-size:11px; font-weight:600; color:#42514a; background:#F2F4F1; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:7px; padding:4px 9px; }
    .bp-tag.dark{ background:#141a15; color:#fff; border-color:#141a15; }
    .bp-dot{ color:#c2c9c1; }
    .bp-card h3{ font-size:19px; letter-spacing:-.02em; line-height:1.25; color:#141a15; }
    @media(max-width:900px){ .bp-grid{ grid-template-columns:1fr; } }

/* ── */

/* ===================== COHESION PASS ===================== */
/* one display type: kill every Fraunces/serif leftover */
h1,h2,h3,.pr-text h3,.persona .quote,.dawn h2,.dawn-close,.hub-sec h2,.hub-own,
.wp h3,.signup h3,.footer-cta h2,.authority,.eu-tile h3,.ent h3,.step h3,.hiw-copy h3 {
  font-family:'Geist','Inter',system-ui,sans-serif;
}
h1 em,h2 em,h3 em,.persona .quote,.dawn-close,.authority { font-style:normal; }
.pr-text h3 { font-weight:600; font-size:27px; letter-spacing:-.025em; color:#141a15; }
.persona .quote { font-weight:600; font-size:18px; letter-spacing:-.015em; line-height:1.42; }
.authority { font-weight:500; font-size:19px; color:#28332c; }
.hub-sec h2, .footer-cta h2 { font-weight:700; letter-spacing:-.032em; }
.wp h3, .signup h3 { font-weight:600; letter-spacing:-.02em; }

/* one section rhythm: equal breathing room, left-aligned heads */
.wwd-sec,.hiw-sec,.eu-sec,.personas-sec,.hub-sec { padding-top:120px; padding-bottom:120px; }

/* relight the methodology into ONE light band, left-aligned, uniform white cards */
.dawn { background:#F6F8F5; padding:120px 0; }
.dawn .head { text-align:left; max-width:660px; }
.dawn .head .sec-eyebrow { color:#1F6B3A; }
.dawn .head h2 { margin-top:6px; color:#141a15; }
.dawn h2 em { color:var(--green-deep); }
.dawn .steps { margin-top:46px; }
.dawn .step { background:#fff; border:1px solid #E8ECE6; color:#141a15; border-radius:18px;
  box-shadow:0 16px 38px rgba(20,26,21,.05); backdrop-filter:none; }
.dawn .step p { color:#565e56; }
.dawn .step .num { color:#9aa39b; }
.dawn .step h3 { color:#141a15; }
.dawn .step.s1 .mode, .dawn .step.s1b .mode { background:#EEF2EC; color:#4a5650; }
.dawn-close { text-align:left; color:#5a655c; font-weight:500; font-size:18px; margin-top:42px; }

/* personas + rulebook read as the same family */
.personas-sec { background:#fff; }
.persona { border:1px solid #EAEEE9; box-shadow:0 18px 44px rgba(20,26,21,.07); }
.ent h3 { font-family:'Geist','Inter',sans-serif; font-weight:600; font-size:21px; letter-spacing:-.02em; color:#141a15; }
.apx { position:relative; z-index:1; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 50px 120px rgba(3,10,6,.55), 0 6px 20px rgba(3,10,6,.30); }
.apx-top { display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid #EEF1EC; }
.apx-ic { width:27px; height:27px; border-radius:8px; background:#EBF4EE; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.apx-agent { font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px; color:#146430; }
.apx-held { margin-left:auto; font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#9A5A0C; background:#FCF4E3; border:1px solid #F0DCB0; border-radius:100px; padding:5px 12px; }
.apx-body { padding:24px 20px 8px; }
.apx-lbl { font-size:13px; color:#79847b; }
.apx-amt { font-family:'Geist','Inter',sans-serif; font-weight:700; font-size:48px; letter-spacing:-.035em; color:#141a15; line-height:1.02; margin:5px 0 7px; }
.apx-to { font-size:13px; color:#79847b; }
.apx-rule { margin:16px 20px; padding:12px 15px; background:#FBFCFB; border:1px solid #EAEFE8; border-left:3px solid #E5A34C; border-radius:10px; font-size:12.5px; color:#5a655c; line-height:1.45; }
.apx-rule b { color:#141a15; font-weight:600; }
.apx-act { display:flex; align-items:center; gap:10px; padding:4px 20px 22px; }
.apx-ok { background:#146430; color:#fff; border:0; border-radius:11px; padding:12px 28px; font-family:'Geist','Inter',sans-serif; font-weight:600; font-size:14px; cursor:pointer; box-shadow:0 8px 20px rgba(20,100,48,.28); }
.apx-no { background:#fff; border:1px solid #E1E1D8; border-radius:11px; padding:12px 24px; font-family:'Geist','Inter',sans-serif; font-weight:600; font-size:14px; color:#17201a; cursor:pointer; }
.apx-exp { margin-left:auto; font-size:12px; color:#b6a674; }

/* ── */

/* premium pass: serif display, glass nav, more air, layered depth */
nav { background:rgba(247,249,247,.055); -webkit-backdrop-filter:blur(18px) saturate(1.5); backdrop-filter:blur(18px) saturate(1.5);
  border:1px solid rgba(255,255,255,.10); border-radius:16px; padding:12px 16px 12px 22px; margin-top:20px; box-shadow:0 10px 34px rgba(3,10,6,.26); }
.hero2 { padding:82px 0 118px; gap:66px; align-items:center; }
.hero2 h1 { font-family:'Fraunces',serif; font-weight:340; font-size:72px; line-height:1.03; letter-spacing:-.02em; }
.hero2 h1 em { font-style:italic; color:#9fc7ab; }
.hero2 .sub { font-size:19px; color:var(--cream-dim); margin-top:26px; max-width:480px; }
.hero-vis { position:relative; }
.apx-float { position:absolute; top:-32px; left:-34px; z-index:0; display:flex; align-items:center; gap:9px;
  background:#fff; border:1px solid #EDF1EC; border-radius:12px; padding:11px 15px; font-size:12.5px; color:#43514a; box-shadow:0 26px 56px rgba(3,10,6,.34); }
.apx-float .fa { font-family:'Space Grotesk',sans-serif; font-weight:600; color:#146430; }
@media(max-width:900px){ .hero2 h1 { font-size:44px; } .apx-float { display:none; } }

/* ── */

/* LIGHT premium hero: warm canvas, editorial serif, green accent */
.hero-sec { background:#FCFCFB; }
.hero-sec .layers { display:none; }
.hero-sec .inner { position:relative; z-index:2; }
nav { background:rgba(255,255,255,.6); -webkit-backdrop-filter:blur(18px) saturate(1.4); backdrop-filter:blur(18px) saturate(1.4); border:1px solid rgba(20,26,21,.08); box-shadow:0 8px 28px rgba(20,26,21,.06); }
.hero-sec .brand { color:#141a15; }
.hero-sec .brand .ai { color:#1F6B3A; }
.hero-sec nav .dd > button { color:#46514a; }
.hero-sec nav .dd:hover > button, .hero-sec nav .dd.show > button, .hero-sec nav .dd > button:hover { color:#141a15; background:rgba(20,26,21,.05); }
.hero-sec nav .btn-ghost { color:#141a15; }
.hero-sec nav .btn-solid { background:#146430; color:#fff; }
.dd-panel { background:rgba(255,255,255,.98); border:1px solid rgba(20,26,21,.09); box-shadow:0 30px 70px rgba(20,26,21,.16); }
.dd-panel a { color:#161c17; }
.dd-panel a:hover { background:rgba(20,26,21,.05); }
.hero2 h1 { color:#15201a; }
.hero2 h1 em { color:#146430; font-style:italic; }
.hero2 .sub { color:#5a655c; }
.ctas .btn-solid { background:#146430; color:#fff; }
.ctas .btn-ghost { color:#15201a; }
.trustchips .trustchip { border-color:rgba(20,26,21,.16); color:#6a746a; }
.apx { border:1px solid #ECE8DE; box-shadow:0 40px 90px rgba(20,26,21,.14), 0 6px 18px rgba(20,26,21,.08); }
.apx-float { border:1px solid #ECE8DE; box-shadow:0 26px 56px rgba(20,26,21,.14); }

/* ── */

/* ===== design tokens extracted from Spott/Webflow (premium refs) ===== */
:root { --ink:#1a1e1a; --muted:#5b635b; --line:rgba(20,26,20,.10); --accent:#146430; }
/* buttons: slim + one 8px radius (their spec is 10px 14px / .5rem) */
.btn { border-radius:8px; font-weight:500; letter-spacing:-.01em; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn-solid, .btn-primary { padding:11px 18px; font-size:15px; }
.btn-ghost { padding:11px 12px; font-size:15px; font-weight:500; }
.btn-big, .btn-lg { padding:12px 20px; font-size:15px; border-radius:8px; }
.hero-sec nav .btn-solid { padding:10px 18px; }
/* hero rhythm: tighter, consistent scale */
.hero2 { gap:72px; padding:60px 0 100px; align-items:center; }
.hero2 h1 { font-size:66px; letter-spacing:-.025em; line-height:1.05; }
.hero2 .sub { font-size:18px; line-height:1.5; margin-top:24px; max-width:440px; }
.hero2 .ctas { gap:12px; margin-top:34px; }
.trustchips { margin-top:34px; gap:8px; }
.trustchip { font-size:11px; padding:6px 12px; }
/* approval card: same 8px radius family, tighter buttons */
.apx { border-radius:14px; }
.apx-ok, .apx-no { border-radius:8px; padding:10px 20px; font-size:13.5px; }
.apx-float { border-radius:10px; }

/* ── */

:root{ --ink:#1a1e1a; --muted:#5b635b; --line:rgba(20,26,20,.10); --accent:#146430; --bg:#FCFCFB; --bg-tint:#F6F7F3; }
body{ background:var(--bg); }
/* one editorial serif for all display headings, one ink */
h1,h2,h3,.wwd-head h2,.wwd-card h3,.hiw-copy h3,.dawn h2,.dawn h3,.step h3,.ent h3,.eu-tile h3,.persona .quote,.hub-sec h2,.footer-cta h2,.pov-card h3,.int-sec h2{ font-family:'Fraunces',serif; color:var(--ink); letter-spacing:-.02em; font-style:normal; }
h2{ font-weight:340; font-size:44px; line-height:1.08; }
h1 em,h2 em{ font-style:italic; }
.on-light h2 em{ color:var(--accent); }
.sec-eyebrow{ color:var(--accent); font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.sec-sub{ color:var(--muted); font-size:18px; line-height:1.5; }
/* consistent light section rhythm */
.wwd-sec,.hiw-sec,.eu-sec,.personas-sec,.hub-sec,.pov-sec,.int-sec{ background:var(--bg); padding:112px 0; }
.dawn{ background:var(--bg-tint); padding:112px 0; }
/* one card language: 14px radius, hairline border, soft shadow */
.wwd-card,.pcard,.mini,.persona,.eu-tile,.step{ border-radius:14px; border:1px solid var(--line); box-shadow:0 1px 2px rgba(20,26,20,.03), 0 14px 34px rgba(20,26,20,.05); }
.wwd-card{ border-top-width:3px; }
/* methodology cards on the tint */
.dawn .step{ background:#fff; }
/* buttons already normalized in #dsys; keep hero card + section CTAs aligned */

/* ── */

.hero2{ padding:96px 0 72px; }
.hero2 h1{ font-size:70px; letter-spacing:-.03em; line-height:1.02; }
.hero2 h1 em{ font-style:normal; color:var(--accent,#146430); }
.hero-foot{ margin-top:58px; padding-top:32px; border-top:1px solid var(--line,rgba(20,26,20,.08)); }
.hl-label{ text-align:center; font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#9aa39b; }
.hl-row{ display:flex; justify-content:center; align-items:center; gap:36px; margin-top:20px; flex-wrap:wrap; }
.hl-row img{ height:22px; width:auto; opacity:.72; }
.scroll-cue{ display:flex; justify-content:center; margin-top:28px; color:#b7bdb5; }
.scroll-cue svg{ width:22px; height:22px; animation:cuebob 1.8s ease-in-out infinite; }
@keyframes cuebob{ 0%,100%{ transform:translateY(0); opacity:.45;} 50%{ transform:translateY(5px); opacity:1;} }
.hero-vis::before{ inset:-18% -14%; background:radial-gradient(58% 52% at 62% 42%, rgba(20,100,48,.13), transparent 72%); }
.apx-float2{ position:absolute; bottom:-24px; right:-26px; z-index:0; display:flex; align-items:center; gap:9px; background:#fff; border:1px solid #ECE8DE; border-radius:10px; padding:10px 14px; font-size:12px; color:#43514a; box-shadow:0 26px 56px rgba(20,26,20,.14); }
.apx-float2 .fa{ font-family:'Space Grotesk',sans-serif; font-weight:600; color:#146430; }
.pov-card{ flex-basis:322px; }
.hero-sec{ padding-bottom:44px; }
.hero-foot{ margin-top:46px; padding-top:28px; }
.hl-div{ width:1px; height:18px; background:var(--line,rgba(20,26,20,.14)); }
.hl-more{ font-family:'Space Grotesk',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.02em; color:#7a847a; border:1px dashed var(--line,rgba(20,26,20,.2)); border-radius:100px; padding:6px 12px; }
.scroll-cue{ margin-top:22px; }
/* fit hero to one viewport so the works-with strip + scroll cue stay on screen */
.hero-sec{ padding-bottom:0; }
.hero-sec .inner{ min-height:100vh; display:flex; flex-direction:column; }
.hero2{ flex:1 1 auto; padding:16px 0 0; align-items:center; gap:64px; }
.hero2 h1{ font-size:60px; line-height:1.03; }
.hero2 .sub{ margin-top:20px; }
.hero2 .ctas{ margin-top:28px; }
.hero2 .trustchips{ margin-top:26px; }
.hero-foot{ margin:0 0 22px; padding-top:20px; }
.scroll-cue{ margin-top:14px; }
.apx-amt{ font-size:42px; }
@media (max-height:820px){ .hero2 h1{ font-size:50px; } .apx-amt{ font-size:36px; } .hero-foot{ margin-bottom:16px; } }
.hero2{ grid-template-columns:1.16fr .84fr; }
.hero2 h1{ font-size:54px; line-height:1.04; }
.hero-vis{ max-width:430px; margin-left:auto; }
.apx-amt{ font-size:38px; }
.apx-float{ top:-26px; left:-24px; } .apx-float2{ bottom:-20px; right:-20px; }
@media (max-height:820px){ .hero2 h1{ font-size:46px; } }

/* ── */

.dd-panel a{ display:flex; align-items:center; gap:10px; }
.dd-ic{ width:16px; height:16px; flex:0 0 auto; color:#9aa39b; transition:color .15s; }
.dd-panel a:hover .dd-ic{ color:var(--accent,#146430); }
.apx-agent,.apx-lbl,.apx-amt,.apx-to,.apx-rule{ transition:opacity .32s ease, transform .32s ease; }
.apx.swap .apx-agent,.apx.swap .apx-lbl,.apx.swap .apx-amt,.apx.swap .apx-to,.apx.swap .apx-rule{ opacity:0; transform:translateY(6px); }

/* ── */

.sec-eyebrow{ display:inline-block; background:#fff; border:1px solid var(--line,rgba(20,26,20,.12)); border-radius:100px; padding:7px 15px; color:#42514a; font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:.01em; text-transform:none; margin-bottom:18px; box-shadow:0 1px 2px rgba(20,26,20,.03); }
.hl-row{ gap:26px; }
.hl-row img{ height:22px; }

/* ── */

/* product cards: compact + tasteful per-card color */
.pov-card{ flex-basis:330px; padding:24px 24px 22px; }
.pov-track .pov-card:nth-child(1){ background:#EFF5F0; border-color:#DBEADF; }
.pov-track .pov-card:nth-child(1) .pov-ic{ background:#DDEEE2; }
.pov-track .pov-card:nth-child(2){ background:#EEF2F8; border-color:#DAE3EF; }
.pov-track .pov-card:nth-child(2) .pov-ic{ background:#DBE6F3; } .pov-track .pov-card:nth-child(2) .pov-ic svg{ stroke:#2C5B8A; }
.pov-track .pov-card:nth-child(3){ background:#F8F4EC; border-color:#ECE2D2; }
.pov-track .pov-card:nth-child(3) .pov-ic{ background:#EFE3CE; } .pov-track .pov-card:nth-child(3) .pov-ic svg{ stroke:#9A6B18; }
.pov-track .pov-card:nth-child(4){ background:#F8EFEE; border-color:#EEDCD9; }
.pov-track .pov-card:nth-child(4) .pov-ic{ background:#F2DEDA; } .pov-track .pov-card:nth-child(4) .pov-ic svg{ stroke:#B0503E; }
.pov-track .pov-card:nth-child(5){ background:#F1F4EF; border-color:#DFE7D8; }
/* strong-approval element: clean amber pill with a real fingerprint icon */
.apx-sec{ display:none; align-items:center; gap:8px; margin:0 20px 12px; padding:8px 12px; background:#FFF8EE; border:1px solid #F2DFB4; border-radius:10px; font-size:12px; font-weight:500; color:#8a5a12; width:fit-content; }
.apx.sec .apx-sec{ display:inline-flex; }
.apx-sec .fp{ width:16px; height:16px; color:#C77E1E; flex:0 0 auto; }
.itsme{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:10px; color:#fff; background:#FF4E00; border-radius:5px; padding:3px 7px; letter-spacing:.02em; }

/* ── */

/* soft aurora hero background (AAIF-inspired) */
.hero-sec{ background:
  radial-gradient(52% 42% at 12% 6%, rgba(20,100,48,.07), transparent 62%),
  radial-gradient(46% 38% at 88% 2%, rgba(120,160,210,.09), transparent 60%),
  radial-gradient(44% 44% at 80% 96%, rgba(232,202,150,.08), transparent 62%),
  #FCFCFB; }
.hero-vis::before{ inset:-16% -12%; background:radial-gradient(58% 52% at 60% 42%, rgba(20,100,48,.14), transparent 70%); }
/* crisp pill eyebrows (was soft) */
.sec-eyebrow{ font-family:'Inter',system-ui,sans-serif; font-size:12.5px; font-weight:600; color:#2b332c; letter-spacing:0; box-shadow:none; border:1px solid rgba(20,26,20,.14); }

/* ── */

.dep-sec .seg{ padding:5px; border-radius:14px; gap:5px; box-shadow:0 1px 2px rgba(20,26,20,.04), 0 8px 22px rgba(20,26,20,.05); }
.dep-sec .seg-b{ display:flex; flex-direction:column; align-items:flex-start; text-align:left; padding:12px 22px; border-radius:10px; min-width:248px; transition:background .2s ease; }
.dep-sec .seg-b b{ font-family:'Geist','Inter',sans-serif; font-weight:600; font-size:15px; color:#141a15; letter-spacing:-.01em; }
.dep-sec .seg-b span{ font-size:12.5px; color:#5b635b; margin-top:3px; font-weight:400; }
.dep-sec .seg-b.active{ background:#146430; }
.dep-sec .seg-b.active b{ color:#fff; }
.dep-sec .seg-b.active span{ color:rgba(255,255,255,.82); }
.dep-sec .seg-b:not(.active):hover{ background:#F4F6F3; }
@media(max-width:900px){ .dep-sec .seg{ display:flex; } .dep-sec .seg-b{ min-width:0; flex:1; } }

/* ── */

:root{ --disp:'Instrument Sans', system-ui, -apple-system, sans-serif; }
h1,h2,h3,.hero2 h1,.pov-card h3,.persona .quote,.dawn-close,.footer-cta h2,.int-fw,.authority,.pm-amt,.wp h3,.signup h3{ font-family:var(--disp) !important; font-style:normal !important; }
h1,h2{ font-weight:600 !important; letter-spacing:-.028em; }
h3{ font-weight:600 !important; letter-spacing:-.02em; }
.hero2 h1{ font-weight:600 !important; letter-spacing:-.032em; }
h1 em,h2 em{ font-style:normal !important; }
/* deployment toggle -> clean white-pill-on-gray */
.dep-sec .seg{ background:#ECEEEA; border:none; box-shadow:none; }
.dep-sec .seg-b.active{ background:#fff; box-shadow:0 1px 3px rgba(20,26,20,.14); }
.dep-sec .seg-b.active b{ color:#141a15; } .dep-sec .seg-b.active span{ color:#5b635b; }
.dep-sec .seg-b:not(.active) b{ color:#3c463f; } .dep-sec .seg-b:not(.active) span{ color:#8a948c; }

/* ── */

/* thinner AAIF-weight headings */
h1,h2,.hero2 h1{ font-weight:500 !important; }
h3{ font-weight:500 !important; }
/* how-it-runs: align background with the section above (white) + center header & toggle */
.dep-sec{ background:var(--bg,#FCFCFB); }
.dep-sec .head{ text-align:center; max-width:560px; margin:0 auto; }
.dep-sec .seg{ display:flex; width:fit-content; margin:32px auto 0; }
/* scroll reveal */
.rv{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .rv{ opacity:1; transform:none; } }
/* mock cookie banner */
.cookie-mock{ position:fixed; bottom:24px; right:24px; z-index:400; width:328px; background:#fff; border:1px solid rgba(20,26,20,.1); border-radius:14px; padding:18px 20px 16px; box-shadow:0 24px 60px rgba(20,26,20,.18); font-family:'Inter',sans-serif; }
.ck-title{ font-family:'Instrument Sans','Inter',sans-serif; font-weight:600; font-size:15px; color:#141a15; margin-bottom:6px; }
.cookie-mock p{ font-size:12.5px; line-height:1.5; color:#5b635b; margin-bottom:14px; }
.cookie-mock p a{ color:#146430; font-weight:600; }
.ck-btns{ display:flex; gap:8px; }
.ck-accept{ background:#146430; color:#fff; border:0; border-radius:8px; padding:9px 18px; font-size:13px; font-weight:600; cursor:pointer; }
.ck-reject{ background:#fff; border:1px solid rgba(20,26,20,.14); border-radius:8px; padding:9px 16px; font-size:13px; font-weight:600; color:#141a15; cursor:pointer; }
.ck-more{ margin-left:auto; align-self:center; font-size:12px; color:#8a948c; text-decoration:underline; }
@media (max-width:560px){ .cookie-mock{ left:16px; right:16px; width:auto; } }

/* ── */

/* richer AAIF-style aurora hero background */
.hero-sec{ background:
  radial-gradient(48% 40% at 10% 3%, rgba(20,100,48,.10), transparent 60%),
  radial-gradient(42% 36% at 91% 0%, rgba(108,150,205,.12), transparent 58%),
  radial-gradient(40% 42% at 83% 98%, rgba(236,206,150,.11), transparent 60%),
  radial-gradient(55% 45% at 48% 55%, rgba(255,255,255,.5), transparent 72%),
  #FBFBF9; }
/* rich flowing CTA band (AAIF Subscribe-band vibe), in green */
.close-sec .layers .mesh{
  background:
    radial-gradient(60% 80% at 14% 26%, #327056 0%, transparent 55%),
    radial-gradient(52% 70% at 88% 34%, #6FCF8E 0%, transparent 48%),
    radial-gradient(80% 80% at 62% 128%, #05110b 0%, transparent 55%),
    linear-gradient(180deg, #FBFBF9 0%, #1a4d33 26%, #0e3221 66%, #08170f 100%) !important;
  filter:blur(40px) saturate(1.14) !important; inset:-60px !important; }
.close-sec .layers .streaks{ position:absolute; inset:0; z-index:0; mix-blend-mode:soft-light; opacity:.55;
  background:linear-gradient(114deg, transparent 20%, rgba(255,252,240,.42) 33%, transparent 46%),
             linear-gradient(100deg, transparent 64%, rgba(200,255,220,.28) 75%, transparent 86%); }
.footer-cta h2{ color:#fff !important; letter-spacing:-.03em; }
.footer-cta .cta-btns2{ display:flex; gap:12px; justify-content:center; margin-top:6px; }

/* ── */

/* tighter section spacing */
.wwd-sec,.hiw-sec,.eu-sec,.personas-sec,.hub-sec,.pov-sec,.int-sec,.dep-sec,.bp-sec,.dawn,.news-sec{ padding-top:90px !important; padding-bottom:90px !important; }
/* animated toggle: sliding white thumb */
.dep-sec .seg{ position:relative; }
.dep-sec .seg::before{ content:""; position:absolute; top:5px; left:5px; width:calc(50% - 5px); bottom:5px; background:#fff; border-radius:10px; box-shadow:0 1px 3px rgba(20,26,20,.16); transition:transform .32s cubic-bezier(.16,1,.3,1); z-index:0; }
.dep-sec .seg.va::before{ transform:translateX(100%); }
.dep-sec .seg-b{ position:relative; z-index:1; background:transparent !important; box-shadow:none !important; flex:1; }
.dep-sec .seg-b.active b{ color:#141a15; } .dep-sec .seg-b.active span{ color:#5b635b; }

/* ── */

.dawn{ background:var(--bg,#FCFCFB) !important; }
.proc-sec{ background:var(--bg,#FCFCFB) !important; }

/* ── */

.dep-diag2{ border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:16px; background:#FBFCFB; }
.dep-flow{ display:flex; align-items:center; justify-content:center; padding:34px 18px 22px; }
.dep-node{ background:#fff; border:1px solid #E4EAE3; border-radius:13px; padding:13px 15px 11px; box-shadow:0 8px 20px rgba(20,26,20,.05); text-align:center; flex:0 0 auto; position:relative; }
.dep-node.core{ background:#0C1811; border-color:transparent; box-shadow:0 18px 40px rgba(10,25,17,.28); padding:15px 18px; }
.dep-node .dl2{ font-family:'Instrument Sans','Inter',sans-serif; font-size:12.5px; font-weight:600; color:#3c463f; white-space:nowrap; display:flex; align-items:center; gap:7px; justify-content:center; }
.dep-node.core .dl2{ color:#F2EFE7; }
.dep-node .lg{ display:flex; gap:5px; justify-content:center; margin-top:8px; }
.dep-node .lg img{ width:22px; height:22px; border-radius:6px; background:#fff; object-fit:contain; }
.dep-node .lg .more{ width:22px; height:22px; border-radius:6px; background:#F2F4F1; display:flex; align-items:center; justify-content:center; font-size:12px; color:#8a948c; }
.dep-wire{ flex:1; height:2px; position:relative; min-width:34px; margin:0 3px; background:repeating-linear-gradient(90deg,#cbd6cd 0 5px, transparent 5px 10px); }
.dep-wire i{ position:absolute; top:-2.5px; width:7px; height:7px; border-radius:50%; background:#57BE7D; box-shadow:0 0 8px rgba(111,207,142,.85); animation:flowdot 1.9s linear infinite; }
.dep-wire i:nth-child(2){ animation-delay:.95s; }
@keyframes flowdot{ 0%{left:-4px;opacity:0} 12%{opacity:1} 86%{opacity:1} 100%{left:100%;opacity:0} }
@media (prefers-reduced-motion: reduce){ .dep-wire i{ animation:none; left:45%; } }
.enf-badge{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); font-family:'Space Grotesk',sans-serif; font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#15703A; background:#EBF7EF; border:1px solid #BFE3CC; border-radius:100px; padding:4px 10px; white-space:nowrap; z-index:2; }
.dead-stub{ text-align:center; padding:0 0 20px; }
.dead-stub .line{ width:2px; height:18px; margin:0 auto 7px; background:repeating-linear-gradient(180deg,#E3B673 0 4px, transparent 4px 8px); }
.dead-chip{ display:inline-block; font-family:'Space Grotesk',sans-serif; font-size:8.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9A5A0C; background:#FCF4E3; border:1px solid #F0DCB0; border-radius:100px; padding:4px 10px; }
.va-below{ display:flex; flex-direction:column; align-items:center; padding:0 0 22px; }
.va-arrows{ display:flex; gap:46px; font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.06em; color:#9aa39b; margin-bottom:10px; }
.dec-badge{ display:inline-block; margin-left:8px; font-family:'Space Grotesk',sans-serif; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8a5a12; background:#FCF4E3; border:1px solid #EFD9A9; border-radius:100px; padding:3px 8px; }
@media(max-width:900px){ .dep-flow{ flex-wrap:wrap; gap:12px; } .dep-wire{ display:none; } }

/* ── */

.fit-arc{ display:flex; justify-content:center; align-items:flex-end; gap:22px; margin-top:52px; }
.fit-arc .al{ width:54px; height:54px; border-radius:15px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(20,26,20,.06); flex:0 0 auto; transition:transform .3s cubic-bezier(.22,1,.36,1); }
.fit-arc .al img{ width:26px; height:26px; object-fit:contain; }
@media(max-width:900px){ .fit-arc{ gap:12px; } .fit-arc .al{ width:42px; height:42px; } .fit-arc .al img{ width:20px; height:20px; } }
/* crisper scroll reveal + sticky transitions */
.rv{ transform:translateY(14px); transition:opacity .5s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1); }
.fit-panel{ transition:opacity .32s cubic-bezier(.22,1,.36,1), transform .32s cubic-bezier(.22,1,.36,1); }
.fit-step{ transition:background .2s ease, border-color .2s ease; }
.fit-step b{ transition:color .2s ease; } .fit-step span{ transition:max-height .3s cubic-bezier(.22,1,.36,1), opacity .25s ease, margin .25s ease; }

/* ── */

.hero-sec{ position:relative; overflow:hidden; background:#FBFBF9 !important; }
.hero-sec::before{ content:""; position:absolute; z-index:0; width:660px; height:660px; border-radius:50%; filter:blur(80px); top:-14%; left:-6%; background:radial-gradient(circle, rgba(20,100,48,.24), transparent 70%); animation:auroraA 20s ease-in-out infinite; }
.hero-sec::after{ content:""; position:absolute; z-index:0; width:580px; height:580px; border-radius:50%; filter:blur(80px); top:-18%; right:-6%; background:radial-gradient(circle, rgba(120,162,214,.22), transparent 70%); animation:auroraB 26s ease-in-out infinite; }
.hero-sec .inner{ position:relative; z-index:2; }
@keyframes auroraA{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(50px,40px) scale(1.08); } }
@keyframes auroraB{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-40px,30px) scale(1.1); } }
@media (prefers-reduced-motion: reduce){ .hero-sec::before,.hero-sec::after{ animation:none; } }
.hero2 h1 em{ background:linear-gradient(90deg,#146430 0%,#3FA46A 35%,#6FCF8E 50%,#3FA46A 65%,#146430 100%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; animation:textflow 7s linear infinite; }
@keyframes textflow{ to{ background-position:-220% 0; } }
.qbox{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.12)); border-radius:100px; padding:7px 7px 7px 18px; box-shadow:0 10px 28px rgba(20,26,20,.07); max-width:430px; margin-top:26px; }
.qbox-live{ width:8px; height:8px; border-radius:50%; background:#57BE7D; flex:0 0 auto; animation:pulse2 2.4s infinite; }
.qbox-in{ flex:1; border:0; outline:0; background:transparent; font-family:'Instrument Sans','Inter',sans-serif; font-size:14.5px; color:#141a15; cursor:pointer; }
.qbox-in::placeholder{ color:#7c867e; opacity:1; transition:opacity .3s; }
.qbox.fade .qbox-in::placeholder{ opacity:0; }
.qbox-btn{ width:38px; height:38px; border-radius:50%; background:#146430; border:0; display:flex; align-items:center; justify-content:center; cursor:pointer; flex:0 0 auto; transition:transform .15s; }
.qbox-btn:hover{ transform:scale(1.06); }
.qbox-btn svg{ width:16px; height:16px; }

/* ── */

.site-footer{ position:relative; z-index:2; padding:66px 0 40px; border-top:1px solid rgba(255,255,255,.12); margin-top:64px; }
.ft-grid{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr 1fr; gap:40px; }
.fb-logo{ display:flex; align-items:center; gap:10px; font-family:'Instrument Sans','Inter',sans-serif; font-weight:600; font-size:18px; color:#fff; margin-bottom:16px; }
.ft-brand p{ font-size:14px; line-height:1.55; color:rgba(255,255,255,.72); max-width:290px; margin-bottom:22px; }
.ft-social{ display:flex; gap:10px; }
.ft-social a{ width:36px; height:36px; border-radius:9px; border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; transition:background .15s, border-color .15s; }
.ft-social a:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.35); }
.ft-social svg{ width:17px; height:17px; fill:rgba(255,255,255,.82); }
.ft-col h4{ font-family:'Instrument Sans','Inter',sans-serif; font-size:12.5px; font-weight:600; color:#fff; margin-bottom:15px; letter-spacing:.04em; text-transform:uppercase; }
.ft-col a{ display:block; font-size:13.5px; color:rgba(255,255,255,.68); padding:6px 0; transition:color .15s; }
.ft-col a:hover{ color:#fff; }
.ft-bottom{ display:flex; align-items:center; justify-content:space-between; margin-top:54px; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); font-size:13px; color:rgba(255,255,255,.6); }
.ft-legal{ display:flex; gap:22px; }
.ft-legal a{ color:rgba(255,255,255,.6); } .ft-legal a:hover{ color:#fff; }
@media(max-width:900px){ .ft-grid{ grid-template-columns:1fr 1fr; gap:32px 24px; } .ft-brand{ grid-column:1 / -1; } .ft-bottom{ flex-direction:column; gap:14px; align-items:flex-start; } }

/* ── */

.q-ask{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.12)); border-radius:100px; padding:11px 16px 11px 18px; box-shadow:0 8px 22px rgba(20,26,20,.07); margin-bottom:16px; position:relative; z-index:2; }
.q-ask .q-dot{ width:8px; height:8px; border-radius:50%; background:#57BE7D; flex:0 0 auto; animation:pulse2 2.4s infinite; }
.q-ask .q-text{ flex:1; font-family:'Instrument Sans','Inter',sans-serif; font-size:14px; font-weight:500; color:#141a15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:opacity .3s; }
.q-ask.fade .q-text{ opacity:0; }
.q-ask .q-verdict{ flex:0 0 auto; font-family:'Instrument Sans',sans-serif; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#9A5A0C; background:#FCF4E3; border:1px solid #F0DCB0; border-radius:100px; padding:4px 10px; }
.q-ask::after{ content:""; position:absolute; bottom:-15px; left:34px; width:2px; height:15px; background:repeating-linear-gradient(180deg,#c9d5cd 0 4px, transparent 4px 8px); }

/* ── */

.dep-sec{ padding-top:36px !important; }
.pov-sec{ padding-bottom:70px !important; }

/* ── */

.apx-live{ display:flex; align-items:center; gap:8px; padding:14px 18px; border-bottom:1px solid #EEF1EC; font-size:13px; font-weight:500; color:#42504a; font-family:'Instrument Sans','Inter',sans-serif; }
.apx-live .live-dot{ width:8px; height:8px; border-radius:50%; background:#57BE7D; flex:0 0 auto; animation:pulse2 2.4s infinite; }
.apx-feed{ padding:4px 18px; }
.frow{ display:flex; align-items:center; gap:8px; padding:10px 0; border-bottom:1px solid #F3F5F2; font-size:13px; color:#43514a; }
.frow:last-child{ border-bottom:none; }
.frow .fa{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:12.5px; color:#146430; }
.v{ margin-left:auto; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:100px; padding:4px 10px; flex:0 0 auto; }
.v-ok{ color:#15703A; background:#EBF7EF; border:1px solid #BFE3CC; }
.v-block{ color:#B8382B; background:#FBEDEA; border:1px solid #F0D2CC; }
.v-hold{ color:#9A5A0C; background:#FCF4E3; border:1px solid #F0DCB0; }
.apx-hold{ margin:8px 13px 14px; background:#FFFBF2; border:1px solid #F3E3C2; border-radius:14px; padding:15px 16px; }
.hold-top{ display:flex; align-items:center; gap:7px; font-size:13px; color:#5a655c; margin-bottom:8px; }
.hold-top .fa{ font-family:'Space Grotesk',sans-serif; font-weight:600; color:#146430; }
.apx-hold .apx-amt{ font-size:32px; font-family:'Instrument Sans',sans-serif; font-weight:700; letter-spacing:-.03em; color:#141a15; line-height:1.05; }
.apx-hold .apx-ctx{ font-size:13px; color:#79847b; margin-top:3px; }
.hold-btns{ display:flex; align-items:center; gap:8px; margin-top:14px; }
.b-allow{ background:#146430; color:#fff; border:0; border-radius:9px; padding:10px 22px; font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:13.5px; cursor:pointer; box-shadow:0 6px 16px rgba(20,100,48,.22); }
.b-block{ background:#fff; border:1px solid #E9D9D5; border-radius:9px; padding:10px 20px; font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:13.5px; color:#B8382B; cursor:pointer; }
.hold-btns .apx-exp{ margin-left:auto; font-size:11.5px; color:#b6a674; }
.apx.swap .apx-verb,.apx.swap .apx-ctx{ opacity:0; transform:translateY(6px); }

/* ── */

.dep-node.rb{ min-width:172px; }
.rb-mini{ margin-top:9px; display:flex; flex-direction:column; gap:4px; }
.rb-mini span{ font-family:'Space Grotesk',sans-serif; font-size:9px; font-weight:500; color:rgba(242,239,231,.78); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:6px; padding:3px 8px; white-space:nowrap; text-align:left; }
.dep-node.core2{ background:#fff; border:1px solid #E4EAE3; box-shadow:0 8px 20px rgba(20,26,20,.05); }
.dep-node.core2 .dl2{ color:#141a15; }
.gwl{ font-family:'Instrument Sans',sans-serif; font-size:11px; font-weight:600; color:#42514a; background:#F2F4F1; border:1px solid rgba(20,26,20,.1); border-radius:7px; padding:4px 9px; }
.dep-wire.two{ position:relative; }
.dep-wire.two .wl,.dep-wire.two .wl2{ position:absolute; font-family:'Space Grotesk',sans-serif; font-size:9px; font-weight:600; color:#8a948c; background:#FBFCFB; padding:1px 5px; white-space:nowrap; }
.dep-wire.two .wl{ top:-16px; left:50%; transform:translateX(-50%); } .dep-wire.two .wl2{ top:8px; left:50%; transform:translateX(-50%); }
.dep-cap{ text-align:center; font-size:12.5px; line-height:1.5; color:#79847b; padding:0 24px 22px; max-width:560px; margin:0 auto; }

/* ── */

.dep-node.core .eb.dec{ top:-13px; left:50%; bottom:auto; transform:translateX(-50%); }
.dep-node.rb .dl2{ margin-top:2px; }

/* ── */

.fit-head{ padding-top:64px !important; }
.fit-arc{ margin-top:38px !important; margin-bottom:0 !important; }
.fit-scroll{ height:440vh; }
.fit-sticky{ align-items:center; }
.fit-grid2{ display:grid; grid-template-columns:0.3fr 0.7fr; gap:64px; align-items:center; width:100%; }
.fit-nav{ display:flex; flex-direction:column; gap:2px; }
.fit-nav-title{ font-family:'Instrument Sans','Inter',sans-serif; font-size:11.5px; font-weight:600; color:#9aa39b; text-transform:uppercase; letter-spacing:.1em; margin-bottom:18px; padding-left:14px; }
.fit-nav .fit-step{ text-align:left; border:0; background:transparent; cursor:pointer; padding:12px 14px; border-radius:10px; border-left:2px solid transparent; font-family:'Instrument Sans','Inter',sans-serif; font-size:16px; font-weight:600; letter-spacing:-.01em; color:#a6ada5; transition:background .25s, border-color .25s, color .25s; }
.fit-nav .fit-step.active{ background:#F2F6F2; border-left-color:#146430; color:#141a15; }
.fit-nav .fit-step:hover:not(.active){ color:#5b635b; }
.fit-nav-cta{ margin-top:26px; display:inline-block; width:fit-content; background:#146430; color:#fff; border-radius:9px; padding:11px 22px; font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:14px; margin-left:14px; box-shadow:0 8px 20px rgba(20,100,48,.2); }
.fit-panels{ position:relative; min-height:420px; }
.fit-panel{ position:absolute; inset:0; opacity:0; transform:translateY(14px); transition:opacity .4s cubic-bezier(.16,1,.3,1), transform .4s cubic-bezier(.16,1,.3,1); pointer-events:none; }
.fit-panel.active{ opacity:1; transform:none; pointer-events:auto; }
.fit-logos{ display:flex; align-items:center; gap:10px; margin-bottom:26px; flex-wrap:wrap; }
.fit-logos .fl{ width:46px; height:46px; border-radius:12px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(20,26,20,.05); }
.fit-logos .fl img{ width:23px; height:23px; object-fit:contain; }
.fit-logos .ftx{ font-family:'Instrument Sans',sans-serif; font-size:13px; font-weight:600; color:#42514a; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:10px; padding:12px 15px; box-shadow:0 8px 20px rgba(20,26,20,.05); }
.fit-panel h3{ font-family:'Instrument Sans',sans-serif; font-size:36px; font-weight:600; letter-spacing:-.032em; line-height:1.08; color:#141a15; margin-bottom:16px; }
.fit-panel p{ font-size:16.5px; line-height:1.6; color:var(--muted,#5b635b); max-width:540px; margin-bottom:26px; }
.fit-checks{ list-style:none; margin:0 0 30px; padding:0; display:flex; flex-direction:column; gap:13px; }
.fit-checks li{ display:flex; align-items:center; gap:12px; font-size:15.5px; color:#2c3630; font-weight:500; }
.fit-checks li svg{ width:18px; height:18px; flex:0 0 auto; }
.fit-cta{ display:inline-flex; align-items:center; gap:6px; font-family:'Instrument Sans',sans-serif; font-size:15.5px; font-weight:600; color:#146430; }
@media(max-width:900px){ .fit-scroll{ height:auto; } .fit-sticky{ position:static; height:auto; } .fit-grid2{ grid-template-columns:1fr; gap:24px; } .fit-panel{ position:static; opacity:1; transform:none; margin-bottom:40px; } .fit-panel h3{ font-size:26px; } .fit-nav-cta{ display:none; } }

/* ── */

.va-diag{ padding:28px 22px 6px; display:flex; flex-direction:column; align-items:center; }
.va-app{ width:100%; max-width:460px; border:1.5px solid #D8E2D8; border-radius:14px; background:#fff; padding:15px 16px 16px; box-shadow:0 10px 26px rgba(20,26,20,.05); }
.va-app-hd{ font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:#8a948c; margin-bottom:13px; }
.va-app-flow{ display:flex; align-items:center; gap:7px; justify-content:center; flex-wrap:wrap; }
.va-n{ background:#F7F9F7; border:1px solid #E7ECE9; border-radius:9px; padding:8px 11px; font-family:'Instrument Sans',sans-serif; font-size:12px; font-weight:600; color:#3c463f; position:relative; white-space:nowrap; }
.va-n.check{ background:#EBF7EF; border-color:#BFE3CC; color:#15703A; }
.enf-badge2{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); font-family:'Space Grotesk',sans-serif; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#15703A; background:#fff; border:1px solid #BFE3CC; border-radius:100px; padding:3px 7px; white-space:nowrap; }
.va-ar{ color:#b7beb6; font-size:13px; }
.va-link{ display:flex; gap:38px; padding:10px 0; font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.04em; color:#9aa39b; position:relative; }
.va-link::before{ content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; transform:translateX(-9px); background:repeating-linear-gradient(180deg,#c9d5cd 0 4px, transparent 4px 8px); }
.va-link::after{ content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; transform:translateX(9px); background:repeating-linear-gradient(180deg,#71c892 0 4px, transparent 4px 8px); }
.va-tp{ width:fit-content; }
.va-diag .dep-cap{ margin-top:16px; }
@media(max-width:640px){ .va-app-flow{ gap:4px; } .va-n{ font-size:11px; padding:6px 8px; } }

/* ── */

.fit-nav .fit-step{ display:flex; align-items:center; gap:12px; text-align:left; border:0 !important; background:transparent; cursor:pointer; padding:11px 13px; border-radius:12px; font-family:'Instrument Sans','Inter',sans-serif; font-size:15.5px; font-weight:600; letter-spacing:-.01em; color:#8a948c; transition:background .22s, color .22s; }
.fit-nav .fs-ic{ width:34px; height:34px; border-radius:9px; background:#F1F4F1; display:flex; align-items:center; justify-content:center; flex:0 0 auto; color:#9aa39b; transition:background .22s, color .22s; }
.fit-nav .fs-ic svg{ width:17px; height:17px; }
.fit-nav .fit-step.active{ background:#F2F6F2; color:#141a15; }
.fit-nav .fit-step.active .fs-ic{ background:#146430; color:#fff; }
.fit-nav .fit-step:hover:not(.active){ background:#F7F9F7; color:#3c463f; }
.fit-nav .fit-step:hover:not(.active) .fs-ic{ color:#5b635b; }

/* ── */

/* all steps clearly legible; active clearly highlighted */
.fit-nav .fit-step{ color:#2f3a33 !important; opacity:1 !important; padding:12px 14px; }
.fit-nav .fit-step .fs-ic{ background:#EDEFEA !important; color:#5b635b !important; }
.fit-nav .fit-step.active{ background:#EAF3EC !important; color:#0f3d26 !important; box-shadow:inset 0 0 0 1px rgba(20,100,48,.14); }
.fit-nav .fit-step.active .fs-ic{ background:#146430 !important; color:#fff !important; }
.fit-nav .fit-step:hover:not(.active){ background:#F4F6F3 !important; }
.fit-nav .fit-step span{ opacity:1 !important; }

/* ── */

.fit-nav .fit-step span{ max-height:none !important; opacity:1 !important; overflow:visible !important; margin-top:0 !important; }

/* ── */

.fit-grid2{ grid-template-columns:196px 1fr !important; gap:44px !important; }
.fit-panels{ min-height:460px !important; }
.fit-panel{ display:grid !important; grid-template-columns:1fr 0.92fr; gap:44px; align-items:center; }
.fit-visual2{ }
.fit-copy2 h3{ font-family:'Instrument Sans',sans-serif; font-size:30px; font-weight:600; letter-spacing:-.03em; line-height:1.1; color:#141a15; margin-bottom:12px; }
.fit-copy2 p{ font-size:15.5px; line-height:1.55; color:var(--muted,#5b635b); margin-bottom:22px; }
.fit-copy2 .fit-checks{ margin-bottom:24px; gap:11px; }
/* visual card */
.fv-card{ background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:16px; box-shadow:0 24px 54px rgba(20,26,20,.09); overflow:hidden; }
.fv-hd{ display:flex; align-items:center; gap:8px; padding:13px 16px; border-bottom:1px solid #EEF1EC; font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:#5b635b; }
.fv-hd img.fi{ width:15px; height:15px; }
.fv-sub{ margin-left:auto; text-transform:none; letter-spacing:0; font-weight:500; color:#a2aaa1; }
.fdot{ width:7px; height:7px; border-radius:50%; background:#57BE7D; flex:0 0 auto; }
.fv-body{ padding:12px 16px 16px; }
.fv-row{ display:flex; align-items:center; gap:9px; padding:9px 0; border-bottom:1px solid #F4F6F3; font-size:13px; color:#33403a; }
.fv-row:last-child{ border-bottom:none; }
.fv-row.off .fmono{ color:#aeb5ac; }
.fmono{ font-family:'Space Grotesk',sans-serif; font-size:12.5px; }
.fv-row img.fi{ width:17px; height:17px; border-radius:4px; }
.fi.ph{ width:17px; height:17px; border-radius:4px; background:#EDEFEA; flex:0 0 auto; }
.fv-ck{ width:17px; height:17px; border-radius:5px; background:#146430; flex:0 0 auto; position:relative; }
.fv-ck::after{ content:""; position:absolute; left:5px; top:3px; width:4px; height:7px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(42deg); }
.fv-ck.o{ background:#E6E9E4; } .fv-ck.o::after{ display:none; }
.ftag{ margin-left:auto; font-family:'Space Grotesk',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#15703A; background:#EBF7EF; border:1px solid #BFE3CC; border-radius:100px; padding:3px 9px; }
.fv-scopes{ display:flex; gap:6px; margin-top:12px; }
.fv-scopes span{ font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:#146430; background:#EBF4EE; border:1px solid #D2E7D9; border-radius:100px; padding:4px 10px; }
.fv-flow{ display:flex; align-items:center; gap:9px; justify-content:center; padding:6px 0 14px; border-bottom:1px solid #F1F4F1; margin-bottom:6px; }
.far{ color:#b7beb6; }
.fv-tp{ background:#0C1811; color:#F2EFE7; border-radius:8px; padding:6px 12px; font-family:'Instrument Sans',sans-serif; font-size:12px; font-weight:600; }
.fv-btn{ width:100%; margin-top:12px; background:#F2F6F2; border:1px solid #D9E7DE; border-radius:9px; padding:10px; font-family:'Instrument Sans',sans-serif; font-size:13px; font-weight:600; color:#146430; cursor:pointer; }
.fv-logs .fv-log{ display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #F4F6F3; }
.fv-log .lg{ font-family:'Space Grotesk',sans-serif; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; border-radius:100px; padding:3px 9px; flex:0 0 auto; }
.lg.ok{ color:#15703A; background:#EBF7EF; border:1px solid #BFE3CC; }
.lg.hold{ color:#9A5A0C; background:#FCF4E3; border:1px solid #F0DCB0; }
.lg.block{ color:#B8382B; background:#FBEDEA; border:1px solid #F0D2CC; }
.fv-lbl{ font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#9aa39b; margin-bottom:8px; }
.fv-prompt{ font-family:'Space Grotesk',sans-serif; font-size:13px; color:#33403a; background:#F7F9F7; border:1px solid #EBEFE9; border-radius:9px; padding:11px 13px; margin-bottom:12px; }
.rd{ background:#141a15; color:#141a15; border-radius:3px; letter-spacing:-1px; }
.fv-ap-a{ font-family:'Space Grotesk',sans-serif; font-size:14px; font-weight:600; color:#141a15; }
.fv-ap-s{ font-size:12.5px; color:#9A5A0C; margin-top:4px; margin-bottom:14px; }
.fv-ap-b{ display:flex; align-items:center; gap:8px; }
.fv-allow{ background:#146430; color:#fff; border:0; border-radius:8px; padding:9px 18px; font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:13px; cursor:pointer; }
.fv-block{ background:#fff; border:1px solid #E9D9D5; border-radius:8px; padding:9px 16px; font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:13px; color:#B8382B; cursor:pointer; }
.fv-its{ margin-left:auto; font-size:11px; color:#a2aaa1; }
@media(max-width:1050px){ .fit-panel{ grid-template-columns:1fr; gap:28px; } }

/* ── */

/* realistic app-card mockups */
.ac{ background:#fff; border:1px solid #E6EAE4; border-radius:15px; box-shadow:0 1px 2px rgba(20,26,20,.04), 0 34px 64px -24px rgba(20,26,20,.28); overflow:hidden; font-family:'Inter',sans-serif; max-width:430px; }
.ac-hd{ display:flex; align-items:center; gap:9px; padding:13px 15px; border-bottom:1px solid #EFF1EC; }
.ac-ic{ width:28px; height:28px; border-radius:8px; background:#EDF4EF; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.ac-ic svg{ width:16px; height:16px; }
.ac-hd img.aci{ width:22px; height:22px; border-radius:6px; }
.ac-t{ font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:14.5px; color:#141a15; }
.ac-badge{ font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.03em; color:#42514a; background:#F1F4F1; border:1px solid #E4E9E2; border-radius:6px; padding:3px 8px; }
.ac-badge.live{ color:#15703A; background:#EBF7EF; border-color:#C6E6D1; display:inline-flex; align-items:center; gap:5px; }
.ac-badge.live i{ width:6px; height:6px; border-radius:50%; background:#33B36B; display:inline-block; animation:pulse2 2.2s infinite; }
.ac-dots{ margin-left:auto; color:#c2c9c1; letter-spacing:1px; font-weight:700; }
.ac-meta2{ margin-left:auto; font-size:11.5px; color:#9aa39b; display:inline-flex; align-items:center; gap:6px; }
.ac-meta2 i.grn,.ac-meta2 i{ width:7px; height:7px; border-radius:50%; background:#33B36B; display:inline-block; }
.ac-search{ display:flex; align-items:center; gap:8px; margin:12px 15px 4px; padding:9px 12px; background:#F7F9F7; border:1px solid #ECEFEA; border-radius:9px; font-size:12.5px; color:#9aa39b; }
.ac-search svg{ width:14px; height:14px; }
.ac-rows{ padding:6px 15px 10px; }
.ac-rows.dense{ padding:8px 15px 12px; }
.ac-r{ display:flex; align-items:center; gap:11px; padding:10px 0; border-bottom:1px solid #F4F6F3; }
.ac-r:last-child{ border-bottom:none; }
.ac-r img.aci{ width:24px; height:24px; border-radius:6px; flex:0 0 auto; }
.ac-lg{ width:24px; height:24px; border-radius:6px; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:12px; flex:0 0 auto; }
.ac-rt{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.ac-rt b{ font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:600; color:#20281f; }
.ac-rt span{ font-size:11.5px; color:#98a29a; }
.ac-r.off .ac-rt b{ color:#aab2a9; }
.tog{ margin-left:auto; width:34px; height:20px; border-radius:100px; background:#146430; position:relative; flex:0 0 auto; }
.tog::after{ content:""; position:absolute; top:2px; left:16px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.28); }
.tog.off{ background:#D8DCD6; } .tog.off::after{ left:2px; }
.ac-pill{ margin-left:auto; font-family:'Space Grotesk',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; border-radius:100px; padding:3px 9px; flex:0 0 auto; }
.ac-pill.ok{ color:#15703A; background:#EBF7EF; border:1px solid #C6E6D1; }
.ac-pill.hold{ color:#9A5A0C; background:#FCF4E3; border:1px solid #F0DCB0; }
.ac-pill.block{ color:#B8382B; background:#FBEDEA; border:1px solid #F0D2CC; }
.ac-ft{ display:flex; align-items:center; gap:7px; padding:12px 15px; border-top:1px solid #EFF1EC; background:#FCFDFC; }
.ac-scope{ font-family:'Space Grotesk',sans-serif; font-size:9.5px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:#146430; background:#EBF4EE; border:1px solid #D2E7D9; border-radius:100px; padding:4px 9px; }
.ac-count{ margin-left:auto; font-size:11px; color:#9aa39b; }
.ac-btn{ width:100%; display:flex; align-items:center; justify-content:center; gap:7px; background:#146430; border:0; border-radius:9px; padding:10px; font-family:'Instrument Sans',sans-serif; font-size:13px; font-weight:600; color:#fff; cursor:pointer; }
.ac-btn svg{ width:14px; height:14px; }
.ac-log{ display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #F4F6F3; }
.ac-log:last-child{ border-bottom:none; }
.ac-log .ts{ font-family:'Space Grotesk',sans-serif; font-size:11px; color:#aab2a9; flex:0 0 auto; }
.lgm{ font-family:'Space Grotesk',sans-serif; font-size:12px; color:#33403a; }
.ac-inf{ padding:14px 15px 16px; }
.ac-inf-lbl{ font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#9aa39b; margin-bottom:8px; }
.ac-inf-box{ font-family:'Space Grotesk',sans-serif; font-size:12.5px; line-height:1.55; color:#33403a; background:#F7F9F7; border:1px solid #ECEFEA; border-radius:10px; padding:12px 13px; margin-bottom:13px; }
.rd2{ background:#1b211b; color:#1b211b; border-radius:3px; padding:0 2px; letter-spacing:-1px; }
.ac-inf-n{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:#33403a; padding:6px 0; }
.ac-ck2{ width:17px; height:17px; border-radius:5px; background:#146430; flex:0 0 auto; position:relative; }
.ac-ck2::after{ content:""; position:absolute; left:5px; top:3px; width:4px; height:7px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(42deg); }
.ac-slack{ padding:14px 15px 16px; }
.ac-sl-top{ display:flex; align-items:center; gap:8px; margin-bottom:9px; }
.ac-av{ width:24px; height:24px; border-radius:6px; background:#146430; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:10px; }
.ac-sl-name{ font-family:'Instrument Sans',sans-serif; font-weight:700; font-size:13px; color:#141a15; }
.ac-app{ font-size:8.5px; font-weight:700; letter-spacing:.06em; color:#8a948c; background:#EEF0EC; border-radius:4px; padding:2px 5px; }
.ac-sl-time{ margin-left:auto; font-size:11px; color:#aab2a9; }
.ac-sl-msg{ font-size:13.5px; line-height:1.5; color:#2c3630; }
.ac-sl-why{ font-size:12px; color:#9A5A0C; margin-top:6px; }
.ac-sl-b{ display:flex; align-items:center; gap:8px; margin-top:13px; }
.ac-its{ margin-left:auto; display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:#FF4E00; }
.ac-its svg{ width:13px; height:13px; }
@media(max-width:1050px){ .ac{ max-width:none; } }

/* ── */

/* soft background panel behind each mockup (Spott-style) */
.fit-visual2{ background:#EEF1EC; border-radius:24px; padding:42px 38px; display:flex; align-items:center; justify-content:center; min-height:436px; }
.fit-visual2 .ac{ width:100%; max-width:384px; }
/* smaller, lighter nav list */
.fit-nav-title{ font-size:11px !important; margin-bottom:12px !important; padding-left:12px !important; }
.fit-nav .fit-step{ font-size:13.5px !important; font-weight:600 !important; padding:8px 12px !important; gap:10px !important; border-radius:9px !important; }
.fit-nav .fs-ic{ width:26px !important; height:26px !important; border-radius:7px !important; }
.fit-nav .fs-ic svg{ width:14px !important; height:14px !important; }
.fit-grid2{ grid-template-columns:180px 1fr !important; gap:40px !important; }
/* polish the mockup: softer borders, gentler dividers, deeper-but-softer shadow */
.ac{ border:1px solid #EBEEE7 !important; border-radius:18px !important; box-shadow:0 1px 2px rgba(20,26,20,.03), 0 28px 52px -28px rgba(20,26,20,.34) !important; max-width:none !important; }
.ac-hd{ border-bottom-color:#F2F5F1 !important; padding:14px 17px !important; }
.ac-r{ border-bottom-color:#F5F8F4 !important; padding:11px 0 !important; }
.ac-log{ border-bottom-color:#F5F8F4 !important; }
.ac-ft{ border-top-color:#F2F5F1 !important; background:#FCFDFC !important; padding:13px 17px !important; }
.ac-search{ background:#F6F8F5 !important; border-color:#EEF1EC !important; border-radius:10px !important; margin:13px 17px 4px !important; }
.ac-rows{ padding:6px 17px 10px !important; }
.ac-inf, .ac-slack{ padding:15px 17px 17px !important; }
.ac-inf-box{ border-radius:11px !important; }

/* ── */

/* connective scroll-thread between sections */
.scroll-thread{ display:flex; justify-content:center; align-items:center; height:66px; margin:-14px 0; position:relative; z-index:3; pointer-events:none; }
.st-rail{ position:relative; width:2px; height:58px; border-radius:2px; background:linear-gradient(180deg, transparent, rgba(20,26,20,.13) 26%, rgba(20,26,20,.13) 74%, transparent); }
.st-rail::after{ content:""; position:absolute; left:50%; transform:translateX(-50%); top:0; width:7px; height:7px; border-radius:50%; background:#146430; box-shadow:0 0 12px rgba(20,100,48,.6); animation:threaddot 2.6s cubic-bezier(.45,0,.55,1) infinite; }
@keyframes threaddot{ 0%{ top:-4px; opacity:0 } 14%{ opacity:1 } 82%{ opacity:1 } 100%{ top:54px; opacity:0 } }
@media(prefers-reduced-motion:reduce){ .st-rail::after{ animation:none; top:26px; } }
/* elegant dark finale — retire the saturated green mesh */
.close-sec .layers .mesh{
  background:
    radial-gradient(52% 40% at 50% 0%, rgba(78,172,120,.22), transparent 60%),
    linear-gradient(180deg, #FBFBF9 0%, #12301F 13%, #0D1E15 34%, #0A140F 64%, #070C09 100%) !important;
  filter:blur(7px) saturate(1.02) !important; inset:-3px !important;
}
.close-sec .layers .streaks{ opacity:.16 !important; }

/* ── */

.sec-eyebrow b{ color:#146430; font-weight:700; }
.bp-img{ height:174px !important; position:relative; overflow:hidden; border-radius:16px 16px 0 0; }
.bp-msh{ position:absolute; inset:0; }
.bp-img::after{ content:""; position:absolute; inset:0; opacity:.13; mix-blend-mode:overlay; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E"); }
.bp-img.gov .bp-msh{ background:radial-gradient(120% 120% at 18% 0%, #2e6b52, #113c29 82%); }
.bp-img.enf .bp-msh{ background:radial-gradient(120% 120% at 18% 0%, #2c5a70, #15303f 82%); }
.bp-img.sec .bp-msh{ background:radial-gradient(120% 120% at 18% 0%, #8a6a2e, #4a3617 82%); }
.bp-img.acc .bp-msh{ background:radial-gradient(120% 120% at 18% 0%, #3a6e52, #13321f 82%); }
.bp-img.int .bp-msh{ background:radial-gradient(120% 120% at 18% 0%, #4c4370, #2a2440 82%); }
.bp-img.eu .bp-msh{ background:radial-gradient(120% 120% at 18% 0%, #245a8a, #123049 82%); }
.bp-glyph{ position:absolute; right:-16px; bottom:-22px; width:132px; height:132px; opacity:.16; z-index:1; }
.bp-cat{ position:absolute; left:14px; bottom:13px; z-index:2; font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:600; letter-spacing:.02em; color:#fff; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.24); border-radius:100px; padding:4px 11px; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.bp-card h3{ margin-bottom:14px; }
.bp-meta{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:#98a29a; }
.bp-av{ width:22px; height:22px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:9px; flex:0 0 auto; }
.bp-auth{ color:#3c463f; font-weight:600; }
.bp-dot{ color:#ccd2cb; }
.close-sec .layers .mesh{ background:radial-gradient(50% 38% at 50% 0%, rgba(70,150,105,.15), transparent 60%), linear-gradient(180deg, #FBFBF9 0%, #1a241e 12%, #131815 33%, #0E110F 64%, #0A0C0A 100%) !important; filter:blur(7px) saturate(1) !important; }
.wp{ background:rgba(255,255,255,.045) !important; border:1px solid rgba(255,255,255,.1) !important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }

/* ── */

/* premium deep-aurora background */
.close-sec .layers .mesh{
  background:
    radial-gradient(55% 52% at 22% 16%, rgba(46,122,86,.32), transparent 58%),
    radial-gradient(46% 42% at 88% 26%, rgba(52,92,122,.20), transparent 56%),
    linear-gradient(180deg, #FBFBF9 0%, #12271D 9%, #0E1C15 32%, #0A1410 66%, #080F0C 100%) !important;
  filter:blur(9px) saturate(1.06) !important;
}
.close-sec .layers .streaks{ opacity:.12 !important; }
/* two-column composition */
.close-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center; padding:36px 0 60px; }
.close-copy{ }
.close-eyebrow{ font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#79c79c; margin-bottom:20px; }
.close-copy h2{ color:#fff !important; font-size:46px !important; letter-spacing:-.032em !important; line-height:1.06 !important; margin-bottom:18px; font-weight:500 !important; }
.close-copy .sub{ color:rgba(255,255,255,.7) !important; font-size:17px; line-height:1.55; max-width:440px; margin-bottom:30px; }
.close-points{ display:flex; flex-direction:column; gap:14px; margin-bottom:30px; }
.cpt{ display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.86); font-size:15.5px; }
.cpt svg{ width:19px; height:19px; flex:0 0 auto; }
.close-wp{ display:inline-flex; align-items:center; gap:12px; max-width:420px; color:rgba(255,255,255,.82); font-size:13.5px; line-height:1.4; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.12); border-radius:13px; padding:13px 16px; transition:background .18s, border-color .18s; }
.close-wp:hover{ background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.22); }
.close-wp > svg{ width:20px; height:20px; flex:0 0 auto; color:#79c79c; }
.close-wp b{ color:#fff; font-weight:600; }
.close-wp .cw-ar{ margin-left:auto; color:#79c79c; font-size:16px; }
.close-sec .signup{ margin:0 !important; }
@media(max-width:900px){ .close-grid{ grid-template-columns:1fr; gap:36px; } .close-copy h2{ font-size:32px !important; } }

/* ── */

/* hero: secured-by-aikido */
.hero-secured{ display:flex; align-items:center; gap:9px; margin-top:22px; flex-wrap:wrap; }
.hero-secured .hs-lbl{ font-family:'Space Grotesk',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#9aa39b; }
.hero-secured img{ width:19px; height:19px; border-radius:5px; }
.hero-secured b{ font-size:13.5px; font-weight:600; color:#3c463f; }
.hero-secured .hs-sub{ font-size:12.5px; color:#9aa39b; }
/* CTA on light */
.close-sec{ background:var(--bg,#FBFBF9) !important; padding:104px 0 !important; }
.close-sec .layers{ display:none !important; }
.close-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:66px; align-items:center; }
.close-eyebrow{ font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#146430; margin-bottom:20px; }
.close-copy h2{ color:#141a15 !important; font-size:46px !important; letter-spacing:-.032em !important; line-height:1.06 !important; margin-bottom:18px; font-weight:500 !important; }
.close-copy .sub{ color:var(--muted,#5b635b) !important; font-size:17px; line-height:1.55; max-width:440px; margin-bottom:30px; }
.close-points{ display:flex; flex-direction:column; gap:14px; }
.cpt{ display:flex; align-items:center; gap:12px; color:#2c3630; font-size:15.5px; font-weight:500; }
.cpt svg{ width:19px; height:19px; flex:0 0 auto; }
/* form card on light */
.close-sec .signup{ margin:0 !important; background:#fff !important; border:1px solid var(--line,rgba(20,26,20,.1)) !important; border-radius:20px !important; box-shadow:0 2px 4px rgba(20,26,20,.03), 0 34px 70px -34px rgba(20,26,20,.28) !important; padding:32px !important; }
.close-sec .signup h3{ color:#141a15 !important; }
.close-sec .signup .su-sub{ color:var(--muted,#5b635b) !important; }
.close-sec .signup input, .close-sec .signup textarea{ background:#FBFCFB !important; border:1px solid #E6EAE4 !important; color:#141a15 !important; }
.close-sec .signup .su-note{ color:#9aa39b !important; }
/* top-notch dark footer (neutral, no green) */
.site-footer{ background:#0C0F0D !important; padding:78px 0 42px !important; margin-top:0 !important; border:none !important; }
.site-footer .inner{ max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }
.ft-grid{ display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr 1fr; gap:44px; }
.fb-logo{ font-size:19px; }
.ft-brand p{ font-size:14px; line-height:1.55; color:rgba(255,255,255,.6); max-width:280px; margin:16px 0 22px; }
.ft-social a{ border-color:rgba(255,255,255,.14); } .ft-social a:hover{ background:rgba(255,255,255,.07); }
.ft-social svg{ fill:rgba(255,255,255,.72); }
.ft-backed{ margin-top:28px; }
.ft-bk-lbl{ font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:rgba(255,255,255,.38); margin-bottom:13px; }
.ft-bk-row{ display:flex; gap:10px; flex-wrap:wrap; }
.ft-bk{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09); border-radius:10px; padding:7px 12px 7px 8px; }
.ft-bk img{ width:24px; height:24px; border-radius:6px; background:#fff; object-fit:contain; }
.ft-bk b{ font-size:12.5px; font-weight:600; color:rgba(255,255,255,.82); }
.ft-col h4{ color:rgba(255,255,255,.95); font-size:12px; letter-spacing:.05em; margin-bottom:16px; }
.ft-col a{ color:rgba(255,255,255,.6); font-size:13.5px; padding:6px 0; } .ft-col a:hover{ color:#fff; }
.ft-bottom{ margin-top:56px; padding-top:28px; border-top:1px solid rgba(255,255,255,.09); color:rgba(255,255,255,.5); }
.ft-legal a{ color:rgba(255,255,255,.5); } .ft-legal a:hover{ color:#fff; }
@media(max-width:900px){ .close-grid{ grid-template-columns:1fr; gap:36px; } .close-copy h2{ font-size:32px !important; } .ft-grid{ grid-template-columns:1fr 1fr; gap:32px; } .ft-brand{ grid-column:1/-1; } }

/* ── */

/* testimonial carousel */
.tm-sec{ background:#F7F8F5 !important; padding:104px 0 !important; }
.tm-eyebrow{ display:inline-block; font-family:'Instrument Sans','Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:.02em; color:#146430; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:100px; padding:7px 16px; margin:0 auto 44px; text-transform:none; }
.tm-sec .inner{ text-align:center; }
.tm-stage{ position:relative; min-height:300px; max-width:840px; margin:0 auto; }
.tm-slide{ position:absolute; inset:0; opacity:0; transform:translateY(10px); transition:opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1); pointer-events:none; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.tm-slide.active{ opacity:1; transform:none; pointer-events:auto; }
.tm-quote{ font-family:'Instrument Sans','Inter',sans-serif; font-size:33px; font-weight:500; line-height:1.3; letter-spacing:-.022em; color:#161b16; max-width:820px; margin:0 auto 34px; }
.tm-author{ display:flex; align-items:center; gap:13px; justify-content:center; }
.tm-av{ width:50px; height:50px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; flex:0 0 auto; }
.tm-who{ text-align:left; }
.tm-who b{ display:block; font-family:'Instrument Sans',sans-serif; font-size:15px; font-weight:600; color:#141a15; }
.tm-who span{ font-size:13px; color:#6b756c; }
.tm-nav{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:46px; }
.tm-arrow{ width:40px; height:40px; border-radius:50%; border:1px solid var(--line,rgba(20,26,20,.14)); background:#fff; color:#3c463f; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .18s, color .18s; }
.tm-arrow:hover{ border-color:#146430; color:#146430; }
.tm-dots{ display:flex; gap:8px; }
.tm-dot{ width:36px; height:36px; border-radius:50%; border:1px solid var(--line,rgba(20,26,20,.14)); background:transparent; color:#9aa39b; font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:600; cursor:pointer; transition:border-color .18s, color .18s, background .18s; }
.tm-dot:hover{ color:#3c463f; }
.tm-dot.active{ border-color:#146430; color:#146430; background:#EEF6F0; }
@media(max-width:760px){ .tm-quote{ font-size:23px; } .tm-stage{ min-height:340px; } }
/* close: pill + final CTA */
.close-eyebrow.pill{ display:inline-block; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:100px; padding:7px 16px; color:#146430; text-transform:none; letter-spacing:.01em; font-family:'Instrument Sans',sans-serif; font-size:12px; font-weight:600; }
.close-points{ margin-bottom:28px; }
.close-cta{ display:flex; gap:12px; margin-bottom:16px; }
.cc-primary{ background:#146430; color:#fff; border-radius:11px; padding:14px 26px; font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:15px; box-shadow:0 10px 24px rgba(20,100,48,.2); }
.cc-ghost{ background:#fff; border:1px solid var(--line,rgba(20,26,20,.14)); color:#141a15; border-radius:11px; padding:14px 24px; font-family:'Instrument Sans',sans-serif; font-weight:600; font-size:15px; }
.close-nocc{ display:flex; align-items:center; gap:7px; font-size:13px; color:#9aa39b; }
.close-nocc svg{ width:16px; height:16px; }

/* ── */

.btn{ white-space:nowrap; }
header .btn-big{ white-space:nowrap; }
.btn-outline{ background:#fff; border:1px solid var(--line,rgba(20,26,20,.14)); color:#141a15; }
.btn-outline:hover{ background:#F6F8F5; border-color:rgba(20,26,20,.24); }
@property --bga{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
.btn-glow{ position:relative; isolation:isolate; }
.btn-glow::after{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1.7px; background:conic-gradient(from var(--bga), transparent 58%, #fff 75%, rgba(255,255,255,.4) 82%, transparent 88%); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; animation:bgaspin 3s linear infinite; pointer-events:none; }
@keyframes bgaspin{ to{ --bga:360deg; } }
@media(prefers-reduced-motion:reduce){ .btn-glow::after{ animation:none; } }

/* ── */

.dep-sec .seg-b{ display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; text-align:center !important; gap:2px; }

/* ── */

/* clean nav login (declutter) */
.nav-login{ color:#3c463f; font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px; padding:8px 4px; text-decoration:none; transition:color .15s; }
.nav-login:hover{ color:#141a15; }
/* toggle: centered + rounded/styled */
.dep-sec .seg{ border-radius:16px !important; padding:6px !important; }
.dep-sec .seg::before{ border-radius:12px !important; top:6px !important; left:6px !important; bottom:6px !important; width:calc(50% - 6px) !important; }
.dep-sec .seg-b{ text-align:center !important; border-radius:12px !important; padding:12px 22px !important; }
.dep-sec .seg-b b{ display:block; text-align:center; }
.dep-sec .seg-b span{ display:block; text-align:center; }
/* human approval badge next to TapPass */
.dep-node.core{ overflow:visible; }
.human-badge{ position:absolute; top:-14px; right:-14px; width:30px; height:30px; border-radius:50%; background:#fff; border:1px solid #BFE3CC; box-shadow:0 5px 12px rgba(20,26,20,.14); display:flex; align-items:center; justify-content:center; z-index:3; }
.human-badge svg{ width:16px; height:16px; }
/* verdict diagram: app vs api gateway */
.va-down{ text-align:center; color:#b7beb6; font-size:15px; line-height:1; padding:3px 0; }
.va-gw{ background:#F6FAF7 !important; border-color:#D8E7DE !important; }
.va-gw-names{ display:block; font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:500; color:#8a948c; text-transform:none; letter-spacing:.01em; margin-top:3px; }
.va-app-hd{ line-height:1.3; }

/* ── */

/* verdict: API-gateway node inside the horizontal flow */
.va-n.gw{ background:#EBF7EF !important; border-color:#BFE3CC !important; color:#15703A !important; display:inline-flex; flex-direction:column; align-items:center; gap:1px; line-height:1.15; }
.va-n.gw small{ font-family:'Space Grotesk',sans-serif; font-size:9px; font-weight:500; color:#4f8f68; }
.va-down, .va-gw, .va-gw-names{ display:none !important; }
/* testimonial: anonymous + refined */
.tm-quote{ font-size:36px !important; font-weight:500 !important; letter-spacing:-.025em !important; line-height:1.18 !important; color:#141a15 !important; max-width:800px; margin:0 auto 22px !important; }
.tm-support{ font-size:17px; line-height:1.6; color:var(--muted,#5b635b); max-width:600px; margin:0 auto 34px; }
.tm-av{ width:46px !important; height:46px !important; display:flex; align-items:center; justify-content:center; }
.tm-av .tm-ic{ width:24px; height:24px; }
.tm-who{ text-align:left; }
.tm-who b{ font-family:'Instrument Sans',sans-serif; font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#141a15; }
.tm-who span{ font-family:'Instrument Sans',sans-serif; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:#9aa39b; }
.tm-stage{ min-height:340px; }
@media(max-width:760px){ .tm-quote{ font-size:25px !important; } }

/* ── */

.dep-sec .seg-b, .dep-sec .seg-b.active{ background:transparent !important; box-shadow:none !important; }
.dep-sec .seg-b.active b{ color:#141a15 !important; } .dep-sec .seg-b.active span{ color:#5b635b !important; }
.dep-sec .seg-b:not(.active) b{ color:#3c463f !important; } .dep-sec .seg-b:not(.active) span{ color:#8a948c !important; }
.dep-sec .seg::before{ background:#fff !important; box-shadow:0 1px 3px rgba(20,26,20,.16) !important; z-index:0 !important; }
.dep-sec .seg-b{ position:relative; z-index:1; }

/* ── */

/* definitive toggle: white active pill, no green, no thumb */
.dep-sec .seg::before{ display:none !important; }
.dep-sec .seg{ background:#ECEEEA !important; }
.dep-sec .seg-b{ background:transparent !important; box-shadow:none !important; transition:background .2s; }
.dep-sec .seg-b.active{ background:#fff !important; box-shadow:0 1px 3px rgba(20,26,20,.16) !important; }
.dep-sec .seg-b.active b{ color:#141a15 !important; } .dep-sec .seg-b.active span{ color:#5b635b !important; }
.dep-sec .seg-b:not(.active) b{ color:#3c463f !important; } .dep-sec .seg-b:not(.active) span{ color:#8a948c !important; }

/* ── */

.book-fab{ position:fixed; right:0; top:46%; transform:translateY(-50%); z-index:350; display:flex; align-items:center; font-family:'Inter',sans-serif; }
.bf-tab{ background:#146430; color:#fff; border:0; border-radius:14px 0 0 14px; padding:15px 10px; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:10px; box-shadow:-6px 0 22px rgba(20,26,20,.16); transition:padding-right .2s; }
.bf-tab svg{ width:19px; height:19px; }
.bf-tab span{ writing-mode:vertical-rl; text-orientation:mixed; font-weight:600; font-size:12.5px; letter-spacing:.02em; }
.book-fab:hover .bf-tab{ padding-right:13px; background:#0f4f26; }
.bf-alt{ font-size:12px; color:#9aa39b; text-align:center; margin-top:11px; }
.bf-alt a{ color:#146430; font-weight:600; }
@media(max-width:820px){ .book-fab{ display:none; } }

/* ── */

.fit-brands{ display:flex; gap:9px; margin-bottom:20px; }
.fit-brands img{ width:34px; height:34px; border-radius:9px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); padding:6px; object-fit:contain; box-shadow:0 5px 13px rgba(20,26,20,.05); }

/* ── */

.fit-brands .fb-svg{ width:34px; height:34px; border-radius:9px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); display:flex; align-items:center; justify-content:center; box-shadow:0 5px 13px rgba(20,26,20,.05); }
.fit-brands .fb-svg svg{ width:19px; height:19px; }
/* peeking, contained, tighter testimonial */
.tm-sec{ background:#F7F8F5 !important; padding:66px 0 84px !important; overflow:hidden; text-align:center; }
.tm-eyebrow{ margin:0 auto 40px !important; }
.tm-viewport{ width:100%; overflow:hidden; }
.tm-track{ display:flex; align-items:flex-start; transition:transform .55s cubic-bezier(.16,1,.3,1); will-change:transform; }
.tm-slide{ flex:0 0 min(600px,84vw); margin:0 22px; padding:0 4px; opacity:.26 !important; transform:none !important; transition:opacity .45s !important; position:static !important; display:block !important; }
.tm-slide.active{ opacity:1 !important; }
.tm-quote{ font-size:30px !important; font-weight:500 !important; letter-spacing:-.022em !important; line-height:1.24 !important; color:#141a15 !important; margin:0 auto 18px !important; max-width:none !important; }
.tm-support{ font-size:15.5px !important; line-height:1.55; color:var(--muted,#5b635b); max-width:none; margin:0 auto 26px !important; }
.tm-author{ display:flex; gap:12px; justify-content:center; align-items:center; }
.tm-av{ width:44px !important; height:44px !important; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.tm-av .tm-ic{ width:23px; height:23px; }
.tm-who{ text-align:left; }
.tm-who b{ font-family:'Instrument Sans',sans-serif; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#141a15; }
.tm-who span{ font-family:'Instrument Sans',sans-serif; font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:#9aa39b; }
.tm-nav{ display:flex; justify-content:center; align-items:center; gap:18px; margin-top:38px; }
/* less whitespace: tighten how-it-fits -> testimonial transition */
.fit-scroll{ height:392vh !important; }
.fit-sec{ padding-bottom:0 !important; }
/* condense the request-access form */
.close-sec .signup{ padding:26px !important; }
.close-sec .signup h3{ font-size:20px !important; margin-bottom:3px !important; }
.close-sec .signup .su-sub{ font-size:12.5px !important; line-height:1.45 !important; margin-bottom:15px !important; }
.beta-form input, .beta-form textarea{ padding:10px 12px !important; font-size:14px !important; }
.beta-form textarea{ min-height:56px !important; }
.beta-form > *{ margin-bottom:10px !important; }
.beta-form .frow{ margin-bottom:10px !important; }
.su-btn{ padding:12px !important; font-size:14.5px !important; }
.su-note{ font-size:11px !important; margin-top:9px !important; }
/* ===== platform / subpage system ===== */
.page-hero{ padding:64px 0 48px; background:var(--bg,#FBFBF9); position:relative; overflow:hidden; }
.page-hero::before{ content:""; position:absolute; z-index:0; width:620px; height:620px; border-radius:50%; filter:blur(80px); top:-24%; left:-4%; background:radial-gradient(circle, rgba(20,100,48,.16), transparent 70%); }
.page-hero .inner{ position:relative; z-index:2; max-width:840px; }
.page-hero .sec-eyebrow b{ color:#146430; }
.page-hero h1{ font-family:'Instrument Sans',sans-serif; font-weight:500; font-size:56px; letter-spacing:-.035em; line-height:1.03; color:#141a15; margin:16px 0 18px; }
.page-sub{ font-size:19px; line-height:1.55; color:var(--muted,#5b635b); max-width:600px; margin-bottom:30px; }
.page-hero .ctas{ margin-bottom:22px; }
.hs-link{ color:#146430; font-weight:600; font-size:13.5px; }
.pf-sec{ background:#F7F8F5; }
.pf-head{ text-align:center; max-width:620px; margin:0 auto 48px; }
.pf-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pf-grid.g3{ grid-template-columns:repeat(3,1fr); } .pf-grid.g2{ grid-template-columns:repeat(2,1fr); }
.pf-card{ background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:16px; padding:26px 22px; box-shadow:0 1px 2px rgba(20,26,20,.03), 0 16px 34px -18px rgba(20,26,20,.14); }
a.pf-card{ display:block; transition:transform .2s, box-shadow .2s; } a.pf-card:hover{ transform:translateY(-3px); box-shadow:0 24px 44px -18px rgba(20,26,20,.2); }
.pf-ic{ width:44px; height:44px; border-radius:12px; background:#EDF4EF; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.pf-ic svg{ width:22px; height:22px; stroke:#146430; fill:none; }
.pf-card h3{ font-size:18px; letter-spacing:-.02em; margin-bottom:9px; color:#141a15; }
.pf-card p{ font-size:14px; line-height:1.55; color:var(--muted,#5b635b); }
.pf-more{ display:inline-block; margin-top:14px; font-size:13.5px; font-weight:600; color:#146430; }
.pf-code-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.pf-p{ font-size:16px; line-height:1.6; color:var(--muted,#5b635b); margin:14px 0 22px; max-width:440px; }
.code-block{ background:#0C120E; border-radius:16px; padding:26px 24px; font-family:'Space Grotesk',monospace; font-size:14px; line-height:1.9; color:#dfe6e0; box-shadow:0 30px 60px -28px rgba(10,25,17,.5); }
.cb-comment{ color:#6d8a78; } .cb-str{ color:#8fd6a8; }
@media(max-width:900px){ .pf-grid,.pf-grid.g3{ grid-template-columns:1fr 1fr; } .pf-code-grid{ grid-template-columns:1fr; gap:28px; } .page-hero h1{ font-size:38px; } }

/* ===== detail-page anatomy ===== */
.stakes{ background:#0C120E; color:#e7ede8; }
.stakes .inner{ max-width:820px; text-align:center; padding:16px 0; }
.stakes .st-eyebrow{ font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#79c79c; margin-bottom:18px; }
.stakes h2{ color:#fff !important; font-size:34px; letter-spacing:-.02em; line-height:1.2; margin-bottom:16px; }
.stakes p{ color:rgba(255,255,255,.7); font-size:17px; line-height:1.6; max-width:620px; margin:0 auto; }
.stakes .st-hl{ color:#8fd6a8; }
.obj-grid{ display:flex; flex-direction:column; gap:14px; max-width:820px; margin:0 auto; }
.obj{ background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:16px; padding:24px 26px; box-shadow:0 1px 2px rgba(20,26,20,.03); }
.obj .obj-q{ display:flex; align-items:center; gap:10px; font-family:'Instrument Sans',sans-serif; font-size:17px; font-weight:600; color:#141a15; margin-bottom:10px; }
.obj .obj-q svg{ width:19px; height:19px; stroke:#146430; flex:0 0 auto; }
.obj p{ font-size:15px; line-height:1.6; color:var(--muted,#5b635b); }
.obj p b{ color:#141a15; }
.trustbar{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:8px; }
.trustbar span{ font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:.03em; color:#42514a; background:#F2F4F1; border:1px solid var(--line,rgba(20,26,20,.1)); border-radius:100px; padding:8px 15px; }
.pf-mock-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.oneq{ background:#F7F8F5; }
.oneq blockquote{ font-family:'Instrument Sans',sans-serif; font-size:28px; font-weight:500; letter-spacing:-.02em; line-height:1.3; color:#141a15; max-width:820px; margin:0 auto 22px; text-align:center; }
.oneq .oq-who{ display:flex; gap:12px; justify-content:center; align-items:center; }
.oneq .oq-av{ width:44px; height:44px; border-radius:50%; background:#146430; display:flex; align-items:center; justify-content:center; }
.oneq .oq-av svg{ width:23px; height:23px; fill:#fff; }
.oneq .oq-meta{ text-align:left; } .oneq .oq-meta b{ display:block; font-family:'Instrument Sans'; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#141a15; } .oneq .oq-meta span{ font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:#9aa39b; }
.pf-fit{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.pf-fit .fl{ width:46px; height:46px; border-radius:12px; background:#fff; border:1px solid var(--line,rgba(20,26,20,.1)); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 15px rgba(20,26,20,.05); }
.pf-fit .fl img{ width:24px; height:24px; object-fit:contain; }
@media(max-width:900px){ .pf-mock-grid{ grid-template-columns:1fr; gap:30px; } .stakes h2,.oneq blockquote{ font-size:24px; } }
