:root {
  --navy: #19162f;
  --ink: #242139;
  --muted: #565267;
  --purple: #612ca1;
  --lavender: #d4b6ff;
  --soft: #f7f3fb;
  --line: #e4dced;
  --paper: #fff;
  --width: 1160px;
  --gutter: clamp(20px, 5vw, 72px);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }

html { scroll-padding-top: 94px; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 16px/1.6 "Segoe UI", Aptos, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-underline-offset: .22em; }
:focus-visible { outline: 3px solid #a267f0; outline-offset: 4px; }
main:focus, section[tabindex]:focus { outline: none; }
img { display: block; max-width: 100%; height: auto; }

h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3, h4 { color: var(--navy); line-height: 1.13; }
h2 { font-size: clamp(2rem, 4.3vw, 3.3rem); letter-spacing: -.043em; font-weight: 670; }
h3 { font-size: clamp(1.08rem, 1.9vw, 1.32rem); letter-spacing: -.016em; }
p + p { margin-top: .8em; }

.wrap { width: min(var(--width), calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.section { padding-block: clamp(54px, 7.7vw, 102px); }

.eyebrow {
  margin-bottom: 15px;
  color: var(--purple);
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lead { color: var(--navy); font-size: clamp(1.15rem, 2.2vw, 1.42rem); font-weight: 600; line-height: 1.42; }

.skip-link {
  position: fixed;
  inset: 10px auto auto 10px;
  z-index: 4;
  transform: translateY(-180%);
  padding: 10px 15px;
  border-radius: 4px;
  background: white;
  color: var(--navy);
}

.skip-link:focus { transform: none; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 2;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 74px; gap: 24px; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand img { width: 154px; }

#site-nav { display: flex; align-items: center; gap: clamp(14px, 2.6vw, 36px); }

#site-nav a {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  min-height: 44px;
  font-size: .91rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}

#site-nav a:hover, #site-nav a[aria-current] { color: var(--purple); text-decoration: underline; }
#site-nav .nav-contact { padding: 0 14px; border: 1px solid var(--line); border-radius: 7px; color: var(--purple); }
#site-nav .nav-contact:hover { background: var(--soft); }

.menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: white;
  color: var(--navy);
  font: inherit;
  font-size: .9rem;
  font-weight: 650;
  cursor: pointer;
}

.menu-icon { position: relative; width: 14px; height: 12px; }
.menu-icon::before, .menu-icon::after {
  content: "";
  position: absolute;
  inset: 3px 0 auto;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

.menu-icon::after { top: 8px; }
.menu-toggle[aria-expanded="true"] .menu-icon::before { transform: translateY(2.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon::after { transform: translateY(-2.5px) rotate(-45deg); }

.hero {
  border-bottom: 1px solid var(--line);
  background: radial-gradient(ellipse at 83% 45%, #eee3fa, transparent 62%), var(--soft);
}

.hero-inner { padding-block: clamp(46px, 5.2vw, 72px); }
.hero-copy { max-width: 850px; }

.investors .eyebrow { color: var(--lavender); }

.hero h1 {
  margin-bottom: 22px;
  font-size: clamp(3.45rem, 6.8vw, 6.45rem);
  font-weight: 670;
  letter-spacing: -.067em;
  line-height: 1.01;
}

.hero h1 em { color: var(--purple); font-style: normal; }
.hero-lead { max-width: 535px; font-size: clamp(1.2rem, 2.25vw, 1.56rem); line-height: 1.4; font-weight: 550; }
.hero-purpose { max-width: 450px; color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 25px; margin-top: 26px; }

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-height: 49px;
  padding: 10px 16px;
  border-radius: 7px;
  font-size: .92rem;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
}

.button-primary { background: var(--purple); color: white; }
.button-primary:hover { background: #4d217e; }
.button-light:hover { background: #eadcff; }
.button-light { background: #fff; color: var(--purple); }

.text-link { display: inline-flex; gap: .4em; align-items: center; font-weight: 680; color: var(--purple); }
.text-link:hover { text-decoration-thickness: 2px; }
.hero .text-link { min-height: 44px; font-size: .92rem; }

.evidence { padding-top: clamp(45px, 5.3vw, 73px); }

.evidence-result {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(24px, 5vw, 78px);
  padding-bottom: clamp(28px, 4.5vw, 60px);
}

.evidence-result h2 span { display: block; max-width: 11em; }
.evidence-result strong {
  display: block;
  width: max-content;
  color: var(--purple);
  font-size: clamp(4.75rem, 11vw, 9.25rem);
  line-height: .99;
  letter-spacing: -.086em;
  font-weight: 730;
  margin: 0 0 9px -.045em;
}

.result-context { max-width: 475px; padding-bottom: 3px; color: var(--muted); }

.evidence-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(24px, 4vw, 54px);
  border-top: 1px solid var(--line);
  padding-top: clamp(26px, 4vw, 48px);
}

.study-figure { border: 1px solid var(--line); border-radius: 11px; overflow: hidden; background: white; }
.study-figure img { width: 100%; padding: clamp(8px, 1.5vw, 20px); }
.study-figure figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 5px 15px;
  border-top: 1px solid var(--line);
  padding: 13px 16px;
  background: var(--soft);
  font-size: .81rem;
}

.study-reading { color: var(--muted); }
.study-reading h3 { margin: 6px 0 11px; }
.study-reading details { margin-top: 19px; border-block: 1px solid var(--line); }
.study-reading summary {
  min-height: 46px;
  padding-block: 12px;
  color: var(--purple);
  font-size: .91rem;
  font-weight: 680;
  cursor: pointer;
}

.details-copy { padding: 0 0 15px; font-size: .9rem; }
.source { margin-top: 17px; font-size: .81rem; }
.source a { color: var(--purple); }

.platform, .team { background: var(--soft); }
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr);
  align-items: end;
  gap: 17px clamp(20px, 5vw, 80px);
}

.section-heading > p { max-width: 500px; color: var(--muted); }

.platform-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr);
  align-items: center;
  gap: 18px clamp(20px, 5vw, 80px);
  margin-block: clamp(25px, 4vw, 48px) 23px;
}

.platform-figure {
  padding: 12px 18px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: radial-gradient(ellipse at 65% 50%, #ede1f9 0%, #faf7fe 75%);
}

.platform-figure img { width: 100%; max-height: 290px; object-fit: contain; }
.platform-figure figcaption { color: var(--muted); font-size: .78rem; }
.steps, .development { margin: 0; padding: 0; list-style: none; counter-reset: step; }
.steps li, .development li { counter-increment: step; }

.steps li::before, .development li::before {
  content: counter(step, decimal-leading-zero);
  color: var(--purple);
  font-size: .77rem;
  font-weight: 750;
  letter-spacing: .08em;
}

.steps li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  padding-block: 17px;
  border-bottom: 1px solid var(--line);
}

.steps li:first-child { border-top: 1px solid var(--line); }
.steps h3 { margin-bottom: 6px; }
.steps p, .development p { color: var(--muted); font-size: .94rem; }

.stage {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--soft);
  font-size: .64rem;
  letter-spacing: .09em;
  vertical-align: 1px;
}

.development-title { margin-top: clamp(26px, 5vw, 56px); margin-bottom: 14px; }
.development { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.development li { padding: 19px; border: 1px solid var(--line); border-radius: 9px; }
.development h4 { margin-block: 7px; font-size: 1.05rem; }

.people { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 25px; }
.people article {
  display: grid;
  grid-template-columns: clamp(80px, 10vw, 125px) minmax(0, 1fr);
  align-items: start;
  gap: 17px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  padding: clamp(13px, 2vw, 23px);
}

.people img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 25%; border-radius: 6px; }
.people p { color: var(--muted); font-size: .88rem; }
.people .role { margin-top: 5px; color: var(--purple); font-weight: 680; }
.people a { margin-top: 9px; font-size: .84rem; }

.advisors {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1.2fr;
  gap: 12px 25px;
  padding-top: 22px;
  margin-top: 25px;
  border-top: 1px solid var(--line);
}

.advisors p { color: var(--muted); font-size: .88rem; }
.advisors strong { color: var(--navy); }

.investors { background: radial-gradient(ellipse at 88% 20%, #382455, transparent 70%), var(--navy); color: #e9e0f1; }
.contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 23px 40px; }
.investors h2 { color: white; margin-bottom: 13px; }
.investors p:not(.eyebrow) { max-width: 540px; }
.investors .button { flex: 0 0 auto; }

.site-footer { padding-block: 23px; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 15px 22px; }
.footer-inner .brand img { width: 125px; }
.footer-inner p { color: var(--muted); font-size: .76rem; }
.footer-inner > a:last-child { flex-shrink: 0; font-size: .85rem; }

@media (max-width: 900px) {
  .wide-break { display: none; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 73px; }
  .header-inner { position: relative; flex-wrap: wrap; min-height: 62px; gap: 0 16px; }
  .brand img { width: 134px; }
  #site-nav { flex-basis: 100%; flex-wrap: wrap; gap: 0 15px; padding-bottom: 10px; }

  .menu-toggle:not([hidden]) + #site-nav {
    position: absolute;
    display: grid;
    inset: 100% calc(-1 * var(--gutter)) auto;
    padding: 7px var(--gutter) 14px;
    border-block: 1px solid var(--line);
    box-shadow: 0 12px 20px #19162f18;
    background: white;
  }

  .menu-toggle:not([hidden]) + #site-nav a { padding-inline: 7px; }
  #site-nav .nav-contact { border: 0; }

  .hero-inner { padding-block: 38px; }
  .hero h1 { margin-bottom: 15px; font-size: clamp(2.85rem, 9.6vw, 4.5rem); }
  .hero-actions { margin-top: 20px; gap: 6px 19px; }
  .evidence-result, .evidence-detail, .section-heading, .platform-detail { grid-template-columns: minmax(0, 1fr); }
  .evidence-result { gap: 14px; }
  .evidence-result h2 span { max-width: 13em; }
  .people { grid-template-columns: 1fr; }
  .contact-inner { align-items: flex-start; flex-direction: column; }
  .footer-inner { flex-wrap: wrap; }
}

@media (max-width: 490px) {
  .hero h1 { letter-spacing: -.06em; }
  .development { grid-template-columns: 1fr; }
  .advisors { grid-template-columns: 1fr 1fr; }
  .advisors h3 { grid-column: 1 / -1; }
  .footer-inner p { flex-basis: 100%; order: 1; }
}
