/* ============================================================
   Resourceful — a private network where revenue-stage companies
   and verified capital find their fit.
   Clean, light + dark. Sky as the brand color, emerald as the
   "it's a match" pop. Geist + Geist Mono.
   ============================================================ */

@font-face{font-family:"Geist";src:url("fonts/Geist-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/Geist-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/Geist-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/Geist-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/Geist-800.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/Geist-900.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/GeistMono-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/GeistMono-500.woff2") format("woff2");font-weight:500;font-display:swap}

:root{
  /* slate spine */
  --t1:#0B1220;          /* headings */
  --t2:#475569;          /* body */
  --t3:#64748B;          /* muted */
  --bg:#FFFFFF;
  --bg-2:#F4F8FB;        /* sky-tinted off-white band */
  --surface:#FFFFFF;     /* card surface */
  --surface-2:#FFFFFF;   /* nested card surface */
  --line:#E4EAF0;
  --line-2:#EEF3F7;
  --nav-bg:rgba(255,255,255,.82);

  /* always-dark canvas (used for dark band + CTA in both themes) */
  --ink:#060B16;
  --ink-2:#0C1424;
  --ink-3:#131D31;
  --on-d-1:#F3F7FB;
  --on-d-2:rgba(228,238,247,.80);
  --on-d-3:rgba(228,238,247,.58);
  --hair-d:rgba(150,190,225,.14);

  /* sky — the brand */
  --sky:#0EA5E9;
  --sky-bright:#38BDF8;
  --sky-deep:#0284C7;    /* eyebrow / link text on light */
  --sky-700:#0369A1;     /* monogram + chip text */
  --sky-50:#F0F9FF;      /* soft tint surfaces */
  --sky-100:#E0F2FE;     /* tint borders */
  --sky-glow:rgba(14,165,233,.40);
  --sky-grad:linear-gradient(135deg,#46C6FF 0%,#0EA5E9 52%,#0284C7 100%);

  /* emerald — the "it's a match" pop */
  --em:#10B981;
  --em-bright:#34D399;
  --em-text:#0F9D74;     /* emerald text on light */
  --em-50:#ECFDF5;
  --em-100:#D1FAE5;
  --em-glow:rgba(16,185,129,.32);

  --amber:#F59E0B;

  --font:"Geist",ui-sans-serif,system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,monospace;

  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:26px; --r-2xl:34px; --r-full:9999px;
  --ease:cubic-bezier(.4,0,.2,1);
  --shadow-sm:0 1px 2px rgba(15,30,55,.05),0 2px 8px rgba(15,30,55,.04);
  --shadow-md:0 8px 28px rgba(15,30,55,.08),0 2px 8px rgba(15,30,55,.04);
  --shadow-lg:0 24px 60px rgba(15,30,55,.12),0 6px 18px rgba(15,30,55,.06);
  --shadow-sky:0 14px 34px rgba(14,165,233,.32);
}

/* ---------- dark theme ---------- */
html.dark{
  --t1:#F1F6FB;
  --t2:rgba(223,234,245,.86);
  --t3:rgba(223,234,245,.66);
  --bg:#070C16;
  --bg-2:#0B1322;
  --surface:#0D1525;
  --surface-2:#111B2E;
  --line:rgba(150,190,225,.15);
  --line-2:rgba(150,190,225,.09);
  --nav-bg:rgba(8,13,23,.82);

  --sky-deep:#5FC8FF;
  --sky-700:#8BD4FF;
  --sky-50:#0F2233;
  --sky-100:rgba(56,189,248,.22);

  --em-text:#34D399;
  --em-50:#0E2419;
  --em-100:rgba(52,211,153,.24);

  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-md:0 8px 28px rgba(0,0,0,.45);
  --shadow-lg:0 24px 60px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.4);
  --shadow-sky:0 14px 34px rgba(14,165,233,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--t1);font-family:var(--font);overflow-x:clip;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5;
  transition:background .25s var(--ease),color .25s var(--ease)}
a{color:inherit;text-decoration:none}
img,svg{display:block}
::selection{background:var(--sky-100)}

.wrap{max-width:1440px;margin:0 auto;padding:0 48px}
.section{padding:104px 0}
.section.tight{padding:80px 0}
.band{background:var(--bg-2)}

/* ---------- type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:12.5px;
  font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-deep)}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sky);
  box-shadow:0 0 0 4px var(--sky-100)}
.eyebrow.on-dark{color:var(--sky-bright)}
.eyebrow.on-dark::before{box-shadow:0 0 0 4px rgba(56,189,248,.16),0 0 12px 2px var(--sky-glow)}
.eyebrow.em{color:var(--em-text)}
.eyebrow.em::before{background:var(--em);box-shadow:0 0 0 4px var(--em-100)}
.eyebrow > svg,.eyebrow > i{width:14px;height:14px;flex:none}
.eyebrow:has(> svg)::before,.eyebrow:has(> i)::before{display:none}

h1,h2,h3{margin:0;letter-spacing:-.03em;line-height:1.04;font-weight:700;color:var(--t1);text-wrap:balance}
.display{font-size:clamp(44px,6.4vw,84px);font-weight:800;letter-spacing:-.045em;line-height:.98}
.h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.035em}
.h3{font-size:22px;letter-spacing:-.02em;font-weight:650}
.lead{font-size:19px;line-height:1.55;color:var(--t2);text-wrap:pretty}
.muted{color:var(--t3)}
.tnum{font-family:var(--mono);font-feature-settings:"tnum" 1;letter-spacing:-.01em}
em.hl{font-style:normal;color:var(--sky-deep);font-weight:700}
.on-dark h1,.on-dark h2,.on-dark h3{color:var(--on-d-1)}

.section-head{max-width:680px}
.section-head .h2{margin:18px 0 0}
.section-head .lead{margin:20px 0 0}
.section-head.center{margin:0 auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font);
  font-weight:600;font-size:15.5px;border-radius:var(--r-full);padding:13px 22px;border:1px solid transparent;
  cursor:pointer;transition:transform .15s var(--ease),background .15s var(--ease),
  border-color .15s var(--ease),box-shadow .15s var(--ease),color .15s var(--ease)}
.btn:active{transform:scale(.975)}
.btn .ic{width:17px;height:17px;transition:transform .15s var(--ease)}
.btn-primary{background:var(--sky-grad);color:#fff;box-shadow:var(--shadow-sky)}
.btn-primary:hover{box-shadow:0 18px 42px rgba(14,165,233,.42);transform:translateY(-1px)}
.btn-primary:hover .ic{transform:translateX(3px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#101a2e}
html.dark .btn-dark{background:var(--surface-2);border-color:var(--line)}
html.dark .btn-dark:hover{background:var(--ink-3)}
.btn-ghost{background:var(--surface);color:var(--t1);border-color:var(--line)}
.btn-ghost:hover{background:var(--bg-2);border-color:var(--sky-100)}
.btn-ghost-d{background:rgba(255,255,255,.04);color:var(--on-d-1);border-color:var(--hair-d)}
.btn-ghost-d:hover{background:rgba(255,255,255,.09)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:#eaf4fb}
.btn-lg{padding:16px 28px;font-size:16.5px}

/* ---------- chips / pills ---------- */
.chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;font-weight:500;
  letter-spacing:.01em;border-radius:var(--r-full);padding:6px 12px;white-space:nowrap;
  background:var(--surface);border:1px solid var(--line);color:var(--t2)}
.chip.sky{background:var(--sky-50);border-color:var(--sky-100);color:var(--sky-700)}
.chip.em{background:var(--em-50);border-color:var(--em-100);color:var(--em-text)}
.chip.d{background:var(--ink-3);border:1px solid var(--hair-d);color:var(--on-d-2)}
.chip .vdot{width:5px;height:5px;border-radius:50%;background:currentColor}

/* announce pill (hero) */
.announce{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-full);padding:6px 8px 6px 14px;font-size:13.5px;color:var(--t2);box-shadow:var(--shadow-sm)}
.announce b{color:var(--t1);font-weight:600}
.announce .tag{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  background:var(--sky-grad);color:#fff;border-radius:var(--r-full);padding:4px 10px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--line-2)}
.nav-inner{display:flex;align-items:center;gap:34px;height:88px}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:19px;letter-spacing:-.025em;color:var(--t1)}
.brand img{width:38px;height:38px;border-radius:11px}
.brand .wordmark{display:block;height:21px;width:108px;flex:none;
  background:url(assets/resourceful-wordmark-ink.png) no-repeat left center/contain}
html.dark .brand .wordmark{background-image:url(assets/resourceful-wordmark-white.png)}
.footer .brand .wordmark{height:22px;width:113px}
.nav-links{display:flex;gap:28px;margin-left:8px;font-size:15px;color:var(--t2)}
.nav-links a{transition:color .15s var(--ease);white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--t1)}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.nav-cta .signin{font-size:15px;color:var(--t2);font-weight:500}
.nav-cta .signin:hover{color:var(--t1)}
.theme-toggle{width:40px;height:40px;border-radius:var(--r-full);border:1px solid var(--line);
  background:var(--surface);color:var(--t2);display:grid;place-items:center;cursor:pointer;
  transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}
.theme-toggle:hover{background:var(--bg-2);color:var(--t1)}
.theme-toggle svg{width:18px;height:18px}
.theme-toggle .moon{display:block}
.theme-toggle .sun{display:none}
html.dark .theme-toggle .moon{display:none}
html.dark .theme-toggle .sun{display:block}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:88px 0 96px}
.hero::before{content:"";position:absolute;left:50%;top:-180px;transform:translateX(-50%);
  width:1100px;height:680px;background:radial-gradient(ellipse at center,rgba(14,165,233,.13),transparent 62%);
  pointer-events:none}
html.dark .hero::before{background:radial-gradient(ellipse at center,rgba(14,165,233,.2),transparent 62%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{margin:24px 0 0}
.hero .lead{margin:26px 0 0;max-width:520px}
.hero-actions{display:flex;gap:13px;margin-top:34px;flex-wrap:wrap}
.hero-note{display:flex;align-items:center;gap:9px;margin-top:22px;font-size:14px;color:var(--t3)}
.hero-note .ic{width:16px;height:16px;color:var(--em)}
.hero.sub{padding:72px 0 64px}
.hero.sub .lead{max-width:600px}

/* ---------- match motif ---------- */
.mono{display:grid;place-items:center;font-weight:700;letter-spacing:-.02em;flex:none;
  background:var(--sky-50);color:var(--sky-700);border:1px solid var(--sky-100)}
.mono.em{background:var(--em-50);color:var(--em-text);border-color:var(--em-100)}
.mono.dark{background:var(--ink-3);color:var(--on-d-1);border:1px solid var(--hair-d)}
.mono .lm{width:56%;height:56%;display:block}

/* fit ring (conic) — number only, no sub-11px label */
.fit{position:relative;border-radius:50%;display:grid;place-items:center;flex:none}
.fit::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(var(--sky) calc(var(--p,90)*1%),var(--line-2) 0)}
.fit.em::before{background:conic-gradient(var(--em) calc(var(--p,90)*1%),var(--line-2) 0)}
.fit::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}
.fit .fv{position:relative;font-family:var(--mono);font-weight:700;letter-spacing:-.03em;color:var(--t1);line-height:1}

/* hero floating stack */
.hero-visual{position:relative;height:520px;width:520px;max-width:100%;margin-left:auto}
.float{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:var(--shadow-lg)}

/* match card */
.matchcard{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);
  box-shadow:var(--shadow-lg);padding:26px;overflow:hidden}
.matchcard .topglow{position:absolute;left:0;right:0;top:0;height:3px;background:var(--sky-grad)}
.match-row{display:flex;align-items:center;justify-content:center;gap:0;margin:6px 0 4px}
.connector{position:relative;height:2px;width:78px;background:linear-gradient(90deg,var(--sky),var(--em))}
.connector .score{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.11em;color:var(--t3);background:var(--surface);
  padding:5px 11px;border-radius:var(--r-full);white-space:nowrap;
  box-shadow:var(--shadow-sm);border:1px solid var(--sky-100)}
.connector .score b{font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--sky-deep)}
.match-names{display:flex;justify-content:space-between;margin-top:14px;font-size:13px}
.match-names .nm{font-weight:600}
.match-names .ty{color:var(--t3);font-size:12px;margin-top:2px}

/* reason rows */
.reason{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45}
.reason .rk{width:18px;height:18px;border-radius:6px;background:var(--em-50);color:var(--em-text);display:grid;
  place-items:center;flex:none;margin-top:1px}
.reason .rk svg{width:11px;height:11px}
.reason b{font-weight:600;color:var(--t1)}
.reason span{color:var(--t2)}

/* ---------- trust strip ---------- */
.trust{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;
  padding:26px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.trust .lab{font-family:var(--font);font-size:12.5px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.trust .stat{text-align:center}
.trust .stat .n{font-family:var(--font);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--t1)}
.trust .stat .k{font-size:12.5px;color:var(--t3);margin-top:3px}
.trust .sep{width:1px;height:34px;background:var(--line)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;
  transition:box-shadow .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease)}
.step:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--sky-100)}
.step .num{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--sky-deep);
  width:40px;height:40px;border-radius:12px;background:var(--sky-50);border:1px solid var(--sky-100);
  display:grid;place-items:center;margin-bottom:20px}
.step h3{margin:0 0 8px}
.step p{margin:0;color:var(--t2);font-size:15px;line-height:1.55}

/* ---------- bento ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;margin-top:52px}
.cell{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);padding:30px;
  position:relative;overflow:hidden;transition:box-shadow .18s var(--ease),border-color .18s var(--ease)}
.cell:hover{box-shadow:var(--shadow-md);border-color:var(--sky-100)}
/* node-dot icon — brand motif (glowing node, matches the logomark) */
.ico{width:46px;height:46px;border-radius:50%;background:var(--sky-50);border:1px solid var(--sky-100);
  display:grid;place-items:center;margin-bottom:18px;position:relative}
.ico::before{content:"";width:13px;height:13px;border-radius:50%;background:var(--sky);
  box-shadow:0 0 0 5px var(--sky-100),0 0 14px 2px var(--sky-glow)}
.ico.em{background:var(--em-50);border-color:var(--em-100)}
.ico.em::before{background:var(--em);box-shadow:0 0 0 5px var(--em-100),0 0 14px 2px var(--em-glow)}
.ico svg{display:none}
.cell h3{margin:0 0 9px}
.cell p{margin:0;color:var(--t2);font-size:15px;line-height:1.55}
.cell.lg{grid-column:span 4}
.cell.sm{grid-column:span 2}
.cell.half{grid-column:span 3}
.cell.feature{background:linear-gradient(180deg,var(--surface),var(--sky-50))}

/* mini profile mock used inside bento */
.profile-mini{margin-top:22px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:16px;box-shadow:var(--shadow-sm)}
.pm-head{display:flex;align-items:center;gap:12px}
.pm-head .nm{font-weight:600;font-size:15px}
.pm-head .ty{font-size:12.5px;color:var(--t3);margin-top:2px}
.pm-bars{margin-top:16px;display:flex;flex-direction:column;gap:11px}
.pm-bar .bl{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
.pm-bar .bl .tnum{color:var(--t3)}
.pm-bar .track{height:6px;border-radius:9999px;background:var(--line-2);overflow:hidden}
.pm-bar .fill{height:100%;border-radius:9999px;background:var(--sky-grad)}
.pm-bar .fill.em{background:linear-gradient(90deg,var(--em-bright),var(--em))}

/* ---------- live-data mock (the accounting differentiator) ---------- */
.livecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);
  box-shadow:var(--shadow-lg);padding:24px;position:relative;overflow:hidden}
.livecard .lc-top{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line-2);
  margin-bottom:18px}
.livecard .lc-top .src{font-family:var(--mono);font-size:12px;color:var(--t3);letter-spacing:.02em}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--em);box-shadow:0 0 0 4px var(--em-100);
  animation:livepulse 2s var(--ease) infinite}
@keyframes livepulse{0%,100%{box-shadow:0 0 0 3px var(--em-100)}50%{box-shadow:0 0 0 6px transparent}}
.lc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lc-metric{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-md);padding:14px 15px}
.lc-metric .k{font-size:12px;color:var(--t3)}
.lc-metric .v{font-family:var(--mono);font-size:24px;font-weight:700;letter-spacing:-.03em;margin-top:6px;color:var(--t1)}
.lc-metric .delta{font-family:var(--mono);font-size:12px;font-weight:500;margin-top:4px;display:inline-flex;
  align-items:center;gap:3px}
.lc-metric .delta.up{color:var(--em-text)}
.lc-metric .delta.down{color:var(--amber)}
.spark{display:flex;align-items:flex-end;gap:3px;height:34px;margin-top:14px}
.spark i{flex:1;background:var(--sky-100);border-radius:3px 3px 0 0;display:block}
.spark i.on{background:var(--sky-grad)}

/* ---------- deal-room mock ---------- */
.dealroom{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);
  box-shadow:var(--shadow-lg);padding:22px;overflow:hidden}
.dr-top{display:flex;align-items:center;gap:11px;padding-bottom:16px;border-bottom:1px solid var(--line-2);margin-bottom:6px}
.dr-top .ttl{font-weight:600;font-size:15px}
.dr-top .sub{font-size:12px;color:var(--t3);margin-top:1px}
.dr-file{display:flex;align-items:center;gap:12px;padding:12px 6px;border-bottom:1px solid var(--line-2);font-size:13.5px}
.dr-file:last-child{border-bottom:0}
.dr-file .fi{width:30px;height:30px;border-radius:9px;background:var(--sky-50);border:1px solid var(--sky-100);
  color:var(--sky-deep);display:grid;place-items:center;flex:none}
.dr-file .fi svg{width:15px;height:15px}
.dr-file .nm{font-weight:500}
.dr-file .meta{font-family:var(--mono);font-size:11.5px;color:var(--t3);margin-top:1px}
.dr-file .st{margin-left:auto;font-family:var(--mono);font-size:11px;font-weight:500;padding:4px 9px;border-radius:var(--r-full)}
.dr-file .st.done{background:var(--em-50);color:var(--em-text)}
.dr-file .st.review{background:var(--sky-50);color:var(--sky-700)}
.dr-file .st.wait{background:var(--bg-2);color:var(--t3)}

/* ---------- dark standout band ---------- */
.darkband{position:relative;background:var(--ink);color:var(--on-d-1);overflow:hidden}
.darkband::before{content:"";position:absolute;right:-160px;top:-120px;width:760px;height:760px;
  background:radial-gradient(circle,rgba(14,165,233,.22),transparent 60%);pointer-events:none}
.darkband::after{content:"";position:absolute;left:-120px;bottom:-160px;width:560px;height:560px;
  background:radial-gradient(circle,rgba(16,185,129,.12),transparent 62%);pointer-events:none}
.darkband .lead{color:var(--on-d-2)}
.darkband .muted{color:var(--on-d-3)}
.darkgrid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.darklist{margin-top:30px;display:flex;flex-direction:column;gap:18px}
.darklist .li{display:flex;gap:14px}
.darklist .li .k{width:36px;height:36px;border-radius:11px;background:rgba(56,189,248,.12);
  border:1px solid var(--hair-d);color:var(--sky-bright);display:grid;place-items:center;flex:none}
.darklist .li .k svg{width:18px;height:18px}
.darklist .li h4{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--on-d-1)}
.darklist .li p{margin:0;font-size:14.5px;line-height:1.5;color:var(--on-d-2)}

/* dark product mock */
.dmock{background:var(--ink-2);border:1px solid var(--hair-d);border-radius:var(--r-2xl);padding:24px;
  box-shadow:0 30px 70px rgba(0,0,0,.5);position:relative}
.dmock .topbar{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--hair-d);
  margin-bottom:18px}
.dmock .topbar .ttl{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--on-d-2)}
.dmock .topbar .gd{width:9px;height:9px;border-radius:50%}
.signal{margin-bottom:15px}
.signal .sl{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:7px;color:var(--on-d-1)}
.signal .sl .tnum{color:var(--on-d-2)}
.signal .track{height:6px;border-radius:9999px;background:rgba(255,255,255,.08);overflow:hidden}
.signal .fill{height:100%;border-radius:9999px;background:var(--sky-grad);box-shadow:0 0 12px var(--sky-glow)}
.signal .fill.em{background:linear-gradient(90deg,var(--em-bright),var(--em));box-shadow:0 0 12px var(--em-glow)}
.signal .fill.dim{background:rgba(255,255,255,.22);box-shadow:none}

/* ---------- alternating feature rows (sub-pages) ---------- */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:64px 0;
  border-bottom:1px solid var(--line-2)}
.frow:last-child{border-bottom:0}
.frow.flip .fr-media{order:-1}
.frow .fr-copy .eyebrow{margin-bottom:18px}
.frow .fr-copy h2{font-size:clamp(28px,3.2vw,40px);letter-spacing:-.03em}
.frow .fr-copy p{color:var(--t2);font-size:16.5px;line-height:1.6;margin:18px 0 0;max-width:90%}
.frow .ticks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.frow .ticks li{display:flex;gap:11px;font-size:15px;color:var(--t2)}
.frow .ticks li .ck{width:20px;height:20px;border-radius:7px;background:var(--sky-100);color:var(--sky-deep);
  display:grid;place-items:center;flex:none;margin-top:1px}
.frow .ticks li .ck svg{width:12px;height:12px}
.frow .ticks li b{color:var(--t1);font-weight:600}

/* ---------- two-sided split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}
.side{border:1px solid var(--line);border-radius:var(--r-2xl);padding:34px;background:var(--surface);position:relative;overflow:hidden}
.side.founders{background:linear-gradient(180deg,var(--surface),var(--sky-50))}
.side.investors{background:linear-gradient(180deg,var(--surface),var(--em-50))}
.side .label{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.side.founders .label{color:var(--sky-deep)}
.side.investors .label{color:var(--em-text)}
.side h3{margin:14px 0 12px;font-size:27px;letter-spacing:-.03em}
.side p{color:var(--t2);font-size:15.5px;line-height:1.55;margin:0 0 22px;max-width:90%}
.side ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:12px}
.side li{display:flex;gap:11px;font-size:14.5px;color:var(--t2)}
.side li .ck{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;flex:none;margin-top:1px}
.side.founders li .ck{background:var(--sky-100);color:var(--sky-deep)}
.side.investors li .ck{background:var(--em-100);color:var(--em-text)}
.side li .ck svg{width:12px;height:12px}
.side li b{color:var(--t1);font-weight:600}

/* ---------- faq ---------- */
.faq{max-width:820px;margin:48px auto 0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 4px;display:flex;align-items:center;gap:16px;
  font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--t1)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .qi{margin-left:auto;color:var(--sky-deep);transition:transform .2s var(--ease);flex:none}
.faq details[open] summary .qi{transform:rotate(45deg)}
.faq p{margin:0 4px 24px;color:var(--t2);font-size:15.5px;line-height:1.6;max-width:680px}

/* ---------- testimonial ---------- */
.quote{max-width:860px;margin:0 auto;text-align:center}
.quote .qmark{font-family:var(--mono);color:var(--sky-bright);font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:24px}
.quote blockquote{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.32;letter-spacing:-.025em;
  font-weight:600;color:var(--t1);text-wrap:balance}
.quote .by{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:30px}
.quote .by .nm{font-weight:600;font-size:15px}
.quote .by .ro{color:var(--t3);font-size:13.5px}

/* ---------- final CTA ---------- */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-2xl);background:var(--ink);color:#fff;
  padding:72px 56px;text-align:center}
.cta-band::before{content:"";position:absolute;left:50%;top:-40%;transform:translateX(-50%);
  width:900px;height:700px;background:radial-gradient(ellipse,rgba(14,165,233,.32),transparent 60%);pointer-events:none}
.cta-band h2{position:relative;color:#fff}
.cta-band p{position:relative;color:var(--on-d-2);font-size:18px;margin:18px auto 0;max-width:560px}
.cta-band .hero-actions{position:relative;justify-content:center;margin-top:32px}
.cta-band .fine{position:relative;margin-top:20px;font-size:13.5px;color:var(--on-d-3)}

/* ---------- form ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:52px;align-items:start}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);
  box-shadow:var(--shadow-md);padding:32px}
.seg{display:flex;gap:6px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-full);
  padding:5px;margin-bottom:24px}
.seg button{flex:1;border:0;background:transparent;font-family:var(--font);font-size:14px;font-weight:600;
  color:var(--t2);padding:10px;border-radius:var(--r-full);cursor:pointer;transition:all .15s var(--ease)}
.seg button.on{background:var(--surface);color:var(--t1);box-shadow:var(--shadow-sm)}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--t1);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;font-family:var(--font);font-size:15px;color:var(--t1);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.field input::placeholder,.field textarea::placeholder{color:var(--t3)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sky);
  box-shadow:0 0 0 3px var(--sky-100)}
.field textarea{resize:vertical;min-height:96px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-side .step-mini{display:flex;gap:14px;margin-bottom:22px}
.form-side .step-mini .n{width:30px;height:30px;border-radius:9px;background:var(--sky-50);border:1px solid var(--sky-100);
  color:var(--sky-deep);font-family:var(--mono);font-weight:600;font-size:13px;display:grid;place-items:center;flex:none}
.form-side .step-mini h4{margin:0 0 3px;font-size:15.5px;font-weight:600}
.form-side .step-mini p{margin:0;font-size:14px;color:var(--t2);line-height:1.5}

/* ---------- image placeholder thumb ---------- */
.thumb{position:relative;border-radius:var(--r-lg);overflow:hidden;background:
  repeating-linear-gradient(135deg,var(--sky-50),var(--sky-50) 11px,var(--bg-2) 11px,var(--bg-2) 22px);
  border:1px solid var(--line);display:grid;place-items:center;aspect-ratio:16/10}
.thumb.em{background:repeating-linear-gradient(135deg,var(--em-50),var(--em-50) 11px,var(--bg-2) 11px,var(--bg-2) 22px)}
.thumb .lab{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:5px 12px}

/* ---------- blog ---------- */
.post-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;margin-top:48px;
  border:1px solid var(--line);border-radius:var(--r-2xl);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}
.post-featured .thumb{border:0;border-radius:0;aspect-ratio:auto;height:100%;min-height:340px}
.post-featured .pf-copy{padding:14px 44px 14px 8px}
.post-featured h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.03em;margin:16px 0 0}
.post-featured p{color:var(--t2);font-size:16px;line-height:1.6;margin:16px 0 0}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.post{display:flex;flex-direction:column;gap:0;cursor:pointer}
.post .thumb{margin-bottom:18px;transition:transform .2s var(--ease)}
.post:hover .thumb{transform:translateY(-3px)}
.post h3{font-size:19px;letter-spacing:-.02em;margin:0 0 8px;line-height:1.25}
.post:hover h3{color:var(--sky-deep)}
.post p{color:var(--t2);font-size:14.5px;line-height:1.55;margin:0}
.cat{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:11px}
.cat.em{color:var(--em-text)}
.post-meta{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:12.5px;color:var(--t3)}
.post-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--t3)}
.post-meta .au{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--t2)}

/* ---------- events ---------- */
.event-list{margin-top:48px;display:flex;flex-direction:column;gap:18px}
.event{display:grid;grid-template-columns:96px 1fr auto;gap:26px;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:24px 28px;
  transition:box-shadow .18s var(--ease),border-color .18s var(--ease)}
.event:hover{box-shadow:var(--shadow-md);border-color:var(--sky-100)}
.event-date{text-align:center;border-right:1px solid var(--line-2);padding-right:26px}
.event-date .mo{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-deep)}
.event-date .dy{font-family:var(--mono);font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--t1);line-height:1.1}
.event .ev-type{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--t3);margin-bottom:8px}
.event h3{font-size:20px;letter-spacing:-.02em;margin:0 0 8px}
.event .ev-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--t2)}
.event .ev-meta span{display:inline-flex;align-items:center;gap:6px}
.event .ev-meta svg{width:14px;height:14px;color:var(--t3)}
.event .ev-cta{flex:none}
.ev-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-full);padding:6px 12px}
.ev-tag.live{background:var(--em-50);color:var(--em-text)}
.ev-tag.soon{background:var(--sky-50);color:var(--sky-700)}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line-2);padding:64px 0 40px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.footer .fnote{color:var(--t3);font-size:14px;line-height:1.6;max-width:280px;margin:16px 0 0}
.fcol h4{font-size:13px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);
  margin:0 0 16px;font-weight:500}
.fcol a{display:block;color:var(--t2);font-size:14.5px;margin-bottom:11px;transition:color .15s var(--ease)}
.fcol a:hover{color:var(--sky-deep)}
.footer-base{display:flex;align-items:center;justify-content:space-between;margin-top:48px;padding-top:24px;
  border-top:1px solid var(--line-2);color:var(--t3);font-size:13.5px}
.footer-base .legal{display:flex;gap:22px}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .nav-inner{gap:18px}
  .nav-links{gap:20px;font-size:14.5px;margin-left:0}
  .nav-cta{gap:10px}
  .nav-cta .signin{display:none}
}
@media (max-width:920px){
  .hero-grid,.darkgrid,.frow{grid-template-columns:1fr;gap:40px}
  .frow.flip .fr-media{order:0}
  .hero-visual{height:auto;width:auto;margin-left:0;margin-top:8px}
  .hero-visual .matchcard{position:static!important;left:auto!important;top:auto!important;width:auto!important}
  .hero-visual .float{display:none!important}
  .steps{grid-template-columns:1fr}
  .bento{grid-template-columns:repeat(2,1fr)}
  .cell.lg,.cell.sm,.cell.half{grid-column:span 2}
  .split,.footer-top,.form-grid{grid-template-columns:1fr}
  .footer-top{gap:36px}
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .post-featured{grid-template-columns:1fr}
  .post-featured .thumb{min-height:240px}
  .post-featured .pf-copy{padding:0 28px 32px}
  .event{grid-template-columns:72px 1fr;gap:18px}
  .event .ev-cta{grid-column:2;justify-self:start}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .section{padding:72px 0}
  .nav-inner{gap:14px;height:70px}
  .nav-cta{gap:10px}
  .nav-cta .signin{display:none}
  .hero{padding:56px 0 64px}
  .hero-visual{height:auto;margin-top:10px;width:auto}
  .hero-visual .matchcard{position:static!important;left:auto!important;top:auto!important;width:auto!important}
  .hero-visual .float{display:none!important}
  .bento{grid-template-columns:1fr}
  .cell.lg,.cell.sm,.cell.half{grid-column:span 1}
  .trust{gap:18px 22px}
  .trust .sep{display:none}
  .cta-band{padding:52px 24px}
  .field-row{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .event{grid-template-columns:1fr;gap:14px}
  .event-date{display:flex;align-items:baseline;gap:8px;border-right:0;border-bottom:1px solid var(--line-2);padding:0 0 12px;text-align:left}
  .event .ev-cta{justify-self:start}
  .display{font-size:clamp(40px,12vw,56px)}
}

/* ---------- article + event detail ---------- */
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 32px}
.back{display:flex;width:fit-content;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--t3);
  margin-bottom:26px;transition:color .15s var(--ease)}
.back:hover{color:var(--sky-deep)}
.back svg{width:15px;height:15px}
.article{padding:52px 0 0}
.art-title{font-size:clamp(32px,4.6vw,52px);letter-spacing:-.035em;line-height:1.05;margin:14px 0 0}
.art-dek{font-size:20px;line-height:1.5;color:var(--t2);margin:18px 0 0;max-width:680px;text-wrap:pretty}
.art-byline{display:flex;align-items:center;gap:12px;margin:26px 0 0}
.art-byline .who{font-weight:600;font-size:14.5px}
.art-byline .meta{font-size:13px;color:var(--t3);margin-top:2px}
.art-cover{margin:38px 0 0;aspect-ratio:16/8}
.prose{max-width:720px;margin:0 auto;padding:18px 32px 8px}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:27px;letter-spacing:-.025em;margin:42px 0 0;color:var(--t1)}
.prose h3{font-size:20px;letter-spacing:-.02em;margin:30px 0 0;color:var(--t1)}
.prose p{font-size:17px;line-height:1.72;color:var(--t2);margin:16px 0 0;text-wrap:pretty}
.prose ul{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.prose li{position:relative;padding-left:26px;font-size:17px;line-height:1.6;color:var(--t2)}
.prose li::before{content:"";position:absolute;left:3px;top:10px;width:7px;height:7px;border-radius:50%;
  background:var(--sky);box-shadow:0 0 0 4px var(--sky-100)}
.prose strong{color:var(--t1);font-weight:650}
.prose blockquote{margin:34px 0 0;padding:4px 0 4px 24px;border-left:3px solid var(--sky);
  font-size:22px;line-height:1.45;letter-spacing:-.02em;font-weight:600;color:var(--t1)}
.art-tags{display:flex;gap:8px;flex-wrap:wrap;margin:38px 0 0}
.related{border-top:1px solid var(--line-2);margin-top:24px}

.ev-facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.ev-fact{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--t2);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:8px 14px}
.ev-fact svg{width:15px;height:15px;color:var(--sky-deep)}
.ev-section h2{font-size:26px;letter-spacing:-.03em;margin:0 0 4px}
.agenda{margin:24px 0 0}
.agenda .row{display:grid;grid-template-columns:104px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid var(--line-2)}
.agenda .row:last-child{border-bottom:0}
.agenda .row .t{font-family:var(--mono);font-size:13px;color:var(--sky-deep);font-weight:500;padding-top:1px}
.agenda .row h4{margin:0 0 4px;font-size:16.5px;font-weight:600}
.agenda .row p{margin:0;font-size:14.5px;color:var(--t2);line-height:1.55}
.speakers{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 0}
.speaker{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);padding:18px}
.speaker .nm{font-weight:600;font-size:15.5px}
.speaker .ro{font-size:13px;color:var(--t3);margin-top:2px}

/* ---------- mobile nav menu ---------- */
.nav-burger{display:none;width:40px;height:40px;border-radius:var(--r-full);border:1px solid var(--line);
  background:var(--surface);color:var(--t1);place-items:center;cursor:pointer}
.nav-burger svg{width:20px;height:20px}
.nav-links .mobile-only{display:none}
@media (max-width:760px){
  .nav-links{position:absolute;top:calc(100% + 1px);left:0;right:0;background:var(--surface);
    border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0;display:none;
    box-shadow:var(--shadow-lg)}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:13px 28px;font-size:16px;width:100%}
  .nav-links .mobile-only{display:block;border-top:1px solid var(--line-2);margin-top:6px;padding-top:15px}
  .nav-links .menu-cta{color:var(--sky-deep);font-weight:600}
  .nav-burger{display:grid}
  .nav-cta .signin{display:none}
  .nav-cta .btn-primary{display:none}
}
@media (max-width:560px){
  .wrap-narrow{padding:0 20px}
  .prose{padding:18px 20px 8px}
  .agenda .row{grid-template-columns:1fr;gap:4px}
  .speakers{grid-template-columns:1fr}
  .art-cover{aspect-ratio:16/10}
}

/* ---------- about / team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.advisor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px;max-width:600px}
.member .photo{aspect-ratio:1/1;border-radius:var(--r-xl);margin-bottom:16px;border:1px solid var(--line);
  display:grid;place-items:center;overflow:hidden;
  background:repeating-linear-gradient(135deg,var(--sky-50),var(--sky-50) 11px,var(--bg-2) 11px,var(--bg-2) 22px)}
.member.you .photo{background:repeating-linear-gradient(135deg,var(--em-50),var(--em-50) 11px,var(--bg-2) 11px,var(--bg-2) 22px)}
.member .photo .lab{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:5px 11px}
.member .nm{font-weight:650;font-size:16.5px;letter-spacing:-.01em}
.member .ro{font-size:12px;color:var(--sky-deep);font-family:var(--font);font-weight:650;letter-spacing:.08em;
  text-transform:uppercase;margin-top:5px}
.member.you .ro{color:var(--em-text)}
.member .bio{font-size:13.5px;color:var(--t2);line-height:1.55;margin-top:10px}
.about-quote{max-width:760px;margin:0 auto}
@media (max-width:760px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.team-grid,.advisor-grid{grid-template-columns:1fr}}
