:root{
  --bg:#050608;
  --panel:rgba(255,255,255,.06);
  --panel2:rgba(255,255,255,.04);
  --line:rgba(255,255,255,.10);
  --line2:rgba(255,255,255,.08);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.68);
  --dim:rgba(255,255,255,.48);
  --faint:rgba(255,255,255,.34);
  --accent:#7dd3fc;
  --accent2:#a78bfa;
  --shadow:0 20px 70px rgba(0,0,0,.65);
  --radius:18px;
  --radius2:24px;
  --max:1180px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  letter-spacing:-0.01em;
}

a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

.bg{position:fixed;inset:0;z-index:-2;overflow:hidden}
.aurora{position:absolute;filter:blur(60px);opacity:.55;transform:translate3d(0,0,0)}
.a1{width:900px;height:520px;left:-240px;top:-160px;background:radial-gradient(circle at 30% 30%, rgba(125,211,252,.55), transparent 55%)}
.a2{width:820px;height:520px;right:-260px;top:-120px;background:radial-gradient(circle at 70% 30%, rgba(167,139,250,.45), transparent 55%)}
.a3{width:760px;height:580px;left:18%;bottom:-260px;background:radial-gradient(circle at 50% 50%, rgba(34,211,238,.22), transparent 60%)}

.grid{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:120px 120px;
  opacity:.10;
  mask-image:radial-gradient(circle at 50% 20%, black 0%, black 45%, transparent 70%);
}
.gridfade{
  position:absolute;inset:0;
  background:
    radial-gradient(700px 320px at 20% 15%, rgba(125,211,252,.18), transparent 60%),
    radial-gradient(680px 360px at 75% 18%, rgba(167,139,250,.14), transparent 60%),
    radial-gradient(900px 520px at 50% 80%, rgba(34,211,238,.10), transparent 60%);
  pointer-events:none;
}

.noise{
  position:absolute;inset:0;opacity:.18;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}

.top{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(to bottom, rgba(5,6,8,.92), rgba(5,6,8,.55));
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.top-inner{
  height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:22px;height:22px;filter:drop-shadow(0 0 14px rgba(125,211,252,.25))}
.brand span{font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.85);font-size:13px}

.nav{display:flex;align-items:center;gap:18px}
.nav a{
  font-size:13px;color:rgba(255,255,255,.70);
  padding:8px 10px;border-radius:10px;
  transition:all .18s ease;
}
.nav a:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.88)}
.nav .cta{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.10);
}

.menu{display:none;background:transparent;border:0;padding:10px;border-radius:12px}
.menu span{display:block;width:20px;height:2px;background:rgba(255,255,255,.70);margin:4px 0;border-radius:3px}

.mobile{
  display:none;
  padding:10px 24px 18px;
  border-top:1px solid rgba(255,255,255,.06);
}
.mobile a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  color:rgba(255,255,255,.78);
  font-size:14px;
}
.mobile a:hover{background:rgba(255,255,255,.06)}

.hero{padding:64px 0 56px}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}

.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.56);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:10px 14px;border-radius:999px;
}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 24px rgba(125,211,252,.45)}

h1{
  margin:18px 0 14px;
  font-size:54px;line-height:1.05;
  letter-spacing:-0.04em;
}
.lead{
  margin:0;
  font-size:16px;line-height:1.6;
  color:rgba(255,255,255,.70);
  max-width:56ch;
}
.actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 14px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.86);
  font-size:14px;
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
.btn.primary{
  background:linear-gradient(180deg, rgba(125,211,252,.18), rgba(167,139,250,.12));
  border-color:rgba(125,211,252,.22);
  box-shadow:0 18px 60px rgba(34,211,238,.10);
}
.btn.small{padding:10px 12px;border-radius:12px;font-size:13px}
.btn.wide{width:100%}

.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.pill{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.70);
  font-size:12px;
  padding:9px 12px;border-radius:999px;
  cursor:pointer;
  transition:all .14s ease;
}
.pill:hover{background:rgba(255,255,255,.06)}
.pill.active{
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.16);
}

.pill-panel{
  margin-top:14px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius:var(--radius2);
  padding:16px 16px;
}
.pill-title{font-weight:600;font-size:14px}
.pill-copy{margin-top:6px;color:rgba(255,255,255,.66);font-size:13px;line-height:1.5;max-width:68ch}

.terminal{
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.term-top{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lights{display:flex;gap:8px}
.lights i{width:10px;height:10px;border-radius:50%}
.lights i:nth-child(1){background:rgba(255,255,255,.18)}
.lights i:nth-child(2){background:rgba(255,255,255,.12)}
.lights i:nth-child(3){background:rgba(255,255,255,.08)}
.term-title{font-size:12px;color:rgba(255,255,255,.62);letter-spacing:.08em}
.term-badge{
  margin-left:auto;
  font-size:11px;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.70);
}
.term-body{
  padding:16px 16px 18px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  font-size:12px;
  color:rgba(255,255,255,.78);
}
.line{margin:6px 0}
.line.dim{color:rgba(255,255,255,.52)}
.line.ok{color:rgba(125,211,252,.78)}
.p{color:rgba(167,139,250,.85);margin-right:8px}
.map{
  margin:10px 0 6px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.node{
  padding:10px 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.20);
  color:rgba(255,255,255,.78);
}

.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.stat{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  border-radius:18px;
  padding:14px 14px;
}
.stat-k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.stat-v{margin-top:6px;font-size:13px;color:rgba(255,255,255,.78)}

.section{padding:72px 0}
.section-head{max-width:70ch}
.eyebrow{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
h2{margin:10px 0 10px;font-size:34px;line-height:1.15;letter-spacing:-0.03em}
.section-head p{margin:0;color:rgba(255,255,255,.68);line-height:1.6}

.tiles{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.tile{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border-radius:20px;
  padding:18px 18px;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
  min-height:150px;
}
.tile:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.tile-top{display:flex;align-items:center;gap:12px}
.icon{
  width:36px;height:36px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.82);
}
.tile-title{font-weight:600}
.tile-copy{margin-top:10px;color:rgba(255,255,255,.66);line-height:1.6;font-size:13px}
.tile-foot{margin-top:14px;color:rgba(125,211,252,.78);font-size:13px}
.tile-foot span{display:inline-block;transform:translateY(1px)}

.split{padding-top:20px}
.split-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
.split-left p{color:rgba(255,255,255,.68);line-height:1.6;margin:10px 0 16px}

.list{display:grid;gap:10px;margin-top:14px}
.li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.70);line-height:1.5}
.check{
  width:20px;height:20px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(125,211,252,.25);
  background:rgba(125,211,252,.10);
  color:rgba(125,211,252,.92);
  flex:0 0 auto;
  transform:translateY(1px);
}

.panel{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius:24px;
  padding:18px 18px;
  box-shadow:var(--shadow);
}
.panel-head{padding:6px 6px 14px}
.panel-title{font-weight:600;font-size:14px}
.panel-tag{margin-top:6px;color:rgba(255,255,255,.60);font-size:13px;line-height:1.5}
.panel-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:6px;
}
.micro{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
  border-radius:18px;
  padding:14px 14px;
}
.micro-k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.micro-v{margin-top:6px;color:rgba(255,255,255,.78);font-size:13px}
.panel-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 6px 4px;
}
.mini-note{color:rgba(255,255,255,.54);font-size:13px}

.rows{margin-top:22px;border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.02)}
.row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:18px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.row:last-child{border-bottom:0}
.row-title{font-weight:600}
.row-sub{margin-top:6px;color:rgba(255,255,255,.66);line-height:1.6;font-size:13px;max-width:70ch}
.row-right{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.badge{
  font-size:11px;
  padding:8px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.72);
}

.callout{
  margin-top:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(125,211,252,.10), rgba(255,255,255,.03));
  border-radius:26px;
  padding:18px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.callout-title{font-weight:600}
.callout-copy{margin-top:6px;color:rgba(255,255,255,.66);font-size:13px}

.contact{padding-top:30px}
.contact-card{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius:28px;
  padding:22px 22px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  box-shadow:var(--shadow);
}
.contact-card p{margin:10px 0 0;color:rgba(255,255,255,.66);line-height:1.6}
.contact-right{display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:center}
.fine{color:rgba(255,255,255,.52);font-size:13px;line-height:1.5}

.footer{
  margin-top:18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 4px 8px;
  color:rgba(255,255,255,.48);
}
.foot-left{display:flex;align-items:center;gap:12px}
.foot-left img{width:22px;height:22px;filter:drop-shadow(0 0 14px rgba(125,211,252,.22))}
.foot-name{color:rgba(255,255,255,.78);font-weight:600;font-size:13px}
.foot-sub{font-size:12px;color:rgba(255,255,255,.48)}
.foot-right{font-size:12px;letter-spacing:.12em;text-transform:uppercase}

@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr;gap:18px}
  .split-inner{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .contact-card{grid-template-columns:1fr}
  h1{font-size:44px}
}
@media (max-width: 640px){
  .nav{display:none}
  .menu{display:inline-block}
  .tiles{grid-template-columns:1fr}
  .stat-row{grid-template-columns:1fr}
  h1{font-size:38px}
}

/* ---------- CREDIBILITY STRIP ---------- */

.credibility {
  padding: 80px 24px 60px;
  text-align: center;
}

.credibility-label {
  font-family: system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 32px;
}

.credibility-logos {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px;
}

.credibility-logos span {
  font-family: system-ui, sans-serif;
  font-size: 14px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.55);
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0.04),
    rgba(255,255,255,0.02)
  );
}

/* ---------- MANIFESTO BREAK ---------- */

.manifesto {
  padding: 140px 24px;
  text-align: center;
}

.manifesto h2 {
  font-size: clamp(36px, 6vw, 72px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
}

.manifesto h2 span {
  display: block;
  margin-top: 12px;
  color: rgba(255,255,255,0.55);
}


/* ---------- AUDIENCE SECTION ---------- */

.audience {
  padding: 120px 24px;
}

.audience-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.audience-col h3 {
  font-size: 22px;
  margin-bottom: 24px;
  letter-spacing: -0.01em;
}

.audience-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.audience-col li {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-family: system-ui, sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,0.85);
}

.audience-col.muted li {
  color: rgba(255,255,255,0.45);
}

@media (max-width: 900px) {
  .audience-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}


/* ---------- BRAND MARK ---------- */

.brand-mark {
  padding: 160px 24px 120px;
  display: flex;
  justify-content: center;
}

.brand-mark img {
  width: 220px;
  opacity: 0.12;
  filter: grayscale(100%);
}


/* Platform header with logo */
.platform-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.platform-text {
  max-width: 680px;
}

.platform-logo img {
  width: 140px;
  opacity: 0.9;
}

.platform-floating-logo {
  position: absolute;
  right: 8%;
  margin-top: -240px;
  opacity: 0.9;
}

.platform-floating-logo img {
  width: 140px;
}

@media (max-width: 900px) {
  .platform-floating-logo {
    display: none;
  }
}


/* Platform heading + logo */
.platform-heading{
  display:flex;
  align-items:center;
  gap:18px;
}

.platform-logo{
  height:34px;
  width:auto;
  opacity:0.85;
}


/* Platform heading logo */
.platform h2 {
  display: flex;
  align-items: center;
  gap: 16px;
}

.platform h2 img {
  width: 56px;
  height: auto;
  opacity: 0.95;
}


/* ---- GhostForge cleanup patch ---- */

/* Hide large decorative logos in lower sections */
.section .ghostforge-logo,
.section .logo-large,
.section .brand-mark {
  display: none !important;
}

/* Ensure footer is visually final */
footer {
  margin-top: 8rem;
}


/* --- Platform heading alignment fix --- */
.platform-head {
  display: flex;
  align-items: center;
  width: 100%;
}

.platform-head h2 {
  margin: 0;
}

.platform-head img {
  height: 200px;
  opacity: 0.9;
  margin-left: auto;
}

/* --- Kill legacy floating / decorative logos --- */
.brand-mark,
.platform-floating-logo {
  display: none !important;
}



.section-head .platform-head img {
  margin-left: auto;
}


/* --- Platform section: widen heading container --- */
#platform .section-head {
  max-width: 100% !important;
}

#platform .section-head > div {
  width: 100%;
}


/* ===============================
   GhostForge: hard-pin micro footer
   =============================== */

/* Make the page a vertical stack */
html, body {
  min-height: 100%;
}

body {
  display: flex;
  flex-direction: column;
}

/* Push everything above the micro footer */
main {
  flex: 1 0 auto;
}

/* Pin the small GF logo + © row to the very bottom */
.foot,
.footer-mini,
.site-footer,
footer {
  margin-top: auto;
  padding-bottom: 2rem;
}

