/* Vantage West · Ink & Brass design system */
:root{
  --ink:#16171a; --ink-rgb:22,23,26; --ink-2:#1d1e22; --panel:#202126;
  --paper:#f4f4f2; --paper-2:#ffffff;
  --t-light:#ece9e2; --t-light-2:#fbfaf7; --t-light-mute:#a6a39b;
  --t-ink:#16171a; --ink-soft:#48474420; --soft:#4a4945; --muted:#7d7b74;
  --line:#e2dfd7; --line-2:#d3cfc5; --line-dark:rgba(255,255,255,.12); --line-dark-2:rgba(255,255,255,.2);
  --brass:#c39a4e; --brass-2:#d8b874; --brass-d:#a9823c;
  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Inter','Helvetica Neue', Arial, sans-serif;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--sans); color:var(--t-ink); background:var(--paper); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ max-width:1240px; margin:0 auto; padding:0 48px; }

.tex-d{ background-image:
  repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 1px, transparent 1px 46px),
  repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 1px, transparent 1px 46px); }

/* ---------- header ---------- */
header{ position:sticky; top:0; z-index:60; background:rgba(var(--ink-rgb),.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line-dark); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:84px; }
.brand{ display:flex; align-items:center; gap:14px; }
.brand .mk{ width:34px; height:auto; }
.brand .wm{ font-weight:600; font-size:16px; letter-spacing:.3em; color:#fff; }
nav.menu{ display:flex; gap:38px; }
nav.menu a{ font-size:14.5px; font-weight:500; letter-spacing:.02em; color:var(--t-light-mute); padding:6px 0; border-bottom:1.5px solid transparent; transition:.15s; }
nav.menu a:hover{ color:#fff; }
nav.menu a.active{ color:#fff; border-bottom-color:var(--brass); }
.navtoggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:30px; height:30px; background:none; border:none; cursor:pointer; padding:0; }
.navtoggle span{ display:block; height:2px; width:24px; background:#e6e4dd; transition:.25s; }
.navtoggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.navtoggle.open span:nth-child(2){ opacity:0; }
.navtoggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
nav.menu a.investor-cta{ border:1px solid var(--brass); color:var(--brass-2); border-radius:7px; padding:9px 16px; font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
nav.menu a.investor-cta:hover{ background:var(--brass); color:#16171a; border-color:var(--brass); }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:10px; font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; padding:16px 30px; transition:.16s; border:1px solid var(--line-2); color:var(--t-ink); }
.btn:hover{ border-color:var(--brass); color:var(--brass-d); }
.btn.solid{ background:var(--ink); color:#fff; border-color:var(--ink); }
.btn.solid:hover{ background:var(--brass-d); border-color:var(--brass-d); color:#fff; }
.btn.light{ color:#fff; border-color:var(--line-dark-2); }
.btn.light:hover{ color:var(--brass-2); border-color:var(--brass); }

/* ---------- home hero (dark) ---------- */
.hero{ position:relative; overflow:hidden; background:var(--ink); color:#fff; min-height:92vh; display:flex; align-items:flex-end; }
.hero .heromedia{ position:absolute; inset:0; background-size:cover; background-position:center; animation:kenburns 26s ease-in-out infinite alternate; }
.hero video.heromedia{ width:100%; height:100%; object-fit:cover; }
.hero .heroscrim{ position:absolute; inset:0; background:linear-gradient(to top, var(--ink) 1%, transparent 58%), linear-gradient(rgba(10,12,14,.44), rgba(10,12,14,.28)); }
.hero .inner{ position:relative; z-index:2; width:100%; padding:0 0 90px; }
@keyframes kenburns{ from{ transform:scale(1.001); } to{ transform:scale(1.09); } }
.eyebrow{ font-size:12px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--brass-2); display:inline-flex; align-items:center; gap:12px; margin-bottom:28px; }
.eyebrow::before{ content:""; width:26px; height:1.5px; background:var(--brass); }
.hero h1{ font-family:var(--sans); font-weight:600; font-size:88px; line-height:.99; letter-spacing:-.03em; max-width:15ch; color:#fff; text-shadow:0 2px 34px rgba(0,0,0,.4); }
.hero p.sub{ margin-top:30px; font-size:19px; line-height:1.6; color:rgba(255,255,255,.88); max-width:46ch; text-shadow:0 1px 18px rgba(0,0,0,.35); }
.hero .row{ margin-top:46px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.tlink{ font-size:12.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#fff; border-bottom:1.5px solid rgba(255,255,255,.6); padding-bottom:6px; }
.tlink:hover{ color:var(--brass-2); border-color:var(--brass); }
.scrollcue{ font-size:11.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--t-light-mute); display:inline-flex; align-items:center; gap:10px; }
.scrollcue .ar{ color:var(--brass-2); }

/* ---------- page hero (sub-pages) ---------- */
.phero{ position:relative; overflow:hidden; background:var(--ink); color:#fff; min-height:58vh; display:flex; align-items:flex-end; }
.phero .bg{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.6; animation:kenburns 34s ease-in-out infinite alternate; }
.phero .scrim{ position:absolute; inset:0; background:linear-gradient(to top, var(--ink) 2%, transparent 72%), linear-gradient(90deg, rgba(12,14,16,.55), rgba(12,14,16,.12)); }
.phero .inner{ position:relative; z-index:2; width:100%; padding:0 0 66px; }
.phero h1{ font-family:var(--sans); font-weight:600; font-size:60px; line-height:1.02; letter-spacing:-.03em; color:#fff; max-width:18ch; text-shadow:0 2px 26px rgba(0,0,0,.38); }
.phero p.sub{ margin-top:22px; font-size:19px; line-height:1.6; color:rgba(255,255,255,.86); max-width:52ch; }

/* ---------- photo band ---------- */
.band{ height:460px; position:relative; overflow:hidden; background:var(--ink); }
.band .bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.band .scrim{ position:absolute; inset:0; background:linear-gradient(to top, rgba(12,13,15,.78), rgba(12,13,15,.10) 55%, rgba(12,13,15,.34)); }
.band .cap{ position:absolute; left:48px; bottom:34px; color:var(--t-light-2); z-index:2; }
.band .cap .nm{ font-family:var(--serif); font-size:33px; font-weight:500; letter-spacing:-.01em; }
.band .cap .ad{ font-size:13.5px; letter-spacing:.02em; opacity:.85; margin-top:6px; max-width:54ch; }
.band .ph{ position:absolute; right:48px; bottom:34px; z-index:2; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(236,233,226,.55); }

/* ---------- stats ---------- */
.stats{ padding:66px 0; border-bottom:1px solid var(--line); }
.stats .grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:44px; }
.stat .n{ font-family:var(--serif); font-size:54px; font-weight:400; letter-spacing:-.02em; line-height:1; color:var(--t-ink); }
.stat .l{ margin-top:13px; font-size:14.5px; color:var(--muted); line-height:1.45; max-width:26ch; }

/* ---------- sections ---------- */
section.blk{ padding:110px 0; }
section.blk.dark{ background:var(--ink); color:var(--t-light); }
section.blk.tight{ padding:78px 0; }
.eyebrow-l{ font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--brass-d); display:inline-flex; align-items:center; gap:12px; margin-bottom:22px; }
.eyebrow-l::before{ content:""; width:24px; height:1.5px; background:var(--brass); }
.dark .eyebrow-l{ color:var(--brass-2); }
h2{ font-family:var(--sans); font-weight:600; font-size:52px; line-height:1.04; letter-spacing:-.028em; color:var(--t-ink); }
.dark h2{ color:var(--t-light-2); }
.lede{ display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:start; }
.col-r p{ font-size:18px; line-height:1.62; color:var(--soft); }
.dark .col-r p{ color:var(--t-light-mute); }
.prose{ max-width:64ch; }
.prose p{ font-size:18px; line-height:1.68; color:var(--soft); margin-bottom:20px; }
.dark .prose p{ color:var(--t-light-mute); }

/* feature grid (3-up) */
.g3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }
.feat{ background:var(--paper-2); border:1px solid var(--line); padding:32px 28px; }
.dark .feat{ background:var(--ink-2); border-color:var(--line-dark); }
.feat .k{ font-family:var(--serif); font-size:15px; font-weight:600; color:var(--brass-d); }
.dark .feat .k{ color:var(--brass-2); }
.feat h3{ font-size:20px; font-weight:600; letter-spacing:-.01em; margin:14px 0 10px; }
.feat p{ font-size:15px; line-height:1.56; color:var(--soft); }
.dark .feat p{ color:var(--t-light-mute); }

/* numbered rows */
.rows{ margin-top:48px; border-top:1px solid var(--line); }
.dark .rows{ border-color:var(--line-dark); }
.rw{ display:grid; grid-template-columns:80px 1fr 1.4fr; gap:32px; padding:30px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.dark .rw{ border-color:var(--line-dark); }
.rw .no{ font-family:var(--serif); font-size:30px; color:var(--brass-d); }
.dark .rw .no{ color:var(--brass-2); }
.rw h3{ font-size:22px; font-weight:600; letter-spacing:-.01em; }
.rw p{ font-size:16px; line-height:1.58; color:var(--soft); }
.dark .rw p{ color:var(--t-light-mute); }

/* ---------- portfolio ---------- */
.pf-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:40px; flex-wrap:wrap; gap:18px; }
.pf-head h2{ font-size:46px; }
.pf-head h2 sup{ font-family:var(--sans); font-size:15px; font-weight:600; color:var(--muted); vertical-align:super; margin-left:6px; }
.tabs{ display:flex; gap:28px; }
.tabs span{ font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding-bottom:5px; }
.tabs span.on{ color:var(--t-ink); border-bottom:1.5px solid var(--brass); }
.dark .tabs span.on{ color:#fff; }
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cards.four{ grid-template-columns:repeat(3,1fr); }
.card{ position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--ink-2); }
.card .fill{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .55s ease; }
.card:hover .fill{ transform:scale(1.045); }
.card .grad{ position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(8,9,7,.8), rgba(8,9,7,.04) 58%); }
.card .cap{ position:absolute; left:22px; bottom:20px; color:#f4f2ec; z-index:2; }
.card .cap .nm{ font-family:var(--serif); font-size:23px; font-weight:500; letter-spacing:-.01em; }
.card .cap .ad{ font-size:12.5px; letter-spacing:.03em; opacity:.86; margin-top:3px; }
.pf-note{ margin-top:22px; font-size:12.5px; color:var(--muted); letter-spacing:.02em; }

/* ---------- investors blocks ---------- */
.inv-tag{ font-family:var(--serif); font-size:27px; font-weight:400; line-height:1.32; color:var(--brass-2); margin-top:20px; }
.inv-cols{ display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:start; margin-top:12px; }
.inv-blk{ margin-top:32px; }
.inv-blk h3{ font-size:21px; font-weight:600; letter-spacing:-.01em; color:var(--t-light-2); }
.inv-blk p{ margin-top:10px; font-size:16px; line-height:1.6; color:var(--t-light-mute); }
.tbd-i{ color:var(--brass-2); font-style:italic; }

/* ---------- team ---------- */
.members{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px; }
.mem{ background:var(--paper-2); border:1px solid var(--line); padding:28px 24px; }
.mono{ width:52px; height:52px; border-radius:50%; background:var(--ink); color:var(--brass-2); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:20px; font-weight:600; letter-spacing:.02em; }
.mem .nm{ margin-top:20px; font-size:19px; font-weight:600; letter-spacing:-.01em; }
.mem .rl{ font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--brass-d); margin-top:5px; }
.mem .bi{ font-size:13px; line-height:1.52; color:var(--soft); margin-top:14px; }

/* ---------- CTA band ---------- */
.cta{ background:var(--ink); color:var(--t-light); text-align:center; padding:96px 0; }
.cta h2{ color:var(--t-light-2); max-width:20ch; margin:0 auto; }
.cta p{ margin:20px auto 0; max-width:52ch; color:var(--t-light-mute); font-size:18px; }
.cta .btn{ margin-top:34px; }

/* ---------- contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:8px; }
.office .lab{ font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.office .addr{ font-size:18px; line-height:1.5; color:var(--t-ink); margin-bottom:26px; }
.office .addr .city{ font-family:var(--serif); font-size:22px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.field input, .field textarea{ width:100%; background:var(--paper-2); border:1px solid var(--line-2); padding:14px 16px; font-family:var(--sans); font-size:15px; color:var(--t-ink); }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--brass); }

/* ---------- footer ---------- */
footer{ background:var(--ink); color:#cdcbc4; position:relative; overflow:hidden; }
footer .mark{ position:absolute; right:-30px; top:30px; width:360px; opacity:.05; }
footer .inner{ position:relative; padding:82px 0 34px; }
.f-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; }
.f-brand{ display:flex; align-items:center; gap:12px; }
.f-brand .mk{ width:30px; }
.f-brand .wm{ font-weight:600; font-size:15px; letter-spacing:.3em; color:#fff; }
.f-addr{ margin-top:22px; font-size:14px; line-height:1.6; color:#918f88; }
.f-addr .b{ color:var(--brass-2); }
.f-lab{ font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#7a7972; margin-bottom:14px; }
.f-col a{ display:block; font-size:15px; color:#cdcbc4; padding:6px 0; }
.f-col a:hover{ color:#fff; }
.f-legal{ margin-top:56px; padding-top:22px; border-top:1px solid var(--line-dark); font-size:12px; line-height:1.6; color:#7a7972; max-width:80ch; }
.f-bar{ margin-top:22px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:#7a7972; }
.f-bar a{ color:#7a7972; margin-left:22px; }

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .wrap{ padding:0 28px; }
  .hero h1{ font-size:56px; } .phero h1{ font-size:44px; } h2{ font-size:38px; } .pf-head h2{ font-size:34px; }
  .hero .inner{ padding:0 0 56px; }
  .lede,.inv-cols,.contact-grid{ grid-template-columns:1fr; gap:34px; }
  .stats .grid,.cards,.cards.four,.g3,.f-top{ grid-template-columns:1fr; }
  .members{ grid-template-columns:1fr 1fr; }
  .rw{ grid-template-columns:1fr; gap:8px; }
  .navtoggle{ display:flex; }
  nav.menu{ position:fixed; left:0; right:0; top:84px; flex-direction:column; gap:0; background:var(--ink); padding:4px 28px 20px; transform:translateY(-135%); transition:transform .32s ease; border-bottom:1px solid var(--line-dark); box-shadow:0 26px 44px rgba(0,0,0,.45); }
  nav.menu.open{ transform:none; }
  nav.menu a{ font-size:17px; padding:15px 2px; border-bottom:1px solid var(--line-dark); }
  nav.menu a:last-child{ border-bottom:none; }
}
@media (max-width:600px){ .members{ grid-template-columns:1fr; } }

/* ---------- motion ---------- */
.js .reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.js .reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .js .reveal{ opacity:1; transform:none; transition:none; }
  .hero .heromedia, .phero .bg{ animation:none; }
}

/* ---------- research / article ---------- */
.art-hero{ background:var(--ink); color:#fff; padding:118px 0 58px; border-bottom:1px solid var(--line-dark); }
.art-hero .eyebrow-l{ color:var(--brass-2); }
.art-hero h1{ font-family:var(--sans); font-weight:600; font-size:46px; line-height:1.1; letter-spacing:-.025em; color:#fff; max-width:24ch; margin-top:14px; }
.art-hero .meta{ margin-top:22px; font-size:14px; color:var(--t-light-mute); letter-spacing:.02em; }
.article{ max-width:760px; margin:0 auto; padding:58px 28px 40px; }
.article .lead{ font-size:21px; line-height:1.62; color:var(--t-ink); margin-bottom:34px; }
.article h2{ font-family:var(--sans); font-weight:600; font-size:26px; letter-spacing:-.02em; margin:44px 0 14px; }
.article h3{ font-family:var(--serif); font-weight:600; font-size:19px; margin:26px 0 8px; color:var(--brass-d); }
.article p{ font-size:17px; line-height:1.72; color:var(--soft); margin-bottom:18px; }
.article p strong{ color:var(--t-ink); font-weight:600; }
.keyfindings{ background:var(--paper-2); border:1px solid var(--line); border-left:3px solid var(--brass); border-radius:4px; padding:26px 30px; margin:34px 0; }
.keyfindings .kf-lab{ font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--brass-d); margin-bottom:14px; }
.keyfindings ol{ margin:0; padding-left:22px; }
.keyfindings li{ font-size:15.5px; line-height:1.58; color:var(--t-ink); margin-bottom:13px; padding-left:6px; }
.keyfindings li::marker{ color:var(--brass); font-weight:700; }
.sources{ margin-top:44px; padding-top:22px; border-top:1px solid var(--line); }
.sources .s-lab{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.sources p{ font-size:12.5px; line-height:1.55; color:var(--muted); margin-bottom:6px; }
.disclaimer{ margin-top:32px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; line-height:1.6; color:var(--muted); }
.rlist{ margin-top:14px; }
.ritem{ display:block; padding:34px 0; border-top:1px solid var(--line); }
.ritem:last-child{ border-bottom:1px solid var(--line); }
.ritem .r-meta{ font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--brass-d); }
.ritem h3{ font-family:var(--sans); font-weight:600; font-size:28px; letter-spacing:-.02em; margin:10px 0 10px; color:var(--t-ink); max-width:26ch; }
.ritem p{ font-size:16px; line-height:1.6; color:var(--soft); max-width:70ch; }
.ritem .r-read{ display:inline-block; margin-top:14px; font-size:12.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--brass-d); }
.ritem.soon{ opacity:.5; }

/* ---------- AI leadership page ---------- */
.g5{ display:grid; grid-template-columns:repeat(5,1fr); gap:24px; margin-top:46px; }
.cap .num{ font-family:var(--serif); font-size:22px; font-weight:600; color:var(--brass-d); }
.dark .cap .num{ color:var(--brass-2); }
.cap h3{ font-size:16px; font-weight:600; letter-spacing:-.01em; margin:12px 0 8px; }
.cap p{ font-size:13.5px; line-height:1.5; color:var(--soft); }
.dark .cap p{ color:var(--t-light-mute); }
.browser{ background:var(--paper-2); border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.14); }
.browser .bar{ display:flex; align-items:center; gap:7px; padding:11px 14px; border-bottom:1px solid var(--line); background:#faf9f5; }
.browser .bar span{ width:10px; height:10px; border-radius:50%; background:#d6d2c8; }
.browser .bar .url{ margin-left:12px; font-size:11px; color:var(--muted); }
.browser img{ display:block; width:100%; }
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:40px; }
.comp{ border-radius:12px; padding:28px 30px; }
.comp.old{ background:var(--paper-2); border:1px solid var(--line); }
.comp.new{ background:var(--ink); color:var(--t-light); }
.comp .clab{ font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.comp.old .clab{ color:var(--muted); } .comp.new .clab{ color:var(--brass-2); }
.comp .cbig{ font-family:var(--serif); font-size:46px; font-weight:600; line-height:1; }
.comp .cbig small{ font-size:17px; font-weight:400; color:var(--muted); margin-left:2px; }
.comp.new .cbig{ color:#fff; } .comp.new .cbig small{ color:var(--t-light-mute); }
.comp .csub{ font-size:12.5px; color:var(--muted); margin:8px 0 18px; }
.comp.new .csub{ color:var(--t-light-mute); }
.comp .crow{ display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-top:1px solid var(--line); font-size:13.5px; }
.comp.new .crow{ border-color:var(--line-dark); }
.comp .crow .cv{ color:var(--muted); white-space:nowrap; }
.comp.new .crow .cv{ color:var(--brass-2); }
@media (max-width:1000px){ .g5{ grid-template-columns:1fr 1fr; } .compare{ grid-template-columns:1fr; } }

/* ---------- team photo cards + bio modal ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px; }
.tcard{ display:block; width:100%; text-align:left; background:none; border:none; padding:0; margin:0; cursor:pointer; font:inherit; color:inherit; }
.tphoto{ width:100%; aspect-ratio:4/5; background-size:cover; background-position:center top; background-color:var(--paper-2); border:1px solid var(--line); transition:transform .35s ease, box-shadow .35s ease; }
.tcard:hover .tphoto{ transform:translateY(-5px); box-shadow:0 22px 44px rgba(0,0,0,.16); }
.tcard .tname{ margin-top:18px; font-size:19px; font-weight:600; letter-spacing:-.01em; }
.tcard .trole{ font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--brass-d); margin-top:4px; }
.tcard .tfirm{ font-size:13.5px; color:var(--muted); margin-top:6px; }
.tcard .tmore{ font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:12px; }
.tcard:hover .tmore{ color:var(--brass-d); }
.bio-modal{ position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(16,17,20,.74); backdrop-filter:blur(5px); }
.bio-modal.open{ display:flex; }
.bio-inner{ background:var(--paper-2); border-radius:14px; max-width:840px; width:100%; max-height:90vh; overflow:auto; display:grid; grid-template-columns:320px 1fr; position:relative; box-shadow:0 40px 100px rgba(0,0,0,.5); }
.bio-photo{ background-size:cover; background-position:center top; background-color:var(--paper); }
.bio-body{ padding:44px 44px 40px; }
.bio-close{ position:absolute; top:14px; right:16px; width:34px; height:34px; border:none; background:rgba(0,0,0,.06); border-radius:50%; font-size:20px; line-height:1; color:var(--ink); cursor:pointer; z-index:2; }
.bio-close:hover{ background:rgba(0,0,0,.12); }
.bio-role{ font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--brass-d); }
.bio-body h3{ font-family:var(--serif); font-weight:600; font-size:30px; letter-spacing:-.01em; margin:6px 0 22px; }
.bio-title{ font-size:14px; color:var(--muted); margin-bottom:22px; }
.bio-body p{ font-size:15.5px; line-height:1.68; color:var(--soft); }
.bio-stats{ display:flex; gap:30px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line); flex-wrap:wrap; }
.bio-stats .bs .n{ font-family:var(--serif); font-size:21px; font-weight:600; color:var(--ink); }
.bio-stats .bs .l{ font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin-top:3px; }
.mem .tmini{ width:56px; height:56px; border-radius:50%; background-size:cover; background-position:center top; }
@media (max-width:900px){ .team-grid{ grid-template-columns:1fr 1fr; } .bio-inner{ grid-template-columns:1fr; } .bio-photo{ aspect-ratio:3/2; } .bio-body{ padding:32px 30px; } }
@media (max-width:560px){ .team-grid{ grid-template-columns:1fr; } }

/* --- colored / outlined boxes: strategy playbook, AI lifecycle, AI edge stats --- */
.rows.playbook{ border-top:none; margin-top:44px; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.rows.playbook .rw{ display:block; padding:30px 30px 28px; border:1px solid var(--line); border-top:3px solid var(--brass); border-radius:12px; background:var(--paper-2); box-shadow:0 14px 34px rgba(0,0,0,.06); }
.rows.playbook .rw .no{ display:block; margin-bottom:12px; }
.rows.playbook .rw h3{ margin-bottom:9px; }

.g5 .cap{ background:var(--paper-2); border:1px solid var(--line); border-top:3px solid var(--brass); border-radius:12px; padding:26px 22px 24px; box-shadow:0 14px 34px rgba(0,0,0,.06); }

.stats.boxed .grid{ gap:22px; }
.stats.boxed .stat{ background:var(--paper-2); border:1px solid var(--line); border-top:3px solid var(--brass); border-radius:12px; padding:30px 28px; box-shadow:0 14px 34px rgba(0,0,0,.06); }
.stats.boxed .stat .n{ font-size:36px; }
.stats.boxed .stat .l{ max-width:none; }

/* team: advisors (reuse partner .team-grid / .tcard styling) */
.adv-head{ margin-top:72px; }
.team-grid.adv4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px){ .team-grid.adv4{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .team-grid.adv4{ grid-template-columns:1fr; } }

/* strategy: two-pillar approach */
.pillars{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; }
.pillar{ background:var(--paper-2); border:1px solid var(--line); border-top:3px solid var(--brass); border-radius:12px; padding:40px 38px; box-shadow:0 14px 34px rgba(0,0,0,.06); }
.pillar .pk{ font-family:var(--serif); font-size:15px; font-weight:600; color:var(--brass-d); }
.pillar h3{ font-size:26px; font-weight:600; letter-spacing:-.015em; margin:10px 0 16px; }
.pillar p{ font-size:15.5px; line-height:1.64; color:var(--soft); margin-bottom:14px; }
.pillar p:last-of-type{ margin-bottom:0; }
.pillar a.plink{ display:inline-block; margin-top:18px; font-size:13.5px; font-weight:600; color:var(--brass-d); border-bottom:1px solid var(--brass); padding-bottom:2px; }
@media (max-width:820px){ .pillars{ grid-template-columns:1fr; } }

@media (max-width:900px){
  .rows.playbook{ grid-template-columns:1fr; }
  .stats.boxed .grid{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:520px){
  .stats.boxed .grid{ grid-template-columns:1fr !important; }
}

/* ---------- one-page scroll ---------- */
section[id], div[id].stats{ scroll-margin-top:100px; }
.sec-sub{ margin-top:20px; font-size:18px; line-height:1.65; color:var(--soft); max-width:64ch; }

/* team: tighter cards */
.team .team-grid{ max-width:880px; gap:18px; }
.tcard .temail{ font-size:12.5px; color:var(--muted); margin-top:7px; letter-spacing:.01em; }

/* investors CTA */
.invcta{ text-align:center; padding:130px 0; }
.invcta .eyebrow-l{ justify-content:center; }
.invcta h2{ max-width:18ch; margin:0 auto; font-size:56px; }
.invcta .inv-tag{ margin-top:18px; }
.invcta p{ margin:24px auto 0; max-width:54ch; font-size:18px; line-height:1.65; color:var(--t-light-mute); }
.btn.brass{ background:var(--brass); border-color:var(--brass); color:var(--ink); margin-top:40px; font-size:13.5px; padding:19px 40px; }
.btn.brass:hover{ background:var(--brass-2); border-color:var(--brass-2); color:var(--ink); }
@media (max-width:1000px){ .invcta h2{ font-size:40px; } }

/* =========================================================
   Home page rhythm (Sep 24 2026 cleanup)
   One padding scale, alternating backgrounds, hairline sub-blocks.
   ========================================================= */
section.blk{ padding:136px 0; }
section.blk.bg-paper{ background:var(--paper); }
section.blk.bg-white{ background:var(--paper-2); }
section.blk.dark{ background:var(--ink); color:var(--t-light); }
.sub-blk{ margin-top:96px; padding-top:72px; border-top:1px solid var(--line); }
.dark .sub-blk{ border-top-color:var(--line-dark); }
.team .wrap > .sub-blk{ margin-top:88px; }

/* heading hierarchy */
h2{ font-size:48px; line-height:1.06; max-width:20ch; }
.h3-lg{ font-size:30px; font-weight:600; letter-spacing:-.02em; line-height:1.15; color:var(--t-ink); }
.eyebrow-l{ margin-bottom:20px; }
.col-r p, .sec-sub{ max-width:62ch; }
.col-r p + p{ margin-top:18px; }
.col-r{ padding-top:36px; }
.sub-blk.lede .col-r{ padding-top:36px; }
.dark .sec-sub{ color:var(--t-light-mute); }
.sec-sub + .sec-sub{ margin-top:16px; }
.inline-link{ color:var(--brass-d); border-bottom:1px solid var(--brass); }
.dark .inline-link{ color:var(--brass-2); }

/* principals strip: continuation of the dark hero */
.stats.stats-dark{ background:var(--ink); border-top:1px solid var(--line-dark); border-bottom:none; padding:64px 0 72px; }
.stats-dark .grid{ grid-template-columns:1fr 1fr 1fr; align-items:end; gap:44px; }
.stats-dark .stat-lab{ font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--brass-2); align-self:center; }
.stats-dark .stat .n{ color:var(--t-light-2); }
.stats-dark .stat .l{ color:var(--t-light-mute); }

/* principles: quieter cards, no competing borders */
.g3{ margin-top:8px; gap:28px; }
.feat{ background:transparent; border:none; border-top:2px solid var(--brass); padding:28px 0 0; }
.feat h3{ font-size:22px; margin:10px 0 10px; }
.feat p{ font-size:16px; line-height:1.6; max-width:34ch; }

/* platform list on dark */
.lede-center{ align-items:center; }
.lede-center .col-r{ padding-top:0; }
.dark .browser{ border-color:var(--line-dark); box-shadow:0 30px 70px rgba(0,0,0,.45); }
.plat{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.plat .pi{ border-top:2px solid var(--brass); padding-top:24px; }
.plat .k{ font-family:var(--serif); font-size:15px; font-weight:600; color:var(--brass-2); }
.plat h3{ font-size:19px; font-weight:600; letter-spacing:-.01em; color:var(--t-light-2); margin:10px 0 8px; }
.plat p{ font-size:15px; line-height:1.58; color:var(--t-light-mute); }

/* team + research */
.team .team-grid{ margin-top:48px; }
.team .adv .team-grid{ margin-top:8px; }
.rlist{ margin-top:48px; }
.ritem h3{ font-size:26px; max-width:36ch; }

/* investors CTA + footer seam */
.invcta{ padding:136px 0; border-bottom:1px solid var(--line-dark); }
.invcta h2{ font-size:48px; max-width:none; }
.invcta p{ margin-top:22px; }

@media (max-width:1000px){
  section.blk, .invcta{ padding:72px 0; }
  h2, .invcta h2{ font-size:34px; }
  .h3-lg{ font-size:24px; }
  .sub-blk{ margin-top:56px; padding-top:48px; }
  .col-r, .sub-blk.lede .col-r{ padding-top:0; }
  .stats-dark .grid{ grid-template-columns:1fr; gap:28px; }
  .stats.stats-dark{ padding:48px 0 56px; }
  .plat{ grid-template-columns:1fr 1fr; gap:28px; }
  .g3{ gap:32px; }
  .ritem h3{ font-size:22px; }
  .band{ height:300px; }
}
@media (max-width:560px){
  .plat{ grid-template-columns:1fr; }
  .stat .n{ font-size:44px; }
}
/* hero keeps the wrap gutter (the .inner padding shorthand was zeroing it) */
.hero .inner{ padding-left:48px; padding-right:48px; }
@media (max-width:1000px){ .hero .inner{ padding-left:28px; padding-right:28px; } }
@media (max-width:560px){ .wrap, .hero .inner{ padding-left:22px; padding-right:22px; } .hero h1{ font-size:46px; } .eyebrow{ font-size:11px; letter-spacing:.18em; } }
