/* ═══════════════════════════════════════════════════════════
   outrich it — cinematic brand site
   ═══════════════════════════════════════════════════════════ */
:root{
  --bg:#05060B;
  --bg-2:#080A12;
  --bg-3:#0C0F1A;
  --ink:#F5F6FB;
  --ink-soft:#B7BDD0;
  --ink-mute:#767D93;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.055);
  --violet:#8A7CFF;
  --cyan:#56C7FF;
  --gold:#E9C983;
  --gold-2:#C9A24B;
  --tg:#2AABEE;
  --wa:#25D366;
  --mx:#B36BFF;
  --em:#8A93A8;
  --grad:linear-gradient(105deg,#9E8CFF 0%,#56C7FF 55%,#8FE6FF 100%);
  --grad-gold:linear-gradient(105deg,#F4DCA0 0%,#E9C983 45%,#B98A3C 100%);
  --grad-signal:linear-gradient(120deg,#8A7CFF,#56C7FF);
  --shadow:0 40px 120px -30px rgba(0,0,0,.75);
  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-d:"Playfair Display",Georgia,serif;
  --font-s:"Manrope",system-ui,sans-serif;
  --font-b:"Inter",system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-b);
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  font-size:17px;
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(138,124,255,.32);color:#fff}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
svg{display:block}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,48px);position:relative}

/* ── ambient background glows ── */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(70% 55% at 78% 8%, rgba(86,199,255,.10), transparent 60%),
    radial-gradient(60% 50% at 12% 30%, rgba(138,124,255,.10), transparent 62%),
    radial-gradient(80% 60% at 50% 118%, rgba(233,201,131,.06), transparent 60%),
    var(--bg);
}
.fx-grain{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;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='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.fx-vignette{position:fixed;inset:0;z-index:59;pointer-events:none;
  box-shadow:inset 0 0 240px 40px rgba(0,0,0,.55);}
#scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:70;
  background:var(--grad);box-shadow:0 0 14px rgba(86,199,255,.6);transition:width .1s linear}

/* ── shared type ── */
.eyebrow{
  font-family:var(--font-s);font-size:12.5px;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ink-soft);
  display:inline-flex;align-items:center;gap:.6em;
}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--violet),var(--cyan))}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-em{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}

.sect-title{font-family:var(--font-d);font-weight:400;font-size:clamp(30px,4.6vw,58px);
  line-height:1.06;letter-spacing:-.02em;color:var(--ink);}
.sect-lead{color:var(--ink-soft);font-size:clamp(16px,1.5vw,19px);max-width:60ch;margin-top:20px;line-height:1.65}

/* ═══════════ BUTTONS ═══════════ */
.btn{
  --pad:13px 22px;
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-s);font-weight:600;font-size:15px;letter-spacing:.01em;
  padding:var(--pad);border-radius:100px;cursor:pointer;border:1px solid transparent;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s,border-color .35s;
  white-space:nowrap;
}
.btn-lg{--pad:16px 30px;font-size:16px}
.btn-block{width:100%;margin-top:20px}
.btn-solid{
  color:#0a0b12;position:relative;
  background:linear-gradient(180deg,#fff,#EDEFFA);
  box-shadow:0 10px 34px -10px rgba(120,150,255,.5),inset 0 0 0 1px rgba(255,255,255,.5);
}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 18px 44px -12px rgba(120,150,255,.7)}
.btn-ghost{color:var(--ink);background:rgba(255,255,255,.03);border-color:var(--line);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}

/* ═══════════ NAV ═══════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;gap:28px;
  padding:16px clamp(20px,5vw,48px);
  transition:background .4s,backdrop-filter .4s,border-color .4s,padding .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(6,7,13,.72);backdrop-filter:blur(18px) saturate(1.4);
  border-bottom-color:var(--line-2);padding-top:12px;padding-bottom:12px;
}
.brand{display:inline-flex;align-items:center;gap:11px}
.brand-mark{width:30px;height:30px;filter:drop-shadow(0 2px 10px rgba(138,124,255,.4))}
.brand-word{font-family:var(--font-s);font-weight:700;font-size:20px;letter-spacing:-.01em;color:#fff}
.brand-word em{font-style:normal;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
.nav-links{display:flex;gap:26px;margin-left:auto}
.nav-links a{font-family:var(--font-s);font-size:14.5px;color:var(--ink-soft);font-weight:500;position:relative;transition:color .3s}
.nav-links a:hover{color:#fff}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--grad);transition:width .3s var(--ease)}
.nav-links a:hover::after{width:100%}
.nav-cta{padding:10px 20px;font-size:14px}

/* ═══════════ HERO — cinematic scrub ═══════════ */
.cine{position:relative}
.cine-track{height:420vh}
.cine-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
#cine-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cine-fallback{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
  background-image:url('/assets/hero-poster.webp');}
.cine-veil{position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(120% 90% at 50% 40%, transparent 30%, rgba(5,6,11,.5) 78%, rgba(5,6,11,.92) 100%),
    linear-gradient(180deg, rgba(5,6,11,.55) 0%, transparent 26%, transparent 60%, rgba(5,6,11,.85) 100%);
}
.cine-stage{position:absolute;z-index:3;width:min(92vw,var(--maxw));padding:0 clamp(20px,5vw,48px);
  text-align:center;left:50%;transform:translateX(-50%);will-change:opacity,transform}
.cine-stage[data-stage="0"]{top:50%;transform:translate(-50%,-50%)}
.cine-stage-mid,.cine-stage-end{top:50%;transform:translate(-50%,-42%);opacity:0}

.hero-h1{font-family:var(--font-d);font-weight:400;font-size:clamp(38px,7.2vw,92px);line-height:1.02;
  letter-spacing:-.028em;color:#fff;text-shadow:0 4px 60px rgba(0,0,0,.6)}
.hero-sub{color:var(--ink-soft);font-size:clamp(16px,1.8vw,21px);max-width:60ch;margin:26px auto 0;line-height:1.6}
.hero-actions{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.hero-chips{display:flex;gap:10px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-s);font-size:13.5px;font-weight:500;
  color:var(--ink-soft);padding:8px 15px;border:1px solid var(--line);border-radius:100px;
  background:rgba(255,255,255,.025);backdrop-filter:blur(8px)}
.chip em{font-style:normal;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mx);
  border:1px solid rgba(179,107,255,.4);padding:2px 6px;border-radius:100px;margin-left:2px}
.chip-mute{opacity:.62}
.dot{width:8px;height:8px;border-radius:50%;flex:none;box-shadow:0 0 10px currentColor}
.dot.tg{background:var(--tg);color:var(--tg)}
.dot.wa{background:var(--wa);color:var(--wa)}
.dot.mx{background:var(--mx);color:var(--mx)}
.dot.em{background:var(--em);color:transparent;box-shadow:none}

.mid-kicker{font-family:var(--font-s);text-transform:uppercase;letter-spacing:.24em;font-size:13px;
  color:var(--cyan);margin-bottom:16px;font-weight:600}
.mid-h{font-family:var(--font-d);font-weight:400;font-size:clamp(30px,5.4vw,66px);line-height:1.08;
  letter-spacing:-.02em;text-shadow:0 4px 50px rgba(0,0,0,.7)}

.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:4;
  font-family:var(--font-s);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute);
  display:flex;flex-direction:column;align-items:center;gap:9px}
.scroll-hint span{width:1px;height:34px;background:linear-gradient(var(--cyan),transparent);animation:sh 2s var(--ease) infinite}
@keyframes sh{0%{opacity:0;transform:scaleY(.3) translateY(-10px)}40%{opacity:1}100%{opacity:0;transform:scaleY(1) translateY(10px)}}

/* ═══════════ METRICS STRIP ═══════════ */
.strip{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);
  background:linear-gradient(180deg,rgba(255,255,255,.015),transparent);padding:44px 0}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{text-align:center;position:relative}
.stat+.stat::before,.strip-grid .stat:not(:first-child)::before{content:"";position:absolute;left:-12px;top:12%;height:76%;width:1px;background:var(--line-2)}
.stat-n{display:block;font-family:var(--font-d);font-weight:400;font-size:clamp(30px,4vw,46px);
  letter-spacing:-.02em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-l{display:block;margin-top:10px;font-size:13.5px;color:var(--ink-soft);font-family:var(--font-s);font-weight:500}

/* ═══════════ SECTIONS ═══════════ */
.sect{padding:clamp(90px,12vw,150px) 0;position:relative}
.sect-tight{padding:clamp(70px,9vw,120px) 0}
.sect-head{max-width:760px;margin-bottom:clamp(44px,6vw,70px)}
.sect-head .sect-title{margin-top:18px}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pillar{padding:30px 26px;border:1px solid var(--line);border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.008));
  position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .5s,background .5s}
.pillar::after{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;
  background:linear-gradient(160deg,rgba(138,124,255,.4),transparent 40%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s}
.pillar:hover{border-color:rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.012))}
.pillar:hover::after{opacity:1}
.pillar-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:20px;
  background:linear-gradient(150deg,rgba(138,124,255,.22),rgba(86,199,255,.1));border:1px solid var(--line)}
.pillar-ic svg{width:23px;height:23px;fill:none;stroke:var(--cyan);stroke-width:1.7}
.pillar h3{font-family:var(--font-s);font-size:19px;font-weight:600;margin-bottom:10px;letter-spacing:-.01em}
.pillar p{font-size:14.5px;color:var(--ink-soft);line-height:1.6}

/* ═══════════ CHANNELS ═══════════ */
.channels{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ch{padding:32px 30px;border:1px solid var(--line);border-radius:22px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.006));
  transition:transform .5s var(--ease),border-color .5s}
.ch::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:.85}
.ch-tg::before{background:linear-gradient(90deg,var(--tg),transparent)}
.ch-wa::before{background:linear-gradient(90deg,var(--wa),transparent)}
.ch-mx::before{background:linear-gradient(90deg,var(--mx),transparent)}
.ch:hover{border-color:rgba(255,255,255,.18)}
.ch header{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.ch-dot{width:11px;height:11px;border-radius:50%;box-shadow:0 0 14px currentColor}
.ch-dot.tg{background:var(--tg);color:var(--tg)}.ch-dot.wa{background:var(--wa);color:var(--wa)}
.ch-dot.mx{background:var(--mx);color:var(--mx)}.ch-dot.em{background:var(--em);color:var(--em)}
.ch h3{font-family:var(--font-s);font-size:22px;font-weight:600}
.ch-tag{margin-left:auto;font-family:var(--font-s);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-mute);border:1px solid var(--line);padding:4px 10px;border-radius:100px}
.ch-soon{color:var(--mx);border-color:rgba(179,107,255,.4)}
.ch p{font-size:14.5px;color:var(--ink-soft);line-height:1.62}
.ch ul{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:9px}
.ch li{font-size:13.5px;color:var(--ink-soft);padding-left:22px;position:relative;font-family:var(--font-s);font-weight:500}
.ch li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;
  border:1.5px solid var(--cyan);opacity:.8}
.ch-foot{margin-top:26px;display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-mute);
  font-family:var(--font-s)}

/* ═══════════ FEATURE MEDIA SECTIONS ═══════════ */
.feat{position:relative;padding:clamp(90px,13vw,170px) 0;overflow:hidden}
.feat-media{isolation:isolate}
.feat-bg{position:absolute;inset:-12% 0;z-index:-2;background-image:var(--bg);background-size:cover;background-position:center;
  opacity:.5;will-change:transform}
.feat-scrim{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,var(--bg) 0%,rgba(5,6,11,.35) 22%,rgba(5,6,11,.35) 78%,var(--bg) 100%),
    linear-gradient(90deg,rgba(5,6,11,.85),rgba(5,6,11,.25) 60%,rgba(5,6,11,.55));}
.feat-dark .feat-scrim{background:
    linear-gradient(180deg,var(--bg) 0%,rgba(5,6,11,.45) 24%,rgba(5,6,11,.45) 76%,var(--bg) 100%),
    linear-gradient(90deg,rgba(5,6,11,.35),rgba(5,6,11,.72))}
.feat-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,72px);align-items:center}
.feat-grid-rev .feat-copy{order:2}
.feat-title{font-family:var(--font-d);font-weight:400;font-size:clamp(30px,4.8vw,60px);line-height:1.05;
  letter-spacing:-.02em;margin-bottom:22px}
.feat-lead{color:var(--ink-soft);font-size:clamp(16px,1.5vw,18px);line-height:1.65;max-width:52ch}
.feat-list{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:16px}
.feat-list li{font-size:15px;color:var(--ink-soft);line-height:1.55;padding-left:30px;position:relative}
.feat-list b{color:var(--ink);font-weight:600}
.feat-list li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;
  background:linear-gradient(140deg,rgba(138,124,255,.35),rgba(86,199,255,.2));border:1px solid rgba(138,124,255,.5)}
.feat-list li::after{content:"";position:absolute;left:6.5px;top:8px;width:6px;height:3px;border-left:1.6px solid var(--cyan);
  border-bottom:1.6px solid var(--cyan);transform:rotate(-45deg)}

/* ── glass mock cards ── */
.glass{background:linear-gradient(160deg,rgba(24,27,40,.78),rgba(10,12,20,.72));
  border:1px solid rgba(255,255,255,.11);border-radius:22px;backdrop-filter:blur(22px) saturate(1.3);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06)}
.mock{padding:18px;position:relative;overflow:hidden}
.mock::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}
.mock-top{display:flex;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:14px;
  border-bottom:1px solid var(--line-2)}
.mk-dots{display:flex;gap:5px}.mk-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.mk-title{font-family:var(--font-s);font-size:13px;font-weight:600;color:var(--ink-soft)}
.mk-badge{margin-left:auto;font-family:var(--font-s);font-size:11px;font-weight:600;color:var(--cyan);
  background:rgba(86,199,255,.12);border:1px solid rgba(86,199,255,.3);padding:4px 9px;border-radius:100px}
.mk-pill{margin-left:auto;font-family:var(--font-s);font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:100px}
.mk-pill.ok{color:var(--wa);background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.3)}
.mk-pill.live{color:var(--wa);background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.25)}
.av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-s);
  font-weight:700;font-size:14px;color:#fff;flex:none}
.av.tg{background:linear-gradient(140deg,#2AABEE,#1a7fb8)}.av.wa{background:linear-gradient(140deg,#25D366,#149c48)}
.av.mx{background:linear-gradient(140deg,#B36BFF,#7d3fd6)}

/* inbox mock */
.mock-inbox .thread{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:12px;transition:background .3s}
.mock-inbox .thread:hover,.mock-inbox .thread.active{background:rgba(255,255,255,.045)}
.th-main{flex:1;min-width:0}
.th-main b{display:block;font-family:var(--font-s);font-size:14px;font-weight:600}
.th-main small{display:block;color:var(--ink-mute);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-unread{width:20px;height:20px;border-radius:50%;background:#ff5069;color:#fff;font-size:11px;font-weight:700;
  display:grid;place-items:center;font-family:var(--font-s)}

/* health mock */
.mock-health .health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:4px 0 14px}
.hcell{text-align:center;padding:12px 6px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid var(--line-2)}
.hcell small{display:block;font-family:var(--font-s);font-size:11px;color:var(--ink-mute);margin:8px 0 2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hcell b{font-family:var(--font-d);font-size:18px}
.ring{width:38px;height:38px;border-radius:50%;margin:0 auto;position:relative;
  background:conic-gradient(var(--wa) var(--p,80%),rgba(255,255,255,.09) 0)}
.ring::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#0c0f1a}
.ring.warn{background:conic-gradient(#E9B04B var(--p,60%),rgba(255,255,255,.09) 0)}
.r92{--p:92%}.r88{--p:88%}.r61{--p:61%}.r95{--p:95%}.r77{--p:77%}.r84{--p:84%}
.mock-foot{display:flex;gap:8px;flex-wrap:wrap}
.tagpill{font-family:var(--font-s);font-size:11.5px;color:var(--ink-soft);background:rgba(255,255,255,.04);
  border:1px solid var(--line-2);padding:5px 10px;border-radius:100px}

/* chat mock */
.mock-chat .chat{display:flex;flex-direction:column;gap:10px;padding-top:2px}
.bub{max-width:82%;padding:11px 14px;border-radius:15px;font-size:13.5px;line-height:1.5}
.bub.out{align-self:flex-end;background:linear-gradient(150deg,rgba(138,124,255,.9),rgba(86,150,255,.82));color:#fff;
  border-bottom-right-radius:5px;box-shadow:0 8px 24px -10px rgba(120,120,255,.6)}
.bub.out b{color:#fff;background:rgba(255,255,255,.22);padding:0 5px;border-radius:5px}
.bub.in{align-self:flex-start;background:rgba(255,255,255,.06);border:1px solid var(--line-2);border-bottom-left-radius:5px}
.typing{align-self:flex-end;display:flex;align-items:center;gap:5px;font-family:var(--font-s);font-size:12px;color:var(--ink-mute)}
.typing i{width:5px;height:5px;border-radius:50%;background:var(--ink-mute);animation:tp 1.3s infinite}
.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}
@keyframes tp{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* dash mock */
.mock-dash .kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.kpi{padding:14px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line-2)}
.kpi b{display:block;font-family:var(--font-d);font-size:24px;letter-spacing:-.02em}
.kpi small{font-family:var(--font-s);font-size:11.5px;color:var(--ink-mute)}
.funnel{display:flex;flex-direction:column;gap:8px}
.funnel span{height:30px;border-radius:8px;display:flex;align-items:center;padding:0 12px;position:relative;
  background:linear-gradient(90deg,rgba(138,124,255,.5),rgba(86,199,255,.28));min-width:38%;
  animation:grow 1.1s var(--ease) both}
.funnel span.win{background:linear-gradient(90deg,rgba(233,201,131,.7),rgba(201,162,75,.4))}
.funnel i{font-family:var(--font-s);font-size:12px;font-weight:500;font-style:normal;color:#fff}
@keyframes grow{from{transform:scaleX(.2);opacity:0;transform-origin:left}to{transform:scaleX(1);opacity:1}}

/* ═══════════ STEPS ═══════════ */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{padding:28px 24px;border:1px solid var(--line);border-radius:20px;position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);transition:transform .5s var(--ease),border-color .5s}
.step:hover{border-color:rgba(255,255,255,.16)}
.step-n{font-family:var(--font-d);font-size:15px;color:var(--cyan);display:block;margin-bottom:18px;
  padding-bottom:14px;border-bottom:1px solid var(--line-2);letter-spacing:.05em}
.step h3{font-family:var(--font-s);font-size:18px;font-weight:600;margin-bottom:10px}
.step p{font-size:14px;color:var(--ink-soft);line-height:1.55}

/* ═══════════ BENTO ═══════════ */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bcell{padding:24px 22px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.005));
  transition:transform .5s var(--ease),border-color .5s,background .5s}
.bcell:hover{border-color:rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}
.bcell h4{font-family:var(--font-s);font-size:16px;font-weight:600;margin-bottom:9px}
.bcell p{font-size:13.5px;color:var(--ink-soft);line-height:1.55}

/* ═══════════ SECURITY ═══════════ */
.sect-sec{background:linear-gradient(180deg,transparent,rgba(255,255,255,.012),transparent)}
.sec-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,6vw,80px);align-items:center}
.sec-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sec-list li{border-left:2px solid;border-image:linear-gradient(var(--violet),var(--cyan)) 1;padding-left:18px}
.sec-list b{font-family:var(--font-s);font-size:16px;font-weight:600;display:block;margin-bottom:6px}
.sec-list span{font-size:13.5px;color:var(--ink-soft);line-height:1.55}

/* ═══════════ PRICING ═══════════ */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{padding:32px 28px;border:1px solid var(--line);border-radius:22px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.005));
  display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .5s}
.plan-hi{border-color:rgba(138,124,255,.4);background:linear-gradient(180deg,rgba(138,124,255,.09),rgba(86,199,255,.02))}
.plan-hi::after{content:"";position:absolute;inset:0;border-radius:22px;padding:1px;
  background:linear-gradient(160deg,rgba(138,124,255,.6),rgba(86,199,255,.2),transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.plan-badge{position:absolute;top:18px;right:18px;font-family:var(--font-s);font-size:10.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:#0a0b12;background:var(--grad-gold);padding:4px 10px;border-radius:100px}
.plan h3{font-family:var(--font-s);font-size:22px;font-weight:600}
.plan-for{font-size:13px;color:var(--ink-mute);font-family:var(--font-s);margin-top:2px}
.plan-price{font-family:var(--font-d);font-size:30px;margin:18px 0 6px;letter-spacing:-.02em}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:16px;flex:1}
.plan li{font-size:14px;color:var(--ink-soft);padding-left:24px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;border-left:1.6px solid var(--cyan);
  border-bottom:1.6px solid var(--cyan);transform:rotate(-45deg)}

/* ═══════════ FINAL CTA ═══════════ */
.cta-final{position:relative;padding:clamp(100px,14vw,180px) 0;overflow:hidden;text-align:center;
  border-top:1px solid var(--line-2)}
.cta-glow{position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:900px;height:700px;
  background:radial-gradient(closest-side,rgba(138,124,255,.24),rgba(86,199,255,.1),transparent 72%);
  filter:blur(20px);z-index:0}
.cta-inner{position:relative;z-index:1;max-width:820px}
.cta-h{font-family:var(--font-d);font-weight:400;font-size:clamp(34px,5.6vw,72px);line-height:1.05;
  letter-spacing:-.025em;margin:18px 0}
.cta-sub{color:var(--ink-soft);font-size:clamp(16px,1.6vw,19px);max-width:52ch;margin:0 auto}
.cta-form{display:flex;gap:12px;justify-content:center;margin:36px auto 0;max-width:520px;flex-wrap:wrap}
.cta-form input{flex:1;min-width:240px;padding:16px 20px;border-radius:100px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:#fff;font-family:var(--font-b);font-size:15px;outline:none;transition:border-color .3s}
.cta-form input:focus{border-color:rgba(138,124,255,.6);background:rgba(255,255,255,.06)}
.cta-form input::placeholder{color:var(--ink-mute)}
.cta-note{margin-top:18px;font-size:13px;color:var(--ink-mute);font-family:var(--font-s)}

/* ═══════════ FOOTER ═══════════ */
.foot{border-top:1px solid var(--line-2);padding:64px 0 34px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.4))}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line-2)}
.foot-brand .brand{margin-bottom:16px}
.foot-tag{font-size:14px;color:var(--ink-soft);max-width:34ch;line-height:1.55}
.foot-dom{font-family:var(--font-s);font-size:14px;color:var(--cyan);margin-top:12px;font-weight:500}
.foot-col h5{font-family:var(--font-s);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);
  margin-bottom:16px;font-weight:600}
.foot-col a,.foot-ch{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft);margin-bottom:11px;
  transition:color .3s}
.foot-col a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-family:var(--font-s);
  font-size:13px;color:var(--ink-mute);flex-wrap:wrap;gap:10px}
.foot-made{color:var(--ink-soft)}

/* ═══════════ REVEAL ANIM ═══════════ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-parent .reveal{transition-delay:calc(var(--i,0)*80ms)}

/* ═══════════ TILT ═══════════ */
.tilt{transform-style:preserve-3d;will-change:transform}

/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:1000px){
  .pillars,.bento{grid-template-columns:repeat(2,1fr)}
  .channels,.steps,.plans{grid-template-columns:1fr}
  .strip-grid{grid-template-columns:repeat(2,1fr);gap:34px 24px}
  .feat-grid,.sec-grid{grid-template-columns:1fr;gap:40px}
  .feat-grid-rev .feat-copy{order:0}
  .sec-list{grid-template-columns:1fr}
  .plans .plan-hi{order:-1}
}
@media(max-width:640px){
  body{font-size:16px}
  .nav-links{display:none}
  .cine-track{height:340vh}
  .pillars,.bento,.strip-grid{grid-template-columns:1fr}
  .stat:not(:first-child)::before{display:none}
  .mock-health .health-grid{grid-template-columns:repeat(3,1fr)}
  .hero-actions .btn{flex:1}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
