/* ============================================================
   Ditshego Ventures — house site (editorial light register)
   Shared stylesheet for index + about + contact + venture pages.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;0,900;1,500;1,600&family=Archivo:wght@400;500;600;700&family=Archivo+Expanded:wght@700;800&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --paper-000:#fff; --paper-100:#faf7f0; --paper-200:#f2ece0; --paper-300:#e8dfd0;
  --ink-900:#0c0b0a; --ink-800:#14110f; --ink-700:#1e1a17; --ink-600:#2a2521; --ink-500:#3a332d;
  --gold-600:#b8862f; --gold-500:#c9a24b; --gold-400:#d9bb72; --gold-300:#e8d29a;
  --green-700:#14342b; --green-600:#1b4332; --green-500:#2c6e54;
  --oxblood-700:#4a1620; --oxblood-600:#5c1a1a; --oxblood-500:#7a2230;
  --navy-900:#070a12;
  --teal-500:#2dd4bf; --teal-400:#45e0cc; --teal-600:#1aa593;
  --violet-500:#8b5cf6; --violet-400:#a78bfa;
  --grey-600:#423d35; --grey-500:#5e574c; --grey-400:#847c6e; --grey-300:#ada597; --grey-200:#cfc8bb;
  --signal-up:#2c9e6a; --signal-down:#c0473b;
  --grad-gold:linear-gradient(120deg,#e8d29a 0%,#b8862f 100%);
  --grad-scholar-ambient:radial-gradient(800px 500px at 12% -8%,rgba(139,92,246,.22),transparent 60%),radial-gradient(700px 500px at 92% 4%,rgba(45,212,191,.18),transparent 60%);
  --glow-teal:0 0 0 1px rgba(45,212,191,.35),0 8px 32px rgba(45,212,191,.18);
  --glow-gold:0 0 24px rgba(201,162,75,.3);
  --shadow-dark:0 16px 48px rgba(0,0,0,.5);
  --font-display:'Playfair Display',Georgia,serif;
  --font-sans:'Archivo',system-ui,sans-serif;
  --font-expanded:'Archivo Expanded','Archivo',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --radius-md:8px; --radius-lg:14px; --radius-pill:999px;
  --wide:1320px; --prose:68ch;
  --ease:cubic-bezier(.22,.61,.36,1);
  --accent:var(--gold-600);
}

* { box-sizing:border-box; }
/* Lucide icons inside the chip boxes inherit the box font-size. */
.mic > svg, .si > svg, .ni > svg, .ci > svg, .di > svg, .compliance .ci > svg { width:1em; height:1em; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--font-sans); background:var(--paper-100); color:var(--ink-800); -webkit-font-smoothing:antialiased; }
::selection { background:var(--gold-300); }
img { display:block; }
.wrap { max-width:var(--wide); margin:0 auto; padding:0 clamp(20px,5vw,48px); }
.prose { max-width:var(--prose); }
.eyebrow { font-family:var(--font-expanded); font-weight:700; font-size:12px; letter-spacing:.26em; text-transform:uppercase; color:var(--accent); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:8px; font:600 14px/1 var(--font-sans); letter-spacing:.01em; padding:14px 22px; border-radius:var(--radius-pill); text-decoration:none; border:1px solid transparent; cursor:pointer; transition:background .2s var(--ease),color .2s,border-color .2s; }
.btn--primary { background:var(--ink-800); color:var(--paper-100); }
.btn--primary:hover { background:var(--ink-700); }
.btn--accent { background:var(--gold-500); color:var(--ink-900); }
.btn--accent:hover { background:var(--gold-400); }
.btn--outline { border-color:var(--ink-800); color:var(--ink-800); }
.btn--outline:hover { background:var(--ink-800); color:var(--paper-100); }
.btn--on-dark { color:var(--paper-100); border-color:var(--ink-500); }
.btn--on-dark:hover { background:var(--paper-100); color:var(--ink-900); }
.btn--sm { padding:9px 16px; font-size:13px; }

/* Header */
header { border-bottom:1px solid var(--ink-800); position:sticky; top:0; z-index:20; background:color-mix(in srgb,var(--paper-100) 90%,transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.nav { display:flex; align-items:center; justify-content:space-between; height:68px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; }
.brand img { width:30px; height:30px; border-radius:6px; object-fit:cover; }
.wordmark { font-family:var(--font-expanded); font-weight:800; font-size:15px; letter-spacing:.18em; }
.menu { display:flex; gap:28px; align-items:center; }
.menu a.line { font-size:13px; font-weight:500; letter-spacing:.03em; color:var(--ink-700); text-decoration:none; position:relative; padding:4px 0; }
.menu a.line::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:1.5px; background:var(--gold-500); transition:width .2s var(--ease); }
.menu a.line:hover::after { width:100%; }
.menu a.line:hover { color:var(--ink-900); }

/* ---- Homepage ---- */
.hero { padding:clamp(40px,7vw,64px) 0 clamp(36px,6vw,56px); border-bottom:1px solid var(--ink-800); }
.hero .place { font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; color:var(--grey-500); text-transform:uppercase; }
.hero h1 { font-family:var(--font-display); font-weight:900; font-size:clamp(48px,12vw,104px); line-height:.92; letter-spacing:-.03em; margin:22px 0 0; }
.hero .reg { font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; color:var(--gold-600); margin-top:18px; }
.hero-foot { display:flex; align-items:flex-end; justify-content:space-between; margin-top:36px; gap:32px; flex-wrap:wrap; }
.hero-lead { font:400 clamp(17px,2.2vw,20px)/1.6 var(--font-sans); color:var(--grey-600); max-width:40ch; margin:0; }
.hero-actions { display:flex; gap:14px; flex:none; flex-wrap:wrap; }

.section { padding:clamp(52px,8vw,80px) 0; border-bottom:1px solid var(--paper-300); }
.sec-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:40px; gap:24px; flex-wrap:wrap; }
.sec-head h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(30px,5vw,44px); line-height:1.02; letter-spacing:-.02em; margin:0; max-width:18ch; }
.sec-head .idx { font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; color:var(--grey-400); text-transform:uppercase; }

.about-body { font:400 clamp(17px,2.2vw,19px)/1.7 var(--font-sans); color:var(--grey-600); max-width:60ch; }
.about-body strong { color:var(--ink-800); font-weight:600; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper-300); border:1px solid var(--paper-300); margin-top:48px; }
.stat { background:var(--paper-000); padding:30px 26px; }
.stat .n { font-family:var(--font-display); font-weight:700; font-size:clamp(38px,5vw,52px); line-height:1; letter-spacing:-.02em; }
.stat .l { font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-400); margin-top:10px; }

.ventures { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper-300); border:1px solid var(--paper-300); }
.venture { background:var(--paper-000); padding:26px 24px 24px; display:flex; flex-direction:column; min-height:230px; text-decoration:none; color:inherit; transition:background .2s var(--ease); }
.venture:hover { background:var(--paper-100); }
.venture.flagship { background:var(--ink-900); color:var(--paper-100); grid-column:span 2; }
.venture .vkind { font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey-400); }
.venture.flagship .vkind { color:var(--gold-400); }
.venture .vname { font-family:var(--font-display); font-weight:700; font-size:25px; line-height:1.05; margin:12px 0 0; letter-spacing:-.01em; }
.venture.flagship .vname { font-size:clamp(28px,4vw,34px); }
.venture .vdesc { font-size:14px; line-height:1.6; color:var(--grey-600); margin:12px 0 0; }
.venture.flagship .vdesc { color:var(--grey-200); max-width:44ch; font-size:15px; }
.vstatus { margin-top:auto; padding-top:18px; display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--grey-500); }
.venture.flagship .vstatus { color:var(--grey-300); }
.dot { width:7px; height:7px; border-radius:50%; flex:none; }

.spotlight { background:var(--green-700); color:var(--paper-100); }
.spotlight .wrap { padding:clamp(56px,9vw,88px) clamp(20px,5vw,48px); }
.spotlight .eyebrow { color:var(--gold-300); }
.spotlight h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(34px,6vw,52px); line-height:1.05; letter-spacing:-.02em; margin:22px 0 0; max-width:18ch; }
.spotlight h2 em { font-style:italic; font-weight:500; color:var(--gold-300); }
.spotlight p { font:400 clamp(16px,2.2vw,18px)/1.65 var(--font-sans); color:var(--paper-200); max-width:60ch; margin:24px 0 0; }
.facts-home { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin:40px 0 36px; }
.facts-home .fn { font:600 17px/1.2 var(--font-display); color:var(--paper-000); }
.facts-home .fl { font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-300); margin-top:6px; }

.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.principles.boxed { gap:1px; background:var(--paper-300); border:1px solid var(--paper-300); }
.pr { } .principles.boxed .pr { background:var(--paper-000); padding:32px 28px; min-height:240px; display:flex; flex-direction:column; }
.pr .pn { font-family:var(--font-display); font-weight:700; font-size:44px; line-height:1; color:var(--gold-500); letter-spacing:-.02em; }
.pr h3 { font:600 22px/1.2 var(--font-display); margin:16px 0 10px; }
.pr p { font-size:15px; line-height:1.65; color:var(--grey-600); margin:0; }

.contact-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:start; }
.contact-lead { font:400 clamp(17px,2.2vw,19px)/1.6 var(--font-sans); color:var(--grey-600); max-width:40ch; }
.crow { display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--paper-300); }
.crow .ck { font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-400); }
.crow .cv { font-size:15px; font-weight:500; color:var(--ink-800); text-align:right; text-decoration:none; }
.crow a.cv:hover { color:var(--gold-600); }

/* Rich footer (homepage) */
.footer-rich { background:var(--ink-900); color:var(--paper-200); padding:56px 0 36px; }
.foot-top { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; padding-bottom:40px; border-bottom:1px solid var(--ink-600); }
.foot-top .wordmark { font-size:20px; }
.foot-blurb { color:var(--grey-300); font-size:14px; line-height:1.6; margin-top:16px; max-width:300px; }
.foot-kick { font-family:var(--font-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey-400); margin-bottom:10px; }
.foot-link { color:var(--gold-400); text-decoration:none; font-size:14px; }
.foot-link:hover { color:var(--gold-300); }
.foot-base { padding-top:24px; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; color:var(--grey-400); line-height:1.8; }

/* Simple footer (inner pages) */
.footer-slim { background:var(--ink-900); color:var(--grey-300); padding:40px 0; }
.footer-slim .foot-base { padding:0; }

/* ---- Detail / venture shared ---- */
.crumb { padding:28px 0 0; font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; color:var(--grey-400); display:flex; gap:8px; align-items:center; }
.crumb a { color:var(--grey-500); text-decoration:none; }
.crumb a:hover { color:var(--ink-800); }
.crumb.on-dark { color:var(--grey-400); }
.crumb.on-dark a { color:var(--grey-300); }
.crumb.on-dark span { color:var(--paper-200); }

.mast { padding:36px 0 64px; border-bottom:1px solid var(--ink-800); }
.mast .kind { font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.mast h1 { font-family:var(--font-display); font-weight:900; font-size:clamp(46px,9vw,84px); line-height:.95; letter-spacing:-.03em; margin:18px 0 0; }
.mast .sub { font:400 clamp(17px,2.4vw,21px)/1.55 var(--font-sans); color:var(--grey-600); max-width:52ch; margin:26px 0 0; }
.mast .cta { display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
.mast .badge { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; padding:5px 12px; border-radius:var(--radius-pill); border:1px solid var(--paper-300); color:var(--grey-500); }
.mast .badge .dot { width:7px; height:7px; }
.mast-top { display:flex; align-items:center; gap:14px; margin-bottom:6px; flex-wrap:wrap; }

/* Dark / coloured mast variants */
.mast--dark { background:var(--ink-900); color:var(--paper-100); border-bottom:1px solid var(--ink-800); position:relative; overflow:hidden; }
.mast--dark h1, .mast--green h1, .mast--ambient h1 { color:var(--paper-000); }
.mast--dark .sub, .mast--green .sub, .mast--ambient .sub { color:var(--grey-200); }
.mast--dark .badge, .mast--green .badge, .mast--ambient .badge { border-color:var(--ink-500); color:var(--grey-300); }
.mast--green { background:var(--green-700); color:var(--paper-100); border-bottom:1px solid var(--ink-800); }
.mast--green .sub { color:var(--paper-200); }
.mast--ambient { background:var(--navy-900); background-image:var(--grad-scholar-ambient); color:var(--paper-100); border-bottom:1px solid var(--ink-800); }
.mast .img { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.22; }
.mast .scrim { position:absolute; inset:0; background:linear-gradient(90deg,var(--ink-900) 40%,transparent); }
.mast--dark .wrap, .mast--green .wrap, .mast--ambient .wrap { position:relative; z-index:2; padding-top:52px; padding-bottom:60px; }
.mast--split .wrap { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center; }

.tape { background:var(--ink-800); border-bottom:1px solid var(--ink-700); }
.tape .wrap { display:flex; gap:40px; padding:14px clamp(20px,5vw,48px); font-family:var(--font-mono); font-size:13px; flex-wrap:wrap; }
.tape .k { color:var(--grey-400); letter-spacing:.08em; }
.up { color:var(--signal-up); } .down { color:var(--signal-down); } .gold { color:var(--gold-400); }

.facts { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper-300); border-bottom:1px solid var(--paper-300); }
.fact { background:var(--paper-000); padding:28px 26px; }
.fact .n { font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3.4vw,34px); line-height:1; letter-spacing:-.02em; }
.fact .l { font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--grey-400); margin-top:9px; }

.dsection { padding:clamp(48px,7vw,72px) 0; border-bottom:1px solid var(--paper-300); }
.dsection h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(28px,4.6vw,36px); line-height:1.05; letter-spacing:-.02em; margin:18px 0 24px; }
.lede { font:400 clamp(17px,2.2vw,19px)/1.75 var(--font-sans); color:var(--grey-600); }
.lede p { margin:0 0 20px; }
.lede p:last-child { margin-bottom:0; }
.lede strong { color:var(--ink-800); font-weight:600; }

.modules { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--paper-300); border:1px solid var(--paper-300); margin-top:8px; }
.mod { background:var(--paper-000); padding:28px 24px; min-height:160px; display:flex; flex-direction:column; }
.mod .mic { width:38px; height:38px; border-radius:9px; display:grid; place-items:center; background:color-mix(in srgb,var(--accent) 14%,transparent); color:var(--accent); font-size:18px; }
.mod h3 { font:600 19px/1.2 var(--font-display); margin:16px 0 6px; }
.mod p { font-size:14px; line-height:1.6; color:var(--grey-600); margin:0; }

.pull { background:var(--green-700); color:var(--paper-100); }
.pull.ink { background:var(--ink-900); }
.pull.ambient { background:var(--navy-900); background-image:var(--grad-scholar-ambient); }
.pull.oxblood { background:var(--oxblood-700); }
.pull .wrap { padding:clamp(56px,9vw,80px) clamp(20px,5vw,48px); }
.pull .eyebrow { color:var(--gold-300); }
.pull .q { font:500 clamp(28px,5vw,40px)/1.3 var(--font-display); font-style:italic; letter-spacing:-.01em; max-width:24ch; margin:22px 0 0; color:var(--paper-000); }
.pull .by { margin-top:26px; font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-300); }

.next { display:flex; justify-content:space-between; align-items:center; padding:48px 0; gap:24px; flex-wrap:wrap; }
.next .nl { font-family:var(--font-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey-400); }
.next .nt { font-family:var(--font-display); font-weight:700; font-size:28px; line-height:1.05; margin-top:8px; }

/* Pills / chips / langs */
.langs, .reg { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.lang, .chip { font-family:var(--font-mono); font-size:13px; letter-spacing:.04em; padding:10px 16px; border-radius:var(--radius-pill); border:1px solid var(--paper-300); background:var(--paper-000); color:var(--ink-700); display:inline-flex; align-items:center; gap:8px; }
.lang.k { background:var(--ink-900); color:var(--violet-400); border-color:var(--ink-900); }
.chip .d { width:7px; height:7px; border-radius:50%; background:var(--signal-up); }

/* Numbered steps / pipeline */
.steps { display:grid; grid-template-columns:repeat(var(--cols,3),1fr); gap:1px; background:var(--paper-300); border:1px solid var(--paper-300); margin-top:8px; }
.step { background:var(--paper-000); padding:28px 24px; min-height:186px; display:flex; flex-direction:column; }
.step .sn { font-family:var(--font-mono); font-size:12px; color:var(--accent); letter-spacing:.14em; }
.step .si { width:36px; height:36px; border-radius:8px; display:grid; place-items:center; margin-top:14px; background:color-mix(in srgb,var(--accent) 14%,transparent); color:var(--accent); font-size:17px; }
.step h3 { font:600 18px/1.2 var(--font-display); margin:14px 0 6px; }
.step p { font-size:13.5px; line-height:1.55; color:var(--grey-600); margin:0; }

.compliance { background:var(--green-700); color:var(--paper-100); border-radius:var(--radius-md); padding:26px 28px; display:flex; gap:16px; align-items:flex-start; max-width:var(--prose); }
.compliance .ci { color:var(--gold-300); flex:none; font-size:24px; line-height:1; }
.compliance h3 { font:600 18px var(--font-display); margin:0 0 6px; }
.compliance p { font-size:14px; line-height:1.6; color:var(--paper-200); margin:0; }

/* v4ntag3 */
.logo-card { aspect-ratio:1; border-radius:var(--radius-lg); border:1px solid var(--ink-600); background:var(--ink-900); display:grid; place-items:center; box-shadow:var(--glow-teal); overflow:hidden; }
.logo-card img { width:100%; height:100%; object-fit:cover; }
.bracket { background:var(--ink-900); color:var(--paper-100); border-radius:var(--radius-md); padding:30px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.bracket .bt { font:600 22px var(--font-display); }
.bracket .bs { font-size:14px; color:var(--grey-300); margin-top:4px; }
.seeds { display:flex; gap:10px; flex-wrap:wrap; }
.seed { font-family:var(--font-mono); font-size:12px; padding:8px 14px; border-radius:var(--radius-pill); border:1px solid var(--ink-600); color:var(--teal-400); }

/* rockit vinyl */
.vinyl { aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 50%,var(--gold-500) 0 11%,var(--ink-800) 11.5% 14%,var(--ink-700) 14% 100%); position:relative; box-shadow:var(--shadow-dark),var(--glow-gold); display:grid; place-items:center; max-width:320px; margin:0 auto; }
.vinyl span { position:relative; z-index:1; width:22%; height:22%; border-radius:50%; background:var(--ink-900); display:grid; place-items:center; color:var(--gold-400); font-family:var(--font-expanded); font-weight:800; font-size:13px; letter-spacing:.1em; }

/* scene newspaper */
.mast--news { padding:40px 0 0; border-bottom:3px double var(--ink-800); }
.masthead-rule { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-500); padding-bottom:12px; border-bottom:1px solid var(--ink-800); }
.mast--news h1 { font-family:var(--font-display); font-weight:900; font-size:clamp(48px,11vw,96px); line-height:.9; letter-spacing:-.03em; margin:28px 0 0; text-align:center; }
.mast--news .sub { font:400 19px/1.5 var(--font-sans); color:var(--grey-600); max-width:60ch; margin:20px auto 0; text-align:center; }
.mast--news .cta { justify-content:center; margin:30px 0 36px; }
.facts--five { grid-template-columns:repeat(5,1fr); }
.facts--five .fact { text-align:center; padding:24px 18px; }
.channels { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--paper-300); border:1px solid var(--paper-300); margin-top:8px; }
.ch { background:var(--paper-000); padding:26px 18px; min-height:160px; display:flex; flex-direction:column; }
.ch .ci { width:36px; height:36px; border-radius:8px; display:grid; place-items:center; background:var(--ink-900); color:var(--gold-400); font-size:17px; }
.ch h3 { font:600 17px/1.2 var(--font-display); margin:14px 0 6px; }
.ch p { font-size:12.5px; line-height:1.5; color:var(--grey-600); margin:0; }
.brandos { background:var(--ink-900); color:var(--paper-100); border-radius:var(--radius-md); padding:36px; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; }
.brandos .eyebrow { color:var(--gold-400); }
.brandos h3 { font-family:var(--font-display); font-weight:700; font-size:30px; line-height:1.1; margin:14px 0 10px; color:var(--paper-000); }
.brandos p { font-size:15px; line-height:1.6; color:var(--grey-200); margin:0; max-width:52ch; }
.brandos .tag { font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--teal-400); border:1px solid var(--ink-600); border-radius:var(--radius-pill); padding:12px 18px; white-space:nowrap; }

/* logistics flow */
.flow { display:flex; align-items:stretch; gap:0; margin-top:8px; border:1px solid var(--paper-300); border-radius:var(--radius-md); overflow:hidden; flex-wrap:wrap; }
.node { flex:1; min-width:160px; background:var(--paper-000); padding:26px 22px; position:relative; }
.node:not(:last-child) { border-right:1px solid var(--paper-300); }
.node .ni { width:38px; height:38px; border-radius:9px; display:grid; place-items:center; background:color-mix(in srgb,var(--green-500) 14%,transparent); color:var(--green-600); font-size:18px; }
.node h3 { font:600 17px/1.2 var(--font-display); margin:14px 0 6px; }
.node p { font-size:13px; line-height:1.55; color:var(--grey-600); margin:0; }

/* about — ludo board + founder */
.ludo { background:var(--ink-900); color:var(--paper-100); }
.ludo .wrap { padding:clamp(56px,9vw,84px) clamp(20px,5vw,48px); display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.ludo .eyebrow { color:var(--gold-400); }
.ludo h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(32px,5vw,44px); line-height:1.08; letter-spacing:-.02em; margin:20px 0 18px; color:var(--paper-000); }
.ludo p { font:400 17px/1.7 var(--font-sans); color:var(--grey-200); margin:0; max-width:46ch; }
.board { aspect-ratio:1; border:1px solid var(--ink-600); border-radius:var(--radius-md); display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); overflow:hidden; max-width:420px; }
.quad { display:grid; place-items:center; font-family:var(--font-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.q1 { background:color-mix(in srgb,var(--signal-up) 22%,var(--ink-900)); color:var(--signal-up); }
.q2 { background:color-mix(in srgb,var(--gold-500) 22%,var(--ink-900)); color:var(--gold-300); }
.q3 { background:color-mix(in srgb,var(--teal-500) 20%,var(--ink-900)); color:var(--teal-400); }
.q4 { background:color-mix(in srgb,var(--oxblood-500) 30%,var(--ink-900)); color:#e29aa4; }
.lead-body { font:400 19px/1.8 var(--font-sans); color:var(--grey-600); }
.lead-body p { margin:0 0 22px; }
.lead-body p:first-of-type::first-letter { font-family:var(--font-display); font-weight:800; float:left; font-size:76px; line-height:.78; padding:6px 14px 0 0; color:var(--ink-800); }
.lead-body strong { color:var(--ink-800); font-weight:600; }
.founder { display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center; margin-top:24px; }
.fav { width:84px; height:84px; border-radius:50%; background:var(--grad-gold); display:grid; place-items:center; font:800 30px var(--font-display); color:var(--ink-900); }
.founder .fq { font:500 clamp(20px,3vw,26px)/1.4 var(--font-display); font-style:italic; color:var(--ink-800); margin:0; max-width:40ch; }
.founder .fn { margin-top:14px; font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-500); }

/* contact form + direct panel */
.cgrid { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; padding:64px 0 80px; align-items:start; }
.form { display:flex; flex-direction:column; gap:20px; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field label { font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-500); }
.field input, .field textarea, .field select { font-family:var(--font-sans); font-size:15px; color:var(--ink-800); background:var(--paper-000); border:1px solid var(--paper-300); border-radius:var(--radius-md); padding:13px 14px; outline:none; transition:border-color .2s var(--ease),box-shadow .2s var(--ease); }
.field textarea { resize:vertical; min-height:130px; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:var(--gold-500); box-shadow:0 0 0 3px color-mix(in srgb,var(--gold-500) 22%,transparent); }
.sent { background:var(--green-700); color:var(--paper-100); border-radius:var(--radius-md); padding:22px 24px; display:flex; gap:14px; align-items:center; }
.sent .st { font:600 16px var(--font-display); }
.sent .ss { font-size:13px; color:var(--paper-200); margin-top:2px; }
.direct { background:var(--ink-900); color:var(--paper-100); border-radius:var(--radius-lg); padding:36px 32px; }
.direct .eyebrow { color:var(--gold-400); }
.direct h2 { font-family:var(--font-display); font-weight:700; font-size:28px; line-height:1.1; margin:16px 0 22px; color:var(--paper-000); }
.drow { display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--ink-600); }
.drow:last-child { border-bottom:none; }
.drow .di { width:36px; height:36px; border-radius:9px; flex:none; display:grid; place-items:center; background:color-mix(in srgb,var(--gold-500) 18%,transparent); color:var(--gold-400); font-size:17px; }
.drow .dk { font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--grey-400); }
.drow .dv { font-size:15px; font-weight:500; color:var(--paper-100); margin-top:4px; }
.drow a { color:inherit; text-decoration:none; }
.drow a:hover { color:var(--gold-300); }

/* Accent themes per venture */
.v-aura { --accent:var(--violet-500); }
.v-aura ::selection { background:var(--violet-400); color:#fff; }
.v-v4ntag3 { --accent:var(--teal-600); }
.v-npc { --accent:var(--oxblood-600); }
.v-logistics { --accent:var(--green-500); }

@media (max-width:960px){
  .stats,.ventures,.facts,.facts-home,.modules,.steps { grid-template-columns:repeat(2,1fr); }
  .channels,.facts--five { grid-template-columns:repeat(3,1fr); }
  .venture.flagship { grid-column:span 2; }
  .principles { grid-template-columns:1fr; gap:28px; }
  .contact-grid,.cgrid,.ludo .wrap,.mast--split .wrap { grid-template-columns:1fr; gap:32px; }
  .brandos { grid-template-columns:1fr; }
}
@media (max-width:560px){
  .menu { display:none; }
  .stats,.facts-home,.frow { grid-template-columns:1fr 1fr; }
  .ventures,.facts,.modules,.steps,.channels,.facts--five { grid-template-columns:1fr; }
  .venture.flagship { grid-column:span 1; }
}
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } * { transition:none !important; } }
