:root{
  --void:    #0B0E14;
  --panel:   #12161F;
  --line:    rgba(232,234,240,0.10);
  --line-2:  rgba(232,234,240,0.18);
  --star:    #E8EAF0;
  --dim:     #8A93A6;
  --signal:  #D89B4A;
  --signal-dim: rgba(216,155,74,0.18);

  --display: 'Space Grotesk', sans-serif;
  --body:    'Inter', sans-serif;
  --mono:    'IBM Plex Mono', monospace;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--void);
  color:var(--star);
  font-family:var(--body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--signal); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}

.wrap{ max-width:1220px; margin:0 auto; padding:0 32px; }

.starfield{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 8% 22%, rgba(232,234,240,0.5), transparent),
    radial-gradient(1px 1px at 22% 68%, rgba(232,234,240,0.35), transparent),
    radial-gradient(1px 1px at 46% 12%, rgba(232,234,240,0.4), transparent),
    radial-gradient(1px 1px at 63% 78%, rgba(232,234,240,0.3), transparent),
    radial-gradient(1px 1px at 81% 34%, rgba(232,234,240,0.45), transparent),
    radial-gradient(1px 1px at 93% 60%, rgba(232,234,240,0.3), transparent),
    radial-gradient(1px 1px at 35% 90%, rgba(232,234,240,0.25), transparent),
    radial-gradient(1px 1px at 74% 8%, rgba(232,234,240,0.3), transparent);
  background-repeat:no-repeat;
}

/* ---------- Header (made to stand out) ---------- */
header{
  position:sticky; top:0; z-index:40;
  background:rgba(18,22,31,0.92);
  backdrop-filter:blur(10px);
  border-bottom:2px solid var(--signal);
  box-shadow:0 8px 30px rgba(0,0,0,0.35), 0 1px 0 rgba(216,155,74,0.25);
}
.header-inner{
  max-width:1220px; margin:0 auto; padding:18px 32px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; row-gap:14px;
}
.wordmark{
  display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--star);
}
.wordmark-text{ display:flex; flex-direction:column; line-height:1.15; }
.wordmark-text .name{ font-family:var(--display); font-weight:600; font-size:29px; letter-spacing:0.005em; }
.wordmark-text .tagline{ font-family:var(--mono); font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--dim); margin-top:2px; white-space:nowrap; }
.wordmark .mark-icon{ width:54px; height:49px; flex-shrink:0; filter:drop-shadow(0 0 6px rgba(216,155,74,0.55)); }
nav{ display:flex; gap:34px; }
nav a{ font-size:16px; text-decoration:none; color:var(--dim); font-weight:500; padding-bottom:4px; border-bottom:2px solid transparent; }
nav a:hover{ color:var(--star); }
nav a[aria-current="page"]{ color:var(--signal); border-bottom-color:var(--signal); }
@media (max-width:760px){ nav{ display:none; } }

main{ position:relative; z-index:1; }

/* ---------- Page hero (short, per-page) ---------- */
.page-hero{ padding:80px 0 52px; }
.eyebrow{
  font-family:var(--mono); font-size:13.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--signal); margin-bottom:22px; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--signal); box-shadow:0 0 8px var(--signal); flex-shrink:0; }

h1{
  font-family:var(--display); font-weight:600; font-size:clamp(36px,5.2vw,58px);
  line-height:1.1; letter-spacing:-0.01em; margin:0 0 22px; max-width:19ch;
}
h1 .accent{ color:var(--signal); }

.hero-sub{ font-size:19px; color:var(--dim); max-width:58ch; margin:0 0 38px; }

.cta-row{ display:flex; gap:16px; flex-wrap:wrap; }
.btn{
  display:inline-block; padding:16px 30px; font-family:var(--body); font-weight:600; font-size:16.5px;
  text-decoration:none; border-radius:3px; transition:transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.btn-primary{ background:var(--signal); color:#1A1204; }
.btn-primary:hover{ transform:translateY(-1px); background:#E7AC5F; }
.btn-ghost{ color:var(--star); border:1px solid var(--line-2); padding:15px 29px; }
.btn-ghost:hover{ border-color:var(--signal); }

.readout-strip{
  display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin-top:50px;
}
@media (max-width:900px){ .readout-strip{ grid-template-columns:1fr; } }
.readout{ padding:34px 30px; border-left:1px solid var(--line); }
.readout:first-child{ border-left:none; padding-left:0; }
@media (max-width:900px){ .readout{ border-left:none; border-top:1px solid var(--line); padding-left:0; } .readout:first-child{ border-top:none; } }
.readout .num{ font-family:var(--display); font-size:clamp(40px,6.5vw,90px); line-height:1; font-weight:600; color:var(--star); display:block; }
.readout .lbl{ font-family:var(--mono); font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--dim); margin-top:10px; display:block; }

/* ---------- Section shared ---------- */
section{ padding:88px 0; border-top:1px solid var(--line); }
section:first-of-type{ border-top:none; }
.section-label{ font-family:var(--mono); font-size:13.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--signal); margin-bottom:16px; display:block; }
h2{ font-family:var(--display); font-weight:600; font-size:clamp(27px,3.4vw,38px); margin:0 0 18px; letter-spacing:-0.01em; }
.section-intro{ color:var(--dim); max-width:62ch; font-size:17.5px; margin-bottom:52px; }

/* ---------- Nav cards (index page -> other pages) ---------- */
.nav-card-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:940px){ .nav-card-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .nav-card-grid{ grid-template-columns:1fr; } }
.nav-card{ background:var(--panel); padding:34px 30px; text-decoration:none; color:var(--star); display:block; transition:background 0.15s ease; }
.nav-card:hover{ background:var(--panel-2, #171C27); }
.nav-card .tag{ font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--signal); }
.nav-card h3{ font-family:var(--display); font-size:21px; font-weight:600; margin:14px 0 9px; }
.nav-card p{ margin:0; color:var(--dim); font-size:15px; }
.nav-card .go{ display:block; margin-top:18px; font-family:var(--mono); font-size:13px; color:var(--signal); }

/* ---------- Two sides ---------- */
.split-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:840px){ .split-grid{ grid-template-columns:1fr; } }
.split-card{ background:var(--panel); padding:42px; }
.split-card .tag{ font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--signal); }
.split-card h3{ font-family:var(--display); font-size:27px; font-weight:600; margin:14px 0 16px; }
.split-card p{ color:var(--dim); font-size:16.5px; margin:0; }

/* ---------- Services (spec-sheet numbering, matches source doc) ---------- */
.service-list{ border-top:1px solid var(--line); }
.service{ display:grid; grid-template-columns:78px 1fr; gap:24px; padding:34px 0; border-bottom:1px solid var(--line); }
@media (max-width:640px){ .service{ grid-template-columns:48px 1fr; } }
.service .tag{ font-family:var(--mono); font-size:14px; color:var(--signal); padding-top:2px; }
.service h3{ font-family:var(--display); font-size:23px; font-weight:600; margin:0 0 11px; }
.service ul{ margin:16px 0 0; padding-left:20px; color:var(--dim); font-size:16px; }
.service li{ margin-bottom:7px; }

.service-toggle{ display:flex; gap:10px; margin-bottom:46px; flex-wrap:wrap; }
.service-toggle{
  display:inline-flex; gap:4px; margin-bottom:44px; flex-wrap:wrap;
  border:1px solid var(--line-2); border-radius:26px; padding:5px; background:var(--panel);
}
.toggle-btn{
  font-family:var(--mono); font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  padding:12px 26px; border:none; background:transparent; color:var(--dim);
  border-radius:22px; cursor:pointer; transition:all 0.15s ease;
}
.toggle-btn:hover:not([aria-pressed="true"]){ color:var(--star); background:rgba(232,234,240,0.06); }
.toggle-btn[aria-pressed="true"]{ background:var(--signal); color:#1A1204; font-weight:600; }
.toggle-hint{ display:block; font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--dim); margin-bottom:16px; }
.service-panel{ display:none; }
.service-panel.active{ display:block; }

/* ---------- Assessment / radar ---------- */
.assessment-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; }
@media (max-width:940px){ .assessment-grid{ grid-template-columns:1fr; } }
.dim-list{ list-style:none; margin:0; padding:0; }
.dim-list li{ display:grid; grid-template-columns:40px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--line); }
.dim-list .tag{ font-family:var(--mono); font-size:14px; color:var(--signal); }
.dim-list h4{ font-family:var(--display); font-size:17.5px; font-weight:600; margin:0 0 5px; }
.dim-list p{ margin:0; color:var(--dim); font-size:15px; }
.radar-wrap{ display:flex; justify-content:center; }
.radar-wrap svg{ width:100%; max-width:420px; height:auto; }
.radar-tag{ font-family:var(--mono); font-size:12px; fill:var(--signal); }

/* ---------- Process ---------- */
.phase-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:860px){ .phase-row{ grid-template-columns:1fr 1fr; } }
.phase{ background:var(--panel); padding:32px 28px; }
.phase .tag{ font-family:var(--mono); font-size:13px; color:var(--signal); }
.phase h4{ font-family:var(--display); font-size:21px; font-weight:600; margin:11px 0 9px; }
.phase p{ margin:0; color:var(--dim); font-size:15.5px; }

/* ---------- Founders ---------- */
.founder-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:940px){ .founder-grid{ grid-template-columns:1fr; } }
.founder{ background:var(--panel); padding:38px; }
.founder-id{
  width:101px; height:101px; border:1px solid var(--line-2); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:22px; color:var(--signal);
  margin-bottom:22px;
}
.founder-photo{
  width:101px; height:101px; border-radius:50%; object-fit:cover; object-position:center;
  border:1px solid var(--line-2); margin-bottom:22px; display:block;
}
.founder h3{ font-family:var(--display); font-size:21px; font-weight:600; margin:0 0 5px; }
.founder .role{ font-family:var(--mono); font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--dim); margin-bottom:18px; display:block; }
.founder p{ font-size:15.5px; color:var(--dim); margin:0 0 18px; }
.founder .li-link{ font-family:var(--mono); font-size:13px; color:var(--signal); text-decoration:none; border-bottom:1px solid rgba(216,155,74,0.4); padding-bottom:1px; }

/* ---------- Track record ---------- */
.track-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:940px){ .track-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .track-grid{ grid-template-columns:1fr; } }
.track-card{ background:var(--panel); padding:38px; display:flex; flex-direction:column; }
.track-card-head{ display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.track-logo{ width:60px; height:60px; border-radius:50%; object-fit:cover; border:1px solid var(--line-2); flex-shrink:0; }
.track-card h3{ font-family:var(--display); font-size:22px; font-weight:600; margin:0; }
.track-stats{ display:flex; gap:28px; margin-bottom:20px; }
.track-stat .num{ font-family:var(--display); font-size:28px; font-weight:600; color:var(--star); display:block; }
.track-stat .lbl{ font-family:var(--mono); font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--dim); margin-top:4px; display:block; }
.track-card p{ color:var(--dim); font-size:15px; margin:0 0 16px; }
.track-sub{ display:flex; align-items:center; gap:10px; margin:-2px 0 18px; }
.track-sub img{ width:30px; height:30px; border-radius:50%; object-fit:cover; border:1px solid var(--line-2); }
.track-sub span{ font-family:var(--mono); font-size:12px; color:var(--dim); }
.track-breakdown{ margin:0 0 18px; }
.track-breakdown-row{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--line); font-family:var(--mono); font-size:12.5px; }
.track-breakdown-row .name{ color:var(--star); display:flex; align-items:center; gap:8px; }
.track-breakdown-row .name img{ width:22px; height:22px; border-radius:50%; object-fit:cover; border:1px solid var(--line-2); }
.track-breakdown-row .figures{ color:var(--dim); text-align:right; }
.track-award{
  margin-top:auto; padding-top:16px; border-top:1px solid var(--line);
  font-family:var(--mono); font-size:12.5px; color:var(--signal); line-height:1.5;
}

/* ---------- Principles ---------- */
.principle-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
@media (max-width:860px){ .principle-grid{ grid-template-columns:1fr 1fr; } }
.principle .tag{ font-family:var(--mono); font-size:12px; letter-spacing:0.1em; color:var(--signal); text-transform:uppercase; }
.principle h4{ font-family:var(--display); font-size:19.5px; font-weight:600; margin:11px 0 9px; }
.principle p{ margin:0; color:var(--dim); font-size:15.5px; }

/* ---------- Engagement models ---------- */
.engage-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:860px){ .engage-grid{ grid-template-columns:1fr; } }
.engage-card{ background:var(--panel); padding:36px; }
.engage-card h4{ font-family:var(--display); font-size:19.5px; font-weight:600; margin:0 0 11px; }
.engage-card p{ margin:0; color:var(--dim); font-size:16px; }

/* ---------- AI note ---------- */
.ai-note{ background:var(--panel); border:1px solid var(--line); border-radius:4px; padding:38px 42px; }
.ai-note p{ color:var(--dim); font-size:17px; margin:0; max-width:70ch; }
.ai-note strong{ color:var(--star); }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }
form{ display:flex; flex-direction:column; gap:20px; }
label{ font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--dim); margin-bottom:7px; display:block; }
input, textarea, select{
  width:100%; background:var(--panel); border:1px solid var(--line-2); border-radius:3px;
  padding:12px 13px; font-family:var(--body); font-size:16.5px; color:var(--star);
}
input:focus, textarea:focus, select:focus{ border-color:var(--signal); }
textarea{ resize:vertical; min-height:96px; }
.submit-note{ font-size:13px; color:var(--dim); margin-top:2px; }
.contact-copy p{ color:var(--dim); font-size:17.5px; max-width:48ch; }
.contact-list{ list-style:none; padding:0; margin:34px 0 0; font-family:var(--mono); font-size:14px; color:var(--dim); }
.contact-list li{ padding:11px 0; border-top:1px solid var(--line); }

footer{
  padding:38px 0 60px; font-family:var(--mono); font-size:12px; color:var(--dim);
  border-top:1px solid var(--line);
}
.footer-row{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.footer-legal{ margin:14px 0 0; opacity:0.7; }
