
@font-face{font-family:'Heebo';font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/heebo-hebrew.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:'Heebo';font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/heebo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/inter-tight-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

html, body { background: #050913; margin: 0; }
:root {
  --bg: #050913;
  --bg2: #070d1b;
  --surface: rgba(255,255,255,.035);
  --line: rgba(255,255,255,.09);
  --line2: rgba(255,255,255,.16);
  --fg: #f3f6fb;
  --muted: rgba(243,246,251,.64);
  --dim: rgba(243,246,251,.6);
  --blue: #4cc3ff;
  --blue2: #2f6bff;
  --green: #4ade80;
  --amber: #fbbf24;
  --red: #f87171;
  --font: 'Heebo', system-ui, sans-serif;
  --num: 'Inter Tight', 'Heebo', sans-serif;
  --ease: cubic-bezier(.22,1,.36,1);
  --wrap: 1240px;
  --pad: clamp(20px, 4vw, 48px);
  --r: 22px;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 90px; scroll-behavior: smooth; }
body { color: var(--fg); font-family: var(--font); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 10px; }
.num { font-family: var(--num); direction: ltr; unicode-bidi: isolate; font-feature-settings: "tnum"; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--pad); }
.skip { position: absolute; top: -60px; right: 16px; background: var(--fg); color: #000; padding: 10px 16px; border-radius: 10px; z-index: 100; }
.skip:focus { top: 16px; }

/* ---------- shared ---------- */
section { position: relative; }
.sec { padding: clamp(90px, 12vw, 160px) 0; }
.kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; letter-spacing: .06em; color: var(--blue); }
.kicker::before { content: ''; width: 22px; height: 1px; background: currentColor; }
h2 { font-weight: 800; font-size: clamp(36px, 5vw, 68px); line-height: 1.04; letter-spacing: -.02em; margin: 18px 0 0; }
h2 .soft { color: var(--dim); font-weight: 700; }
h2 .hl { color: var(--blue); }
h3 { font-weight: 700; font-size: clamp(21px, 1.8vw, 26px); line-height: 1.25; margin: 0; letter-spacing: -.01em; }
.lead { font-size: clamp(17px, 1.4vw, 20px); color: var(--muted); max-width: 640px; margin: 22px 0 0; font-weight: 300; line-height: 1.7; }
.sec-head { max-width: 820px; margin-bottom: clamp(48px, 6vw, 80px); }
.sec-head.center { margin-inline: auto; text-align: center; }
.sec-head.center .lead { margin-inline: auto; }
.sec-head.center .kicker::after { content: ''; width: 22px; height: 1px; background: currentColor; }

.glass { position: relative; background: rgba(255,255,255,.035); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: inset 0 1px 1px rgba(255,255,255,.08); }
.glass::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.08) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,.06) 80%, rgba(255,255,255,.22));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.card { border-radius: var(--r); background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); border: 1px solid var(--line); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; padding: 15px 28px; font-size: 16px; font-weight: 600; border: 0; cursor: pointer;
  transition: transform .45s var(--ease), background .3s, box-shadow .45s var(--ease); white-space: nowrap; }
.btn:hover { transform: translateY(-2px); }
.btn svg { width: 18px; height: 18px; flex: none; transition: transform .45s var(--ease); }
.btn:hover svg.arr { transform: translateX(-4px); }
.btn-primary { background: var(--fg); color: #061024; box-shadow: 0 14px 44px -14px rgba(76,195,255,.7), inset 0 -2px 0 rgba(0,0,0,.08); }
.btn-primary:hover { background: #fff; box-shadow: 0 18px 54px -12px rgba(76,195,255,.85); }
.btn-ghost { color: var(--fg); background: rgba(255,255,255,.04); }
.btn-ghost:hover { background: rgba(255,255,255,.08); }
.btn-wa svg { color: #4ade80; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.d1 { transition-delay: .08s; } .d2 { transition-delay: .16s; } .d3 { transition-delay: .24s; } .d4 { transition-delay: .32s; }

.swipe-hint { display: none; margin-top: 14px; font-size: 13px; color: var(--dim); }

/* ---------- nav ---------- */
.nav { position: fixed; inset: 0 0 auto 0; z-index: 50; transition: background .4s, border-color .4s, backdrop-filter .4s; border-bottom: 1px solid transparent; }
.nav.scrolled { background: rgba(5,9,19,.72); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4); border-color: var(--line); }
.nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 76px; gap: 24px; }
.logo { direction: ltr; font-family: var(--num); font-weight: 800; font-size: 21px; letter-spacing: -.01em; display: inline-flex; align-items: baseline; }
.logo i { color: var(--blue); font-style: normal; }
.nav ul { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; }
.nav ul a { font-size: 15px; color: var(--muted); transition: color .25s; position: relative; }
.nav ul a:hover { color: var(--fg); }
.nav .btn { padding: 11px 22px; font-size: 15px; }
.menu-btn { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line2); background: rgba(255,255,255,.04); cursor: pointer; align-items: center; justify-content: center; }
.menu-btn span { display: block; width: 16px; height: 1.5px; background: var(--fg); position: relative; }
.menu-btn span::before, .menu-btn span::after { content: ''; position: absolute; inset-inline: 0; height: 1.5px; background: var(--fg); }
.menu-btn span::before { top: -5px; } .menu-btn span::after { top: 5px; }
.drawer { position: fixed; inset: 0; z-index: 60; background: rgba(5,9,19,.97); backdrop-filter: blur(20px); display: flex; flex-direction: column; padding: 24px var(--pad); opacity: 0; pointer-events: none; transition: opacity .35s; }
.drawer.open { opacity: 1; pointer-events: auto; }
.drawer .top { display: flex; justify-content: space-between; align-items: center; height: 52px; }
.drawer nav { display: flex; flex-direction: column; margin-top: 30px; }
.drawer nav a { font-size: 28px; font-weight: 700; padding: 12px 0; border-bottom: 1px solid var(--line); }
.drawer .btn { margin-top: 30px; }

/* ---------- hero ---------- */
.hero { min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; isolation: isolate; padding-top: 110px; }
.hero__bg { position: absolute; inset: 0; z-index: -3; background:
  radial-gradient(55% 60% at 22% 55%, rgba(47,107,255,.32), transparent 70%),
  radial-gradient(40% 40% at 12% 85%, rgba(76,195,255,.18), transparent 70%), var(--bg); }
.hero__bg video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); opacity: 0; transition: opacity 2s var(--ease); }
.hero__bg video.ready { opacity: .9; }
.hero__shade { position: absolute; inset: 0; z-index: -2; background:
  linear-gradient(270deg, rgba(5,9,19,.95) 0%, rgba(5,9,19,.7) 38%, rgba(5,9,19,.05) 75%),
  linear-gradient(0deg, var(--bg) 0%, rgba(5,9,19,0) 32%),
  linear-gradient(180deg, rgba(5,9,19,.6) 0%, rgba(5,9,19,0) 18%); }
.hero__grain { position: absolute; inset: 0; z-index: -1; opacity: .07; pointer-events: none; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%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"); }
.hero .wrap { padding-bottom: clamp(40px, 6vh, 70px); }
.hero__copy { max-width: 1060px; }
@media (min-width: 1181px) { .hero__copy { max-width: calc(100% - 400px); } .hero h1 { font-size: clamp(56px, 5.3vw, 84px); } }
.chip { display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px; border-radius: 999px; font-size: 14px; color: var(--muted); }
.chip i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 14px var(--blue); animation: pulse 2.4s ease-in-out infinite; }
.hero h1 { font-weight: 900; font-size: clamp(44px, 6.6vw, 100px); line-height: .98; letter-spacing: -.03em; margin: 26px 0 0; }
.hero h1 .l2 { display: block; color: var(--blue); }
@media (max-width: 1180px) { .hero p.sub.in-hero { color: rgba(243,246,251,.86); } #vx { opacity: .55; } }
.hero h1 .w { display: inline-block; opacity: 0; filter: blur(16px); transform: translateY(20px); animation: word 1.15s var(--ease) forwards; }
.hero .sub { font-size: clamp(17px, 1.45vw, 21px); color: var(--muted); font-weight: 300; max-width: 620px; margin: 28px 0 0; line-height: 1.7; }
.hero .ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.hero .ctas .btn { padding: 17px 32px; font-size: 17px; }
.trust { display: flex; flex-wrap: wrap; gap: 10px 26px; list-style: none; padding: 0; margin: 30px 0 0; font-size: 14px; color: var(--muted); }
.trust li { display: inline-flex; align-items: center; gap: 8px; }
.trust svg { width: 16px; height: 16px; color: var(--blue); }
.hero__foot { display: flex; justify-content: space-between; align-items: flex-end; margin-top: clamp(40px, 8vh, 90px); padding-top: 22px; border-top: 1px solid var(--line); gap: 20px; }
.scroll-cue { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; color: var(--muted); transition: color .3s; }
.scroll-cue:hover { color: var(--fg); }
.scroll-cue .m { width: 22px; height: 34px; border: 1.5px solid var(--line2); border-radius: 12px; position: relative; }
.scroll-cue .m::after { content: ''; position: absolute; top: 7px; left: 50%; width: 3px; height: 7px; margin-left: -1.5px; border-radius: 2px; background: var(--blue); animation: wheel 1.8s var(--ease) infinite; }
.hero__foot .where { font-size: 13px; color: var(--dim); }
.in-hero { opacity: 0; transform: translateY(20px); animation: rise 1s var(--ease) forwards; }

/* ---------- marquee + stats ---------- */
.marquee { border-block: 1px solid var(--line); overflow: hidden; padding: 22px 0; mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.marquee__track { display: flex; width: max-content; animation: marq 32s linear infinite; direction: ltr; }
.marquee span { font-family: var(--num); font-weight: 600; font-size: clamp(20px, 2.2vw, 28px); color: rgba(243,246,251,.5); padding: 0 34px; display: inline-flex; align-items: center; gap: 68px; white-space: nowrap; }
.marquee span::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); opacity: .6; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: clamp(34px, 4vw, 54px) clamp(16px, 2vw, 30px); border-inline-start: 1px solid var(--line); }
.stat:first-child { border-inline-start: 0; padding-inline-start: 0; }
.stat b { display: block; font-family: var(--num); font-weight: 700; font-size: clamp(44px, 5vw, 72px); line-height: 1; letter-spacing: -.03em; direction: ltr; text-align: right; }
.stat b em { font-style: normal; color: var(--blue); }
.stat > span { display: block; margin-top: 14px; font-size: 15px; color: var(--muted); line-height: 1.5; max-width: 220px; }

/* ---------- profit waterfall (signature) ---------- */
.leak { padding-top: clamp(90px, 12vw, 160px); }
.fall { height: 320vh; position: relative; }
.fall__stick { position: sticky; top: 0; height: 100svh; display: flex; align-items: center; }
.fall__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(30px, 6vw, 90px); align-items: center; width: 100%; }
.fall__copy .tag { font-size: 13px; color: var(--dim); }
.fall__copy h3 { font-size: clamp(30px, 3.4vw, 50px); font-weight: 800; line-height: 1.12; letter-spacing: -.02em; margin-top: 14px; }
.fall__copy h3 .k { color: var(--blue); }
.fall__copy p { color: var(--muted); font-size: 17px; margin: 20px 0 0; max-width: 460px; font-weight: 300; }
.fall__copy a { display: inline-block; margin-top: 22px; color: var(--blue); font-size: 15px; font-weight: 500; }
.fall__chart { padding: clamp(24px, 3vw, 40px); border-radius: 28px; }
.fall__total { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 26px; }
.fall__total small { font-size: 14px; color: var(--muted); }
.fall__total .num { font-size: clamp(54px, 6vw, 92px); font-weight: 800; letter-spacing: -.04em; line-height: 1; transition: color .5s; }
.rows { display: grid; gap: 12px; }
.row { display: grid; grid-template-columns: 170px 1fr 70px; align-items: center; gap: 16px; opacity: .28; transition: opacity .6s var(--ease); }
.row.on { opacity: 1; }
.row .lab { font-size: 14px; color: var(--muted); line-height: 1.35; }
.row .bar { height: 34px; border-radius: 9px; background: rgba(255,255,255,.04); position: relative; overflow: hidden; }
.row .bar i { position: absolute; inset-block: 0; right: 0; width: 0; border-radius: 9px; background: linear-gradient(270deg, rgba(248,113,113,.9), rgba(248,113,113,.5)); transition: width 1s var(--ease); }
.row.first .bar i { background: linear-gradient(270deg, #8fdcff, var(--blue2)); }
.row.last .bar i { background: linear-gradient(270deg, #86efac, #22c55e); box-shadow: 0 0 30px rgba(74,222,128,.55); }
.row .v { font-family: var(--num); font-weight: 700; font-size: 17px; direction: ltr; text-align: left; }
.row.cost .v { color: var(--red); }
.row.last .v { color: var(--green); }
.fall__note { margin-top: 22px; font-size: 13px; color: var(--dim); }
.progress { display: flex; gap: 6px; margin-top: 26px; }
.progress i { flex: 1; height: 2px; background: var(--line2); border-radius: 2px; overflow: hidden; position: relative; }
.progress i::after { content: ''; position: absolute; inset: 0; background: var(--blue); transform: scaleX(0); transform-origin: right; transition: transform .6s var(--ease); }
.progress i.on::after { transform: none; }

.problems { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: clamp(40px, 6vw, 70px); }
.prob { padding: 34px 30px; display: flex; flex-direction: column; }
.prob .big { font-family: var(--num); font-weight: 800; font-size: clamp(64px, 6vw, 92px); line-height: .9; letter-spacing: -.04em; direction: ltr; text-align: right; background: linear-gradient(180deg, #fff, rgba(255,255,255,.35)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.prob .cap { font-size: 14px; color: var(--dim); margin-top: 10px; min-height: 42px; }
.prob h3 { margin-top: 22px; }
.prob p { color: var(--muted); font-size: 16px; margin: 12px 0 0; font-weight: 300; }
.prob ul { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; font-size: 15px; color: var(--muted); }
.prob ul b { color: var(--fg); font-weight: 600; }
.prob .ours { margin-top: auto; padding-top: 22px; }
.prob .ours div { padding: 16px 18px; border-radius: 14px; background: rgba(76,195,255,.07); border: 1px solid rgba(76,195,255,.18); font-size: 15px; line-height: 1.6; }
.prob .ours b { color: var(--blue); }
.prob a.more { display: inline-block; margin-top: 16px; font-size: 14px; color: var(--blue); }
.sources { margin-top: 26px; font-size: 12.5px; color: var(--dim); }

/* ---------- calculator ---------- */
.calc { display: grid; grid-template-columns: 1fr 1fr; border-radius: 30px; overflow: hidden; }
.calc__in { padding: clamp(28px, 4vw, 52px); }
.calc__out { padding: clamp(28px, 4vw, 52px); background: radial-gradient(90% 80% at 80% 0%, rgba(47,107,255,.28), transparent 70%), rgba(255,255,255,.02); border-inline-start: 1px solid var(--line); display: flex; flex-direction: column; }
.tabs { display: inline-flex; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid var(--line); }
.tabs button { border: 0; background: none; padding: 10px 22px; border-radius: 999px; cursor: pointer; font-size: 15px; font-weight: 600; color: var(--muted); transition: background .35s, color .35s; }
.tabs button[aria-selected="true"] { background: var(--fg); color: #061024; }
.fields { display: grid; gap: 22px; margin-top: 30px; }
.field label, .field .lab { display: flex; justify-content: space-between; font-size: 15px; color: var(--muted); margin-bottom: 10px; }
.field .lab output { color: var(--fg); font-family: var(--num); font-weight: 700; }
.inp { width: 100%; height: 56px; border-radius: 14px; border: 1px solid var(--line2); background: rgba(0,0,0,.25); padding: 0 18px; font-family: var(--num); font-size: 19px; font-weight: 600; direction: ltr; text-align: right; transition: border-color .25s, background .25s; }
.inp:focus { outline: none; border-color: var(--blue); background: rgba(76,195,255,.05); }
input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 6px; background: linear-gradient(to left, var(--blue) var(--p,20%), rgba(255,255,255,.1) var(--p,20%)); outline: none; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(76,195,255,.3); cursor: pointer; }
input[type=range]::-moz-range-thumb { width: 24px; height: 24px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(76,195,255,.3); cursor: pointer; }
.optional { padding-top: 22px; border-top: 1px dashed var(--line2); }
.optional h4 { margin: 0 0 14px; font-size: 15px; font-weight: 600; }
.optional h4 small { color: var(--dim); font-weight: 400; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.out-label { font-size: 15px; color: var(--muted); }
.out-max { font-family: var(--num); font-weight: 800; font-size: clamp(56px, 6.4vw, 96px); letter-spacing: -.04em; line-height: 1; margin-top: 10px; direction: ltr; text-align: right; }
.out-math { font-size: 14px; color: var(--dim); margin-top: 10px; min-height: 22px; }
.out-target { display: inline-flex; margin-top: 18px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.06); font-size: 14px; }
.out-note { color: var(--muted); font-size: 15px; margin-top: 20px; font-weight: 300; }
.gauge { margin-top: 26px; display: none; }
.gauge.show { display: block; }
.gauge__bar { height: 10px; border-radius: 10px; position: relative; background: linear-gradient(270deg, var(--green) 0 49%, var(--amber) 49% 70%, var(--red) 70%); opacity: .9; }
.gauge__dot { position: absolute; top: 50%; width: 20px; height: 20px; margin: -10px -10px 0 0; border-radius: 50%; background: #fff; border: 4px solid #050913; box-shadow: 0 0 0 2px #fff; right: 0; transition: right .8s var(--ease); }
.gauge__legend { display: flex; justify-content: space-between; font-size: 12px; color: var(--dim); margin-top: 10px; }
.verdict { margin-top: 18px; font-size: 17px; font-weight: 600; }
.monthly { margin-top: 10px; font-size: 15px; color: var(--muted); }
.monthly b { font-family: var(--num); color: var(--fg); }
.calc__out .btn { margin-top: auto; align-self: flex-start; }
.calc__out .spacer { flex: 1; min-height: 30px; }

/* ---------- method ---------- */
.steps3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.step3 { padding: 36px 32px 38px; position: relative; overflow: hidden; }
.step3 .n { font-family: var(--num); font-weight: 800; font-size: 15px; color: var(--blue); letter-spacing: .1em; }
.step3 h3 { margin-top: 70px; font-size: clamp(24px, 2.2vw, 32px); }
.step3 p { color: var(--muted); margin: 14px 0 0; font-weight: 300; }
.step3::after { content: ''; position: absolute; top: -40%; left: -20%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(47,107,255,.22), transparent 65%); opacity: 0; transition: opacity .6s; }
.step3:hover::after { opacity: 1; }
.month { margin-top: clamp(80px, 10vw, 130px); }
.month__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; margin-bottom: 50px; }
.month__head h3 { font-size: clamp(30px, 3.4vw, 48px); font-weight: 800; letter-spacing: -.02em; }
.month__head p { color: var(--muted); max-width: 460px; margin: 0; font-weight: 300; }
.weeks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; position: relative; }
.weeks::before { content: ''; position: absolute; top: 9px; inset-inline: 0; height: 1px; background: var(--line2); }
.weeks .line { position: absolute; top: 9px; right: 0; height: 1px; width: var(--w, 0%); background: linear-gradient(270deg, var(--blue), #8fdcff); box-shadow: 0 0 12px var(--blue); transition: width .2s linear; }
.week { position: relative; padding-top: 44px; }
.week::before { content: ''; position: absolute; top: 2px; right: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--bg); border: 2px solid var(--line2); transition: border-color .4s, box-shadow .4s, background .4s; }
.week.on::before { border-color: var(--blue); background: var(--blue); box-shadow: 0 0 0 6px rgba(76,195,255,.15); }
.week span { font-size: 13px; color: var(--blue); font-weight: 600; letter-spacing: .04em; }
.week h4 { font-size: 21px; margin: 10px 0 0; font-weight: 700; }
.week p { color: var(--muted); font-size: 15.5px; margin: 10px 0 0; font-weight: 300; }

/* ---------- compare ---------- */
.cmp { display: grid; grid-template-columns: 1fr 1fr 1.15fr; border-radius: 26px; overflow: hidden; }
.cmp > div { padding: 22px 28px; border-top: 1px solid var(--line); font-size: 16px; display: flex; align-items: center; gap: 12px; }
.cmp .h { border-top: 0; font-weight: 700; font-size: 15px; color: var(--dim); padding-block: 26px; }
.cmp .h.us { color: var(--fg); font-size: 18px; }
.cmp .k { color: var(--muted); font-size: 15px; }
.cmp .them { color: var(--dim); }
.cmp .them svg { color: var(--red); opacity: .8; }
.cmp .us { background: linear-gradient(180deg, rgba(76,195,255,.10), rgba(47,107,255,.06)); font-weight: 600; }
.cmp .us svg { color: var(--blue); }
.cmp svg { width: 18px; height: 18px; flex: none; }

/* ---------- about ---------- */
.about__top { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: end; }
.about h2 .soft { display: block; }
.founder { display: flex; gap: 22px; align-items: center; padding: 22px; border-radius: 22px; }
.mono { width: 96px; height: 96px; flex: none; border-radius: 24px; display: flex; align-items: center; justify-content: center; font-family: var(--num); font-weight: 800; font-size: 46px; direction: ltr;
  background: radial-gradient(80% 80% at 30% 20%, rgba(76,195,255,.5), rgba(47,107,255,.25) 50%, rgba(255,255,255,.03)); border: 1px solid rgba(76,195,255,.35); box-shadow: 0 20px 50px -20px rgba(47,107,255,.8); }
.mono i { color: var(--blue); font-style: normal; }
.founder .badge { display: inline-flex; font-size: 12px; padding: 5px 11px; border-radius: 999px; background: rgba(74,222,128,.1); color: var(--green); border: 1px solid rgba(74,222,128,.25); }
.founder b { display: block; font-size: 21px; margin-top: 8px; }
.founder small { display: block; color: var(--muted); font-size: 14px; margin-top: 2px; }
.about .stats { margin-top: clamp(40px, 6vw, 70px); border-block: 1px solid var(--line); }
.story { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 44px); margin-top: clamp(50px, 7vw, 90px); }
.story .n { font-family: var(--num); color: var(--blue); font-weight: 700; font-size: 14px; letter-spacing: .1em; }
.story h4 { font-size: 21px; margin: 14px 0 0; }
.story p { color: var(--muted); margin: 12px 0 0; font-weight: 300; }
.quote { margin-top: clamp(60px, 8vw, 110px); padding: clamp(36px, 5vw, 70px); border-radius: 30px; position: relative; overflow: hidden; }
.quote::after { content: '"'; position: absolute; top: -40px; left: 30px; font-family: Georgia, serif; font-size: 280px; line-height: 1; color: rgba(76,195,255,.1); }
.quote p { font-size: clamp(24px, 2.7vw, 40px); font-weight: 600; line-height: 1.35; letter-spacing: -.01em; margin: 0; max-width: 900px; position: relative; z-index: 1; }
.quote .by { margin-top: 26px; color: var(--muted); font-size: 15px; }
.quote .ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; position: relative; z-index: 1; }
.quote a.story-link { display: inline-block; margin-top: 18px; color: var(--blue); font-size: 15px; }
.inds { margin-top: clamp(60px, 8vw, 100px); }
.inds h3 { font-size: 24px; }
.inds__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 26px; }
.ind { padding: 22px 18px; border-radius: 18px; }
.ind b { display: block; font-size: 17px; }
.ind span { display: block; font-size: 13.5px; color: var(--muted); margin-top: 6px; line-height: 1.45; }
.inds .fine { font-size: 13px; color: var(--dim); margin-top: 18px; }

/* ---------- case ---------- */
.case { border-radius: 34px; overflow: hidden; position: relative; isolation: isolate; padding: clamp(36px, 6vw, 80px); }
.case::before { content: ''; position: absolute; inset: 0; z-index: -1; background:
  radial-gradient(60% 70% at 85% 10%, rgba(47,107,255,.35), transparent 70%),
  radial-gradient(50% 60% at 10% 100%, rgba(76,195,255,.18), transparent 70%), #081025; }
.case::after { content: ''; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent); -webkit-mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent); }
.case h2 { max-width: 860px; }
.case__grid { display: grid; grid-template-columns: 1fr 2fr; gap: 18px; margin-top: clamp(40px, 5vw, 60px); }
.before { padding: 32px; border-radius: 24px; background: rgba(248,113,113,.06); border: 1px solid rgba(248,113,113,.22); }
.before .lbl, .after .lbl { font-size: 13px; font-weight: 600; letter-spacing: .06em; }
.before .lbl { color: var(--red); }
.before .big { font-family: var(--num); font-weight: 800; font-size: clamp(80px, 9vw, 140px); line-height: .9; letter-spacing: -.05em; color: var(--red); margin-top: 16px; direction: ltr; text-align: right; }
.before p { color: var(--muted); font-size: 15.5px; margin: 16px 0 0; }
.after { padding: 32px; border-radius: 24px; background: rgba(74,222,128,.04); border: 1px solid rgba(74,222,128,.2); }
.after .lbl { color: var(--green); }
.after__nums { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px 24px; margin-top: 22px; }
.after__nums b { display: block; font-family: var(--num); font-weight: 800; font-size: clamp(44px, 4.6vw, 72px); line-height: 1; letter-spacing: -.04em; direction: ltr; text-align: right; }
.after__nums div > span { display: block; color: var(--muted); font-size: 15px; margin-top: 10px; }
.case__end { margin-top: 36px; font-size: clamp(20px, 2vw, 26px); font-weight: 700; }
.case__end span { color: var(--blue); }

/* ---------- testimonials ---------- */
.tst { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(340px, 1fr); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
.tst::-webkit-scrollbar { display: none; }
.t { scroll-snap-align: start; padding: 32px 30px; display: flex; flex-direction: column; min-height: 320px; }
.t .stars { display: flex; gap: 3px; color: var(--amber); }
.t .stars svg { width: 16px; height: 16px; }
.t blockquote { margin: 20px 0 0; font-size: 17px; line-height: 1.7; }
.t .who { margin-top: auto; padding-top: 24px; display: flex; gap: 12px; align-items: center; }
.t .av { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: rgba(76,195,255,.12); color: var(--blue); border: 1px solid rgba(76,195,255,.25); }
.t .who b { display: block; font-size: 16px; }
.t .who small { color: var(--muted); font-size: 13.5px; }
.t.feature { grid-column: span 2; }
.t.feature blockquote { font-size: clamp(19px, 1.6vw, 23px); font-weight: 500; }
.tst-note { margin-top: 18px; font-size: 13px; color: var(--dim); }
.tst-ctrl { display: flex; gap: 8px; }
.tst-ctrl button { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line2); background: rgba(255,255,255,.03); cursor: pointer; display: grid; place-items: center; transition: background .25s; }
.tst-ctrl button:hover { background: rgba(255,255,255,.08); }
.tst-ctrl svg { width: 18px; height: 18px; }
.row-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }

/* ---------- fit ---------- */
.fit { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; }
.fit > div { padding: clamp(28px, 3.5vw, 44px); }
.fit ul { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 16px; }
.fit li { display: flex; gap: 14px; font-size: 17px; line-height: 1.55; }
.fit li svg { width: 22px; height: 22px; flex: none; margin-top: 2px; }
.fit .yes { border-color: rgba(76,195,255,.25); background: linear-gradient(180deg, rgba(76,195,255,.08), rgba(76,195,255,.02)); }
.fit .yes svg { color: var(--blue); }
.fit .no li { color: var(--muted); }
.fit .no svg { color: var(--dim); }

/* ---------- CTA band ---------- */
.band { position: relative; border-radius: 34px; overflow: hidden; text-align: center; padding: clamp(60px, 9vw, 120px) var(--pad); isolation: isolate; }
.band::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 90% at 50% 120%, rgba(76,195,255,.55), rgba(47,107,255,.25) 40%, transparent 75%), #071026; }
.band::after { content: ''; position: absolute; left: 50%; bottom: -1px; width: 70%; height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, #8fdcff, transparent); }
.band h2 { font-size: clamp(38px, 5.4vw, 76px); }
.band p { color: var(--muted); font-size: 19px; max-width: 560px; margin: 20px auto 0; font-weight: 300; }
.band .btn { margin-top: 34px; padding: 18px 36px; font-size: 18px; }

/* ---------- platforms ---------- */
.plats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.plat { padding: 30px 26px; display: flex; flex-direction: column; transition: transform .5s var(--ease), border-color .4s; }
.plat:hover { transform: translateY(-6px); border-color: rgba(76,195,255,.35); }
.plat .ic { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: rgba(76,195,255,.1); color: var(--blue); border: 1px solid rgba(76,195,255,.22); }
.plat .ic svg { width: 24px; height: 24px; }
.plat h3 { margin-top: 26px; }
.plat .tl { font-size: 17px; margin-top: 8px; font-weight: 500; }
.plat .fit-for { color: var(--muted); font-size: 14.5px; margin-top: 12px; font-weight: 300; }
.plat ul { list-style: none; padding: 18px 0 0; margin: 18px 0 0; border-top: 1px solid var(--line); display: grid; gap: 10px; font-size: 14.5px; }
.plat ul li { display: flex; gap: 10px; align-items: flex-start; }
.plat ul li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--blue); margin-top: 9px; flex: none; }
.plat a { margin-top: auto; padding-top: 22px; color: var(--blue); font-size: 15px; font-weight: 500; }

/* ---------- articles ---------- */
.arts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.art { padding: 30px 28px; display: flex; flex-direction: column; min-height: 300px; transition: transform .5s var(--ease), border-color .4s; position: relative; overflow: hidden; }
.art::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(270deg, var(--blue), transparent); transform: scaleX(0); transform-origin: right; transition: transform .6s var(--ease); }
.art:hover { transform: translateY(-6px); border-color: var(--line2); }
.art:hover::before { transform: none; }
.art .cat { font-size: 13px; color: var(--blue); font-weight: 500; }
.art h3 { font-size: 21px; margin-top: 16px; line-height: 1.35; }
.art p { color: var(--muted); font-size: 15px; margin: 14px 0 0; font-weight: 300; }
.art .go { margin-top: auto; padding-top: 20px; font-size: 14px; color: var(--fg); display: inline-flex; gap: 8px; align-items: center; }

/* ---------- FAQ ---------- */
.faq__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
.faq__grid .sec-head { position: sticky; top: 120px; }
details { border-bottom: 1px solid var(--line); }
details:first-child { border-top: 1px solid var(--line); }
summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 26px 0; font-size: clamp(18px, 1.5vw, 21px); font-weight: 600; transition: color .25s; }
summary::-webkit-details-marker { display: none; }
summary:hover { color: var(--blue); }
summary .pl { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line2); flex: none; position: relative; transition: transform .45s var(--ease), background .3s, border-color .3s; }
summary .pl::before, summary .pl::after { content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 1.5px; background: currentColor; transform: translate(-50%,-50%); }
summary .pl::after { transform: translate(-50%,-50%) rotate(90deg); }
details[open] summary .pl { transform: rotate(45deg); background: var(--blue); border-color: var(--blue); color: #061024; }
details .ans { overflow: hidden; }
details p { color: var(--muted); margin: 0; padding: 0 0 28px; font-size: 16.5px; font-weight: 300; max-width: 680px; line-height: 1.75; }

/* ---------- newsletter ---------- */
.nl { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(30px, 5vw, 70px); align-items: center; padding: clamp(32px, 5vw, 60px); border-radius: 30px; }
.nl h2 { font-size: clamp(28px, 3.2vw, 44px); }
.nl .lead { font-size: 17px; }
.nl form { display: grid; gap: 14px; }
.nl .inline { display: flex; gap: 10px; }
.nl .inline .inp { direction: ltr; text-align: left; font-family: var(--font); font-size: 16px; font-weight: 400; }
.check { display: flex; gap: 10px; font-size: 13.5px; color: var(--muted); line-height: 1.5; align-items: flex-start; }
.check input { width: 18px; height: 18px; accent-color: var(--blue); margin-top: 2px; flex: none; }
.check a { color: var(--blue); }
.nl .done { display: none; padding: 18px 20px; border-radius: 14px; background: rgba(74,222,128,.08); border: 1px solid rgba(74,222,128,.25); }
.nl.sent form { display: none; } .nl.sent .done { display: block; }

/* ---------- contact ---------- */
.contact { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(30px, 6vw, 80px); align-items: start; }
.contact h2 .hl { display: block; }
.next { list-style: none; padding: 0; margin: 40px 0 0; display: grid; gap: 22px; }
.next li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; }
.next .n { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-family: var(--num); font-weight: 700; border: 1px solid rgba(76,195,255,.35); color: var(--blue); background: rgba(76,195,255,.06); }
.next b { display: block; font-size: 17px; }
.next span { color: var(--muted); font-size: 15px; font-weight: 300; }
.now { margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--line); }
.now p { margin: 0 0 14px; color: var(--muted); }
.form { padding: clamp(26px, 3.5vw, 44px); border-radius: 28px; }
.form__head { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: var(--muted); }
.form__bar { height: 3px; border-radius: 3px; background: rgba(255,255,255,.08); margin-top: 12px; overflow: hidden; }
.form__bar i { display: block; height: 100%; width: 50%; background: linear-gradient(270deg, var(--blue), #8fdcff); transition: width .6s var(--ease); }
.form__calc { margin-top: 18px; padding: 12px 14px; border-radius: 12px; background: rgba(76,195,255,.06); border: 1px solid rgba(76,195,255,.18); font-size: 13.5px; color: var(--muted); display: none; }
.form__calc.show { display: block; }
.fstep { display: none; gap: 16px; margin-top: 26px; }
.fstep.on { display: grid; }
.f label { display: block; font-size: 14px; color: var(--muted); margin-bottom: 8px; }
.f .inp { font-family: var(--font); font-size: 16px; font-weight: 400; height: 52px; }
.f .inp.ltr { direction: ltr; text-align: right; }
.f select.inp { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23aab' stroke-width='1.6'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 18px center; padding-left: 40px; }
.f select.inp option { background: #0b1324; }
.f textarea.inp { height: 100px; padding-top: 14px; resize: vertical; }
.pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pills label { margin: 0; }
.pills input { position: absolute; opacity: 0; pointer-events: none; }
.pills span { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line2); font-size: 14px; cursor: pointer; transition: background .25s, border-color .25s, color .25s; color: var(--muted); }
.pills input:checked + span { background: rgba(76,195,255,.12); border-color: var(--blue); color: var(--fg); }
.pills input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.fnote { font-size: 13px; color: var(--dim); }
.factions { display: flex; gap: 10px; justify-content: space-between; align-items: center; margin-top: 6px; }
.err { font-size: 13px; color: var(--red); min-height: 18px; }
.sent-box { display: none; text-align: center; padding: 30px 10px; }
.sent-box .ok { width: 70px; height: 70px; border-radius: 50%; margin: 0 auto; display: grid; place-items: center; background: rgba(74,222,128,.12); color: var(--green); border: 1px solid rgba(74,222,128,.3); }
.sent-box .ok svg { width: 32px; height: 32px; }
.sent-box h3 { margin-top: 22px; font-size: 28px; }
.sent-box p { color: var(--muted); margin: 12px auto 24px; max-width: 380px; }
.form.sent .sent-box { display: block; }
.form.sent .form__in { display: none; }

/* ---------- footer ---------- */
footer { border-top: 1px solid var(--line); padding: 80px 0 40px; margin-top: clamp(60px, 9vw, 120px); }
.foot { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.foot p { color: var(--muted); font-size: 15px; max-width: 320px; margin: 18px 0 0; font-weight: 300; }
.foot h5 { margin: 0 0 18px; font-size: 13px; color: var(--dim); font-weight: 500; letter-spacing: .06em; }
.foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; font-size: 15px; }
.foot ul a { color: var(--muted); transition: color .25s; }
.foot ul a:hover { color: var(--fg); }
.foot__bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 60px; padding-top: 26px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--dim); }
.foot__bottom nav { display: flex; gap: 22px; flex-wrap: wrap; }
.foot__bottom a:hover { color: var(--fg); }
.giant { font-family: var(--num); font-weight: 800; font-size: clamp(52px, 12.4vw, 172px); line-height: .8; letter-spacing: -.05em; text-align: center; direction: ltr; margin-top: 60px; background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 85%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; user-select: none; }
.giant i { font-style: normal; -webkit-text-fill-color: rgba(76,195,255,.35); }

.wa-float { position: fixed; left: 22px; bottom: 22px; z-index: 40; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: #22c55e; color: #fff; box-shadow: 0 14px 40px -10px rgba(34,197,94,.7); transition: transform .45s var(--ease); }
.wa-float:hover { transform: scale(1.08); }
.wa-float svg { width: 28px; height: 28px; }


/* ===== v2 upgrades ===== */
::selection { background: rgba(76,195,255,.35); color: #fff; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.sprog { position: fixed; top: 0; right: 0; left: 0; height: 2px; transform-origin: right; transform: scaleX(0); background: linear-gradient(270deg, var(--blue), #8fdcff); z-index: 70; box-shadow: 0 0 12px var(--blue); }

/* intro: logo */
.pre { position: fixed; inset: 0; z-index: 200; background: radial-gradient(50% 50% at 50% 45%, #0b1530, var(--bg) 70%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px; clip-path: inset(0 0 0 0); transition: clip-path 1.1s cubic-bezier(.77,0,.18,1); }
.pre.out { clip-path: inset(0 0 100% 0); }
.pre__mark { position: relative; width: clamp(110px, 13vw, 150px); aspect-ratio: 1; opacity: 0; transform: scale(.6); filter: blur(14px); animation: markIn .7s cubic-bezier(.22,1,.36,1) .05s forwards; }
.pre__mark img, .pre__mark .pre__img { width: 100%; height: 100%; display: block; border-radius: 22%; box-shadow: 0 30px 80px -20px rgba(47,107,255,.6), 0 0 0 1px rgba(255,255,255,.06); }
.pre__dot { position: absolute; left: 78.03%; top: 68.65%; width: 15.43%; aspect-ratio: 1; margin: -7.715% 0 0 -7.715%; border-radius: 50%; background: #4cc3ff; opacity: 0; transform: translateY(-260%) scale(.4); animation: dotIn .55s cubic-bezier(.34,1.56,.64,1) .45s forwards, dotGlow 1s ease-out 1s forwards; }
.pre__word { display: flex; direction: ltr; font-family: var(--num); font-weight: 800; font-size: clamp(30px, 4.4vw, 54px); letter-spacing: -.01em; line-height: 1; overflow: hidden; padding-bottom: 4px; }
.pre__word span { display: inline-block; transform: translateY(110%); animation: letterUp .7s cubic-bezier(.22,1,.36,1) forwards; }
.pre__word span.d { color: #4cc3ff; }
.pre__tag { font-size: 14px; letter-spacing: .14em; color: var(--muted); opacity: 0; animation: rise .6s var(--ease) .85s forwards; transform: translateY(10px); }
@keyframes markIn { to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes dotIn { to { opacity: 1; transform: none; } }
@keyframes dotGlow { 0% { box-shadow: 0 0 0 rgba(76,195,255,0); } 35% { box-shadow: 0 0 28px 4px rgba(76,195,255,.85); } 100% { box-shadow: 0 0 14px rgba(76,195,255,.45); } }
@keyframes letterUp { to { transform: none; } }
body:not(.ready) .hero .w, body:not(.ready) .in-hero, body:not(.ready) .hcard { animation-play-state: paused; }

/* hero shader + card */
#gl { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__bg video.ready { opacity: .7; mix-blend-mode: screen; }
.hero .wrap { position: relative; }
.hcard { position: absolute; left: var(--pad); top: 46%; transform: translateY(-50%); width: 340px; padding: 22px 22px 18px; border-radius: 24px; opacity: 0; animation: hcIn 1.1s var(--ease) 1.9s forwards, floaty 7s ease-in-out 3.1s infinite; }
@keyframes hcIn { from { opacity: 0; transform: translateY(calc(-50% + 26px)); } to { opacity: 1; transform: translateY(-50%); } }
.hcard__top { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--muted); }
.live { display: inline-flex; align-items: center; gap: 8px; color: var(--fg); font-weight: 600; }
.live i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 rgba(74,222,128,.6); animation: ping 2s infinite; }
.hcard ul { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.hcard li { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; line-height: 1.45; padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--line); opacity: .35; transform: translateX(-8px); transition: opacity .6s var(--ease), transform .6s var(--ease), border-color .6s; }
.hcard li.on { opacity: 1; transform: none; border-color: rgba(74,222,128,.25); }
.hcard li .ck { width: 20px; height: 20px; border-radius: 50%; flex: none; display: grid; place-items: center; border: 1.5px solid var(--line2); transition: background .4s, border-color .4s; margin-top: 1px; }
.hcard li.on .ck { background: var(--green); border-color: var(--green); color: #052e16; }
.hcard li .ck svg { width: 12px; height: 12px; opacity: 0; transition: opacity .3s .15s; }
.hcard li.on .ck svg { opacity: 1; }
.hcard__foot { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); display: flex; justify-content: space-between; }
.hcard__foot b { color: var(--blue); font-weight: 600; }
.hero__copy { position: relative; z-index: 2; }

/* cursor spotlight on cards */
.spot { position: relative; }
.spot::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .4s;
  background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), rgba(76,195,255,.11), transparent 50%); }
.spot:hover::after { opacity: 1; }

/* stacking steps (desktop) */
@media (min-width: 901px) {
  .steps3 { display: block; }
  .step3 { position: sticky; top: calc(110px + var(--i) * 26px); min-height: 330px; margin-bottom: 26px; display: grid; grid-template-columns: 1.3fr 1fr; grid-template-areas: "h n" "p n"; align-content: end; column-gap: 40px; padding: clamp(36px, 4vw, 56px);
    background: linear-gradient(180deg, #0c1529, #080f20); border: 1px solid var(--line2); box-shadow: 0 -30px 60px -30px rgba(0,0,0,.8); transform-origin: top center; }
  .step3 .n { grid-area: n; align-self: end; justify-self: start; font-size: clamp(120px, 14vw, 210px); line-height: .78; letter-spacing: -.06em; font-weight: 800;
    background: linear-gradient(180deg, rgba(76,195,255,.9), rgba(47,107,255,.05)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
  .step3 h3 { grid-area: h; margin-top: 0; font-size: clamp(32px, 3.4vw, 50px); font-weight: 800; letter-spacing: -.02em; }
  .step3 p { grid-area: p; font-size: 19px; max-width: 520px; }
}

/* scrubbed quote */
.quote p .qw { color: rgba(243,246,251,.16); transition: color .35s; }
.quote p .qw.on { color: var(--fg); }
.quote p { font-size: clamp(28px, 3.4vw, 52px); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }

/* films */
.films { direction: ltr; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.films__track { display: flex; gap: 18px; width: max-content; animation: marq 60s linear infinite; direction: ltr; padding: 10px 0 20px; }
.films:hover .films__track { animation-play-state: paused; }
.film { flex: 0 0 clamp(190px, 18vw, 250px); aspect-ratio: 9/16; border-radius: 22px; overflow: hidden; position: relative; border: 1px solid var(--line2); background: #0a1122; transition: transform .6s var(--ease), box-shadow .6s var(--ease); cursor: pointer; }
.film:hover { transform: translateY(-10px) scale(1.02); box-shadow: 0 30px 60px -20px rgba(47,107,255,.55); }
.film img, .film video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.film video { opacity: 0; transition: opacity .5s; }
.film.play video { opacity: 1; }
.film .pl { position: absolute; left: 14px; bottom: 14px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.14); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: opacity .3s; }
.film.play .pl { opacity: 0; }
.film .pl svg { width: 14px; height: 14px; margin-left: 2px; }
.films-foot { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }

/* magnetic */
.btn-primary { will-change: transform; }

@keyframes floaty { 0%, 100% { opacity: 1; transform: translateY(-50%); } 50% { opacity: 1; transform: translateY(calc(-50% - 12px)); } }
@keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(74,222,128,.6); } 80%, 100% { box-shadow: 0 0 0 10px rgba(74,222,128,0); } }
@media (max-width: 1180px) { .hcard { display: none; } }
@media (max-width: 560px) { .case { padding: 30px 20px; } .before, .after { padding: 24px 18px; } .after__nums b { font-size: 38px; } .after__nums div > span { font-size: 13.5px; } .before .big { font-size: 84px; } }
@media (prefers-reduced-motion: reduce) { .hcard { opacity: 1; } .pre { display: none; } #gl { display: none; } .quote p .qw { color: var(--fg); } }


/* ===== VS comparison ===== */
@property --a { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.vs { position: relative; display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; max-width: 1040px; margin: 0 auto; isolation: isolate; }
.vs__col { position: absolute; top: 0; bottom: 0; width: calc(50% - 32px); border-radius: 30px; z-index: -1; }
.vs__col.us { right: 0; background: radial-gradient(120% 60% at 50% 0%, rgba(76,195,255,.22), transparent 60%), linear-gradient(180deg, #0f1e3d, #091329); box-shadow: 0 40px 120px -40px rgba(47,107,255,.75), inset 0 1px 0 rgba(255,255,255,.08); }
.vs__col.us::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: conic-gradient(from var(--a), rgba(76,195,255,.15) 0deg, rgba(76,195,255,.15) 220deg, #4cc3ff 280deg, #e6f7ff 300deg, #2f6bff 330deg, rgba(76,195,255,.15) 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: spinA 6s linear infinite; }
.vs__col.us::after { content: ''; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 34px 34px;
  mask-image: linear-gradient(180deg, #000, transparent 55%); -webkit-mask-image: linear-gradient(180deg, #000, transparent 55%); }
.vs__col.them { left: 0; background: rgba(255,255,255,.018); border: 1px solid var(--line); filter: saturate(.4); }
.vs__badge { position: absolute; top: 58px; left: 50%; transform: translate(-50%, -50%); width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; z-index: 2;
  font-family: var(--num); font-weight: 800; font-size: 17px; letter-spacing: .04em; color: var(--fg); background: #0b1428; border: 1px solid var(--line2); box-shadow: 0 0 0 8px var(--bg), 0 10px 30px -8px rgba(76,195,255,.5); }
.vs__head { min-height: 116px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 0 20px; text-align: center; }
.vs__head.us .logo { font-size: clamp(24px, 2.4vw, 32px); }
.vs__head.us small { font-size: 12px; letter-spacing: .32em; text-transform: uppercase; color: var(--blue); }
.vs__head.them span { font-size: clamp(17px, 1.6vw, 21px); font-weight: 600; color: var(--dim); }
.vs__k { grid-column: 1 / -1; display: flex; justify-content: center; padding: 26px 0 14px; position: relative; }
.vs__k span { font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--muted); padding: 5px 14px; border-radius: 999px; background: #0b1428; border: 1px solid var(--line); position: relative; z-index: 1; }
.vs__k::before { content: ''; position: absolute; top: calc(50% + 6px); inset-inline: 28px; height: 1px; background: linear-gradient(90deg, transparent, var(--line2), transparent); }
.vs__c { display: flex; align-items: flex-start; gap: 14px; padding: 4px clamp(18px, 3vw, 40px) 22px; line-height: 1.45; }
.vs__c .ic { width: 28px; height: 28px; flex: none; border-radius: 50%; display: grid; place-items: center; transition: transform .7s cubic-bezier(.34,1.56,.64,1), opacity .5s; transition-delay: calc(.35s + var(--d) * .22s); }
.vs__c .ic svg { width: 15px; height: 15px; }
.vs__c.us .ic { background: linear-gradient(180deg, #8fdcff, #2f9bff); color: #04111f; box-shadow: 0 0 22px rgba(76,195,255,.6); transform: scale(.3); opacity: 0; }
.vs__c.us b { font-size: clamp(17px, 1.55vw, 21px); font-weight: 700; color: rgba(243,246,251,.45); transition: color .7s; transition-delay: calc(.35s + var(--d) * .22s); }
.vs__c.them .ic { background: rgba(248,113,113,.1); color: var(--red); border: 1px solid rgba(248,113,113,.25); }
.vs__c.them .vt { font-size: clamp(15.5px, 1.3vw, 17px); color: var(--dim); text-decoration: line-through; text-decoration-thickness: 1.5px; text-decoration-color: transparent; transition: text-decoration-color .6s, color .6s; transition-delay: calc(.5s + var(--d) * .22s); }
.vs.in .vs__c.us .ic { transform: none; opacity: 1; }
.vs.in .vs__c.us b { color: var(--fg); }
.vs.in .vs__c.them .vt { text-decoration-color: rgba(248,113,113,.7); color: rgba(243,246,251,.32); }
.vs__foot { padding: 14px clamp(18px, 3vw, 40px) 34px; display: flex; justify-content: center; }
@keyframes spinA { to { --a: 360deg; } }
@media (max-width: 700px) {
  .vs { column-gap: 12px; }
  .vs__col { width: calc(50% - 6px); border-radius: 22px; }
  .vs__badge { width: 40px; height: 40px; font-size: 12px; top: 46px; box-shadow: 0 0 0 5px var(--bg), 0 8px 20px -6px rgba(76,195,255,.5); }
  .vs__head { min-height: 92px; padding: 0 8px; }
  .vs__head.us .logo { font-size: 18px; }
  .vs__head.us small { font-size: 10px; letter-spacing: .24em; }
  .vs__head.them span { font-size: 15px; }
  .vs__k { padding: 20px 0 10px; }
  .vs__k span { font-size: 12px; padding: 4px 11px; }
  .vs__c { flex-direction: column; gap: 10px; padding: 2px 14px 16px; }
  .vs__c .ic { width: 24px; height: 24px; }
  .vs__c.us b { font-size: 15.5px; }
  .vs__c.them .vt { font-size: 14.5px; }
  .vs__foot { padding: 10px 10px 22px; }
  .vs__foot .btn { padding: 12px 16px; font-size: 14px; white-space: normal; text-align: center; }
  .vs__foot .btn svg { display: none; }
}
@media (prefers-reduced-motion: reduce) { .vs__c.us .ic { transform: none; opacity: 1; } .vs__c.us b { color: var(--fg); } }


/* ===== v5 ===== */
.reveal h2 { clip-path: inset(0 0 100% 0); transform: translateY(40px); transition: clip-path 1.2s cubic-bezier(.77,0,.18,1), transform 1.2s cubic-bezier(.22,1,.36,1); transition-delay: .1s; }
.reveal.in h2 { clip-path: inset(-10% -5% -15% -5%); transform: none; }
.reveal .kicker::before { transform: scaleX(0); transform-origin: right; transition: transform .9s var(--ease) .2s; }
.reveal.in .kicker::before { transform: none; }

.tmarq { direction: ltr; overflow: hidden; padding: 10px 0 20px; mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.tmarq__track { display: flex; gap: 18px; width: max-content; animation: marq 70s linear infinite; }
.tmarq:hover .tmarq__track { animation-play-state: paused; }
.tmarq .t { direction: rtl; width: 380px; flex: none; min-height: 300px; }
.tmarq .t.feature { width: 560px; }
@media (max-width: 600px) { .tmarq .t { width: 300px; } .tmarq .t.feature { width: 340px; } .tmarq .t.feature blockquote { font-size: 17px; } }

.tilt { transform-style: preserve-3d; transition: transform .5s var(--ease); will-change: transform; }

.out-max.bump { animation: bump .5s var(--ease); }
@keyframes bump { 30% { color: var(--blue); text-shadow: 0 0 40px rgba(76,195,255,.6); } }
.calc__out { position: relative; overflow: hidden; }
.calc__out::before { content: ''; position: absolute; width: 380px; height: 380px; top: -160px; left: -120px; border-radius: 50%; background: radial-gradient(circle, rgba(76,195,255,.25), transparent 65%); animation: breathe 6s ease-in-out infinite; pointer-events: none; }
.calc__out > * { position: relative; }
@keyframes breathe { 50% { transform: scale(1.25) translate(20px, 30px); opacity: .6; } }

.band .blob { position: absolute; border-radius: 50%; filter: blur(60px); z-index: -1; opacity: .65; }
.band .b1 { width: 420px; height: 420px; background: #2f6bff; top: -180px; right: 10%; animation: drift1 14s ease-in-out infinite; }
.band .b2 { width: 340px; height: 340px; background: #4cc3ff; bottom: -200px; left: 12%; animation: drift2 16s ease-in-out infinite; }
.band .b3 { width: 260px; height: 260px; background: #6d5bff; top: 20%; left: 45%; opacity: .35; animation: drift1 18s ease-in-out infinite reverse; }
.band .beam { position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.08) 50%, transparent 60%); background-size: 250% 100%; animation: sheen 7s linear infinite; }
@keyframes drift1 { 50% { transform: translate(-80px, 60px) scale(1.15); } }
@keyframes drift2 { 50% { transform: translate(90px, -50px) scale(.9); } }
@keyframes sheen { from { background-position: 150% 0; } to { background-position: -150% 0; } }

.giant { background: linear-gradient(100deg, rgba(255,255,255,.07) 35%, rgba(143,220,255,.55) 50%, rgba(255,255,255,.07) 65%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; animation: sheen 9s linear infinite; }

.cur, .cur-dot { position: fixed; top: 0; left: 0; pointer-events: none; z-index: 300; border-radius: 50%; opacity: 0; transition: opacity .3s, width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), background .35s, border-color .35s; }
.cur { width: 38px; height: 38px; margin: -19px 0 0 -19px; border: 1.5px solid rgba(143,220,255,.55); }
.cur-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; background: var(--blue); }
.cur.on, .cur-dot.on { opacity: 1; }
.cur.big { width: 64px; height: 64px; margin: -32px 0 0 -32px; background: rgba(76,195,255,.1); border-color: var(--blue); }
@media (hover: none) { .cur, .cur-dot { display: none; } }
@media (prefers-reduced-motion: reduce) { .reveal h2 { clip-path: none; transform: none; } .cur, .cur-dot { display: none; } }


/* ===== v6 ===== */
.marquee { direction: ltr; display: grid; gap: 6px; padding: 26px 0; }
.mq-row { overflow: hidden; }
.marquee__track { animation: marq 46s linear infinite; }
.mq-row.rev .marquee__track { animation-direction: reverse; animation-duration: 58s; }
.marquee span { font-weight: 800; font-size: clamp(30px, 4.4vw, 62px); letter-spacing: -.02em; color: rgba(243,246,251,.85); padding: 0 clamp(18px, 2.4vw, 36px); gap: clamp(36px, 4.8vw, 72px); }
.marquee span::after { width: 10px; height: 10px; opacity: 1; box-shadow: 0 0 14px var(--blue); }
.mq-row.rev span { color: transparent; -webkit-text-stroke: 1.2px rgba(143,220,255,.5); }
.mq-row.rev span::after { background: transparent; border: 1.5px solid rgba(143,220,255,.5); box-shadow: none; }

.viz { margin-top: 20px; height: 26px; display: flex; align-items: center; }
.ticks { gap: 4px; }
.ticks i { width: 5px; height: 22px; border-radius: 3px; background: rgba(255,255,255,.09); transition: background .3s, box-shadow .3s; transition-delay: calc(var(--k) * 70ms + .3s); }
.stat.in .ticks i { background: var(--blue); box-shadow: 0 0 10px rgba(76,195,255,.5); }
.bar { position: relative; width: 100%; max-width: 200px; height: 8px; border-radius: 8px; background: rgba(255,255,255,.08); overflow: hidden; }
.bar i { position: absolute; inset-block: 0; right: 0; width: 0; border-radius: 8px; background: linear-gradient(270deg, #8fdcff, var(--blue2)); box-shadow: 0 0 16px rgba(76,195,255,.6); transition: width 1.6s var(--ease) .3s; }
.stat.in .bar i { width: 71.4%; }
.days { gap: 5px; }
.days i { width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; font-style: normal; font-size: 11px; font-weight: 700; color: var(--dim); background: rgba(255,255,255,.05); border: 1px solid var(--line); transition: background .35s, color .35s, border-color .35s, box-shadow .35s; transition-delay: calc(var(--k) * 110ms + .3s); }
.stat.in .days i { background: rgba(76,195,255,.15); border-color: rgba(76,195,255,.5); color: var(--fg); box-shadow: 0 0 12px rgba(76,195,255,.3); }
.ring { position: relative; width: 44px; height: 44px; }
.ring svg { width: 44px; height: 44px; transform: rotate(-90deg); }
.ring circle { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 3.5; }
.ring circle.f { stroke: var(--blue); stroke-linecap: round; stroke-dasharray: 113.1; stroke-dashoffset: 113.1; transition: stroke-dashoffset 1.8s var(--ease) .3s; filter: drop-shadow(0 0 6px rgba(76,195,255,.7)); }
.stat.in .ring circle.f { stroke-dashoffset: 0; }
.ring .lock { position: absolute; inset: 0; display: grid; place-items: center; color: var(--blue); }
.ring .lock svg { width: 16px; height: 16px; transform: none; }

.amb { position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(48vmax 48vmax at var(--x, 75%) var(--y, 30%), hsla(var(--h, 215), 95%, 58%, .12), transparent 70%),
              radial-gradient(40vmax 40vmax at calc(100% - var(--x, 75%)) calc(100% - var(--y, 30%)), hsla(calc(var(--h, 215) + 40), 90%, 60%, .07), transparent 70%); }

.drawer nav a { opacity: 0; transform: translateY(24px); transition: opacity .5s var(--ease), transform .6s var(--ease); display: flex; align-items: baseline; gap: 14px; }
.drawer nav { counter-reset: dn; }
.drawer nav a::before { counter-increment: dn; content: "0" counter(dn); font-family: var(--num); font-size: 13px; color: var(--blue); font-weight: 600; }
.drawer.open nav a { opacity: 1; transform: none; }
.drawer.open nav a:nth-child(1) { transition-delay: .08s; } .drawer.open nav a:nth-child(2) { transition-delay: .13s; } .drawer.open nav a:nth-child(3) { transition-delay: .18s; }
.drawer.open nav a:nth-child(4) { transition-delay: .23s; } .drawer.open nav a:nth-child(5) { transition-delay: .28s; } .drawer.open nav a:nth-child(6) { transition-delay: .33s; } .drawer.open nav a:nth-child(7) { transition-delay: .38s; }

@media (max-width: 1180px) {
  .hcard { display: block; position: relative; left: auto; top: auto; transform: none; width: 100%; max-width: 460px; margin-top: 30px; padding: 18px; animation: hcInM .9s var(--ease) 1.2s forwards; }
  .hcard ul { gap: 8px; margin-top: 14px; }
  .hcard li { font-size: 13.5px; padding: 10px 12px; }
}
@keyframes hcInM { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) { .stats { column-gap: 22px; } .stat .viz { margin-top: 16px; } .days { gap: 3px; } .days i { width: 17px; height: 19px; border-radius: 5px; font-size: 9.5px; } .ticks { gap: 3px; } .ticks i { width: 4px; } }
@media (prefers-reduced-motion: reduce) { .hcard { animation: none; opacity: 1; } .drawer nav a { opacity: 1; transform: none; } }


/* ===== v7 ===== */
.pv { height: 132px; margin: -6px -6px 22px; border-radius: 16px; background: linear-gradient(180deg, rgba(76,195,255,.07), rgba(255,255,255,.015)); border: 1px solid var(--line); position: relative; overflow: hidden; padding: 16px; }
.plat .ic { position: absolute; top: 108px; right: 22px; width: 46px; height: 46px; background: #0b1428; box-shadow: 0 0 0 5px #070d1b; }
.plat h3 { margin-top: 20px; }
.plat { position: relative; }
/* google */
.sbar { white-space: nowrap; overflow: hidden; display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; border-radius: 999px; background: rgba(255,255,255,.95); color: #23324d; font-size: 13.5px; font-weight: 500; }
.sbar svg { width: 15px; height: 15px; color: #6b7a93; flex: none; }
.caret { width: 1.5px; height: 16px; background: #2f6bff; animation: blink 1s steps(1) infinite; }
.res { margin-top: 12px; display: grid; gap: 6px; opacity: 0; transform: translateY(6px); transition: opacity .4s, transform .4s; }
.pv-g.show .res { opacity: 1; transform: none; }
.res b { font-size: 10.5px; font-weight: 700; color: var(--blue); }
.res span { height: 7px; width: 80%; border-radius: 4px; background: rgba(143,220,255,.5); }
.res span.s { width: 55%; background: rgba(255,255,255,.15); }
/* meta */
.post { width: 62%; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid var(--line); padding: 8px; }
.ph { display: flex; align-items: center; gap: 6px; } .ph i { width: 16px; height: 16px; border-radius: 50%; background: linear-gradient(135deg, var(--blue), #6d5bff); } .ph span { height: 6px; width: 50%; border-radius: 3px; background: rgba(255,255,255,.2); }
.post .img { height: 40px; margin-top: 7px; border-radius: 8px; background: linear-gradient(120deg, #1d3f7a, #2f6bff 60%, #4cc3ff); }
.post .cta { margin-top: 7px; font-size: 10.5px; font-weight: 700; text-align: center; padding: 5px; border-radius: 6px; background: var(--fg); color: #061024; animation: tap 3.2s ease-in-out infinite; }
.ping { position: absolute; left: 14px; top: 18px; font-size: 11.5px; font-weight: 700; padding: 6px 11px; border-radius: 999px; background: #22c55e; color: #fff; box-shadow: 0 8px 20px -6px rgba(34,197,94,.7); animation: ping2 3.2s var(--ease) infinite; }
/* tiktok */
.pv-t { display: flex; gap: 8px; align-items: flex-end; justify-content: center; }
.clip { width: 15%; aspect-ratio: 9/16; border-radius: 8px; background: rgba(255,255,255,.06); border: 1px solid var(--line); position: relative; overflow: hidden; animation: clipop 5s var(--ease) infinite; }
.clip i { position: absolute; left: 0; right: 0; bottom: 0; height: var(--h, 30%); background: linear-gradient(0deg, rgba(76,195,255,.45), transparent); transition: height 1s; }
.clip.c0 { --h: 25%; } .clip.c1 { --h: 40%; } .clip.c2 { --h: 85%; animation-name: winner; border-color: var(--blue); } .clip.c3 { --h: 30%; } .clip.c4 { --h: 18%; }
/* native */
.pv-n { display: grid; gap: 10px; }
.art2 { display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: 10px; background: rgba(255,255,255,.05); border: 1px solid var(--line); }
.art2.dim { opacity: .45; }
.art2 .th { width: 52px; height: 36px; border-radius: 6px; background: linear-gradient(135deg, #2f6bff, #4cc3ff); flex: none; }
.art2.dim .th { background: rgba(255,255,255,.12); }
.art2 .ln { flex: 1; display: grid; gap: 6px; }
.art2 .ln span { height: 6px; border-radius: 3px; background: rgba(255,255,255,.22); background-image: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent); background-size: 200% 100%; animation: shimmer 2.4s linear infinite; }
.art2 .ln span.s { width: 60%; }
@keyframes blink { 50% { opacity: 0; } }
@keyframes tap { 0%, 60%, 100% { transform: none; } 66% { transform: scale(.92); } 72% { transform: none; } }
@keyframes ping2 { 0%, 62% { opacity: 0; transform: translateY(10px) scale(.8); } 72%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes winner { 0%, 40% { transform: none; box-shadow: none; } 55%, 100% { transform: translateY(-8px) scale(1.08); box-shadow: 0 10px 26px -6px rgba(76,195,255,.7); } }
@keyframes clipop { 0%, 40% { opacity: 1; } 55%, 100% { opacity: .45; } }
@keyframes shimmer { to { background-position: -200% 0; } }

/* article covers */
.art .cv { display: block; height: 150px; margin: -30px -28px 24px; position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.art .cv::before { content: ''; position: absolute; inset: -40%; background: conic-gradient(from 0deg at 50% 50%, #0b1a3a, #2f6bff, #4cc3ff, #0b1a3a, #6d5bff, #0b1a3a); filter: blur(30px); opacity: .55; animation: spinA2 18s linear infinite; }
.art .cv.cv2::before { animation-duration: 24s; opacity: .45; } .art .cv.cv3::before { animation-direction: reverse; }
.art .cv::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 26px 26px; }
.art .cv b { position: absolute; inset: 0; display: grid; place-items: center; z-index: 1; font-family: var(--num); font-weight: 800; font-size: 84px; letter-spacing: -.05em; color: rgba(255,255,255,.92); text-shadow: 0 10px 40px rgba(47,107,255,.8); transition: transform .8s var(--ease); }
.art:hover .cv b { transform: scale(1.12); }
@keyframes spinA2 { to { transform: rotate(360deg); } }

/* FAQ smooth */
details .ans { transition: height .5s var(--ease); }

/* form focus */
.inp:focus { box-shadow: 0 0 0 4px rgba(76,195,255,.14), 0 10px 30px -12px rgba(76,195,255,.5); }

/* rotating badge */
.foot__cta { position: relative; }
.rbadge { position: absolute; top: 50%; left: -1%; transform: translateY(-50%) rotate(-8deg); width: clamp(110px, 12vw, 170px); aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; z-index: 2; transition: transform .6s var(--ease); }
.rbadge:hover { transform: translateY(-50%) rotate(0) scale(1.06); }
.rtxt { direction: ltr; position: absolute; inset: 0; width: 100%; height: 100%; animation: spinA2 16s linear infinite; }
.rtxt text { font-family: var(--font); font-size: 15.5px; font-weight: 600; letter-spacing: 2px; fill: rgba(243,246,251,.8); }
.rcore { width: 46%; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: var(--blue); color: #04111f; box-shadow: 0 0 40px rgba(76,195,255,.6); }
.rcore svg { width: 34%; height: 34%; }
@media (max-width: 900px) {
  .wrap .plats { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
  .wrap .plats::-webkit-scrollbar { display: none; }
  .plat { scroll-snap-align: start; }
  .foot__cta .rbadge { position: relative; top: auto; left: auto; transform: rotate(-8deg); margin: 30px auto 0; }
  .rbadge:hover { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) { .rtxt, .art .cv::before { animation: none; } }


/* ===== v8 ===== */
.pz { height: 92px; margin: 0 0 20px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.02); position: relative; overflow: hidden; }
.pz2 { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 10px; direction: ltr; }
.rp { font-size: 11px; color: var(--muted); padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,.05); border: 1px solid var(--line); text-align: center; line-height: 1.3; direction: rtl; }
.rp b { display: block; font-size: 12.5px; color: var(--fg); }
.rp.g, .rp.m { animation: dupe 4s var(--ease) infinite; }
.rp.m { animation-delay: .25s; }
.rp.k { border-color: rgba(74,222,128,.35); background: rgba(74,222,128,.08); }
.rp.k b { color: var(--green); }
.eq { font-family: var(--num); font-weight: 800; color: var(--dim); }
@keyframes dupe { 0%, 30% { border-color: var(--line); box-shadow: none; } 45%, 75% { border-color: rgba(248,113,113,.6); box-shadow: 0 0 18px -4px rgba(248,113,113,.6); } 100% { border-color: var(--line); } }
.pz0 svg { position: absolute; inset: 10px 0 0; width: 100%; height: calc(100% - 10px); transform: scaleX(-1); }
.pz0 .ln { fill: none; stroke: var(--red); stroke-width: 2; stroke-dasharray: 420; stroke-dashoffset: 420; vector-effect: non-scaling-stroke; }
.pz0 .ar { fill: url(#none); fill: rgba(248,113,113,.08); opacity: 0; transition: opacity 1s 1.4s; }
.prob.in .pz0 .ln, .reveal.in .pz0 .ln { animation: draw 2.4s var(--ease) .3s forwards; }
.reveal.in .pz0 .ar { opacity: 1; }
.pz0 .tg { position: absolute; font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 999px; }
.pz0 .t1 { top: 6px; right: 10px; background: rgba(76,195,255,.12); color: var(--blue); }
.pz0 .t2 { bottom: 8px; left: 10px; background: rgba(248,113,113,.1); color: var(--red); opacity: 0; transition: opacity .6s 2.2s; }
.reveal.in .pz0 .t2 { opacity: 1; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.pz7 { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 0 8px; }
.pz7 i { width: 9%; max-width: 30px; color: var(--muted); transition: opacity .5s, transform .5s, color .5s; transition-delay: calc(.4s + var(--k) * 90ms); }
.pz7 i svg { width: 100%; height: auto; }
.reveal.in .pz7 i:not(.g) { opacity: .15; transform: translateY(8px) scale(.85); color: var(--red); }
.reveal.in .pz7 i.g { color: var(--green); filter: drop-shadow(0 0 6px rgba(74,222,128,.6)); }

.orb { position: relative; width: 96px; height: 96px; flex: none; }
.orb .mono { position: relative; z-index: 1; }
.orb .o { position: absolute; inset: -14px; border-radius: 50%; animation: spinA2 var(--t, 9s) linear infinite; }
.orb .o::before { content: ''; position: absolute; top: 0; left: 50%; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 12px var(--blue); }
.orb .o1 { --t: 7s; } .orb .o2 { --t: 11s; animation-delay: -3s; inset: -22px; } .orb .o2::before { background: #8fdcff; width: 6px; height: 6px; }
.orb .o3 { --t: 9s; animation-delay: -6s; inset: -8px; animation-direction: reverse; } .orb .o3::before { background: #6d8bff; width: 5px; height: 5px; }
.orb .o4 { --t: 13s; animation-delay: -2s; inset: -18px; } .orb .o4::before { background: var(--green); width: 5px; height: 5px; box-shadow: 0 0 10px var(--green); }
.orb .o5 { --t: 15s; animation-delay: -9s; inset: -26px; animation-direction: reverse; } .orb .o5::before { width: 4px; height: 4px; }
.founder { overflow: visible; }

.contact-sec { overflow: hidden; isolation: isolate; }
.floor { position: absolute; inset: auto 0 0 0; height: 70%; z-index: -1; perspective: 520px; pointer-events: none; mask-image: linear-gradient(0deg, #000 10%, transparent 95%); -webkit-mask-image: linear-gradient(0deg, #000 10%, transparent 95%); }
.floor i { position: absolute; left: -50%; right: -50%; bottom: -10%; height: 160%; transform: rotateX(68deg); transform-origin: bottom;
  background-image: linear-gradient(rgba(76,195,255,.35) 1.5px, transparent 1.5px), linear-gradient(90deg, rgba(76,195,255,.35) 1.5px, transparent 1.5px); background-size: 64px 64px; animation: floorMove 3s linear infinite; }
.floor::after { content: ''; position: absolute; left: 0; right: 0; top: 30%; height: 160px; background: radial-gradient(50% 100% at 50% 0%, rgba(76,195,255,.35), transparent 70%); filter: blur(10px); }
@keyframes floorMove { to { background-position: 0 64px; } }

.hero h1 { position: relative; }
.hero h1::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.35) 50%, transparent 65%); background-size: 260% 100%; background-position: 160% 0; mix-blend-mode: overlay; animation: sweep 1.6s var(--ease) 1.5s forwards; }
body:not(.ready) .hero h1::after { animation-play-state: paused; }
@keyframes sweep { to { background-position: -60% 0; } }
@media (prefers-reduced-motion: reduce) { .floor i, .orb .o { animation: none; } .pz0 .ln { stroke-dashoffset: 0; } }


/* ===== v10 ===== */
h3.h4 { font-size: 21px; } .week h3.h4, .story h3.h4 { font-size: 21px; font-weight: 700; margin: 10px 0 0; } .optional h3.h4 { margin: 0 0 14px; font-size: 15px; font-weight: 600; } .optional h3.h4 small { color: var(--dim); font-weight: 400; }
.foot .fh { margin: 0 0 18px; font-size: 13px; color: var(--dim); font-weight: 500; letter-spacing: .06em; }
#sm-cookie a { text-decoration: underline; }
.fields[hidden] { display: none; }
.split { margin-top: 22px; }
.split__bar { display: flex; height: 14px; border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.06); gap: 2px; }
.split__bar i { display: block; height: 100%; width: 0; transition: width .8s var(--ease); }
.s-ad { background: linear-gradient(270deg, #8fdcff, var(--blue)); box-shadow: 0 0 16px rgba(76,195,255,.6); }
.s-keep { background: linear-gradient(270deg, #86efac, #22c55e); }
.s-cost { background: rgba(255,255,255,.16); }
.split__leg { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 13px; color: var(--muted); }
.split__leg span { display: inline-flex; align-items: center; gap: 6px; }
.split__leg em { font-style: normal; }
.split__leg b { width: 9px; height: 9px; border-radius: 3px; }
.d-ad { background: var(--blue); } .d-keep { background: var(--green); } .d-cost { background: rgba(255,255,255,.3); }

.mail { margin-bottom: 22px; padding: 16px; border-radius: 16px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid var(--line2); box-shadow: 0 30px 60px -30px rgba(47,107,255,.6); transform: rotate(-2deg); animation: mailFloat 6s ease-in-out infinite; }
.mail__top { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--muted); padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.mail__top .logo { font-size: 14px; }
.mail__row { display: grid; grid-template-columns: auto 1fr; gap: 6px 10px; align-items: center; padding: 10px 0 2px; }
.mail__row span { grid-column: 2; height: 6px; border-radius: 3px; background: rgba(255,255,255,.2); }
.mail__row span.s { width: 65%; background: rgba(255,255,255,.1); }
.mail__row .tg { grid-row: span 2; font-size: 10.5px; padding: 4px 8px; border-radius: 999px; white-space: nowrap; }
.tg.new { background: rgba(76,195,255,.15); color: var(--blue); } .tg.act { background: rgba(251,191,36,.14); color: var(--amber); } .tg.ign { background: rgba(255,255,255,.07); color: var(--dim); }
@keyframes mailFloat { 50% { transform: rotate(-1deg) translateY(-6px); } }

section + section::before, .sec::before { content: ''; position: absolute; top: 0; left: 50%; width: min(var(--wrap), 90%); height: 1px; transform: translateX(-50%) scaleX(0); background: linear-gradient(90deg, transparent, rgba(76,195,255,.5), transparent); transition: transform 1.4s var(--ease); }
section.seen::before { transform: translateX(-50%) scaleX(1); }
.hero::before, .leak::before { display: none; }
@media (prefers-reduced-motion: reduce) { .mail { animation: none; } }


/* ===== v12: profit vortex ===== */
@media (min-width: 1181px) {
  .hcard { top: auto; bottom: 150px; transform: none; animation: hcIn2 .9s var(--ease) 1.2s forwards, floaty2 7s ease-in-out 2.2s infinite; width: 320px; }
}
@keyframes hcIn2 { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes floaty2 { 0%, 100% { opacity: 1; transform: none; } 50% { opacity: 1; transform: translateY(-10px); } }

@keyframes sweep { 0% { background-position: 160% 0; opacity: 1; } 85% { opacity: 1; } 100% { background-position: -60% 0; opacity: 0; } }

#vx { position: absolute; inset: 0; width: 100%; height: 100%; }
#gl { opacity: .55; }
.vx-cap { position: absolute; left: var(--pad); bottom: clamp(110px, 16vh, 150px); z-index: 1; font-size: 12.5px; color: var(--dim); display: flex; gap: 14px; align-items: center; opacity: 0; animation: rise 1s var(--ease) 1.6s forwards; }
.vx-cap span { display: inline-flex; align-items: center; gap: 6px; }
.vx-cap i { width: 7px; height: 7px; border-radius: 50%; }
body:not(.ready) .vx-cap { animation-play-state: paused; }
@media (max-width: 1180px) { .vx-cap { display: none; } }
.vx-cap { top: 128px; bottom: auto; }


/* ===== v13 ===== */
.hero h1 .h1-kw { display: block; font-size: clamp(15px, 1.35vw, 19px); font-weight: 700; letter-spacing: .01em; line-height: 1.4; color: rgba(243,246,251,.72); margin-bottom: clamp(12px, 1.6vw, 20px); }
.hero h1 .h1-kw .w { animation-duration: .8s; }

.vx-cap { flex-wrap: wrap; max-width: 560px; }
.vx-live { padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--line); color: var(--muted); }
.vx-live b { font-weight: 700; color: var(--fg); }
.vx-live b.g { color: var(--green); }
.hero__copy, .hcard, .vx-cap { will-change: transform, opacity; }
.hero-hint { position: absolute; left: var(--pad); top: 168px; font-size: 12px; color: var(--dim); opacity: 0; animation: rise 1s var(--ease) 2.2s forwards; display: inline-flex; gap: 6px; align-items: center; }
.hero-hint svg { width: 14px; height: 14px; }
body:not(.ready) .hero-hint { animation-play-state: paused; }
@media (max-width: 1180px) { .hero-hint { display: none; } }


/* ===== v17: live-site wordmark + mobile bar ===== */
.logo { font-family: var(--num); font-weight: 800; font-size: 23px; letter-spacing: -.055em; line-height: .9; display: inline-flex; align-items: baseline; direction: ltr; }
.logo b { font-size: 1.48em; font-weight: 800; letter-spacing: -.04em; }
.logo i { display: inline-block; width: .27em; height: .27em; border-radius: 50%; background: var(--blue); margin-left: .09em; font-style: normal; }
.nav .logo { font-size: 21px; }
.vs__head.us .logo { font-size: clamp(22px, 2.2vw, 28px); }
.mail__top .logo { font-size: 13px; }
.foot .logo { font-size: 24px; }
.pre__word { align-items: baseline; letter-spacing: -.055em; }
.pre__word span.big { font-size: 1.48em; letter-spacing: -.04em; }
.pre__word span.d { width: .27em; height: .27em; border-radius: 50%; background: #4cc3ff; margin-left: .09em; }
.giant { letter-spacing: -.06em; }
.mbar { display: none; }
@media (max-width: 900px) {
  .mbar { display: grid; grid-template-columns: 1fr 1.3fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(5,9,19,.86); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-top: 1px solid var(--line); transform: translateY(110%); transition: transform .6s var(--ease); }
  .mbar.on { transform: none; }
  .mbar .btn { padding: 14px 10px; font-size: 16px; }
  .wa-float { display: none; }
  body { padding-bottom: 76px; }
}


/* ===== v18: founder card like the live site ===== */
.about__top { align-items: center; }
.fcard { border-radius: 30px; padding: 22px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); border: 1px solid var(--line2); box-shadow: 0 40px 100px -40px rgba(47,107,255,.6); max-width: 460px; justify-self: end; width: 100%; }
.fcard__tile { position: relative; aspect-ratio: 4/3; border-radius: 22px; display: grid; place-items: center; overflow: hidden;
  background: radial-gradient(70% 70% at 30% 20%, rgba(76,195,255,.22), transparent 60%), linear-gradient(160deg, #13234a, #0a1229); border: 1px solid rgba(76,195,255,.18); }
.fcard__tile::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 30px 30px; mask-image: radial-gradient(60% 60% at 50% 45%, #000, transparent); -webkit-mask-image: radial-gradient(60% 60% at 50% 45%, #000, transparent); }
.fcard__mark { position: relative; z-index: 1; direction: ltr; font-family: var(--num); font-weight: 800; font-size: clamp(110px, 12vw, 160px); line-height: 1; letter-spacing: -.04em; color: #f4f8fc; display: inline-flex; align-items: baseline; text-shadow: 0 20px 60px rgba(47,107,255,.5); }
.fcard__mark i { display: inline-block; width: .19em; height: .19em; border-radius: 50%; background: var(--blue); margin-left: .04em; box-shadow: 0 0 30px rgba(76,195,255,.8); animation: dotPulse 2.6s ease-in-out infinite; }
@keyframes dotPulse { 50% { box-shadow: 0 0 50px rgba(76,195,255,1), 0 0 0 8px rgba(76,195,255,.12); } }
.fcard__badge { position: absolute; z-index: 1; bottom: 16px; right: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 700; background: rgba(255,255,255,.1); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.fcard__badge i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); animation: ping 2s infinite; }
.fcard__who { padding: 22px 6px 18px; }
.fcard__who b { display: block; font-size: clamp(24px, 2.2vw, 30px); font-weight: 800; }
.fcard__who small { display: block; color: var(--muted); font-size: 15px; margin-top: 4px; }
.fcard__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fcard__stats > div { padding: 16px 16px 14px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid var(--line); }
.fcard__stats b { display: block; font-family: var(--num); font-weight: 800; font-size: clamp(34px, 3vw, 44px); line-height: 1; letter-spacing: -.03em; direction: ltr; text-align: right; }
.fcard__stats > div > span { display: block; color: var(--muted); font-size: 14px; margin-top: 8px; line-height: 1.4; }
@media (max-width: 900px) { .fcard { justify-self: stretch; max-width: none; margin-top: 30px; } }


/* ===== v19: social cards + swipeable testimonials ===== */
.tmarq { overflow-x: auto; scroll-snap-type: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; cursor: grab; }
.tmarq::-webkit-scrollbar { display: none; }
.tmarq.drag { cursor: grabbing; scroll-snap-type: none; }
.tmarq .tmarq__track { animation: none !important; }
.tmarq .t { scroll-snap-align: start; }
.tdots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.tdots button { width: 8px; height: 8px; border-radius: 8px; border: 0; padding: 0; background: rgba(255,255,255,.2); cursor: pointer; transition: width .4s var(--ease), background .4s; }
.tdots button.on { width: 26px; background: var(--blue); }

.soc { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; }
.soc a { position: relative; display: flex; flex-direction: column; border-radius: 28px; padding: clamp(24px, 3vw, 36px); overflow: hidden; transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.soc a:hover { transform: translateY(-6px); }
.soc-tag { display: inline-block; font-family: var(--num); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.soc-desc { display: block; color: rgba(255,255,255,.85); font-size: 16px; line-height: 1.6; margin-top: 12px; max-width: 420px; }
.soc-cta { margin-top: auto; padding-top: 26px; display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 16px; }
.soc-cta svg { width: 18px; height: 18px; transition: transform .45s var(--ease); }
.soc a:hover .soc-cta svg { transform: translateX(-5px); }
.soc-ig { background: radial-gradient(120% 90% at 100% 0%, rgba(255,214,102,.35), transparent 55%), radial-gradient(100% 90% at 0% 100%, rgba(131,58,180,.55), transparent 60%), linear-gradient(135deg, #e1306c 0%, #c13584 45%, #5b2bb5 100%); color: #fff; box-shadow: 0 40px 90px -40px rgba(193,53,132,.7); min-height: 360px; }
.soc-ig:hover { box-shadow: 0 50px 110px -40px rgba(193,53,132,.9); }
.soc-ig__ring { width: 86px; height: 86px; border-radius: 50%; padding: 3px; background: conic-gradient(from 0deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5, #feda75); position: relative; }
.soc-ig__ring::before { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); animation: ping3 2.4s ease-out infinite; }
@keyframes ping3 { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(1.25); opacity: 0; } }
.soc-ig__av { width: 100%; height: 100%; border-radius: 50%; background: #0b1530; border: 3px solid #fff; font-family: var(--num); font-weight: 800; font-size: 36px; direction: ltr; color: #fff; display: flex; align-items: center; justify-content: center; }
.soc-ig__av i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); margin-left: 2px; align-self: flex-end; margin-bottom: 26px; }
.soc-ig__body { display: block; margin-top: 20px; }
.soc-ig__body b { display: block; font-size: clamp(24px, 2.6vw, 34px); font-weight: 800; margin-top: 6px; text-align: right; }
.soc-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 20px; max-width: 420px; }
.soc-grid i { aspect-ratio: 9/16; border-radius: 8px; background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.08)); border: 1px solid rgba(255,255,255,.25); animation: igPulse 3s ease-in-out infinite; }
.soc-grid i:nth-child(2) { animation-delay: .3s; } .soc-grid i:nth-child(3) { animation-delay: .6s; } .soc-grid i:nth-child(4) { animation-delay: .9s; } .soc-grid i:nth-child(5) { animation-delay: 1.2s; } .soc-grid i:nth-child(6) { animation-delay: 1.5s; }
@keyframes igPulse { 50% { background: linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,.15)); transform: translateY(-3px); } }
.soc-ig .soc-cta { color: #fff; }
.soc-li { background: linear-gradient(180deg, #0f2440, #0a1628); border: 1px solid rgba(10,102,194,.45); color: var(--fg); box-shadow: 0 40px 90px -40px rgba(10,102,194,.6); }
.soc-li::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: #0a66c2; }
.soc-li__head { display: flex; align-items: center; gap: 14px; }
.soc-li__logo { width: 56px; height: 56px; flex: none; border-radius: 12px; background: #0a66c2; color: #fff; display: grid; place-items: center; font-family: Arial, sans-serif; font-weight: 800; font-size: 28px; letter-spacing: -.04em; direction: ltr; }
.soc-li__head b { display: block; font-size: 20px; margin-top: 2px; }
.soc-li__head small { color: var(--muted); font-size: 13px; }
.soc-li .soc-tag { color: #70b5f9; }
.soc-li__post { display: block; margin-top: 22px; padding: 16px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid var(--line); }
.soc-li__post .lph { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
.soc-li__post .lph > span { display: block; line-height: 1.35; }
.soc-li__post .lph i { flex: none; }
.soc-li__post .lph i { width: 34px; height: 34px; border-radius: 8px; background: linear-gradient(135deg, #2f6bff, #4cc3ff); }
.soc-li__post .lph b { display: block; font-size: 13.5px; } .soc-li__post .lph small { color: var(--dim); font-size: 12px; }
.soc-li__post .ln { display: block; height: 7px; border-radius: 4px; margin-top: 10px; background: rgba(255,255,255,.18); background-image: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent); background-size: 200% 100%; animation: shimmer 2.6s linear infinite; }
.soc-li__post .ln.s { width: 60%; }
.soc-li__post .re { display: flex; margin-top: 14px; }
.soc-li__post .re i { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #0f2440; margin-left: -6px; background: #0a66c2; }
.soc-li__post .re i:nth-child(2) { background: #4ade80; } .soc-li__post .re i:nth-child(3) { background: #fbbf24; }
.soc-li .soc-desc { color: var(--muted); }
.soc-li .soc-cta { color: #70b5f9; }
@media (max-width: 900px) { .soc { grid-template-columns: 1fr; } .soc-ig { min-height: 0; } }


/* ===== v20: social icon links ===== */
.socials { display: flex; gap: 10px; margin-top: 22px; }
.si { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: var(--fg); background: rgba(255,255,255,.05); border: 1px solid var(--line2); transition: transform .4s var(--ease), background .3s, border-color .3s, color .3s; }
.si svg { width: 20px; height: 20px; }
.si:hover { transform: translateY(-3px); color: #fff; border-color: transparent; }
.si-ig:hover { background: linear-gradient(135deg, #f58529, #dd2a7b 50%, #8134af); }
.si-fb:hover { background: #1877f2; }
.si-li:hover { background: #0a66c2; }

@keyframes word { to { opacity: 1; filter: blur(0); transform: none; } }
@keyframes rise { to { opacity: 1; transform: none; } }
@keyframes pulse { 50% { opacity: .35; } }
@keyframes wheel { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(10px); } }
@keyframes marq { to { transform: translateX(-50%); } }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .nav ul { display: none; }
  .menu-btn { display: inline-flex; }
  .nav .btn.desk { display: none; }
  .inds__grid { grid-template-columns: repeat(3, 1fr); }
  .plats { grid-template-columns: repeat(2, 1fr); }
  .foot { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .hero__shade { background: linear-gradient(0deg, var(--bg) 0%, rgba(5,9,19,.82) 45%, rgba(5,9,19,.45) 100%); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat { border-inline-start: 0; padding-inline: 0; border-top: 1px solid var(--line); }
  .stat:nth-child(-n+2) { border-top: 0; }
  .fall { height: auto; }
  .fall__stick { position: static; height: auto; display: block; }
  .fall__grid { grid-template-columns: 1fr; }
  .row { grid-template-columns: 120px 1fr 56px; gap: 10px; }
  .problems, .steps3, .arts, .story { grid-template-columns: 1fr; }
  .calc { grid-template-columns: 1fr; }
  .calc__out { border-inline-start: 0; border-top: 1px solid var(--line); }
  .weeks { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .weeks::-webkit-scrollbar { display: none; }
  .week { scroll-snap-align: start; }
  .weeks .line { display: none; }
  .swipe-hint { display: block; }
  .cmp { grid-template-columns: 1fr 1fr; }
  .cmp .k { grid-column: 1 / -1; padding-bottom: 6px; border-top: 1px solid var(--line); background: rgba(255,255,255,.02); }
  .cmp .h.k { display: none; }
  .cmp .them, .cmp .us { border-top: 0; padding-top: 8px; font-size: 15px; }
  .about__top, .fit, .faq__grid, .nl, .contact, .case__grid { grid-template-columns: 1fr; }
  .faq__grid .sec-head { position: static; }
  .tst { grid-auto-columns: 86%; }
  .t.feature { grid-column: span 1; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .inds__grid { grid-template-columns: repeat(2, 1fr); }
  .plats { grid-template-columns: 1fr; }
  .after__nums { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .hero .ctas .btn { width: 100%; }
  .two { grid-template-columns: 1fr; }
  .nl .inline { flex-direction: column; }
  .foot { grid-template-columns: 1fr; }
  .hero__foot .where { display: none; }
  .founder { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .hero h1 .w, .in-hero, .reveal { opacity: 1; filter: none; transform: none; }
  .hero__bg video { display: none; }
  .row { opacity: 1; }
}

/* services in the menu */
.nav .has-sub { position: relative; }
.sub-btn { background: none; border: 0; padding: 0; font: inherit; font-size: 15px; color: var(--muted); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: color .25s; }
.sub-btn:hover, .has-sub.open .sub-btn, .has-sub:focus-within .sub-btn { color: var(--fg); }
.sub-btn svg { transition: transform .25s; }
.has-sub.open .sub-btn svg { transform: rotate(180deg); }
.nav .navsub { position: absolute; z-index: 5; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); top: calc(100% + 18px); right: -18px; min-width: 230px; padding: 10px; border-radius: 18px; background: #090e1c; border: 1px solid var(--line2); box-shadow: 0 24px 60px rgba(0,0,0,.5); display: grid; gap: 2px; opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity .2s, transform .2s; }
.nav .navsub::before { content: ''; position: absolute; inset: -18px 0 auto 0; height: 18px; }
.has-sub:hover .navsub, .has-sub.open .navsub, .has-sub:focus-within .navsub { opacity: 1; pointer-events: auto; transform: none; }
.nav .navsub a { display: block; padding: 10px 14px; border-radius: 12px; font-size: 15px; color: var(--muted); white-space: nowrap; }
.nav .navsub a:hover, .nav .sub a:focus-visible { background: rgba(255,255,255,.06); color: var(--fg); }
.drawer { overflow-y: auto; }
.dsub { margin-top: 26px; }
.dsub p { margin: 0 0 12px; font-size: 13px; color: var(--blue); letter-spacing: .06em; font-weight: 600; }
.dsub__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dsub__grid a { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.03); font-size: 15.5px; font-weight: 500; }

/* mobile menu: one consistent list */
.drawer nav.dmenu { margin-top: 18px; counter-reset: none; }
.drawer .dlab { margin: 22px 0 6px; font-size: 13px; color: var(--blue); letter-spacing: .06em; font-weight: 600; }
.drawer .dlist { display: flex; flex-direction: column; }
.drawer nav.dmenu a { font-size: 19px; font-weight: 600; padding: 13px 0; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; opacity: 1; transform: none; }
.drawer nav.dmenu a::before { content: none; }
.drawer nav.dmenu a svg { color: var(--dim); flex: none; }
.drawer .btn { margin-top: 24px; flex: none; }

/* compact drawer (all pages) */
.drawer { padding-top: 0; }
.drawer .top { position: sticky; top: 0; z-index: 2; background: rgba(5,9,19,.97); padding-top: 18px; padding-bottom: 10px; height: auto; }
.drawer nav, .drawer nav.dmenu { margin-top: 10px; counter-reset: none; }
.drawer nav a, .drawer nav.dmenu a { font-size: 18px; font-weight: 600; padding: 13px 0; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; opacity: 1; transform: none; }
.drawer nav a::before { content: none; }
.drawer .dacc { border-bottom: 1px solid var(--line); }
.drawer .dacc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; font-size: 18px; font-weight: 600; padding: 13px 0; }
.drawer .dacc summary::-webkit-details-marker { display: none; }
.drawer .dacc .chev { transition: transform .25s; color: var(--muted); }
.drawer .dacc[open] .chev { transform: rotate(180deg); }
.drawer .dacc .dlist { padding: 0 14px 8px 0; border-right: 1px solid var(--line2); margin-bottom: 10px; }
.drawer .dacc .dlist a { font-size: 16px; font-weight: 500; color: var(--muted); padding: 10px 0; border-bottom: 0; }
.drawer .dacc .dlist a svg { display: none; }
.drawer .btn { margin-top: 22px; flex: none; }
body:has(.drawer.open) .sprog { opacity: 0; }

/* UX: comfortable taps, readable small text, cookie bar in the brand and above the mobile bar */
.foot ul a, .foot__bottom a, .minifoot a { display: inline-block; padding: 6px 0; }
.check input[type=checkbox] { width: 20px; height: 20px; flex: none; accent-color: var(--blue); }
.fine, .src, .note, small { font-size: max(13px, 1em); }
#sm-cookie { background: #0c1424 !important; border: 1px solid rgba(255,255,255,.16) !important; border-radius: 20px !important; padding: 12px 14px !important; font-size: 13.5px !important; gap: 10px !important; max-width: 560px !important; box-shadow: 0 20px 50px rgba(0,0,0,.5) !important; }
#sm-cookie button { min-width: 84px !important; padding: 9px 14px !important; }
#sm-cookie button[data-v="granted"] { background: #f3f6fb !important; color: #061024 !important; }
@media (max-width: 900px) { #sm-cookie { transition: bottom .4s; } body:has(.mbar.on) #sm-cookie { bottom: calc(86px + env(safe-area-inset-bottom)) !important; } }

/* speed: skip rendering of sections until they come near the screen */
main > section:not(.hero), main > .sec, footer { content-visibility: auto; contain-intrinsic-size: auto 900px; }
html.cv-off main > section, html.cv-off main > .sec, html.cv-off footer { content-visibility: visible; }

/* ===== inner pages (service, about, blog, legal) — added on top of the home styles ===== */
/* page hero */
.phero { position: relative; overflow: hidden; padding: clamp(60px, 9vw, 120px) 0 clamp(50px, 7vw, 90px); isolation: isolate; }
.phero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 70% at 15% 30%, rgba(47,107,255,.28), transparent 70%), radial-gradient(40% 50% at 90% 0%, rgba(76,195,255,.12), transparent 70%); }
.phero::after { content: ''; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(70% 80% at 20% 30%, #000, transparent); -webkit-mask-image: radial-gradient(70% 80% at 20% 30%, #000, transparent); }
.crumbs { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13.5px; color: var(--dim); margin-bottom: 22px; }
.crumbs a { color: var(--muted); } .crumbs a:hover { color: var(--blue); }
.chip { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; font-size: 14px; color: var(--muted); }
.chip i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 14px var(--blue); animation: pulse 2.4s ease-in-out infinite; }
.phero h1 { font-weight: 900; font-size: clamp(40px, 6vw, 84px); line-height: 1.02; letter-spacing: -.03em; margin: 22px 0 0; max-width: 1000px; }
.phero--prose h1 { font-size: clamp(34px, 4.6vw, 62px); font-weight: 800; line-height: 1.1; }
.h1-kw { display: block; font-size: clamp(15px, 1.35vw, 19px); font-weight: 700; color: rgba(243,246,251,.72); margin-bottom: 14px; letter-spacing: .01em; }
.phero .sub { font-size: clamp(17px, 1.45vw, 21px); color: var(--muted); font-weight: 300; max-width: 680px; margin: 24px 0 0; line-height: 1.7; }
.phero .ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hstats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: clamp(40px, 6vw, 70px); }
.hs { padding: 20px 22px; border-radius: 18px; background: rgba(255,255,255,.035); border: 1px solid var(--line); }
.hs b { display: block; font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; letter-spacing: -.02em; color: var(--fg); }
.hs span { display: block; color: var(--muted); font-size: 14.5px; margin-top: 6px; }
.pmeta { margin-top: 22px; font-size: 14px; color: var(--dim); display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.pmeta a { color: var(--blue); }

/* answer box */
.answer { padding-top: 0; }
.answer__box { border-radius: 28px; padding: clamp(28px, 4vw, 52px); }
.answer__box h2 { font-size: clamp(26px, 2.8vw, 38px); }
.answer__box p { color: var(--muted); font-size: 18px; line-height: 1.8; margin: 16px 0 0; max-width: 900px; }

/* fit */
.fit { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; }
.fit > div { padding: clamp(26px, 3.5vw, 42px); }
.fit ul { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 14px; }
.fit li { display: flex; gap: 12px; font-size: 17px; }
.fit li svg { width: 22px; height: 22px; flex: none; margin-top: 2px; }
.fit .yes { border-color: rgba(76,195,255,.25); background: linear-gradient(180deg, rgba(76,195,255,.08), rgba(76,195,255,.02)); }
.fit .yes svg { color: var(--blue); }
.fit .no li { color: var(--muted); } .fit .no svg { color: var(--dim); }

/* mistakes */
.mis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mis { padding: 30px 28px; position: relative; overflow: hidden; }
.mis .n { font-family: var(--num); font-weight: 800; font-size: 64px; line-height: .9; letter-spacing: -.04em; background: linear-gradient(180deg, rgba(248,113,113,.9), rgba(248,113,113,.1)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; display: block; direction: ltr; text-align: right; }
.mis h3 { margin-top: 18px; }
.mis p { color: var(--muted); margin: 10px 0 0; font-weight: 300; }

/* what we do */
.do__panel { border-radius: 34px; padding: clamp(30px, 5vw, 70px); position: relative; overflow: hidden; isolation: isolate; border: 1px solid var(--line2); }
.do__panel::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 70% at 85% 10%, rgba(47,107,255,.35), transparent 70%), radial-gradient(50% 60% at 10% 100%, rgba(76,195,255,.15), transparent 70%), #081025; }
.feats { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.feat { padding: 24px; border-radius: 20px; background: rgba(255,255,255,.04); border: 1px solid var(--line); transition: border-color .4s, transform .5s var(--ease); }
.feat:hover { border-color: rgba(76,195,255,.4); transform: translateY(-4px); }
.feat .fi { font-family: var(--num); font-weight: 700; font-size: 13px; color: var(--blue); letter-spacing: .1em; }
.feat h3 { margin-top: 14px; font-size: 19px; }
.feat p { color: var(--muted); margin: 8px 0 0; font-size: 15.5px; font-weight: 300; }

/* testimonials */
.tgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.t { padding: 30px 28px; display: flex; flex-direction: column; margin: 0; }
.t .stars { display: flex; gap: 3px; color: var(--amber); }
.t .stars svg { width: 16px; height: 16px; }
.t blockquote { margin: 18px 0 0; font-size: 16.5px; line-height: 1.7; }
.t .who { margin-top: auto; padding-top: 22px; display: flex; gap: 12px; align-items: center; }
.t .av { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: rgba(76,195,255,.12); color: var(--blue); border: 1px solid rgba(76,195,255,.25); }
.t .who b { display: block; } .t .who small { color: var(--muted); font-size: 13.5px; }

/* founder strip */
.fdr { display: grid; grid-template-columns: auto 1fr auto; gap: clamp(20px, 4vw, 50px); align-items: center; padding: clamp(26px, 4vw, 46px); border-radius: 30px; }
.fdr__mark { width: clamp(110px, 12vw, 150px); aspect-ratio: 1; border-radius: 28px; display: flex; align-items: baseline; justify-content: center; padding-top: 18%; direction: ltr; font-family: var(--num); font-weight: 800; font-size: clamp(64px, 7vw, 90px); line-height: 1; background: radial-gradient(70% 70% at 30% 20%, rgba(76,195,255,.25), transparent 60%), linear-gradient(160deg, #13234a, #0a1229); border: 1px solid rgba(76,195,255,.2); }
.fdr__mark i { width: .19em; height: .19em; border-radius: 50%; background: var(--blue); margin-left: .04em; box-shadow: 0 0 24px rgba(76,195,255,.8); }
.fdr h2 { font-size: clamp(26px, 2.8vw, 38px); }
.fdr p { color: var(--muted); margin: 12px 0 0; font-weight: 300; max-width: 560px; }
.fdr .lnk { display: inline-block; margin-top: 14px; font-weight: 600; }
.fdr__stats { display: grid; gap: 10px; }
.fdr__stats div { padding: 14px 18px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid var(--line); min-width: 170px; }
.fdr__stats b { display: block; font-family: var(--num); font-size: 30px; font-weight: 800; line-height: 1; direction: ltr; text-align: right; }
.fdr__stats span { display: block; font-size: 13.5px; color: var(--muted); margin-top: 6px; }

/* chips */
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chiplink { display: inline-flex; align-items: center; gap: 12px; padding: 14px 22px; border-radius: 999px; border: 1px solid var(--line2); background: rgba(255,255,255,.03); font-weight: 600; transition: background .3s, border-color .3s, transform .4s var(--ease); }
.chiplink svg { width: 16px; height: 16px; color: var(--blue); }
.chiplink:hover { background: rgba(76,195,255,.1); border-color: var(--blue); transform: translateY(-2px); }

/* prose */
.prose-sec { padding-top: 10px; }
.prose { font-size: 18px; line-height: 1.85; color: rgba(243,246,251,.86); }
.prose h2 { font-size: clamp(26px, 2.6vw, 34px); margin: 56px 0 14px; line-height: 1.2; }
.prose h3 { font-size: 21px; margin: 34px 0 10px; color: var(--fg); }
.prose p { margin: 0 0 18px; }
.prose a { color: var(--blue); text-decoration: underline; text-decoration-color: rgba(76,195,255,.35); text-underline-offset: 4px; }
.prose strong, .prose b { color: var(--fg); }
.prose ul, .prose ol { padding: 0 1.2em 0 0; margin: 0 0 20px; }
.prose li { margin: 0 0 10px; }
.prose li::marker { color: var(--blue); }
.prose .tldr { padding: 24px 26px; border-radius: 20px; background: linear-gradient(180deg, rgba(76,195,255,.1), rgba(76,195,255,.03)); border: 1px solid rgba(76,195,255,.25); margin-bottom: 30px; }
.prose .tldr strong { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-size: 14px; letter-spacing: .06em; }
.prose .tldr p { margin: 8px 0 0; color: var(--fg); }
.prose .toc { padding: 22px 26px; border-radius: 20px; background: rgba(255,255,255,.03); border: 1px solid var(--line); margin: 0 0 36px; }
.prose .toc h2 { font-size: 15px; margin: 0 0 10px; color: var(--muted); letter-spacing: .04em; }
.prose .toc ol { margin: 0; }
.prose .toc a { text-decoration: none; color: var(--fg); }
.prose .toc a:hover { color: var(--blue); }
.prose .tbl { overflow-x: auto; margin: 6px 0 26px; border-radius: 18px; border: 1px solid var(--line2); }
.prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.prose th { text-align: right; font-weight: 700; padding: 14px 18px; background: rgba(76,195,255,.08); color: var(--fg); }
.prose td { padding: 13px 18px; border-top: 1px solid var(--line); }
.prose tr:hover td { background: rgba(255,255,255,.02); }
.prose blockquote { margin: 26px 0; padding: 4px 22px; border-right: 3px solid var(--blue); color: var(--fg); font-size: 20px; font-weight: 500; }
.prose .cta-inline { margin: 44px 0; padding: 26px; border-radius: 22px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; background: radial-gradient(80% 120% at 0% 100%, rgba(76,195,255,.25), transparent 60%), #0b1730; border: 1px solid rgba(76,195,255,.25); }
.prose .cta-inline p { margin: 0; font-size: 18px; font-weight: 600; color: var(--fg); }
.prose .cta-inline a { text-decoration: none; background: var(--fg); color: #061024; padding: 12px 22px; border-radius: 999px; font-weight: 700; font-size: 15px; }
.prose details { border-color: var(--line); }

/* articles */
.arts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.art { padding: 28px 26px; display: flex; flex-direction: column; min-height: 250px; transition: transform .5s var(--ease), border-color .4s; overflow: hidden; position: relative; }
.art:hover { transform: translateY(-5px); border-color: var(--line2); }
.art .cat { font-size: 13px; color: var(--blue); font-weight: 500; }
.art h3 { font-size: 20px; margin-top: 14px; line-height: 1.35; }
.art p { color: var(--muted); font-size: 15px; margin: 12px 0 0; font-weight: 300; }
.art small { margin-top: auto; padding-top: 18px; font-size: 13px; color: var(--dim); }
.art .cv { display: block; height: 140px; margin: -28px -26px 22px; position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.art .cv::before { content: ''; position: absolute; inset: -40%; background: conic-gradient(from 0deg, #0b1a3a, #2f6bff, #4cc3ff, #0b1a3a, #6d5bff, #0b1a3a); filter: blur(30px); opacity: .5; animation: spin 18s linear infinite; }
.art .cv.cv2::before { animation-duration: 24s; } .art .cv.cv3::before { animation-direction: reverse; }
.art .cv b { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--num); font-weight: 800; font-size: 70px; letter-spacing: -.05em; color: rgba(255,255,255,.92); text-shadow: 0 10px 40px rgba(47,107,255,.8); direction: ltr; }

.e404 { min-height: 70vh; display: grid; place-items: center; text-align: center; padding: 60px 0; }
.e404 b { font-family: var(--num); font-size: clamp(110px, 22vw, 260px); font-weight: 800; line-height: .9; letter-spacing: -.06em; background: linear-gradient(180deg, #fff, rgba(76,195,255,.15)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; display: block; }

.g3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.kpis.g2 { grid-template-columns: 1fr 1fr; }
.phero { padding-top: clamp(120px, 14vw, 170px); }
.prose-sec { padding-top: 0; }
@media (max-width: 1080px) {
  .feats { grid-template-columns: repeat(2, 1fr); }
  .fdr { grid-template-columns: auto 1fr; } .fdr__stats { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .hstats, .mis-grid, .tgrid, .arts, .fit { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .feats { grid-template-columns: 1fr; }
  .fdr { grid-template-columns: 1fr; } .fdr__stats { grid-template-columns: 1fr 1fr 1fr; } .fdr__stats div { min-width: 0; padding: 12px; } .fdr__stats b { font-size: 24px; }
  .prose { font-size: 17px; }
  .phero .ctas .btn { width: 100%; }
}
/* inner pages: tighter rhythm than the long home page */
.inner main > .sec { padding: clamp(48px, 6vw, 84px) 0; }
.inner main > .sec + .sec { padding-top: 0; }
.inner main > .sec.contact-sec { padding-top: clamp(56px, 7vw, 96px); }
.inner .sec-head { margin-bottom: clamp(26px, 3.5vw, 44px); }
.wrap.narrow { max-width: 860px; }

/* pages that had a short footer: same content, new look */
.minifoot { border-top: 1px solid var(--line); padding: 30px 0 34px; margin-top: 30px; font-size: 14px; color: var(--dim); }
.minifoot .wrap { display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; align-items: center; }
.minifoot a { color: var(--muted); } .minifoot a:hover { color: var(--fg); }
.minifoot nav, .minifoot div { display: flex; flex-wrap: wrap; gap: 8px 18px; }
/* back to top */
.totop { position: fixed; right: 20px; bottom: 24px; z-index: 55; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line2); background: rgba(5,9,19,.8); color: var(--fg); display: grid; place-items: center; cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .3s, transform .3s; backdrop-filter: blur(10px); }
.totop.on { opacity: 1; pointer-events: auto; transform: none; }
@media (max-width: 900px) { .inner .mbar ~ .totop { bottom: 90px; } .totop { right: 14px; } }
/* the pages' own contact form */
form.classic { display: grid; gap: 14px; }
form.classic .check { font-size: 14.5px; }
form.classic .btn-primary { justify-self: start; margin-top: 6px; }
.form .sent-box { display: none; text-align: center; padding: 30px 10px; }
.form .sent-box h3 { margin: 16px 0 8px; font-size: 26px; }
.form .sent-box p { color: var(--muted); margin: 0 auto 20px; max-width: 420px; }
.form.sent .sent-box { display: block; } .form.sent .form__in { display: none; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
