
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/space-mono-400.woff2) format('woff2'); }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/space-mono-700.woff2) format('woff2'); }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/barlow-400.woff2) format('woff2'); }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/barlow-600.woff2) format('woff2'); }

:root {
  --black:#070a0f; --dark:#0d1117; --panel:#111820; --panel-2:#0f1620;
  --border:#1e2d3d; --cyan:#00d4ff; --green:#00ff88; --purple:#a78bfa;
  --text:#c9d1d9; --muted:#748699; --white:#f0f6fc; --danger:#ff5f57;
  --mono:'Space Mono',ui-monospace,monospace; --sans:'Barlow',system-ui,sans-serif;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:var(--sans); background:var(--black); color:var(--text);
  overflow-x:hidden; line-height:1.6; -webkit-font-smoothing:antialiased;
}
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:linear-gradient(rgba(0,212,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,0.03) 1px,transparent 1px);
  background-size:40px 40px;
}
::selection { background:rgba(0,212,255,0.25); color:var(--white); }

/* ---------- concept ribbon ---------- */
.concept-ribbon {
  position:relative; z-index:200; display:flex; align-items:center; justify-content:center; gap:0.6rem;
  font-family:var(--mono); font-size:0.62rem; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--black); background:repeating-linear-gradient(135deg,var(--cyan) 0 14px,#00b8de 14px 28px);
  padding:0.4rem 1rem; font-weight:700; text-align:center;
}

/* ---------- nav ---------- */
nav {
  position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:1rem 2rem; background:rgba(7,10,15,0.92); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.logo { font-family:var(--mono); font-size:1.2rem; font-weight:700; color:var(--white); letter-spacing:0.1em; text-decoration:none; display:inline-flex; align-items:center; }
.logo .brk { color:var(--cyan); }
.logo .accent { color:var(--cyan); }
.logo-cur { display:inline-block; width:3px; height:0.8em; background:var(--cyan); vertical-align:middle; margin-left:3px; animation:curB 1s step-end infinite; }
@keyframes curB { 0%,49%{opacity:1} 50%,100%{opacity:0} }
.nav-links { display:flex; gap:1.4rem; list-style:none; align-items:center; }
.nav-links a { font-size:0.75rem; font-weight:600; letter-spacing:0.09em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s; position:relative; }
.nav-links a:hover, .nav-links a:focus-visible { color:var(--cyan); }
.nav-links a.active { color:var(--cyan); }
.nav-links a.active::after { content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--cyan); box-shadow:0 0 8px rgba(0,212,255,0.6); }
.nav-cta { font-family:var(--mono); font-size:0.7rem !important; padding:0.5rem 1rem; border:1px solid var(--cyan); color:var(--cyan) !important; border-radius:2px; white-space:nowrap; transition:all .2s !important; }
.nav-cta:hover { background:var(--cyan) !important; color:var(--black) !important; }
.nav-cta.active::after { display:none; }
.nav-msp { color:var(--purple) !important; }
.nav-msp:hover { color:#c4b5fd !important; }
.nav-msp.active { color:var(--purple) !important; }
.nav-msp.active::after { background:var(--purple); box-shadow:0 0 8px rgba(167,139,250,0.6); }
.chip { display:inline-block; font-family:var(--mono); font-size:0.52rem; font-weight:700; letter-spacing:0.12em; color:var(--black); background:var(--green); border-radius:2px; padding:0.1rem 0.32rem; vertical-align:super; margin-left:0.3rem; text-transform:uppercase; }
.chip.pilot { background:var(--green); }

/* ---------- views / router ---------- */
.view { display:none; }
.view.current { display:block; animation:viewIn .35s ease; }
@keyframes viewIn { from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }

/* ---------- shared ---------- */
section { position:relative; z-index:1; padding:4.5rem 2rem; max-width:1180px; margin:0 auto; }
.sec-label { font-family:var(--mono); font-size:0.72rem; color:var(--cyan); letter-spacing:0.16em; text-transform:uppercase; margin-bottom:0.9rem; display:flex; align-items:center; gap:0.6rem; }
.sec-label::after { content:''; height:1px; width:70px; background:linear-gradient(90deg,var(--cyan),transparent); }
.sec-label.green { color:var(--green); } .sec-label.green::after { background:linear-gradient(90deg,var(--green),transparent); }
.sec-label.purple { color:var(--purple); } .sec-label.purple::after { background:linear-gradient(90deg,var(--purple),transparent); }
h1 { font-size:clamp(2rem,6vw,3.7rem); font-weight:700; line-height:1.09; color:var(--white); letter-spacing:-0.02em; margin-bottom:1.3rem; text-wrap:balance; }
h1 .accent { color:var(--cyan); }
h1 .accent-g { color:var(--green); }
h2 { font-size:clamp(1.5rem,3.6vw,2.3rem); font-weight:600; color:var(--white); line-height:1.15; letter-spacing:-0.015em; margin-bottom:1rem; text-wrap:balance; }
.sec-sub { color:var(--muted); max-width:660px; font-size:1rem; margin-bottom:2.5rem; }
.mono { font-family:var(--mono); }

.btn-primary, .btn-ghost {
  font-family:var(--mono); font-size:0.8rem; font-weight:700; letter-spacing:0.05em;
  padding:0.85rem 1.6rem; border-radius:2px; text-decoration:none; display:inline-flex; align-items:center; gap:0.55rem;
  transition:all .2s; cursor:pointer; border:1px solid transparent;
}
.btn-primary { background:var(--cyan); color:var(--black); position:relative; overflow:hidden; }
.btn-primary:hover { box-shadow:0 0 24px rgba(0,212,255,0.45); transform:translateY(-1px); }
.btn-primary::after { content:''; position:absolute; top:0; left:-80%; width:50%; height:100%; background:linear-gradient(105deg,transparent,rgba(255,255,255,0.5),transparent); animation:sheen 4.5s ease-in-out infinite; }
@keyframes sheen { 0%,70%{left:-80%} 85%,100%{left:130%} }
.btn-ghost { border-color:var(--border); color:var(--text); }
.btn-ghost:hover { border-color:var(--cyan); color:var(--cyan); }
.btn-green { background:var(--green); color:var(--black); }
.btn-green:hover { box-shadow:0 0 24px rgba(0,255,136,0.4); }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }

/* ---------- home hero ---------- */
.hero { display:flex; flex-direction:column; justify-content:center; max-width:1180px; margin:0 auto; padding:4.5rem 2rem 3.5rem; position:relative; z-index:1; }
.hero-glow { position:absolute; inset:0; background:radial-gradient(ellipse 75% 55% at 62% 38%,rgba(0,212,255,0.07) 0%,transparent 70%); pointer-events:none; }
.hero-shell { position:relative; display:grid; grid-template-columns:minmax(0,640px) minmax(300px,440px); gap:3.5rem; align-items:center; }
.hero-tag { display:inline-flex; align-items:center; gap:0.55rem; font-family:var(--mono); font-size:0.7rem; color:var(--cyan); letter-spacing:0.15em; text-transform:uppercase; margin-bottom:1.4rem; }
.hero-tag::before { content:''; width:6px; height:6px; background:var(--green); border-radius:50%; animation:pulse 2s infinite; flex-shrink:0; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.45;transform:scale(0.8)} }
.hero-sub { font-size:clamp(0.95rem,2.4vw,1.1rem); color:var(--muted); line-height:1.75; margin-bottom:2rem; max-width:600px; }
.hero-sub strong { color:var(--text); font-weight:600; }

/* terminal */
.term { background:var(--dark); border:1px solid var(--border); border-radius:6px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.5), 0 0 40px rgba(0,212,255,0.06); animation:tfloat 7s ease-in-out infinite; }
@keyframes tfloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
.term-bar { display:flex; align-items:center; gap:0.45rem; background:var(--panel); border-bottom:1px solid var(--border); padding:0.6rem 0.9rem; }
.term-dot { width:10px; height:10px; border-radius:50%; }
.term-title { font-family:var(--mono); font-size:0.64rem; color:var(--muted); margin-left:0.5rem; letter-spacing:0.08em; }
.term-body { font-family:var(--mono); font-size:0.72rem; line-height:2; padding:1.1rem 1.2rem 1.3rem; color:var(--text); }
.term-body .p { color:var(--green); }
.term-body .c { color:var(--cyan); }
.term-body .d { color:var(--muted); }
.term-body .ok { color:var(--green); }
.tline { opacity:0; animation:tin .01s forwards; white-space:nowrap; overflow:hidden; }
.tline:nth-child(1){animation-delay:.3s} .tline:nth-child(2){animation-delay:.9s}
.tline:nth-child(3){animation-delay:1.5s} .tline:nth-child(4){animation-delay:2.1s}
.tline:nth-child(5){animation-delay:2.7s} .tline:nth-child(6){animation-delay:3.3s}
.tline:nth-child(7){animation-delay:3.9s} .tline:nth-child(8){animation-delay:4.5s}
@keyframes tin { to{opacity:1} }
.term-cursor { display:inline-block; width:8px; height:0.95em; background:var(--cyan); vertical-align:text-bottom; animation:curB 1s step-end infinite; }

/* proof strip */
.stats-bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:3.2rem; border:1px solid var(--border); background:var(--border); position:relative; }
.stat { display:flex; flex-direction:column; gap:0.3rem; background:var(--dark); padding:1.4rem 1.2rem; transition:background .25s; }
.stat:hover { background:var(--panel); }
.stat-num { font-family:var(--mono); font-size:1.45rem; font-weight:700; color:var(--white); }
.stat-num span { color:var(--cyan); }
.stat-label { font-size:0.7rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); line-height:1.5; }

/* ---------- route cards ---------- */
.routes { display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; }
.route-card { position:relative; border:1px solid var(--border); background:var(--panel); border-radius:6px; padding:2.2rem 2rem 2rem; display:flex; flex-direction:column; gap:0.9rem; transition:transform .25s, border-color .25s, box-shadow .25s; overflow:hidden; }
.route-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; }
.route-card.ai::before { background:linear-gradient(90deg,var(--cyan),transparent); }
.route-card.leads::before { background:linear-gradient(90deg,var(--green),transparent); }
.route-card:hover { transform:translateY(-5px); box-shadow:0 16px 44px rgba(0,0,0,0.5); }
.route-card.ai:hover { border-color:rgba(0,212,255,0.5); }
.route-card.leads:hover { border-color:rgba(0,255,136,0.5); }
.route-kicker { font-family:var(--mono); font-size:0.64rem; letter-spacing:0.16em; text-transform:uppercase; }
.route-card.ai .route-kicker { color:var(--cyan); }
.route-card.leads .route-kicker { color:var(--green); }
.route-card h3 { color:var(--white); font-size:1.3rem; font-weight:600; line-height:1.3; text-wrap:balance; }
.route-card p { font-size:0.9rem; color:var(--muted); }
.route-card .btn-primary, .route-card .btn-green { align-self:flex-start; margin-top:0.6rem; }
.msp-quiet { margin-top:2.2rem; font-family:var(--mono); font-size:0.76rem; letter-spacing:0.06em; }
.msp-quiet a { color:var(--purple); text-decoration:none; }
.msp-quiet a:hover { text-decoration:underline; }

/* founder strip */
.founder { display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:center; }
.founder p { color:var(--muted); font-size:0.95rem; margin-bottom:1rem; }
.founder strong { color:var(--white); font-weight:600; }
.creed { border:1px solid var(--border); border-left:2px solid var(--cyan); background:var(--panel-2); border-radius:0 4px 4px 0; padding:1.2rem 1.4rem; font-size:0.9rem; color:var(--text); }
.creed .mono { color:var(--cyan); font-size:0.78rem; }

/* ---------- page hero (subpages) ---------- */
.page-hero { padding:4.5rem 2rem 2.5rem; max-width:1180px; margin:0 auto; position:relative; z-index:1; }
.page-hero .h-sub { font-size:clamp(0.95rem,2.3vw,1.08rem); color:var(--muted); line-height:1.75; max-width:640px; margin-bottom:1.8rem; }
.crumb { font-family:var(--mono); font-size:0.66rem; color:var(--muted); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:1.4rem; }
.crumb a { color:var(--muted); text-decoration:none; } .crumb a:hover { color:var(--cyan); }
.crumb span { color:var(--cyan); }

/* problem list */
.pain-list { list-style:none; display:flex; flex-direction:column; gap:0.7rem; max-width:640px; }
.pain-list li { font-size:0.92rem; color:var(--text); padding-left:1.3rem; position:relative; line-height:1.6; }
.pain-list li::before { content:'✗'; position:absolute; left:0; color:var(--danger); font-weight:700; font-family:var(--mono); font-size:0.8rem; top:0.15rem; }

/* ladder */
.ladder { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:2.4rem 0 0.6rem; position:relative; }
.rung { position:relative; border:1px solid var(--border); background:var(--dark); border-radius:4px; padding:1.5rem 1.25rem 1.4rem; margin-right:2rem; transition:transform .25s, border-color .25s, box-shadow .25s; display:flex; flex-direction:column; gap:0.5rem; }
.rung:last-child { margin-right:0; }
.rung:not(:last-child)::after { content:'▸'; position:absolute; right:-1.55rem; top:50%; transform:translateY(-50%); color:var(--cyan); font-size:1.1rem; opacity:0.7; }
.rung:hover { transform:translateY(-4px); border-color:rgba(0,212,255,0.5); }
.rung.lit { border-color:var(--cyan); box-shadow:0 0 28px rgba(0,212,255,0.28); }
.rung.lit .rung-price { text-shadow:0 0 14px rgba(0,212,255,0.55); }
.rung-step { font-family:var(--mono); font-size:0.6rem; color:var(--muted); letter-spacing:0.15em; text-transform:uppercase; }
.rung-name { font-weight:600; color:var(--white); font-size:0.95rem; line-height:1.3; }
.rung-price { font-family:var(--mono); font-size:1.3rem; font-weight:700; color:var(--cyan); }
.rung-price small { font-size:0.65rem; color:var(--muted); font-weight:400; }
.rung-desc { font-size:0.78rem; color:var(--muted); line-height:1.55; }
.rung.featured { border-color:var(--cyan); box-shadow:0 0 30px rgba(0,212,255,0.12); background:var(--panel); }
.rung.featured .rung-price { color:var(--green); }
.rung-flag { position:absolute; top:-0.7rem; left:1rem; font-family:var(--mono); font-size:0.55rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; background:var(--cyan); color:var(--black); padding:0.18rem 0.5rem; border-radius:2px; }
.ladder-note { font-family:var(--mono); font-size:0.68rem; color:var(--green); margin-top:1.6rem; display:flex; align-items:center; gap:0.5rem; }
.ladder-note::before { content:'✓'; font-weight:700; }

/* delivery steps */
.hiw { counter-reset:step; display:flex; flex-direction:column; gap:0; max-width:680px; }
.hiw-step { display:flex; gap:1.1rem; padding:0.95rem 0; border-bottom:1px solid rgba(255,255,255,0.05); counter-increment:step; align-items:baseline; }
.hiw-step:last-child { border-bottom:none; }
.hiw-step::before { content:'0' counter(step); font-family:var(--mono); font-weight:700; color:var(--cyan); font-size:0.8rem; flex-shrink:0; }
.hiw-step b { color:var(--white); font-weight:600; }
.hiw-step p { font-size:0.88rem; color:var(--muted); }
.hiw.green .hiw-step::before { color:var(--green); }

/* generic cards */
.card-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.gcard { border:1px solid var(--border); background:var(--panel); border-radius:4px; padding:1.6rem; transition:transform .25s, border-color .25s; }
.gcard:hover { transform:translateY(-3px); border-color:rgba(0,212,255,0.4); }
.gcard h4 { font-family:var(--mono); font-size:0.78rem; letter-spacing:0.05em; margin-bottom:0.55rem; color:var(--cyan); }
.gcard.g h4 { color:var(--green); }
.gcard p { font-size:0.85rem; color:var(--muted); }
.note-quote { border-left:2px solid var(--green); background:var(--panel-2); padding:1rem 1.3rem; border-radius:0 4px 4px 0; font-size:0.92rem; color:var(--text); max-width:680px; }
.note-quote.cyan { border-left-color:var(--cyan); }
.work-item { border:1px solid var(--border); border-left:2px solid var(--green); background:var(--dark); border-radius:0 4px 4px 0; padding:1rem 1.2rem; font-size:0.84rem; color:var(--text); line-height:1.6; max-width:680px; }
.work-item a { color:var(--cyan); text-decoration:none; }

/* entry/exit panels */
.ee-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.ee { border:1px solid var(--border); background:var(--dark); border-radius:4px; padding:1.5rem 1.5rem 1.6rem; }
.ee h4 { font-family:var(--mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:1rem; }
.ee.in h4 { color:var(--green); } .ee.out h4 { color:var(--cyan); }
.ee ul { list-style:none; display:flex; flex-direction:column; gap:0.55rem; font-size:0.85rem; }
.ee li { padding-left:1.15rem; position:relative; line-height:1.5; }
.ee.in li::before { content:'›'; position:absolute; left:0; color:var(--green); font-weight:700; }
.ee.out li::before { content:'›'; position:absolute; left:0; color:var(--cyan); font-weight:700; }

/* ---------- msp page ---------- */
.msp-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:2.5rem; align-items:start; }
.msp-list { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0.7rem 1.4rem; margin-top:0.4rem; }
.msp-list li { font-size:0.85rem; color:var(--text); padding-left:1.15rem; position:relative; line-height:1.55; }
.msp-list li::before { content:'›'; position:absolute; left:0; color:var(--purple); font-weight:700; }
.msp-side { border:1px solid var(--border); background:var(--dark); border-radius:4px; padding:1.5rem 1.5rem 1.6rem; display:flex; flex-direction:column; gap:1rem; }
.msp-rates { font-family:var(--mono); font-size:0.74rem; color:var(--white); line-height:2; }
.msp-rates span { color:var(--purple); font-weight:700; }
.msp-trust { font-size:0.82rem; color:var(--muted); border-left:2px solid var(--purple); padding-left:0.9rem; }
.btn-msp { font-family:var(--mono); font-size:0.78rem; font-weight:700; letter-spacing:0.05em; padding:0.8rem 1.5rem; border-radius:2px; text-decoration:none; display:inline-flex; align-self:flex-start; border:1px solid var(--purple); color:var(--purple); transition:all .2s; }
.btn-msp:hover { background:var(--purple); color:var(--black); }
.msp-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid var(--border); background:var(--border); margin-top:2.2rem; max-width:560px; }
.hiw.purple .hiw-step::before { color:var(--purple); }

/* ---------- portal ---------- */
.portal-wrap { display:grid; grid-template-columns:1fr 1.1fr; gap:3rem; align-items:center; }
.portal-copy p { color:var(--muted); font-size:0.95rem; margin-bottom:1.6rem; max-width:480px; }
.pmock { border:1px solid var(--border); border-radius:6px; background:var(--dark); overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.pmock-head { display:flex; justify-content:space-between; align-items:center; padding:0.75rem 1rem; background:var(--panel); border-bottom:1px solid var(--border); font-family:var(--mono); font-size:0.66rem; color:var(--muted); letter-spacing:0.08em; }
.pmock-head b { color:var(--white); }
.pmock-live { color:var(--green); display:inline-flex; align-items:center; gap:0.4rem; }
.pmock-live::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--green); animation:pulse 2s infinite; }
.pmock-body { padding:1.1rem; display:flex; flex-direction:column; gap:0.8rem; }
.prow { display:flex; justify-content:space-between; align-items:center; border:1px solid rgba(255,255,255,0.05); background:var(--panel-2); border-radius:3px; padding:0.65rem 0.9rem; font-size:0.76rem; }
.prow .k { font-family:var(--mono); color:var(--muted); font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; }
.prow .v { color:var(--white); font-weight:600; }
.prow .v.up { color:var(--green); }
.spark { display:flex; align-items:flex-end; gap:3px; height:38px; padding:0.4rem 0.9rem 0.6rem; }
.spark i { flex:1; background:linear-gradient(180deg,var(--cyan),rgba(0,212,255,0.15)); border-radius:1px 1px 0 0; min-width:4px; opacity:0.85; transition:height 1.4s ease; }

/* portal login/demo sequence */
.pstage { position:relative; min-height:348px; }
.plogin { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.plogin-card { width:min(300px,100%); border:1px solid var(--border); background:var(--panel-2); border-radius:4px; padding:1.4rem 1.4rem 1.5rem; display:flex; flex-direction:column; gap:0.45rem; }
.plogin-logo { font-family:var(--mono); font-weight:700; color:var(--white); letter-spacing:0.08em; margin-bottom:0.7rem; display:flex; align-items:baseline; gap:0.6rem; }
.plogin-logo .brk, .plogin-logo .c { color:var(--cyan); }
.plogin-logo em { font-style:normal; font-family:var(--mono); font-size:0.6rem; color:var(--muted); letter-spacing:0.14em; text-transform:uppercase; }
.pfl { font-family:var(--mono); font-size:0.58rem; color:var(--muted); letter-spacing:0.14em; text-transform:uppercase; margin-top:0.4rem; }
.pfield { font-family:var(--mono); font-size:0.72rem; color:var(--white); background:var(--dark); border:1px solid var(--border); border-radius:2px; padding:0.45rem 0.6rem; min-height:1.9rem; display:flex; align-items:center; overflow:hidden; white-space:nowrap; transition:border-color .2s; }
.pfield.focus { border-color:var(--cyan); }
.pcaret { display:inline-block; width:7px; height:0.9em; background:var(--cyan); margin-left:2px; animation:curB 1s step-end infinite; visibility:hidden; flex-shrink:0; }
.pfield.focus .pcaret { visibility:visible; }
.pbtn { font-family:var(--mono); font-size:0.7rem; font-weight:700; text-align:center; background:var(--cyan); color:var(--black); border-radius:2px; padding:0.6rem; margin-top:0.8rem; transition:box-shadow .2s, transform .12s; }
.pbtn.pressed { transform:scale(0.96); box-shadow:0 0 18px rgba(0,212,255,0.55); }
.pbar { height:3px; background:var(--dark); border-radius:2px; overflow:hidden; margin-top:0.6rem; visibility:hidden; }
.pbar i { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--cyan),var(--green)); transition:width .9s ease; }
.pdash { animation:viewIn .4s ease; }
.pcompany { display:flex; align-items:center; gap:0.6rem; padding:0.9rem 1.1rem 0; font-size:0.9rem; color:var(--white); font-weight:600; }
.pdemo-badge { font-family:var(--mono); font-size:0.52rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--black); background:var(--green); padding:0.12rem 0.4rem; border-radius:2px; }
.pdash .prow { opacity:0; transform:translateY(8px); transition:opacity .4s ease, transform .4s ease; }
.pdash .prow.pin { opacity:1; transform:none; }

/* workflow pipeline demo (ai-deployment hero) */
.ph-split { display:grid; grid-template-columns:minmax(0,600px) minmax(300px,430px); gap:3rem; align-items:center; }
.wf-body { padding:1.4rem 1.1rem 1.1rem; }
.wf-row { display:flex; align-items:center; margin-top:1.9rem; }
.wf-node { border:1px solid var(--border); background:var(--panel-2); border-radius:3px; padding:0.45rem 0.5rem; font-family:var(--mono); font-size:0.55rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text); text-align:center; line-height:1.5; flex:0 0 auto; position:relative; transition:border-color .3s, box-shadow .3s; }
.wf-node .sub { display:block; color:var(--muted); font-weight:400; font-size:0.5rem; letter-spacing:0.03em; text-transform:none; margin-top:1px; }
.wf-node.jam { border-color:var(--danger); color:var(--white); animation:jamPulse 1.2s infinite; }
@keyframes jamPulse { 0%,100%{box-shadow:0 0 8px rgba(255,95,87,0.12)} 50%{box-shadow:0 0 20px rgba(255,95,87,0.45)} }
.wf-node.gate { border-color:var(--cyan); box-shadow:0 0 14px rgba(0,212,255,0.18); animation:none; }
.wf-node.new { max-width:0; padding-left:0; padding-right:0; border-width:0; opacity:0; overflow:hidden; white-space:nowrap; transition:all .5s ease; }
.wf-node.new.in { max-width:96px; padding:0.45rem 0.5rem; border-width:1px; opacity:1; border-color:var(--cyan); box-shadow:0 0 18px rgba(0,212,255,0.35); }
.wf-link { flex:1 1 auto; min-width:10px; height:2px; background:var(--border); position:relative; }
.wf-link i { position:absolute; top:50%; left:0; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px rgba(0,212,255,0.8); opacity:0; }
.wf-link.run i { animation:dotRun 1.5s linear infinite; }
.wf-link.run.d2 i { animation-delay:0.5s; }
.wf-link.run.d3 i { animation-delay:1s; }
@keyframes dotRun { 0%{left:0;opacity:0} 12%{opacity:1} 88%{opacity:1} 100%{left:calc(100% - 6px);opacity:0} }
.wf-queue { display:flex; gap:3px; flex-wrap:wrap; width:56px; position:absolute; bottom:calc(100% + 7px); left:50%; transform:translateX(-50%); justify-content:center; }
.wf-queue i { width:5px; height:5px; border-radius:50%; background:var(--danger); opacity:0; transition:opacity .25s; box-shadow:0 0 6px rgba(255,95,87,0.6); }
.wf-queue i.on { opacity:1; }
.wf-meta { display:flex; justify-content:space-between; align-items:center; margin-top:1.6rem; font-family:var(--mono); font-size:0.62rem; color:var(--muted); letter-spacing:0.06em; }
.wf-meta b { font-weight:700; }
.wf-log { margin-top:0.75rem; font-family:var(--mono); font-size:0.6rem; color:var(--muted); border-top:1px solid rgba(255,255,255,0.05); padding-top:0.7rem; letter-spacing:0.03em; min-height:1.9em; }
.wf-log .ok { color:var(--green); }
.wf-log .warn { color:var(--danger); }
@media (max-width: 960px) { .ph-split { grid-template-columns:1fr; } }

/* ---------- cta band + contact ---------- */
.cta-band { border:1px solid var(--border); background:linear-gradient(180deg,rgba(0,212,255,0.04),transparent 50%), var(--panel-2); border-radius:6px; padding:2.6rem clamp(1.2rem,4vw,3rem); display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.cta-band h2 { margin-bottom:0.4rem; }
.cta-band p { color:var(--muted); font-size:0.92rem; max-width:480px; }
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:3rem; align-items:start; }
.contact-copy p { color:var(--muted); margin-bottom:1.6rem; max-width:440px; }
.contact-meta { font-family:var(--mono); font-size:0.74rem; color:var(--text); display:flex; flex-direction:column; gap:0.55rem; }
.contact-meta span { color:var(--cyan); }
.form { border:1px solid var(--border); background:var(--panel); border-radius:4px; padding:1.8rem; display:flex; flex-direction:column; gap:1rem; }
.form label { font-family:var(--mono); font-size:0.62rem; color:var(--muted); letter-spacing:0.14em; text-transform:uppercase; display:flex; flex-direction:column; gap:0.45rem; }
.form input, .form select, .form textarea {
  font-family:var(--sans); font-size:0.9rem; color:var(--white); background:var(--dark);
  border:1px solid var(--border); border-radius:2px; padding:0.7rem 0.85rem; width:100%; transition:border-color .2s;
}
.form input:focus, .form select:focus, .form textarea:focus { outline:none; border-color:var(--cyan); }
.form textarea { min-height:96px; resize:vertical; }
.form .btn-primary { border:0; justify-content:center; }

/* ---------- footer ---------- */
footer { position:relative; z-index:1; border-top:1px solid var(--border); padding:2.5rem 2rem 3rem; }
.foot-shell { max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; align-items:center; }
.foot-links { display:flex; gap:1.4rem; list-style:none; flex-wrap:wrap; }
.foot-links a { font-family:var(--mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); text-decoration:none; }
.foot-links a:hover { color:var(--cyan); }
.foot-links .msp { color:var(--purple); }
.foot-note { font-family:var(--mono); font-size:0.62rem; color:var(--muted); width:100%; margin-top:1rem; letter-spacing:0.04em; }

/* ---------- responsive ---------- */
@media (max-width: 960px) {
  .hero-shell, .routes, .founder, .portal-wrap, .contact-grid, .msp-grid, .ee-grid, .card-grid { grid-template-columns:1fr; }
  .ladder { grid-template-columns:1fr; gap:1.6rem; }
  .rung { margin-right:0; }
  .rung:not(:last-child)::after { content:'▾'; right:auto; left:50%; top:auto; bottom:-1.45rem; transform:translateX(-50%); }
  .msp-list { grid-template-columns:1fr; }
  .stats-bar { grid-template-columns:1fr; }
  .nav-links { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; }
  .reveal { opacity:1; transform:none; }
  .tline { opacity:1; }
}


/* Production multi-page shell */
.view { display:block; animation:viewIn .35s ease; }
.skip-link { position:fixed; left:1rem; top:.75rem; z-index:999; transform:translateY(-180%); background:var(--cyan); color:var(--black); font-family:var(--mono); font-size:.72rem; font-weight:700; padding:.65rem .85rem; text-decoration:none; border-radius:2px; }
.skip-link:focus { transform:translateY(0); }
.nav-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid var(--border); border-radius:2px; background:transparent; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.nav-toggle span { display:block; width:21px; height:2px; background:var(--text); transition:transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.logo .logo-bracket { color:var(--cyan); animation:logoBracketFade 2.5s ease-out infinite; }
.logo .logo-type-ur, .logo .logo-type-c, .logo .logo-type-eni { overflow:hidden; white-space:nowrap; display:inline-block; }
.logo .logo-type-ur { color:var(--white); animation:logoTypeUr 2.5s steps(2) infinite; }
.logo .logo-type-c { color:var(--cyan); animation:logoTypeC 2.5s steps(1) infinite; }
.logo .logo-type-eni { color:var(--white); animation:logoTypeEni 2.5s steps(3) infinite; }
@keyframes logoTypeUr { 0%,5%{width:0} 15%,100%{width:2ch} }
@keyframes logoTypeC { 0%,15%{width:0} 30%,100%{width:1ch} }
@keyframes logoTypeEni { 0%,30%{width:0} 50%,100%{width:3ch} }
@keyframes logoBracketFade { 0%,50%{opacity:0} 70%,100%{opacity:1} }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.form-status { display:none; font-family:var(--mono); font-size:.72rem; padding:.75rem; border-radius:2px; }
.form button:disabled { opacity:.65; cursor:wait; }
.external-note { font-family:var(--mono); font-size:.62rem; color:var(--muted); margin-top:.5rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.hero-actions .btn-primary { min-width:190px; text-align:center; }
.hero-icp { max-width:760px; margin-top:1rem; padding-left:1rem; border-left:2px solid var(--green); color:var(--text); }
.hero-icp + .btn-primary { margin-top:1rem; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
@media (max-width:680px) {
  .hero-actions { flex-direction:column; }
  .hero-actions .btn-primary { width:100%; min-width:0; }
}
@media (max-width:960px) {
  nav { padding:.7rem 1rem; }
  .nav-toggle { display:flex; }
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:.65rem 1rem 1rem; background:rgba(7,10,15,.98); border-bottom:1px solid var(--border); box-shadow:0 18px 40px rgba(0,0,0,.45); }
  .nav-links.open { display:flex; }
  .nav-links li { width:100%; }
  .nav-links a { display:block; width:100%; padding:.8rem .65rem; }
  .nav-links a.active::after { left:.65rem; right:auto; bottom:.45rem; width:2rem; }
  .nav-cta { text-align:center; margin-top:.35rem; }
}
@media (max-width:520px) {
  section, .hero, .page-hero { padding-left:1rem; padding-right:1rem; }
  .hero { padding-top:3.2rem; }
  .term-body { font-size:.61rem; overflow-x:auto; }
  .wf-body { overflow-x:auto; }
  .wf-row { min-width:370px; }
  .contact-grid { gap:1.5rem; }
  .form { padding:1.2rem; }
  .foot-shell { align-items:flex-start; }
}
@media (min-width:961px) {
  .wf-body { padding-left:.75rem; padding-right:.75rem; }
  .wf-node { font-size:.5rem; padding:.4rem .42rem; }
  .wf-node.new.in { max-width:82px; padding:.4rem .42rem; }
  .wf-link { min-width:5px; }
}
