/* ===========================================================================
   goga-shell.css — the ONE public design system for GOGA marketing/info pages.
   Mirrors the goga-lab app look (Inter + data-theme light/dark + grad-blue +
   card surfaces) so /technology, /investors, /white-label, /about, /legal/*,
   /predictions/quality etc. all read as the same product as the Strategy Lab.
   Tokens are copied from goga-lab.html so colors stay pixel-identical.
   Theme is driven by <html data-theme="light|dark"> (see goga-shell.js).
   =========================================================================== */

/* ---- design tokens (identical to goga-lab) ---- */
:root{
  --primary:#2563eb;--primary-light:#dbeafe;
  --success:#10b981;--danger:#ef4444;--warning:#f59e0b;--info:#06b6d4;
  --demo:#7c3aed;--demo-light:#ede9fe;--live:#b91c1c;--live-light:#fef2f2;
  --gold:#b8860b;
  --grad-blue:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);
  --grad-green:linear-gradient(135deg,#10b981 0%,#059669 100%);
  --grad-demo:linear-gradient(135deg,#8b5cf6,#7c3aed);
  --grad-gold:linear-gradient(135deg,#f5d272,#b8860b);
  --r:18px;
}
html[data-theme="light"]{
  --bg:#f5f7fa;--bg2:#eef2f8;--card:#fff;--panel:#fff;--panel2:#f8fafc;
  --text:#1e293b;--text2:#64748b;--text3:#94a3b8;--border:#e2e8f0;--border2:#d7deeb;
  --accent-soft:rgba(37,99,235,.10);
  --shadow:0 1px 3px rgba(15,23,42,.08);--shadow-md:0 6px 22px rgba(15,23,42,.08);
  --shadow-lg:0 20px 60px rgba(15,23,42,.14);
}
html[data-theme="dark"]{
  --bg:#070d1a;--bg2:#0b1322;--card:#0f1830;--panel:#0d1426;--panel2:#111c38;
  --text:#e6edff;--text2:#8aa0c6;--text3:#64769c;--border:#1d2b4d;--border2:#243355;
  --accent-soft:rgba(37,99,235,.18);
  --shadow:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 8px 26px rgba(0,0,0,.45);
  --shadow-lg:0 16px 50px rgba(0,0,0,.55);
}

/* ---- aurum→goga token aliases ----
   Some GOGA app templates (app-demo, app-academy) were written against the
   "aurum" token names. Aliasing them here lets those pages render correctly
   under the goga shell without rewriting every rule. */
html[data-theme]{
  --panel-default:var(--card);--panel-raised:var(--panel2);--border-default:var(--border);
  --ink-primary:var(--text);--ink-muted:var(--text2);
  --accent-info:var(--primary);--accent-confirm:var(--success);--accent-reject:var(--danger);--accent-warn:var(--warning);
}

/* ---- base (+10% readable font vs the old 15px pages) ---- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;
  font-size:16.5px;line-height:1.6;overflow-x:hidden;transition:background .25s,color .25s}
a{color:var(--primary);text-decoration:none}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
section{padding:76px 0}
h1,h2,h3{line-height:1.14;letter-spacing:-.02em}
.muted{color:var(--text2)}
.center{text-align:center}
.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.pos{color:var(--success)} .neg{color:var(--danger)}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--primary);background:var(--accent-soft);padding:7px 13px;border-radius:999px}
.sec-head{max-width:700px;margin:0 auto 46px}
.sec-head.center{text-align:center}
.sec-head h2{font-size:34px;font-weight:850;margin:14px 0 12px}
.sec-head p{color:var(--text2);font-size:16.5px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:750;font-size:14.5px;border-radius:12px;
  padding:12px 22px;cursor:pointer;border:1px solid transparent;transition:transform .12s,box-shadow .2s;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--grad-blue);color:#fff;box-shadow:0 8px 22px rgba(37,99,235,.32)}
.btn-ghost{background:var(--card);color:var(--text);border-color:var(--border2)}
.btn-ghost:hover{border-color:var(--primary)}

/* =========================================================================
   Header / nav — clean public chrome in the goga-lab visual language
   ========================================================================= */
.gnav{position:sticky;top:0;z-index:50;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}
.gnav__inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:11px 22px}
.gnav__brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:var(--text);white-space:nowrap}
.gnav__logo{width:32px;height:32px;border-radius:9px;background:var(--grad-blue);display:grid;place-items:center;color:#fff;font-size:18px;font-weight:900}
.gnav__bt small{display:block;font-weight:600;color:var(--text2);font-size:10.5px;margin-top:-2px}
.gnav__menu{display:flex;gap:4px;margin-left:8px}
.gnav__menu a{padding:8px 13px;border-radius:9px;font-weight:700;font-size:13.5px;color:var(--text2);transition:.15s}
.gnav__menu a:hover{color:var(--text);background:var(--bg2)}
.gnav__menu a.active{color:var(--primary);background:var(--accent-soft)}
.gnav__right{margin-left:auto;display:flex;align-items:center;gap:10px}
.gnav__icon{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);
  cursor:pointer;color:var(--text2);font-size:18px;display:grid;place-items:center;transition:.15s}
.gnav__icon:hover{color:var(--text);border-color:var(--primary)}
.gnav__cta{display:inline-flex;align-items:center;gap:7px;background:var(--grad-blue);color:#fff;font-weight:750;
  font-size:13.5px;padding:9px 16px;border-radius:10px;box-shadow:0 6px 18px rgba(37,99,235,.3)}
.gnav__cta:hover{transform:translateY(-1px)}
.gnav__burger{display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:20px;cursor:pointer}
.gnav__drawer{display:none;flex-direction:column;gap:2px;padding:10px 14px 16px;border-bottom:1px solid var(--border);background:var(--panel)}
.gnav__drawer a{padding:11px 12px;border-radius:9px;font-weight:700;color:var(--text);font-size:15px}
.gnav__drawer a:hover{background:var(--bg2)}
@media(max-width:920px){
  .gnav__menu{display:none}
  .gnav__cta{display:none}
  .gnav__burger{display:grid;place-items:center}
  .gnav__drawer:not([hidden]){display:flex}
}

/* =========================================================================
   Footer
   ========================================================================= */
.gfoot{background:var(--panel);border-top:1px solid var(--border);margin-top:40px;padding:42px 0 30px}
.gfoot__inner{max-width:1120px;margin:0 auto;padding:0 22px}
.gfoot__brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;color:var(--text);margin-bottom:14px}
.gfoot__brand small{font-weight:600;color:var(--text2);font-size:12px}
.gfoot__links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:18px}
.gfoot__links a{color:var(--text2);font-weight:650;font-size:13.5px}
.gfoot__links a:hover{color:var(--primary)}
.gfoot__fine{color:var(--text3);font-size:12.5px;line-height:1.7;max-width:780px}

/* =========================================================================
   Reusable content components (cards / grids / tables / panels)
   ========================================================================= */
.trust{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);padding:24px 0}
.trust .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}
.trust .item{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:650;color:var(--text2)}
.trust .item i{color:var(--success);font-size:18px;flex:none}

.pillars,.surfaces{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pillar,.surface,.feat{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.pillar .pic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;color:#fff;margin-bottom:16px;font-size:24px;background:var(--grad-blue)}
.pillar h3,.surface h3,.feat h3{font-size:18px;font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.surface h3 i,.feat i{color:var(--primary)}
.feat i{font-size:30px;margin-bottom:14px;display:block}
.pillar p,.surface p,.feat p{font-size:14.5px;color:var(--text2)}
.surface .links a{display:inline-block;margin:4px 0;font-size:13.5px;font-weight:700}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
@media(max-width:820px){.pillars,.surfaces{grid-template-columns:1fr}}

.lanegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.lane{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow)}
.lane.open{border-left:4px solid var(--success)} .lane.lock{border-left:4px solid var(--danger)} .lane.warnlane{border-left:4px solid var(--warning)}
.lane .s{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.lane.open .s{color:var(--success)} .lane.lock .s{color:var(--danger)} .lane.warnlane .s{color:var(--warning)}
.lane h3{font-size:16px;font-weight:800;margin:6px 0}

.architecture{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:42px;box-shadow:var(--shadow-md)}
.arch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.arch-item{position:relative}
.arch-item:not(:last-child)::after{content:"\2192";position:absolute;right:-18px;top:18px;font-size:24px;color:var(--text3)}
.arch-item i{font-size:40px;color:var(--primary);margin-bottom:14px;display:block}
.arch-item h4{font-size:16px;font-weight:800;margin-bottom:8px}
.arch-item p{font-size:13px;color:var(--text2)}
@media(max-width:820px){.arch-grid{grid-template-columns:1fr}.arch-item:not(:last-child)::after{content:"\2193";right:auto;left:50%;top:auto;bottom:-24px;transform:translateX(-50%)}}

/* live telemetry panel (investors) */
.live-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:28px;box-shadow:var(--shadow-md)}
.lp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.lp-head h3{font-size:17px;font-weight:800;display:flex;align-items:center;gap:9px}
.lp-head h3 i{color:var(--primary)}
.lp-head .status{font-size:12px;font-weight:700;color:var(--text2);border:1px solid var(--border);border-radius:999px;padding:4px 12px}
.lp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.lp-metric{background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center}
.lp-metric.red{border-color:var(--danger)} .lp-metric.amber{border-color:var(--warning)}
.lp-metric .val{font-size:22px;font-weight:850}
.lp-metric .lbl{font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-top:6px}
@media(max-width:760px){.lp-grid{grid-template-columns:repeat(2,1fr)}}

/* tables */
.table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--border);vertical-align:top}
th{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--text2);background:var(--panel2)}
tr:last-child td{border-bottom:none}
td code{font-size:12px;background:var(--bg2);padding:2px 7px;border-radius:6px;color:var(--text2)}
td .src{display:block;font-size:11px;color:var(--text3);margin-top:4px}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;padding:3px 9px;border-radius:7px;white-space:nowrap}
.tag.ok{background:rgba(16,185,129,.14);color:var(--success)}
.tag.info{background:var(--accent-soft);color:var(--primary)}
.tag.warn{background:rgba(245,158,11,.16);color:var(--warning)}
.tag.block{background:var(--live-light);color:var(--live)}
html[data-theme="dark"] .tag.block{background:rgba(185,28,28,.22);color:#fca5a5}

/* alerts + cta box */
.alert{border-radius:12px;padding:16px 18px;font-size:14px;line-height:1.6}
.alert.danger{background:var(--live-light);border:1px solid rgba(185,28,28,.25);color:var(--text)}
html[data-theme="dark"] .alert.danger{background:rgba(185,28,28,.14)}
.cta-box{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:46px;text-align:center;box-shadow:var(--shadow-md);margin-top:44px}
.cta-box h2{font-size:28px;font-weight:850;margin-bottom:12px}
.cta-box p{color:var(--text2);margin-bottom:24px;max-width:560px;margin-left:auto;margin-right:auto}

/* hero */
.hero{padding-top:60px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(900px 540px at 78% -8%,rgba(37,99,235,.14),transparent),
             radial-gradient(760px 520px at 6% 108%,rgba(139,92,246,.12),transparent)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.hero h1{font-size:50px;font-weight:880;margin:18px 0}
.hero h1 .hl{background:var(--grad-blue);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:18.5px;color:var(--text2);max-width:560px}
.hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.hero-art{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border)}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:36px}.sec-head h2{font-size:28px}}

/* long-form legal / prose */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:24px;font-weight:850;margin:34px 0 12px}
.prose h3{font-size:18px;font-weight:800;margin:22px 0 8px}
.prose p,.prose li{color:var(--text2);font-size:15.5px;line-height:1.75;margin-bottom:12px}
.prose ul,.prose ol{padding-left:22px;margin-bottom:12px}
.prose strong{color:var(--text)}
.prose .updated{font-size:13px;color:var(--text3);margin-bottom:8px}
