/* ============================================================
   GTMS MATRIX — SHARED DESIGN SYSTEM
   ============================================================ */

/* ============================================================
   SELF-HOSTED FONTS — replaces external Google Fonts loading.
   Latin subset only, weights actually used by the design system.
   ============================================================ */
@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-700-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/source-serif-4-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/source-serif-4-latin-600-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Source Serif 4';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/source-serif-4-latin-700-normal.woff2') format('woff2');
}

:root{
  --ink:#12151C;
  --ink-soft:#2B303B;
  --paper:#F7F8F9;
  --paper-raised:#FFFFFF;
  --slate:#5B6472;
  --slate-light:#8A93A0;
  --line:#E2E4E4;
  --line-soft:#EDEEEE;
  --verified:#2B5D4F;
  --verified-soft:#E8F0EC;
  --seal:#8A6A22;
  --seal-soft:#F5EEDD;
  --danger:#A23B2B;
  --danger-soft:#FBEAE7;
  --serif:'Source Serif 4', Georgia, serif;
  --sans:'IBM Plex Sans', -apple-system, sans-serif;
  --mono:'IBM Plex Mono', 'SF Mono', monospace;
  --maxw:1180px;
  --shadow-card:0 1px 2px rgba(18,21,28,0.04), 0 12px 32px -18px rgba(18,21,28,0.18);
  color-scheme: light;

  /* Fixed "onyx" accent-surface tokens — intentionally do NOT flip with [data-theme="dark"].
     Used only by components meant to read as a permanent dark accent (cap-feature, statement
     banner, cascade total row) regardless of overall page theme, so their child text/border
     colors must reference these instead of the theme-flipping --ink/--paper pair. */
  --onyx: #12151C;
  --onyx-raised: #1B1F27;
  --onyx-text: #F4F5F6;
  --onyx-text-soft: #C7CCD3;
  --onyx-text-faint: #9AA3B0;
  --onyx-border: rgba(255,255,255,0.16);
  --onyx-seal: #DCB35C;
  --onyx-seal-soft: rgba(220,179,92,0.16);
}

[data-theme="dark"]{
  --ink:#ECEDEF;
  --ink-soft:#C7CBD3;
  --paper:#14171D;
  --paper-raised:#1B1F27;
  --slate:#9AA3B0;
  --slate-light:#6B7280;
  --line:#2B303B;
  --line-soft:#232732;
  --verified:#5FBBA1;
  --verified-soft:rgba(95,187,161,0.13);
  --seal:#DCB35C;
  --seal-soft:rgba(220,179,92,0.14);
  --danger:#E08072;
  --danger-soft:rgba(224,128,114,0.14);
  --shadow-card:0 1px 2px rgba(0,0,0,0.2), 0 16px 40px -20px rgba(0,0,0,0.55);
  color-scheme: dark;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  transition:background-color .2s ease, color .2s ease;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
@media (max-width:720px){ .wrap{padding:0 20px;} }

/* ---------- SKIP LINK ---------- */
.skip-link{
  position:absolute;left:-9999px;top:auto;
  background:var(--ink);color:var(--paper);
  padding:12px 18px;border-radius:6px;font-size:13.5px;font-weight:600;
  z-index:200;
}
.skip-link:focus{
  left:16px;top:16px;
}

/* ---------- GRADIENT MESH ---------- */
.mesh{
  position:relative;
  background:
    radial-gradient(60% 55% at 14% 0%, rgba(43,93,79,0.13) 0%, rgba(43,93,79,0) 60%),
    radial-gradient(50% 50% at 88% 8%, rgba(138,106,34,0.10) 0%, rgba(138,106,34,0) 60%),
    radial-gradient(70% 60% at 50% -10%, rgba(102,140,199,0.10) 0%, rgba(102,140,199,0) 65%),
    linear-gradient(180deg, #F2F5F3 0%, var(--paper) 78%);
  background:
    radial-gradient(60% 55% at 14% 0%, rgba(43,93,79,0.13) 0%, rgba(43,93,79,0) 60%),
    radial-gradient(50% 50% at 88% 8%, rgba(138,106,34,0.10) 0%, rgba(138,106,34,0) 60%),
    radial-gradient(70% 60% at 50% -10%, rgba(102,140,199,0.10) 0%, rgba(102,140,199,0) 65%),
    linear-gradient(180deg, color-mix(in srgb, var(--verified) 6%, var(--paper)) 0%, var(--paper) 78%);
}
[data-theme="dark"] .mesh{
  background:
    radial-gradient(60% 55% at 14% 0%, rgba(95,187,161,0.10) 0%, rgba(95,187,161,0) 60%),
    radial-gradient(50% 50% at 88% 8%, rgba(220,179,92,0.08) 0%, rgba(220,179,92,0) 60%),
    radial-gradient(70% 60% at 50% -10%, rgba(102,140,199,0.09) 0%, rgba(102,140,199,0) 65%),
    linear-gradient(180deg, #171B22 0%, var(--paper) 78%);
}
.mesh::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(18,21,28,0.055) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.55) 0%, transparent 72%);
  pointer-events:none;
}
[data-theme="dark"] .mesh::before{
  background-image:radial-gradient(rgba(255,255,255,0.055) 1px, transparent 1px);
}

/* ---------- TRUST STRIP (Udyam/MSME registration) ---------- */
.trust-strip{
  background:var(--verified-soft);
  border-bottom:1px solid color-mix(in srgb, var(--verified) 22%, transparent);
  border-bottom:1px solid #cfe1d9;
}
.trust-strip-inner{
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  padding:8px 32px;font-size:12.5px;
}
.trust-strip-badge{
  display:inline-flex;align-items:center;gap:7px;color:var(--verified);font-weight:600;
}
.trust-strip-number{
  font-family:var(--mono);color:var(--verified);font-size:11.5px;
  opacity:0.85;padding-left:14px;border-left:1px solid color-mix(in srgb, var(--verified) 30%, transparent);
}
@media (max-width:560px){
  .trust-strip-inner{padding:7px 20px;gap:6px;text-align:center;}
  .trust-strip-number{border-left:none;padding-left:0;}
}

/* ---------- NAV ---------- */
header.site-nav{
  position:sticky;top:0;z-index:80;
  background:rgba(247,248,249,0.86);
  background:color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.nav-row{ display:flex;align-items:center;justify-content:space-between; height:68px;gap:16px; }
.logo{ font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:-0.01em; display:flex;align-items:center;gap:9px;flex-shrink:0; }
.logo-mark{ display:block;flex-shrink:0; }
nav.primary{display:flex;gap:24px;}
nav.primary a{ font-size:13.5px;color:var(--slate);font-weight:500; transition:color .15s ease;white-space:nowrap; padding:6px 0; border-bottom:2px solid transparent; }
nav.primary a:hover{color:var(--ink);}
nav.primary a.active{color:var(--ink); border-bottom-color:var(--verified);}
.nav-actions{display:flex;align-items:center;gap:10px;}
.nav-cta{ font-size:13.5px;font-weight:600;color:var(--paper);background:var(--ink);padding:9px 18px;border-radius:5px; border:1px solid var(--ink); transition:background .15s ease; white-space:nowrap; }
.nav-cta:hover{background:var(--ink-soft);}
@media (max-width:1040px){ nav.primary{display:none;} }

/* theme toggle */
.theme-toggle{
  width:36px;height:36px;border-radius:8px;border:1px solid var(--line);
  background:var(--paper-raised);color:var(--ink);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:border-color .15s ease, background .15s ease;
}
.theme-toggle:hover{border-color:var(--slate-light);}
.theme-toggle svg{width:16px;height:16px;}
.theme-toggle .icon-moon{display:none;}
[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
[data-theme="dark"] .theme-toggle .icon-moon{display:block;}

/* mobile menu button */
.menu-btn{
  display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--line);
  background:var(--paper-raised);color:var(--ink);
  align-items:center;justify-content:center;flex-shrink:0;
}
@media (max-width:1040px){ .menu-btn{display:flex;} }

/* ---------- NAV DRAWER ---------- */
.nav-scrim{
  position:fixed;inset:0;background:rgba(10,12,16,0.45);
  opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:90;
}
.nav-scrim.open{opacity:1;pointer-events:auto;}
.nav-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(320px, 84vw);
  background:var(--paper-raised);border-left:1px solid var(--line);
  z-index:100;padding:20px 20px 24px;
  transform:translateX(100%);transition:transform .25s ease;
  display:flex;flex-direction:column;
  overflow-y:auto;
}
.nav-drawer.open{transform:translateX(0);}
.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.nav-drawer-close{
  width:34px;height:34px;border-radius:8px;border:1px solid var(--line);
  background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;
}
.nav-drawer nav{display:flex;flex-direction:column;gap:2px;margin-bottom:20px;}
.nav-drawer nav a{
  font-size:15.5px;font-weight:600;color:var(--ink-soft);padding:12px 10px;border-radius:8px;
}
.nav-drawer nav a.active{color:var(--verified);background:var(--verified-soft);}
.nav-drawer nav a:hover{background:var(--line-soft);}
.nav-drawer .nav-cta{text-align:center;}
@media (min-width:1041px){ .nav-scrim, .nav-drawer{display:none;} }

/* ---------- PAGE HERO ---------- */
.page-hero{padding:64px 0 56px;}
.page-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:600;color:var(--verified);
  background:var(--verified-soft);border:1px solid #cfe1d9;
  border:1px solid color-mix(in srgb, var(--verified) 30%, transparent);
  padding:6px 12px;border-radius:20px;margin-bottom:20px;
}
.page-kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--verified);}
h1{ font-family:var(--serif);font-weight:700; font-size:40px;line-height:1.16;letter-spacing:-0.015em; color:var(--ink);margin-bottom:18px; }
@media (max-width:560px){ h1{font-size:29px;} }
.page-sub{ font-size:17px;color:var(--slate);max-width:640px; line-height:1.6; }

/* ---------- BUTTONS ---------- */
.cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{ background:var(--ink);color:var(--paper);padding:13px 22px;border-radius:6px; font-size:14.5px;font-weight:600;border:1px solid var(--ink); transition:background .15s ease; display:inline-block; }
.btn-primary:hover{background:var(--ink-soft);}
.btn-secondary{ background:transparent;color:var(--ink);padding:13px 22px;border-radius:6px; font-size:14.5px;font-weight:600;border:1px solid var(--line); transition:border-color .15s ease, background .15s ease; display:inline-block; }
.btn-secondary:hover{border-color:var(--slate-light);background:var(--paper-raised);}

/* ---------- PILOT FORM ---------- */
.pilot-form{ background:var(--paper-raised);border:1px solid var(--line);border-radius:12px; padding:36px; box-shadow:var(--shadow-card); }
.pilot-form-row{ display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px; }
@media (max-width:640px){ .pilot-form-row{grid-template-columns:1fr;} }
.pilot-form-field{ margin-bottom:20px; }
.pilot-form-field:last-of-type{ margin-bottom:0; }
.pilot-form label{ display:block;font-size:12.5px;font-weight:600;color:var(--slate);margin-bottom:7px; }
.pilot-form label .req{ color:var(--danger);margin-left:2px; }
.pilot-form input[type="text"],
.pilot-form input[type="email"],
.pilot-form textarea{
  width:100%;font-family:var(--sans);font-size:14.5px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:7px;
  padding:11px 13px;transition:border-color .15s ease, background .15s ease;
}
.pilot-form input[type="text"]:focus,
.pilot-form input[type="email"]:focus,
.pilot-form textarea:focus{
  outline:none;border-color:var(--verified);background:var(--paper-raised);
}
.pilot-form input.field-error,
.pilot-form textarea.field-error{ border-color:var(--danger);background:var(--danger-soft); }
.pilot-form textarea{ resize:vertical;min-height:110px;font-family:inherit; }
.pilot-form-error{ font-size:12px;color:var(--danger);margin-top:6px;display:none; }
.pilot-form-error.show{ display:block; }
.pilot-form-actions{ display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px; }
.pilot-form-actions button{ font-family:inherit;border:1px solid var(--ink);background:var(--ink);color:var(--paper); padding:13px 24px;border-radius:6px;font-size:14.5px;font-weight:600;transition:background .15s ease; }
.pilot-form-actions button:hover{ background:var(--ink-soft); }
.pilot-form-hint{ font-size:12.5px;color:var(--slate-light); }
.pilot-form-status{ margin-top:20px;padding:14px 16px;border-radius:8px;font-size:13.5px;line-height:1.55;display:none; }
.pilot-form-status.show{ display:block; }
.pilot-form-status.status-ok{ background:var(--verified-soft);color:var(--verified); }
.pilot-form-status.status-fallback{ background:var(--seal-soft);color:var(--seal); }
.pilot-form-status button.copy-btn{
  font-family:var(--mono);font-size:12px;font-weight:600;color:inherit;background:transparent;
  border:1px solid currentColor;border-radius:5px;padding:5px 10px;margin-top:10px;transition:opacity .15s ease;
}
.pilot-form-status button.copy-btn:hover{ opacity:0.75; }

/* ---------- FOUNDER STORY ---------- */
.founder-intro-grid{ display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start; }
@media (max-width:760px){ .founder-intro-grid{grid-template-columns:1fr;} }
.founder-portrait{ width:100%;max-width:240px; }
@media (max-width:760px){ .founder-portrait{max-width:220px;margin:0 auto 8px;} }
.founder-portrait img{ width:100%;height:auto;display:block;border-radius:12px; border:1px solid var(--line);box-shadow:var(--shadow-card); }
.founder-portrait-caption{ margin-top:14px;font-size:12.5px;color:var(--slate-light);line-height:1.5; }
@media (max-width:760px){ .founder-portrait-caption{text-align:center;} }
.founder-copy p{ font-size:15.5px;color:var(--slate);line-height:1.7;margin-bottom:18px; }
.founder-copy p:last-child{margin-bottom:0;}
.founder-copy strong{color:var(--ink);}
.founder-copy .lede{ font-family:var(--serif);font-size:18.5px;color:var(--ink);line-height:1.55;font-weight:600; }

.gtms-sequence{ display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px; margin:24px 0;padding:20px;background:var(--paper-raised);border:1px solid var(--line);border-radius:10px; }
.gtms-sequence .seq-step{ font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink); background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:6px 12px; white-space:nowrap; }
.gtms-sequence .seq-arrow{ color:var(--slate-light);font-size:13px; }

.founder-signature{ margin-top:32px;padding-top:22px;border-top:1px solid var(--line); }
.founder-signature .fs-name{ font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink); }
.founder-signature .fs-title{ font-size:13.5px;color:var(--slate);font-style:italic;margin-top:3px; }

.founder-quote{ background:var(--onyx);color:var(--onyx-text);border-radius:12px; padding:32px 34px;margin:22px 0; }
.founder-quote blockquote{ font-family:var(--serif);font-size:22px;line-height:1.42;font-weight:600;margin:0; letter-spacing:-0.01em; }
.founder-quote blockquote span{color:var(--onyx-seal);}
.founder-quote cite{ display:block;margin-top:14px;font-style:normal;font-size:13px;color:var(--onyx-text-faint); }
@media (max-width:640px){ .founder-quote{padding:26px 22px;} .founder-quote blockquote{font-size:19px;} }

/* ---------- HONESTY STRIP ---------- */
.honesty{ border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft); background:var(--paper-raised); }
.honesty .wrap{ display:flex;align-items:center;gap:14px;padding:16px 32px; font-size:13px;color:var(--slate); }
.honesty svg{flex-shrink:0;}

/* ---------- SECTION SCAFFOLDING ---------- */
section{padding:80px 0;}
.section-head{max-width:620px;margin-bottom:48px;}
.section-kicker{ font-size:13px;font-weight:600;color:var(--seal);margin-bottom:12px; }
h2{ font-family:var(--serif);font-weight:700;font-size:29px;line-height:1.25; color:var(--ink);margin-bottom:14px;letter-spacing:-0.01em; }
h3{ font-family:var(--serif); font-weight:600; }
.section-desc{font-size:15.5px;color:var(--slate);line-height:1.65;}

/* ---------- GENERIC CARD GRID ---------- */
.card-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:1px; background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden; }
@media (max-width:860px){ .card-grid{grid-template-columns:1fr;} }
.card{ background:var(--paper-raised);padding:28px 26px; }
.card .tag{ display:inline-block;font-family:var(--mono);font-size:10.5px;color:var(--seal); background:var(--seal-soft);padding:3px 9px;border-radius:20px;margin-bottom:14px; }
.card h4{font-size:15.5px;font-weight:600;margin-bottom:8px;color:var(--ink);}
.card p{font-size:13.5px;color:var(--slate);line-height:1.6;}

/* ---------- CAPABILITIES ---------- */
.cap-grid{ display:grid;grid-template-columns:1.2fr 1fr;gap:1px; background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden; }
@media (max-width:860px){ .cap-grid{grid-template-columns:1fr;} }
.cap-feature{ background:var(--onyx);color:var(--onyx-text);padding:38px 34px;grid-row:span 2; display:flex;flex-direction:column;justify-content:space-between; }
@media (max-width:860px){ .cap-feature{grid-row:auto;} }
.cap-feature h3{font-size:22px;margin-bottom:12px;font-weight:600;color:var(--onyx-text);}
.cap-feature p{font-size:14px;color:var(--onyx-text-soft);line-height:1.65;}
.cap-tag{ display:inline-block;font-family:var(--mono);font-size:11px;color:var(--onyx-seal); background:var(--onyx-seal-soft);padding:4px 10px;border-radius:20px;margin-bottom:18px;width:fit-content; }
.cap-feature .btn-secondary{border-color:var(--onyx-border);color:var(--onyx-text);}
.cap-feature .btn-secondary:hover{border-color:rgba(255,255,255,0.32);background:rgba(255,255,255,0.06);}
.cap-cell{background:var(--paper-raised);padding:28px 30px;}
.cap-cell h4{font-size:15.5px;font-weight:600;margin-bottom:8px;color:var(--ink);}
.cap-cell p{font-size:13.5px;color:var(--slate);line-height:1.6;}

/* ---------- FLOW / SEQUENCE ---------- */
.flow{display:flex;flex-direction:column;}
.flow-step{ display:grid;grid-template-columns:56px 1fr;gap:20px; padding:26px 0;border-top:1px solid var(--line-soft); }
.flow-step:first-child{border-top:none;}
.flow-num{ font-family:var(--mono);font-size:13px;color:var(--slate-light); display:flex;align-items:flex-start;padding-top:3px; }
.flow-body h4{font-size:16px;font-weight:600;margin-bottom:6px;color:var(--ink);}
.flow-body p{font-size:14px;color:var(--slate);max-width:600px;line-height:1.6;}

/* ---------- TABLE ---------- */
.data-table{ width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:10px;overflow:hidden; font-size:13.5px; }
.data-table th{ text-align:left;background:var(--paper-raised);color:var(--slate); font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px; }
.data-table td{ padding:13px 16px;border-bottom:1px solid var(--line-soft);color:var(--ink-soft); background:var(--paper-raised); }
.data-table tr:last-child td{border-bottom:none;}
.status-pill{ font-family:var(--mono);font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px; display:inline-block; }
.status-frozen{background:var(--verified-soft);color:var(--verified);}
.status-partial{background:var(--seal-soft);color:var(--seal);}

/* expandable table row (single strategic interaction on Governance page) */
.data-table tr.expandable{cursor:pointer;}
.data-table tr.expandable:hover td{background:var(--line-soft);}
.data-table tr.expandable td:first-child{display:flex;align-items:center;gap:8px;}
.expand-caret{transition:transform .15s ease;color:var(--slate-light);font-size:10px;}
.data-table tr.expanded .expand-caret{transform:rotate(90deg);}
.expand-panel{display:none;}
.expand-panel.open{display:table-row;}
.expand-panel td{background:var(--paper);padding:16px 16px 18px 40px;border-bottom:1px solid var(--line-soft);}
.expand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:700px){ .expand-grid{grid-template-columns:1fr;} }
.expand-grid h5{font-size:11px;font-weight:600;color:var(--slate-light);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;}
.expand-grid p{font-size:13px;color:var(--ink-soft);line-height:1.5;}

/* ---------- STATEMENT ---------- */
.statement{background:var(--onyx);color:var(--onyx-text);}
.statement blockquote{ font-family:var(--serif);font-size:27px;line-height:1.4;font-weight:600; max-width:760px;letter-spacing:-0.01em; }
.statement blockquote span{color:var(--onyx-seal);}
.statement cite{ display:block;margin-top:18px;font-style:normal;font-size:13.5px;color:var(--onyx-text-faint); }

/* ---------- CONTRAST ---------- */
.contrast-grid{ display:grid;grid-template-columns:1fr 1fr;gap:0; border:1px solid var(--line);border-radius:12px;overflow:hidden; }
@media (max-width:780px){ .contrast-grid{grid-template-columns:1fr;} }
.contrast-col{padding:34px 32px;}
.contrast-col.guess{background:var(--paper-raised);border-right:1px solid var(--line);}
.contrast-col.govern{background:#F3F7F5;background:color-mix(in srgb, var(--verified) 5%, var(--paper-raised));}
@media (max-width:780px){ .contrast-col.guess{border-right:none;border-bottom:1px solid var(--line);} }
.contrast-label{ font-size:12px;font-weight:600;letter-spacing:0.02em;margin-bottom:16px; display:flex;align-items:center;gap:8px; }
.contrast-col.guess .contrast-label{color:var(--slate);}
.contrast-col.govern .contrast-label{color:var(--verified);}
.contrast-col ul{list-style:none;}
.contrast-col li{ font-size:14.5px;padding:10px 0;border-top:1px solid var(--line-soft); display:flex;gap:10px;color:var(--ink-soft); }
.contrast-col li:first-child{border-top:none;}

/* ---------- CTA BAND ---------- */
.cta-band{ border:1px solid var(--line);border-radius:14px;padding:48px 44px; display:flex;align-items:center;justify-content:space-between;gap:30px; background:var(--paper-raised); }
@media (max-width:760px){ .cta-band{flex-direction:column;align-items:flex-start;} }
.cta-band h3{font-size:24px;margin-bottom:8px;}
.cta-band p{font-size:14.5px;color:var(--slate);max-width:420px;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line-soft);padding:56px 0 32px;}
.footer-grid{ display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:36px;margin-bottom:48px; }
@media (max-width:780px){ .footer-grid{grid-template-columns:1fr 1fr;} }
.footer-col h5{font-size:12.5px;font-weight:600;color:var(--slate-light);margin-bottom:14px;}
.footer-col a{display:block;font-size:13.5px;color:var(--ink-soft);padding:5px 0;}
.footer-col a:hover{color:var(--verified);}
.footer-brand p{font-size:13.5px;color:var(--slate);max-width:260px;margin-top:12px;line-height:1.6;}
.footer-bottom{ display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid var(--line-soft); font-size:12.5px;color:var(--slate-light);flex-wrap:wrap;gap:10px; }

/* ---------- MOTION ---------- */
.fade-up{opacity:0;transform:translateY(14px);animation:fadeUp .6s ease forwards;}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}
.d1{animation-delay:.05s;} .d2{animation-delay:.15s;} .d3{animation-delay:.25s;} .d4{animation-delay:.35s;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .fade-up{animation:none;opacity:1;transform:none;}
  .nav-drawer, .nav-scrim, .theme-toggle, body{transition:none;}
}
:focus-visible{outline:2px solid var(--verified);outline-offset:2px;}

/* ---------- THESIS DEMO (flagship interaction — homepage only) ---------- */
.thesis{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:16px;
  padding:32px 34px 26px; box-shadow:var(--shadow-card);
}
.thesis-head{ display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px; }
.thesis-badge{
  font-family:var(--mono);font-size:11px;font-weight:600;color:var(--seal);
  background:var(--seal-soft);border:1px solid #e6d9b6;
  border:1px solid color-mix(in srgb, var(--seal) 35%, transparent);
  padding:4px 10px;border-radius:20px;letter-spacing:0.02em;
}
.scenario-chips{ display:flex;gap:6px;background:var(--paper);border:1px solid var(--line);padding:4px;border-radius:10px; }
.chip{ font-family:var(--sans);font-size:13px;font-weight:600;color:var(--slate); background:transparent;border:none;padding:7px 14px;border-radius:7px;transition:all .15s ease; }
.chip:hover{color:var(--ink);}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);}
.thesis-scenario-note{ font-size:13.5px;color:var(--slate);margin-bottom:24px;min-height:20px; }
.thesis-controls{ display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:26px;padding-bottom:26px;border-bottom:1px solid var(--line-soft); }
@media (max-width:640px){ .thesis-controls{grid-template-columns:1fr;} }

.sim-field label{ display:block;font-size:12.5px;font-weight:600;color:var(--slate);margin-bottom:7px; }
.sim-input-row{display:flex;align-items:center;gap:10px;}
.sim-input-row .prefix{font-family:var(--mono);color:var(--slate-light);font-size:14px;}
.sim-field input[type=range]{width:100%;accent-color:var(--verified);height:4px;}
.sim-value{ font-family:var(--mono);font-weight:600;font-size:14.5px;color:var(--ink); min-width:78px;text-align:right; }

.cascade{ display:flex;flex-direction:column; }
.cascade-row{ padding:13px 0;border-top:1px dashed var(--line-soft); }
.cascade-row:first-child{border-top:none;}
.cascade-row--total{ background:var(--onyx);color:var(--onyx-text);border-radius:10px;padding:18px 20px;margin-bottom:14px;border-top:none; }
.cascade-row--total .cascade-label{color:var(--onyx-text-faint);font-size:12px;font-weight:600;letter-spacing:0.02em;}
.cascade-row--total .cascade-value{color:var(--onyx-text);font-size:26px;}
.cascade-main{ display:flex;align-items:baseline;gap:10px;flex-wrap:wrap; }
.cascade-label{ font-size:14px;color:var(--ink-soft);font-weight:500; }
.cascade-label .rate{ font-family:var(--mono);font-size:10.5px;color:var(--seal); background:var(--seal-soft);padding:1px 7px;border-radius:8px;margin-left:6px; }
.cascade-value{ font-family:var(--mono);font-weight:600;font-size:16px;color:var(--ink);margin-left:auto; transition:color .3s ease; }
.delta-badge{ font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 7px;border-radius:8px; opacity:0;transition:opacity .2s ease; }
.delta-badge.show{opacity:1;}
.delta-badge.up{background:var(--danger-soft);color:var(--danger);}
.delta-badge.down{background:var(--verified-soft);color:var(--verified);}
.cascade-why{ font-size:12.5px;color:var(--slate-light);margin-top:3px; }
.thesis-foot{ font-size:12px;color:var(--slate-light);margin-top:20px;line-height:1.6; }

/* ---------- CONCLUSION CARDS (replaces exposed formula chain) ---------- */
.conclusion-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:1px; background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px; }
@media (max-width:760px){ .conclusion-grid{grid-template-columns:1fr;} }
.conclusion-card{ background:var(--paper-raised);padding:22px 22px 20px; }
.conclusion-label{ font-size:12px;font-weight:600;color:var(--slate);margin-bottom:8px; }
.conclusion-value-row{ display:flex;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap; }
.conclusion-value{ font-family:var(--mono);font-weight:600;font-size:22px;color:var(--ink); }
.conclusion-why{ font-size:12.5px;color:var(--slate-light);line-height:1.5; }
.conclusion-capacity{ background:var(--onyx);color:var(--onyx-text);border-radius:10px;padding:20px 22px; }
.conclusion-capacity .conclusion-label{color:var(--onyx-text-faint);}
.conclusion-tier{ font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:6px;display:block; }
.conclusion-tier.tier-lean{color:#7FCDB6;}
.conclusion-tier.tier-structured{color:var(--onyx-seal);}
.conclusion-tier.tier-expanded{color:#E39C8C;}
.conclusion-capacity .conclusion-why{color:var(--onyx-text-soft);}

/* ---------- DARK-MODE FALLBACKS for browsers without color-mix() support ---------- */
[data-theme="dark"] header.site-nav{ background:rgba(20,23,29,0.86); }
[data-theme="dark"] .page-kicker{ border-color:rgba(95,187,161,0.35); }
[data-theme="dark"] .contrast-col.govern{ background:#1A2620; }
[data-theme="dark"] .thesis-badge{ border-color:rgba(220,179,92,0.4); }
[data-theme="dark"] .trust-strip{ border-bottom-color:rgba(95,187,161,0.3); }
[data-theme="dark"] .trust-strip-number{ border-left-color:rgba(95,187,161,0.3); }
[data-theme="dark"] .mesh{
  background:
    radial-gradient(60% 55% at 14% 0%, rgba(95,187,161,0.10) 0%, rgba(95,187,161,0) 60%),
    radial-gradient(50% 50% at 88% 8%, rgba(220,179,92,0.08) 0%, rgba(220,179,92,0) 60%),
    radial-gradient(70% 60% at 50% -10%, rgba(102,140,199,0.09) 0%, rgba(102,140,199,0) 65%),
    linear-gradient(180deg, #171B22 0%, var(--paper) 78%);
}
.evidence-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:1px; background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden; }
@media (max-width:860px){ .evidence-grid{grid-template-columns:1fr 1fr;} }
.evidence-card{ background:var(--paper-raised);padding:24px 22px; }
.evidence-status{ font-family:var(--mono);font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px; display:inline-block;margin-bottom:14px; }
.evidence-status.available{background:var(--verified-soft);color:var(--verified);}
.evidence-status.progress{background:var(--seal-soft);color:var(--seal);}
.evidence-status.pending{background:var(--line-soft);color:var(--slate);}
.evidence-card h4{font-size:14.5px;font-weight:600;margin-bottom:6px;color:var(--ink);}
.evidence-card p{font-size:12.5px;color:var(--slate);line-height:1.55;}
