/* =========================================================
   SKREW FAMILY — umbrella landing
   Design system derived from the Skilcrew product DNA
   ========================================================= */

:root{
  /* color */
  --blue:        #2d6cff;
  --blue-700:    #1f56e0;
  --blue-050:    #eaf1ff;
  --blue-100:    #d6e3ff;

  --ink:         #0f172a;
  --ink-soft:    #3c4660;
  --muted:       #6b7385;
  --faint:       #9aa2b4;

  --bg:          #ffffff;
  --bg-soft:     #f5f8fe;
  --bg-deep:     #0f1830;   /* dark investor / footer panels */

  --line:        #e6eaf2;
  --line-soft:   #eef1f8;

  --green:       #15a34a;
  --green-050:   #e7f6ec;
  --amber:       #b45309;
  --amber-050:   #fdf2e3;

  /* radius */
  --r-card: 22px;
  --r-sm:   14px;
  --r-btn:  12px;
  --r-pill: 999px;

  /* shadow */
  --sh-sm: 0 1px 2px rgba(16,23,42,.06), 0 1px 3px rgba(16,23,42,.05);
  --sh-md: 0 12px 30px rgba(16,23,42,.08);
  --sh-lg: 0 28px 64px rgba(16,23,42,.12);
  --sh-blue: 0 12px 28px rgba(45,108,255,.30);

  /* type */
  --sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;

  /* layout */
  --maxw: 1180px;
  --gut: clamp(20px, 5vw, 56px);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
::selection{ background:var(--blue-100); }

/* ---------- shared layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding-inline:var(--gut); }
.section{ padding-block:clamp(72px,10vw,128px); }

.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--blue);
  font-weight:600;
  margin:0 0 18px;
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.eyebrow::before{
  content:"";
  width:22px;height:1.5px;background:var(--blue);display:inline-block;
}
.eyebrow.on-dark{ color:#7fa6ff; }
.eyebrow.on-dark::before{ background:#7fa6ff; }

h1,h2,h3{ margin:0; font-weight:800; letter-spacing:-.02em; line-height:1.05; }
h2.title{ font-size:clamp(30px,4.4vw,50px); line-height:1.07; letter-spacing:-.025em; }
.lede{
  font-size:clamp(17px,2vw,20px);
  color:var(--ink-soft);
  max-width:60ch;
  margin:18px 0 0;
  line-height:1.55;
  text-wrap:pretty;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  height:50px; padding:0 24px;
  border-radius:var(--r-btn);
  font-weight:700; font-size:15.5px; letter-spacing:-.01em;
  border:1px solid transparent;
  transition:transform .14s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--blue); color:#fff; box-shadow:var(--sh-blue); }
.btn-primary:hover{ background:var(--blue-700); }
.btn-ghost{ background:#fff; color:var(--ink); border-color:var(--line); box-shadow:var(--sh-sm); }
.btn-ghost:hover{ border-color:var(--blue-100); color:var(--blue-700); }
.btn-dark{ background:var(--ink); color:#fff; }
.btn-dark:hover{ background:#1d2949; }
.btn-onlight-blue{ background:#fff; color:var(--blue-700); }
.btn-onlight-blue:hover{ background:var(--blue-050); }
.btn-sm{ height:44px; padding:0 18px; font-size:14.5px; }
.btn .arr{ transition:transform .16s ease; }
.btn:hover .arr{ transform:translateX(3px); }

/* ---------- pills / badges ---------- */
.pill{
  display:inline-flex; align-items:center; gap:7px;
  height:28px; padding:0 12px;
  border-radius:var(--r-pill);
  font-size:12.5px; font-weight:700; letter-spacing:.005em;
  white-space:nowrap;
}
.pill .dot{ width:7px;height:7px;border-radius:50%; }
.pill-live{ background:var(--green-050); color:var(--green); }
.pill-live .dot{ background:var(--green); box-shadow:0 0 0 3px rgba(21,163,74,.16); }
.pill-soon{ background:var(--amber-050); color:var(--amber); }
.pill-soon .dot{ background:var(--amber); }
.pill-neutral{ background:var(--blue-050); color:var(--blue-700); }

/* ===================== NAV ===================== */
.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.nav.scrolled{ border-color:var(--line); box-shadow:0 1px 0 rgba(16,23,42,.04); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:72px; }
.brand{ display:flex; align-items:center; gap:11px; font-weight:800; font-size:19px; letter-spacing:-.03em; }
.brand .mark{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(150deg,var(--blue),#5b8bff);
  display:grid;place-items:center; color:#fff; box-shadow:var(--sh-blue);
}
.brand .mark svg{ width:18px;height:18px; }
.brand small{ font-family:var(--mono); font-size:10.5px; font-weight:500; color:var(--faint); letter-spacing:.06em; margin-left:2px; align-self:flex-end; padding-bottom:3px; }
.nav-links{ display:flex; align-items:center; gap:6px; }
.nav-links a{ padding:9px 13px; border-radius:9px; font-size:15px; font-weight:600; color:var(--ink-soft); transition:.15s; }
.nav-links a:hover{ color:var(--ink); background:var(--bg-soft); }
.nav-cta{ display:flex; align-items:center; gap:10px; }
.nav-burger{ display:none; width:44px;height:44px;border-radius:11px;border:1px solid var(--line);background:#fff; align-items:center;justify-content:center; }
.nav-burger svg{ width:20px;height:20px; }

/* mobile menu */
.mnav{ display:none; position:fixed; inset:72px 0 auto 0; z-index:55; background:#fff; border-bottom:1px solid var(--line); padding:14px var(--gut) 22px; box-shadow:var(--sh-md); }
.mnav.open{ display:block; }
.mnav a{ display:block; padding:14px 4px; font-size:18px; font-weight:700; border-bottom:1px solid var(--line-soft); }
.mnav .btn{ width:100%; margin-top:16px; }

/* ===================== HERO ===================== */
.hero{ position:relative; overflow:hidden; padding-block:clamp(64px,9vw,108px) clamp(56px,7vw,92px); }
.hero-bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(1100px 520px at 78% -10%, var(--blue-050), transparent 60%),
    linear-gradient(180deg,#fff, #fbfcff 60%, #fff);
}
.hero-grid{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.6;
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg,var(--line-soft) 1px, transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(900px 460px at 70% 8%, #000 0%, transparent 72%);
          mask-image:radial-gradient(900px 460px at 70% 8%, #000 0%, transparent 72%);
}
.hero .wrap{ position:relative; z-index:1; }
.hero-grid-layout{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,64px); align-items:center; }
.hero h1{ font-size:clamp(34px,5vw,58px); letter-spacing:-.03em; line-height:1.02; }
.hero h1 .hl{ color:var(--blue); }
.hero h1 .strike{ position:relative; white-space:nowrap; color:var(--muted); }
.hero h1 .strike::after{ content:""; position:absolute; left:-2%; right:-2%; top:54%; height:6px; background:var(--blue); border-radius:4px; transform:rotate(-2.2deg); }
.hero-sub{ font-size:clamp(17px,2.1vw,21px); color:var(--ink-soft); max-width:42ch; margin:26px 0 0; text-wrap:pretty; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero-sub-link{ color:var(--blue); font-weight:700; border-bottom:1.5px solid var(--blue-100); transition:border-color .15s, color .15s; }
.hero-sub-link:hover{ color:var(--blue-700); border-color:var(--blue); }
.hero-trust{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:30px; align-items:center; }
.hero-trust .ht{ display:flex; align-items:center; gap:9px; font-size:14px; color:var(--muted); font-weight:600; }
.hero-trust .ht svg{ width:17px;height:17px; color:var(--green); flex:none; }

/* hero side: three-platform stack */
.stack{ display:flex; flex-direction:column; gap:14px; }
.stack-card{
  position:relative; background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:18px 20px; box-shadow:var(--sh-sm);
  display:flex; align-items:center; gap:16px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.stack-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); }
.stack-card .ic{ width:46px;height:46px;border-radius:12px; flex:none; display:grid;place-items:center; font-weight:800; color:#fff; font-size:18px; }
.stack-card .ic.s{ background:linear-gradient(150deg,var(--blue),#5b8bff); }
.stack-card .ic.t{ background:linear-gradient(150deg,#16a34a,#36c46f); }
.stack-card .ic.f{ background:#aeb6c7; }
.stack-card h4{ margin:0; font-size:16.5px; font-weight:800; letter-spacing:-.01em; }
.stack-card p{ margin:2px 0 0; font-size:13.5px; color:var(--muted); }
.stack-card .sc-main{ min-width:0; }
.stack-card .sc-status{ margin-left:auto; flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:6px; text-align:right; }
.stack-card .sc-where{ font-family:var(--mono); font-size:10.5px; letter-spacing:.04em; color:var(--faint); font-weight:500; }
.stack-card .st{ margin-left:auto; flex:none; }
.stack-card .st-col{ margin-left:auto; flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.pill-working{ background:#fff; color:var(--green); border:1px solid #b9e6c8; height:24px; padding:0 10px; font-size:11.5px; }
.pill-onhold{ background:#f6efe2; color:#8a6a3a; border:1px solid #e6d6bd; height:24px; padding:0 10px; font-size:11.5px; }
.pill-online{ background:#f4ece0; color:#8a6a3a; border:1px solid #e6d6bd; height:24px; padding:0 10px; font-size:11.5px; }
.pill-online .dot{ background:#b58a4a; box-shadow:0 0 0 3px rgba(181,138,74,.16); }
.pill-online-green{ background:var(--green-050); color:var(--green); border:1px solid #b9e6c8; height:24px; padding:0 10px; font-size:11.5px; }
.pill-online-green .dot{ background:var(--green); box-shadow:0 0 0 3px rgba(21,163,74,.16); }
.stack-conn{ height:14px; margin:-7px 0 -7px 42px; border-left:2px dashed var(--blue-100); }

/* ===================== PROBLEM ===================== */
.problem{ background:var(--bg-soft); border-block:1px solid var(--line); }
.prob-head{ max-width:62ch; }
.prob-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:54px; }
.prob-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:28px 26px 30px; box-shadow:var(--sh-sm); display:flex; flex-direction:column; }
.prob-card .tag{ font-family:var(--mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); font-weight:600; }
.prob-card h3{ margin:14px 0 0; font-size:21px; font-weight:800; letter-spacing:-.02em; }
.prob-card p{ margin:11px 0 0; font-size:15px; color:var(--ink-soft); line-height:1.55; }
.prob-stat{ margin-top:auto; padding-top:22px; }
.prob-stat .num{ font-size:30px; font-weight:800; letter-spacing:-.03em; color:var(--ink); line-height:1; }
.prob-stat .num b{ color:#d4373b; font-weight:800; }
.prob-stat .cap{ font-size:13px; color:var(--muted); margin-top:7px; }
.prob-icon{ width:44px;height:44px;border-radius:12px;background:#fdecec;display:grid;place-items:center;margin-bottom:4px; }
.prob-icon svg{ width:22px;height:22px;color:#d4373b; }

/* ===================== PRODUCTS ===================== */
.prod-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; }
.prod-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; align-items:stretch; }
.prod{
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-card);
  overflow:hidden; box-shadow:var(--sh-sm);
  transition:transform .25s ease, box-shadow .25s ease, border-color .2s ease;
}
.prod:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:var(--blue-100); }
.prod.soon:hover{ border-color:#e7d7bd; }
.prod-media{ position:relative; aspect-ratio:16/10; background:var(--bg-soft); border-bottom:1px solid var(--line); overflow:hidden; }
.prod-media img{ width:100%; height:100%; object-fit:cover; object-position:top left; }
.prod-media .badge{ position:absolute; top:14px; left:14px; }
/* placeholder media */
.ph{ width:100%; height:100%; display:grid; place-items:center; position:relative;
  background:
    repeating-linear-gradient(135deg,#eef2fb 0 11px,#e7edf9 11px 22px);
}
.ph.green{ background:repeating-linear-gradient(135deg,#eafaf0 0 11px,#e1f5e9 11px 22px); }
.ph.soon{ background:repeating-linear-gradient(135deg,#fbf4e8 0 11px,#f6ecd9 11px 22px); }
.ph span{ font-family:var(--mono); font-size:12px; color:var(--muted); background:#fff; padding:7px 13px; border-radius:8px; box-shadow:var(--sh-sm); letter-spacing:.01em; }

/* trustmeta screenshot carousel */
.tm-carousel{ position:absolute; inset:0; overflow:hidden; background:#f3f5fb; }
.tm-track{ display:flex; height:100%; transition:transform .5s cubic-bezier(.65,0,.35,1); }
.tm-slide{ flex:0 0 100%; height:100%; }
.tm-slide img{ width:100%; height:100%; object-fit:cover; object-position:top left; }
.tm-nav{ position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.92); backdrop-filter:blur(4px); display:grid; place-items:center; color:var(--ink); box-shadow:var(--sh-sm); opacity:0; transition:opacity .2s ease, background .15s; z-index:2; }
.tm-nav svg{ width:18px; height:18px; }
.tm-nav.prev{ left:12px; }
.tm-nav.next{ right:12px; }
.tm-nav:hover{ background:#fff; color:var(--blue-700); }
.prod-media:hover .tm-nav{ opacity:1; }
.tm-dots{ position:absolute; left:0; right:0; bottom:12px; display:flex; gap:7px; justify-content:center; z-index:2; }
.tm-dot{ width:7px; height:7px; border-radius:50%; border:none; padding:0; background:rgba(255,255,255,.6); box-shadow:0 0 0 1px rgba(16,23,42,.12); cursor:pointer; transition:.2s; }
.tm-dot.is-active{ background:#fff; width:20px; border-radius:4px; box-shadow:0 0 0 1px rgba(16,23,42,.18); }
@media (hover:none){ .tm-nav{ opacity:1; } }
.prod-body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.prod-num{ font-family:var(--mono); font-size:12px; color:var(--faint); letter-spacing:.1em; font-weight:600; }
.prod-name{ display:flex; align-items:center; gap:10px; margin-top:8px; }
.prod-name h3{ font-size:24px; font-weight:800; letter-spacing:-.025em; }
.prod-what{ font-size:15px; color:var(--ink-soft); margin:12px 0 0; line-height:1.5; min-height:1px; }
.prod-rows{ margin-top:18px; display:flex; flex-direction:column; gap:14px; padding-top:18px; border-top:1px solid var(--line-soft); }
.prod-row .k{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); font-weight:600; }
.prod-row .v{ font-size:14.5px; color:var(--ink); margin-top:4px; line-height:1.45; font-weight:600; }
.prod-row .v .reg{ font-weight:500; color:var(--ink-soft); }
.prod-foot{ margin-top:22px; padding-top:4px; }
.prod-foot .btn{ width:100%; }

/* coming-soon tag (flagship, replaces waitlist) */
.soon-tag{
  display:flex; align-items:center; justify-content:center; gap:9px;
  width:100%; height:50px; border-radius:var(--r-btn);
  background:var(--amber-050); color:var(--amber);
  border:1px solid #f0dcb6;
  font-weight:700; font-size:15px; letter-spacing:.005em;
}
.soon-tag .dot{ width:8px;height:8px;border-radius:50%;background:var(--amber); }

/* waitlist mini form */
.wait{ display:flex; gap:9px; }
.wait input{ flex:1; min-width:0; height:48px; padding:0 15px; border:1px solid var(--line); border-radius:var(--r-btn); font-family:inherit; font-size:15px; color:var(--ink); background:#fff; transition:border-color .15s, box-shadow .15s; }
.wait input::placeholder{ color:var(--faint); }
.wait input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 4px var(--blue-050); }
.wait .btn{ flex:none; height:48px; }
.form-note{ font-size:12.5px; color:var(--faint); margin:10px 0 0; min-height:1em; transition:color .2s; }
.form-note.ok{ color:var(--green); font-weight:700; }
.form-note.err{ color:#d4373b; font-weight:700; }

/* ===================== HOW IT CONNECTS ===================== */
.connect{ background:var(--bg-soft); border-block:1px solid var(--line); }

/* compact mini-schema S -> T -> flagship */
.mini-flow{ display:flex; align-items:stretch; gap:8px; margin-top:48px; }
.mf-node{ flex:1; display:flex; align-items:flex-start; gap:14px; background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:22px 22px; box-shadow:var(--sh-sm); }
.mf-node.soon{ background:#fffdf8; border-color:#eedfc2; }
.mf-ic{ width:40px;height:40px;border-radius:11px; flex:none; display:grid;place-items:center; color:#fff; font-weight:800; font-size:16px; }
.mf-ic.s{ background:linear-gradient(150deg,var(--blue),#5b8bff); }
.mf-ic.t{ background:linear-gradient(150deg,#16a34a,#36c46f); }
.mf-ic.f{ background:#aeb6c7; }
.mf-txt h4{ font-size:17px; font-weight:800; letter-spacing:-.02em; display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.mf-txt p{ margin:6px 0 0; font-size:13.5px; color:var(--ink-soft); line-height:1.45; }
.mf-arrow{ align-self:center; flex:none; color:var(--blue); display:grid; place-items:center; }
.mf-arrow svg{ width:40px;height:16px; }

/* compact investor block (variant B) */
.inv-mini{ max-width:64ch; }
.inv-mini .title{ color:#fff; margin-top:2px; }
.inv-mini .lede{ color:#aeb9d6; }

/* legacy flow (kept for manifesto reuse) */
.flow{ margin-top:54px; }
.flow-top{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.flow-node{ background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:24px 24px; box-shadow:var(--sh-sm); }
.flow-node h4{ font-size:18px; font-weight:800; letter-spacing:-.02em; display:flex; align-items:center; gap:10px; }
.flow-node h4 .ic{ width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px; flex:none; }
.flow-node p{ font-size:14.5px; color:var(--ink-soft); margin:11px 0 0; line-height:1.5; }
.flow-mid{ display:flex; align-items:center; justify-content:center; gap:14px; padding:22px 0; }
.flow-mid .feed{ font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-700); font-weight:600; background:var(--blue-050); padding:8px 16px; border-radius:var(--r-pill); display:inline-flex; align-items:center; gap:10px; }
.flow-down{ display:flex; justify-content:center; padding:6px 0 22px; }
.flow-down svg{ width:30px;height:30px;color:var(--blue); }
.flow-flag{ background:var(--bg-deep); color:#fff; border-radius:var(--r-card); padding:32px clamp(24px,4vw,40px); box-shadow:var(--sh-lg); position:relative; overflow:hidden; }
.flow-flag::after{ content:""; position:absolute; inset:0; background:radial-gradient(600px 240px at 88% -20%, rgba(45,108,255,.35), transparent 60%); pointer-events:none; }
.flow-flag .inner{ position:relative; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
.flow-flag h4{ font-size:22px; font-weight:800; letter-spacing:-.02em; }
.flow-flag p{ color:#aeb9d6; font-size:15px; margin:10px 0 0; max-width:54ch; line-height:1.55; }
.flow-flag .arrive{ font-family:var(--mono); font-size:12px; color:#7fa6ff; letter-spacing:.08em; text-transform:uppercase; font-weight:600; margin-bottom:6px; display:block; }

/* ===================== INVESTOR ===================== */
.invest{ background:var(--bg-deep); color:#fff; position:relative; overflow:hidden; }
.invest::before{ content:""; position:absolute; inset:0; background:radial-gradient(900px 420px at 12% -10%, rgba(45,108,255,.22), transparent 60%); pointer-events:none; }
.invest .wrap{ position:relative; z-index:1; }
.invest h2.title{ color:#fff; }
.invest .lede{ color:#aeb9d6; }
.invest-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:54px; }
.inv-card{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-card); padding:28px 26px; }
.inv-card .ic{ width:42px;height:42px;border-radius:12px;background:rgba(45,108,255,.16);display:grid;place-items:center;margin-bottom:18px; }
.inv-card .ic svg{ width:22px;height:22px;color:#7fa6ff; }
.inv-card h3{ font-size:18.5px; font-weight:800; letter-spacing:-.02em; }
.inv-card p{ font-size:14.5px; color:#aeb9d6; margin:11px 0 0; line-height:1.55; }
.inv-card p b{ color:#fff; font-weight:700; }

/* key logic highlight */
.inv-logic{ margin-top:22px; background:linear-gradient(120deg,rgba(45,108,255,.16),rgba(45,108,255,.05)); border:1px solid rgba(45,108,255,.32); border-radius:var(--r-card); padding:clamp(28px,4vw,44px); display:grid; grid-template-columns:1.3fr 1fr; gap:36px; align-items:center; }
.inv-logic .eyebrow{ color:#7fa6ff; } .inv-logic .eyebrow::before{ background:#7fa6ff; }
.inv-logic h3{ font-size:clamp(22px,2.6vw,30px); font-weight:800; letter-spacing:-.025em; line-height:1.15; }
.inv-logic p{ color:#aeb9d6; margin:14px 0 0; font-size:15.5px; line-height:1.6; }
.inv-logic .scale{ display:flex; flex-direction:column; gap:14px; }
.scale-row{ display:flex; align-items:center; gap:14px; }
.scale-row .lbl{ font-size:13px; color:#aeb9d6; width:120px; flex:none; font-weight:600; }
.scale-row .bar{ height:14px; border-radius:8px; background:rgba(255,255,255,.1); flex:1; overflow:hidden; }
.scale-row .bar i{ display:block; height:100%; border-radius:8px; }
.scale-row .bar.trust i{ background:linear-gradient(90deg,#36c46f,#15a34a); }
.scale-row .bar.cost  i{ background:linear-gradient(90deg,#5b8bff,#2d6cff); }
.scale-cap{ font-family:var(--mono); font-size:11.5px; color:#7f8aa6; letter-spacing:.04em; margin-top:4px; }

/* investor CTA inline */
.inv-contact{ margin-top:22px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-card); padding:clamp(26px,3.5vw,40px); display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; }
.inv-contact h3{ font-size:clamp(20px,2.4vw,26px); font-weight:800; letter-spacing:-.02em; }
.inv-contact p{ color:#aeb9d6; margin:8px 0 0; font-size:15px; }
.inv-form{ display:flex; gap:10px; flex-wrap:wrap; }
.inv-form input{ height:50px; padding:0 16px; min-width:240px; border-radius:var(--r-btn); border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); color:#fff; font-family:inherit; font-size:15px; }
.inv-form input::placeholder{ color:#8794b3; }
.inv-form input:focus{ outline:none; border-color:#7fa6ff; box-shadow:0 0 0 4px rgba(45,108,255,.18); }

/* ===================== FINAL CTA ===================== */
.final{ text-align:center; }
.final-card{ position:relative; overflow:hidden; background:linear-gradient(160deg,var(--blue),#1f56e0); border-radius:28px; padding:clamp(48px,7vw,84px) var(--gut); box-shadow:var(--sh-lg); }
.final-card::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:radial-gradient(700px 360px at 50% -10%,#000,transparent 70%); mask-image:radial-gradient(700px 360px at 50% -10%,#000,transparent 70%); }
.final-card .inner{ position:relative; z-index:1; }
.final h2{ color:#fff; font-size:clamp(30px,4.6vw,52px); letter-spacing:-.03em; line-height:1.05; max-width:18ch; margin:0 auto; }
.final p{ color:#d7e3ff; font-size:clamp(16px,2vw,19px); margin:20px auto 0; max-width:52ch; }
.final-cta{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:36px; }

/* ===================== FOOTER ===================== */
.footer{ background:var(--bg); border-top:1px solid var(--line); padding-block:56px 40px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; }
.foot-brand .brand{ margin-bottom:14px; }
.foot-brand p{ font-size:14px; color:var(--muted); max-width:34ch; line-height:1.55; }
.foot-col h5{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); font-weight:600; margin:0 0 16px; }
.foot-col a{ display:block; font-size:14.5px; color:var(--ink-soft); padding:6px 0; font-weight:600; transition:color .15s; }
.foot-col a:hover{ color:var(--blue); }
.foot-bot{ display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; margin-top:44px; padding-top:24px; border-top:1px solid var(--line); }
.foot-bot p{ font-size:13px; color:var(--faint); margin:0; }
.foot-bot .mono{ font-family:var(--mono); font-size:12px; letter-spacing:.04em; }

/* reveal-on-scroll */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.reveal.in{ opacity:1; transform:none; }

/* ===================== MANIFESTO (essay page) ===================== */
.doc-hero{ padding-block:clamp(56px,8vw,92px) clamp(28px,4vw,44px); border-bottom:1px solid var(--line); background:linear-gradient(180deg,#fff,#fbfcff); }
.doc-hero .kicker{ font-family:var(--mono); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); font-weight:600; }
.doc-hero h1{ font-size:clamp(34px,5.4vw,60px); letter-spacing:-.03em; line-height:1.02; margin-top:20px; max-width:18ch; }
.doc-hero .sub{ font-size:clamp(17px,2.1vw,21px); color:var(--ink-soft); max-width:54ch; margin-top:22px; line-height:1.5; }
.doc-meta{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:28px; font-family:var(--mono); font-size:12.5px; color:var(--muted); letter-spacing:.02em; }
.doc-meta span{ display:inline-flex; align-items:center; gap:8px; }
.doc-meta .d{ width:5px;height:5px;border-radius:50%;background:var(--blue); }

.doc-layout{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:clamp(32px,5vw,72px); align-items:start; padding-block:clamp(48px,6vw,80px); }

/* sticky TOC */
.toc{ position:sticky; top:96px; align-self:start; }
.toc h6{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); font-weight:600; margin:0 0 14px; }
.toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; display:flex; flex-direction:column; gap:1px; }
.toc a{ display:flex; gap:11px; padding:8px 12px; border-radius:9px; font-size:14px; font-weight:600; color:var(--muted); line-height:1.3; transition:.15s; border-left:2px solid transparent; }
.toc a .n{ font-family:var(--mono); font-size:12px; color:var(--faint); flex:none; }
.toc a:hover{ background:var(--bg-soft); color:var(--ink); }
.toc a.active{ color:var(--blue-700); background:var(--blue-050); border-left-color:var(--blue); }
.toc a.active .n{ color:var(--blue); }

/* article reading column */
.doc{ max-width:70ch; }
.doc-section{ scroll-margin-top:96px; }
.doc-section + .doc-section{ margin-top:clamp(44px,6vw,72px); }
.doc-section > .eyebrow{ margin-bottom:14px; }
.doc h2{ font-size:clamp(26px,3.4vw,38px); letter-spacing:-.025em; line-height:1.08; }
.doc h3{ font-size:clamp(19px,2.2vw,23px); letter-spacing:-.02em; margin-top:34px; }
.doc p{ font-size:17.5px; line-height:1.68; color:var(--ink-soft); margin:18px 0 0; text-wrap:pretty; }
.doc p strong, .doc p b{ color:var(--ink); font-weight:700; }
.doc .lead{ font-size:19px; color:var(--ink); }
.doc ul{ margin:18px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.doc ul li{ position:relative; padding-left:26px; font-size:16.5px; line-height:1.6; color:var(--ink-soft); }
.doc ul li::before{ content:""; position:absolute; left:4px; top:11px; width:7px;height:7px;border-radius:2px; background:var(--blue); }

/* pull stat inside essay */
.doc-pull{ margin:26px 0 0; padding:22px 24px; background:var(--bg-soft); border:1px solid var(--line); border-left:3px solid var(--blue); border-radius:var(--r-sm); }
.doc-pull .big{ font-size:28px; font-weight:800; letter-spacing:-.03em; color:var(--ink); line-height:1.05; }
.doc-pull .big b{ color:#d4373b; }
.doc-pull .cap{ font-size:14px; color:var(--muted); margin-top:8px; line-height:1.5; }

/* platform mini-header inside essay */
.doc-plat{ display:flex; align-items:center; gap:14px; margin-top:6px; }
.doc-plat .ic{ width:48px;height:48px;border-radius:13px; flex:none; display:grid;place-items:center;color:#fff;font-weight:800;font-size:19px; }
.doc-plat .ic.s{ background:linear-gradient(150deg,var(--blue),#5b8bff); }
.doc-plat .ic.t{ background:linear-gradient(150deg,#16a34a,#36c46f); }
.doc-plat .ic.f{ background:#aeb6c7; }
.doc-plat .meta .nm{ font-size:22px; font-weight:800; letter-spacing:-.02em; }
.doc-plat .meta .role{ font-family:var(--mono); font-size:12px; color:var(--muted); letter-spacing:.02em; margin-top:2px; }

/* sources */
.sources{ margin-top:18px; padding:0; list-style:none; display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); }
.sources li{ padding:16px 0; border-bottom:1px solid var(--line-soft); font-size:15px; line-height:1.55; color:var(--ink-soft); }
.sources li b{ color:var(--ink); font-weight:700; display:block; margin-bottom:3px; }
.sources li a{ font-family:var(--mono); font-size:12.5px; color:var(--blue); word-break:break-word; }
.sources li a:hover{ text-decoration:underline; }

/* embedded investor block reuse spacing */
.doc-invest{ margin-top:clamp(44px,6vw,72px); }

/* reveal-on-scroll */

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .doc-layout{ grid-template-columns:1fr; gap:8px; }
  .toc{ position:static; top:auto; margin-bottom:8px; padding-bottom:18px; border-bottom:1px solid var(--line); }
  .toc ol{ flex-direction:row; flex-wrap:wrap; gap:6px; }
  .toc a{ border-left:none; border:1px solid var(--line); border-radius:var(--r-pill); padding:7px 13px; }
  .toc a.active{ border-color:var(--blue-100); }
  .hero-grid-layout{ grid-template-columns:1fr; gap:40px; }
  .hero .stack{ max-width:480px; }
  .prob-grid{ grid-template-columns:1fr; }
  .prod-grid{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
  .invest-grid{ grid-template-columns:1fr; }
  .inv-logic{ grid-template-columns:1fr; gap:28px; }
  .inv-contact{ grid-template-columns:1fr; }
  .flow-top{ grid-template-columns:1fr; }
  .mini-flow{ flex-direction:column; }
  .mf-arrow{ transform:rotate(90deg); }
  .mf-arrow svg{ width:30px; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:28px 24px; }
}
@media (max-width:760px){
  .nav-links{ display:none; }
  .nav-cta .btn:not(.nav-burger){ display:none; }
  .nav-burger{ display:flex; }
  .hero-cta .btn{ flex:1; min-width:160px; }
  .inv-form{ flex-direction:column; }
  .inv-form input, .inv-form .btn{ width:100%; }
  .flow-flag .inner{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:480px){
  body{ font-size:16px; }
  .wait{ flex-direction:column; }
  .wait .btn{ width:100%; }
  .foot-grid{ grid-template-columns:1fr; }
}

/* "coming soon" toast (TrustMeta.pro links) */
.soon-toast{
  position:fixed; left:50%; bottom:28px; transform:translate(-50%,16px);
  z-index:1000; max-width:calc(100vw - 32px);
  background:var(--bg-deep); color:#fff;
  font-family:var(--sans); font-size:14.5px; font-weight:600; line-height:1.3;
  padding:13px 20px; border-radius:var(--r-pill);
  box-shadow:var(--sh-lg); border:1px solid rgba(255,255,255,.10);
  opacity:0; pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
}
.soon-toast.show{ opacity:1; transform:translate(-50%,0); }

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *{ scroll-behavior:auto !important; }
  .reveal{ opacity:1 !important; transform:none !important; transition:none; }
  .soon-toast{ transition:none; }
}
