@import url("colors_and_type.css");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap");

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--th-bg);color:var(--th-fg);font-family:var(--th-sans);}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}

:root{
  --max-w: 1280px;
  --gutter: 32px;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ── Top ticker bar ────────────────────────────────────────── */
.ticker{
  position:relative;height:28px;border-bottom:1px solid var(--th-border);
  background:var(--th-bg);overflow:hidden;display:flex;align-items:center;
}
.ticker-label{
  flex:0 0 auto;padding:0 12px;height:100%;display:flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:10px;color:var(--th-fg-3);
  text-transform:uppercase;letter-spacing:0.08em;
  border-right:1px solid var(--th-border);
}
.ticker-label .dot{width:6px;height:6px;border-radius:50%;background:var(--th-profit);box-shadow:0 0 6px rgba(74,222,128,.6);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.ticker-track{flex:1;overflow:hidden;position:relative;}
.ticker-stream{display:flex;gap:32px;white-space:nowrap;animation:scroll 60s linear infinite;will-change:transform;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker-item{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--th-fg-2);}
.ticker-item .sym{color:var(--th-fg);font-weight:500;}
.ticker-item .delta-up{color:var(--th-profit);}
.ticker-item .delta-dn{color:var(--th-loss);}

/* ── Top nav ───────────────────────────────────────────────── */
.nav{
  position:sticky;top:0;z-index:50;
  height:56px;background:rgba(10,10,10,0.85);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--th-border);
  display:flex;align-items:center;
}
.nav-inner{
  width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:center;gap:32px;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:18px;height:32px;color:#fff;}
.brand-mark svg{width:100%;height:100%;display:block;}
.brand-word{font-family:var(--th-display);font-size:14px;letter-spacing:0.18em;color:#fff;}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:8px;}
.nav-link{
  padding:8px 12px;font-size:12px;color:var(--th-fg-2);font-weight:500;
  border-radius:4px;cursor:pointer;background:transparent;border:0;letter-spacing:0.01em;
  transition:color 80ms ease,background 80ms ease;
}
.nav-link:hover{color:#fff;background:var(--th-surface-1);}
.nav-link[data-active]{color:#fff;background:var(--th-surface-2);}
.nav-spacer{flex:1;}
.nav-meta{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;}
.nav-meta .dot{width:5px;height:5px;border-radius:50%;background:var(--th-profit);box-shadow:0 0 6px rgba(74,222,128,.6);}
.nav-cta{
  display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;
  background:var(--th-fg);color:var(--th-bg);font-size:12px;font-weight:600;
  border-radius:4px;cursor:pointer;border:0;letter-spacing:0.01em;
}
.nav-cta:hover{background:#e8e8e8;}

/* ── Page wrapper ──────────────────────────────────────────── */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);}
.section{padding:64px 0;border-bottom:1px solid var(--th-border);}
.section--hero{padding:32px 0 56px;}
.eyebrow{
  font-family:var(--mono);font-size:10px;color:var(--th-fg-3);
  text-transform:uppercase;letter-spacing:0.12em;
  display:inline-flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--th-fg-3);}

/* ── Hero ──────────────────────────────────────────────────── */
.hero-grid{
  display:grid;grid-template-columns: 1.05fr 1fr;gap:48px;align-items:start;
  margin-top:36px;
}
.hero-h1{
  font-size:60px;font-weight:600;line-height:1.02;letter-spacing:-0.025em;
  margin:18px 0 0;color:#fff;
}
.hero-h1 .accent{color:var(--th-fg-3);font-weight:400;}
.hero-sub{
  margin-top:22px;font-size:15px;line-height:1.6;color:var(--th-fg-2);
  max-width:520px;
}
.hero-tags{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:24px;
}
.hero-tags .tag{
  height:24px;padding:0 10px;display:inline-flex;align-items:center;
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:2px;
  font-family:var(--mono);font-size:10px;color:var(--th-fg-2);
  text-transform:uppercase;letter-spacing:0.08em;
}
.hero-actions{display:flex;gap:8px;margin-top:30px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;
  border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;
  transition:background 80ms ease,border-color 80ms ease,color 80ms ease;border:1px solid transparent;
}
.btn--primary{background:var(--th-fg);color:var(--th-bg);}
.btn--primary:hover{background:#e8e8e8;}
.btn--ghost{background:transparent;color:#fff;border-color:var(--th-border-strong);}
.btn--ghost:hover{background:var(--th-surface-1);border-color:#3a3a3a;}

/* hero data card */
.hero-card{
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;
  overflow:hidden;
}
.hero-card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;border-bottom:1px solid var(--th-border);
}
.hero-card-head .ttl{font-size:11px;font-weight:600;color:#fff;letter-spacing:0.02em;}
.hero-card-head .meta{font-family:var(--mono);font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;display:flex;gap:12px;align-items:center;}
.hero-card-head .meta .dot{width:6px;height:6px;border-radius:50%;background:var(--th-profit);}
.hero-strip{display:grid;grid-template-columns:repeat(4,1fr);}
.hero-strip > div{padding:10px 14px;border-right:1px solid var(--th-border);display:flex;flex-direction:column;gap:3px;}
.hero-strip > div:last-child{border-right:0;}
.hero-strip .k{font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;}
.hero-strip .v{font-size:16px;font-weight:500;color:#fff;font-variant-numeric:tabular-nums;}
.hero-strip .v.up{color:var(--th-profit);}
.hero-strip .v.dn{color:var(--th-loss);}
.hero-chart{position:relative;border-top:1px solid var(--th-border);}
.hero-chart svg{display:block;width:100%;height:240px;}
.hero-chart .axis-y{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:36px;font-family:var(--mono);font-size:9px;color:var(--th-fg-3);}
.hero-card-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 14px;border-top:1px solid var(--th-border);
  font-family:var(--mono);font-size:10px;color:var(--th-fg-3);
}
.hero-card-foot .dots{display:flex;gap:14px;}
.hero-card-foot .dots span{display:inline-flex;align-items:center;gap:5px;}
.hero-card-foot .swatch{width:8px;height:2px;background:#fff;}
.hero-card-foot .swatch.green{background:var(--th-profit);}
.hero-card-foot .swatch.red{background:var(--th-loss);}

/* ── Stats strip ───────────────────────────────────────────── */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;
  margin-top:48px;
}
.stats > div{padding:18px 22px;border-right:1px solid var(--th-border);display:flex;flex-direction:column;gap:6px;}
.stats > div:last-child{border-right:0;}
.stats .k{font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;font-family:var(--mono);}
.stats .v{font-size:28px;font-weight:500;color:#fff;letter-spacing:-0.015em;font-variant-numeric:tabular-nums;}
.stats .sub{font-size:11px;color:var(--th-fg-2);}

/* ── Section heading ───────────────────────────────────────── */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:24px;}
.section-h{
  font-size:36px;font-weight:600;letter-spacing:-0.02em;line-height:1.1;
  color:#fff;max-width:680px;margin:8px 0 0;
}
.section-h .muted{color:var(--th-fg-3);font-weight:400;}
.section-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;font-family:var(--mono);font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;text-align:right;}
.section-num{font-family:var(--mono);font-size:11px;color:var(--th-fg-3);letter-spacing:0.08em;}

/* ── Capability grid (used for Core, Capabilities, Security) ─ */
.cap-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--th-border);border-radius:6px;background:var(--th-surface-1);overflow:hidden;
}
.cap{
  padding:22px 20px;border-right:1px solid var(--th-border);border-bottom:1px solid var(--th-border);
  display:flex;flex-direction:column;gap:10px;min-height:180px;
  background:var(--th-surface-1);
  transition:background 80ms ease;
}
.cap:hover{background:var(--th-surface-2);}
.cap .num{font-family:var(--mono);font-size:10px;color:var(--th-fg-3);letter-spacing:0.08em;}
.cap .ttl{font-size:14px;font-weight:600;color:#fff;letter-spacing:-0.005em;line-height:1.3;}
.cap .desc{font-size:12px;color:var(--th-fg-2);line-height:1.55;margin-top:auto;}
.cap-grid > .cap:nth-child(4n){border-right:0;}
.cap-grid > .cap:nth-last-child(-n+4){border-bottom:0;}

.cap-grid--3{grid-template-columns:repeat(3,1fr);}
.cap-grid--3 > .cap:nth-child(4n){border-right:1px solid var(--th-border);}
.cap-grid--3 > .cap:nth-child(3n){border-right:0;}
.cap-grid--3 > .cap:nth-last-child(-n+4){border-bottom:1px solid var(--th-border);}
.cap-grid--3 > .cap:nth-last-child(-n+3){border-bottom:0;}

.cap-grid--2{grid-template-columns:repeat(2,1fr);}
.cap-grid--2 > .cap:nth-child(4n){border-right:1px solid var(--th-border);}
.cap-grid--2 > .cap:nth-child(2n){border-right:0;}
.cap-grid--2 > .cap:nth-last-child(-n+4){border-bottom:1px solid var(--th-border);}
.cap-grid--2 > .cap:nth-last-child(-n+2){border-bottom:0;}

/* ── Two-col with chart ───────────────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
.split-prose p{font-size:14px;color:var(--th-fg-2);line-height:1.7;margin:0 0 14px;}
.split-prose p:first-of-type{color:#fff;font-size:16px;}

/* ── R&D timeline ──────────────────────────────────────────── */
.timeline{
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;padding:0;
}
.tl-row{
  display:grid;grid-template-columns:120px 1fr 220px;gap:0;
  padding:18px 20px;border-bottom:1px solid var(--th-border);align-items:center;
}
.tl-row:last-child{border-bottom:0;}
.tl-row .when{font-family:var(--mono);font-size:11px;color:var(--th-fg-3);letter-spacing:0.06em;}
.tl-row .what{font-size:14px;color:#fff;font-weight:500;}
.tl-row .what small{display:block;font-size:11px;color:var(--th-fg-2);font-weight:400;margin-top:3px;}
.tl-row .meter{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;color:var(--th-fg-3);}
.tl-row .meter .bar{flex:1;height:3px;background:var(--th-bg);border:1px solid var(--th-border);border-radius:2px;overflow:hidden;}
.tl-row .meter .bar > span{display:block;height:100%;background:var(--th-fg);}

/* ── Industries marquee ──────────────────────────────────── */
.industries{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.ind-card{
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;
  padding:22px;display:flex;flex-direction:column;gap:10px;min-height:160px;
  position:relative;overflow:hidden;
}
.ind-card .num{font-family:var(--mono);font-size:10px;color:var(--th-fg-3);}
.ind-card .ttl{font-size:18px;font-weight:600;color:#fff;line-height:1.2;letter-spacing:-0.01em;}
.ind-card .desc{font-size:12px;color:var(--th-fg-2);line-height:1.55;margin-top:6px;}
.ind-card .spark{margin-top:auto;height:38px;}
.ind-card .spark svg{display:block;width:100%;height:100%;}

/* ── Architecture diagram ─────────────────────────────────── */
.arch{
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;
  padding:28px;position:relative;overflow:hidden;min-height:380px;
}
.arch-svg{width:100%;height:auto;}
.arch-node text{font-family:var(--th-sans);font-size:11px;fill:#fff;font-weight:500;}
.arch-node rect{fill:var(--th-bg);stroke:var(--th-border-strong);stroke-width:1;}
.arch-node--accent rect{stroke:#fff;}
.arch-edge{stroke:var(--th-border-strong);stroke-width:1;fill:none;}
.arch-edge--live{stroke:var(--th-profit);stroke-width:1.5;}
.arch-pulse{fill:var(--th-profit);}

/* ── Compliance / contact / footer ───────────────────────── */
.compliance{
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;
  padding:28px;display:grid;grid-template-columns:200px 1fr;gap:32px;
}
.compliance .label{font-family:var(--mono);font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;}
.compliance p{font-size:13px;color:var(--th-fg-2);line-height:1.7;margin:0 0 12px;}
.compliance p:first-child{color:#fff;font-weight:500;}

.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start;}
.contact-form{
  background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;padding:24px;
  display:flex;flex-direction:column;gap:14px;
}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-family:var(--mono);font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;}
.field input, .field textarea, .field select{
  background:var(--th-bg);border:1px solid var(--th-border-strong);border-radius:4px;
  color:#fff;font-family:inherit;font-size:13px;padding:10px 12px;outline:none;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#3a3a3a;background:var(--th-surface-1);}
.field textarea{resize:vertical;min-height:100px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.contact-side{display:flex;flex-direction:column;gap:14px;}
.contact-card{background:var(--th-surface-1);border:1px solid var(--th-border);border-radius:6px;padding:18px;}
.contact-card h4{margin:0 0 6px;font-size:12px;color:#fff;font-weight:600;letter-spacing:0.02em;}
.contact-card p{margin:0;font-size:12px;color:var(--th-fg-2);line-height:1.55;}
.contact-card .mono{font-family:var(--mono);font-size:11px;color:#fff;display:block;margin-top:8px;}

/* ── Footer ────────────────────────────────────────────── */
footer{padding:48px 0 28px;border-top:1px solid var(--th-border);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.foot-brand{display:flex;flex-direction:column;gap:14px;}
.foot-brand .desc{font-size:12px;color:var(--th-fg-2);line-height:1.6;max-width:280px;}
.foot-col h5{margin:0 0 12px;font-family:var(--mono);font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;font-weight:500;}
.foot-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.foot-col a{font-size:12px;color:var(--th-fg-2);}
.foot-col a:hover{color:#fff;}
.foot-bottom{
  margin-top:36px;padding-top:20px;border-top:1px solid var(--th-border);
  display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;color:var(--th-fg-3);text-transform:uppercase;letter-spacing:0.08em;
}
.foot-disclaimer{font-size:11px;color:var(--th-fg-3);line-height:1.6;margin-top:14px;max-width:600px;font-family:inherit;text-transform:none;letter-spacing:0;}

/* ── Big bg numbers (for hero accent) ──────────────────────── */
.hero-bg-rail{
  position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;
  display:flex;justify-content:flex-end;align-items:flex-start;
  font-family:var(--mono);font-size:9px;color:#1c1c1c;
  letter-spacing:0.08em;line-height:1.6;padding:8px 16px;
  text-align:right;white-space:pre;
}

/* ── Live mini chart utility ──────────────────────────────── */
.mini-spark{display:block;width:100%;height:32px;}

/* ── Responsive (light) ───────────────────────────────────── */
@media (max-width: 980px){
  .hero-grid,.split,.contact-grid{grid-template-columns:1fr;}
  .stats,.cap-grid,.cap-grid--3,.cap-grid--2{grid-template-columns:repeat(2,1fr);}
  .industries{grid-template-columns:1fr;}
  .hero-h1{font-size:42px;}
  .nav-links{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
