:root {
  --ink: #111117;
  --paper: #f3f0e8;
  --paper-2: #e9e5db;
  --white: #fffdf8;
  --acid: #d8ff5f;
  --violet: #815cff;
  --blue: #81d9ff;
  --coral: #ff7a64;
  --pink: #ff9ad9;
  --mint: #92f0c8;
  --line: rgba(17,17,23,.18);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "DM Sans", Arial, sans-serif;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
::selection { background: var(--acid); color: var(--ink); }

.noise {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 99;
  opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}

.section-shell { padding-left: clamp(22px, 4vw, 68px); padding-right: clamp(22px, 4vw, 68px); }
.eyebrow {
  font-family: "Space Grotesk", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.eyebrow-light { color: rgba(255,255,255,.7); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.site-header {
  position: fixed;
  z-index: 60;
  top: 0;
  left: 0;
  right: 0;
  height: 72px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(22px, 4vw, 68px);
  transition: background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.site-header.scrolled {
  background: rgba(243,240,232,.78);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(17,17,23,.08);
}
.brand { display:inline-flex; align-items:center; gap:9px; width:max-content; font-family:"Space Grotesk",sans-serif; font-weight:500; font-size:21px; letter-spacing:-.04em; }
.brand-mark { font-weight:600; color: var(--violet); letter-spacing:-.16em; transform: translateY(-1px); }
.desktop-nav { display:flex; gap:30px; font-size:13px; }
.desktop-nav a { opacity:.72; transition: opacity .2s ease; }
.desktop-nav a:hover { opacity:1; }
.nav-cta { justify-self:end; font-size:13px; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.menu-toggle { display:none; background:none; border:0; font-size:22px; cursor:pointer; }
.mobile-menu { display:none; }

.hero {
  position: relative;
  min-height: 100svh;
  padding-top: 145px;
  padding-bottom: 42px;
  overflow: hidden;
  display:flex;
  flex-direction:column;
}
.hero-grid {
  position:absolute;
  inset:0;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 9vw 9vw;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent 82%);
  opacity:.24;
}
.orb { position:absolute; border-radius:50%; filter: blur(12px); opacity:.78; }
.orb-one { width:34vw; height:34vw; top:8%; right:6%; background:radial-gradient(circle at 40% 35%, var(--acid), var(--mint) 35%, var(--blue) 62%, transparent 72%); animation: drift 9s ease-in-out infinite alternate; }
.orb-two { width:18vw; height:18vw; right:31%; bottom:22%; background:radial-gradient(circle at 50% 50%, var(--pink), var(--violet) 50%, transparent 74%); opacity:.45; animation: drift 11s ease-in-out infinite alternate-reverse; }
@keyframes drift { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(-24px,22px,0) scale(1.05); } }
.hero-kicker { position:relative; z-index:2; font-size:14px; max-width:420px; }
.hero-title {
  position:relative;
  z-index:2;
  margin: 8vh 0 0;
  max-width: 1050px;
  font-family:"Space Grotesk",sans-serif;
  font-size: clamp(58px, 8.5vw, 138px);
  line-height:.88;
  letter-spacing:-.075em;
  font-weight:500;
}
.hero-title span { font-style:italic; font-weight:400; }
.hero-bottom {
  position:relative;
  z-index:3;
  margin-top:auto;
  padding-top:70px;
  display:grid;
  grid-template-columns:minmax(260px,560px) auto;
  align-items:end;
  gap:70px;
}
.hero-bottom p { margin:0; font-size: clamp(17px, 1.45vw, 23px); line-height:1.45; letter-spacing:-.02em; }
.hero-bottom strong { font-weight:500; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:15px 18px; border-radius:999px; font-size:13px; transition:transform .2s ease, background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--ink); color:white; }
.button-ghost { border:1px solid rgba(17,17,23,.25); background:rgba(255,255,255,.18); }
.button-light { background:var(--white); color:var(--ink); }
.slash-monument {
  position:absolute;
  right:5vw;
  top:26%;
  z-index:1;
  display:flex;
  gap:.02em;
  font:500 clamp(250px, 33vw, 540px)/.7 "Space Grotesk",sans-serif;
  letter-spacing:-.2em;
  color:rgba(255,255,255,.56);
  mix-blend-mode:overlay;
  transform:rotate(5deg);
  user-select:none;
}
.hero-meta { position:relative; z-index:4; display:flex; flex-wrap:wrap; gap:8px; margin-top:36px; }
.hero-meta span { padding:8px 12px; border:1px solid var(--line); border-radius:999px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; background:rgba(243,240,232,.45); backdrop-filter:blur(6px); }

.ticker { overflow:hidden; background:var(--ink); color:var(--paper); padding:15px 0; font-family:"Space Grotesk",sans-serif; font-size:13px; letter-spacing:.13em; white-space:nowrap; }
.ticker-track { display:flex; width:max-content; animation:ticker 28s linear infinite; }
.ticker-track span { padding-right:4em; }
@keyframes ticker { to { transform:translateX(-50%); } }

.intro { padding-top:160px; padding-bottom:160px; display:grid; grid-template-columns:1fr 3fr 1fr; gap:5vw; align-items:start; }
.intro-copy h2, .section-heading h2, .builder-copy h2, .impact-inner h2 {
  margin:0;
  font-family:"Space Grotesk",sans-serif;
  font-weight:500;
  letter-spacing:-.055em;
  line-height:.95;
}
.intro-copy h2 { font-size:clamp(48px,6vw,94px); }
.intro-copy h2 em { font-weight:400; }
.intro-copy > p { margin:42px 0 0; max-width:650px; font-size:18px; line-height:1.6; color:rgba(17,17,23,.74); }
.intro-note { align-self:end; border-top:1px solid var(--ink); padding-top:14px; font-size:13px; }
.intro-note p { margin:14px 0 0; line-height:1.45; }
.mini-slashes { color:var(--violet); font:600 22px "Space Grotesk",sans-serif; }

.worlds { padding-top:70px; padding-bottom:160px; }
.section-heading { display:grid; grid-template-columns:2fr 1fr; gap:60px; align-items:end; margin-bottom:62px; }
.section-heading h2 { margin-top:20px; font-size:clamp(48px,5.2vw,82px); }
.section-heading > p { margin:0; max-width:420px; line-height:1.55; color:rgba(17,17,23,.7); }
.world-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.world-card {
  min-height:520px;
  border-radius:var(--radius);
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(17,17,23,.1);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
  cursor:default;
}
.world-card:hover, .world-card:focus { transform:translateY(-7px); box-shadow:0 24px 70px rgba(17,17,23,.10); outline:none; }
.world-card::after { content:"//"; position:absolute; right:-18px; bottom:-56px; font:500 210px/1 "Space Grotesk",sans-serif; letter-spacing:-.2em; color:rgba(255,255,255,.25); transform:rotate(-8deg); }
.world-reset { background:linear-gradient(145deg,#d8ff5f,#a9ef9d 52%,#9fd7ff); }
.world-learn { background:linear-gradient(145deg,#ffd89a,#ff9f81 55%,#ffb4db); }
.world-media { background:linear-gradient(145deg,#b8a9ff,#7758ed 64%,#35236f); color:white; }
.world-rooms { background:linear-gradient(145deg,#f7f2e6,#ded4c4); }
.world-voices { background:linear-gradient(145deg,#ffafd8,#df86ff 54%,#8a6bff); }
.world-impact { background:linear-gradient(145deg,#92f0c8,#56d9cc 52%,#64b9ff); }
.world-top { display:flex; justify-content:space-between; font:500 12px "Space Grotesk",sans-serif; letter-spacing:.08em; text-transform:uppercase; position:relative; z-index:2; }
.world-icon { font-size:26px; line-height:1; }
.world-label { margin:0 0 16px; font:600 11px "Space Grotesk",sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.world-card h3 { margin:0; font:500 clamp(35px,3.3vw,52px)/.94 "Space Grotesk",sans-serif; letter-spacing:-.06em; position:relative; z-index:2; }
.world-desc { max-width:340px; font-size:14px; line-height:1.52; position:relative; z-index:2; opacity:.76; }
.world-link { font-size:12px; position:relative; z-index:2; border-top:1px solid currentColor; padding-top:14px; opacity:.75; }

.two-doors { padding-top:60px; padding-bottom:160px; }
.door-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.door { min-height:560px; padding:34px; border-radius:var(--radius); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; position:relative; }
.door-person { background:#1b1b22; color:white; }
.door-org { background:var(--acid); }
.door-number { align-self:flex-end; font:500 90px/1 "Space Grotesk",sans-serif; letter-spacing:-.08em; opacity:.14; }
.door h3 { margin:16px 0; font:500 clamp(45px,5vw,78px)/.93 "Space Grotesk",sans-serif; letter-spacing:-.06em; }
.door p:not(.eyebrow) { max-width:470px; line-height:1.55; opacity:.7; }
.door a { display:flex; justify-content:space-between; border-top:1px solid currentColor; padding-top:18px; font-size:13px; }

.format-builder { padding-top:20px; padding-bottom:170px; display:grid; grid-template-columns:1.1fr .9fr; gap:10vw; align-items:start; }
.builder-copy h2 { margin-top:22px; font-size:clamp(44px,5vw,76px); }
.builder-copy p { max-width:540px; font-size:16px; line-height:1.6; color:rgba(17,17,23,.65); margin-top:30px; }
.builder-ui { border:1px solid rgba(17,17,23,.2); border-radius:24px; background:rgba(255,255,255,.28); backdrop-filter:blur(9px); overflow:hidden; }
.builder-line { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:22px; border-bottom:1px solid rgba(17,17,23,.12); }
.builder-line span { font:600 10px "Space Grotesk",sans-serif; letter-spacing:.12em; color:rgba(17,17,23,.5); }
.builder-line strong { font-size:20px; font-weight:400; letter-spacing:-.02em; }
.shuffle { width:100%; border:0; background:var(--violet); color:white; padding:18px; cursor:pointer; font-size:13px; transition:filter .2s ease; }
.shuffle:hover { filter:brightness(1.08); }

.impact-band { position:relative; overflow:hidden; background:#111117; color:white; padding:140px 0; }
.impact-inner { position:relative; z-index:2; }
.impact-inner h2 { margin-top:24px; max-width:1000px; font-size:clamp(54px,7vw,110px); }
.impact-inner > p { max-width:760px; font-size:18px; line-height:1.65; color:rgba(255,255,255,.64); margin:38px 0; }
.impact-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:40px; }
.impact-tags span { border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:9px 13px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.impact-orbit { position:absolute; width:65vw; height:65vw; right:-16vw; top:-25vw; border:1px solid rgba(216,255,95,.25); border-radius:50%; }
.impact-orbit::before, .impact-orbit::after { content:""; position:absolute; inset:12%; border:1px solid rgba(129,92,255,.28); border-radius:50%; }
.impact-orbit::after { inset:28%; background:radial-gradient(circle,rgba(129,92,255,.34),transparent 65%); }

.principles { padding-top:150px; padding-bottom:160px; }
.principle-list { border-top:1px solid var(--ink); }
.principle { display:grid; grid-template-columns:80px 1.35fr 1fr; gap:30px; align-items:start; padding:28px 0 32px; border-bottom:1px solid var(--line); }
.principle > span { font:500 11px "Space Grotesk",sans-serif; opacity:.55; }
.principle h3 { margin:0; font:500 clamp(28px,3vw,48px)/1 "Space Grotesk",sans-serif; letter-spacing:-.045em; }
.principle p { margin:0; max-width:440px; line-height:1.55; color:rgba(17,17,23,.65); }

.manifesto { padding-top:50px; padding-bottom:180px; position:relative; }
.manifesto-mark { font:500 clamp(100px,14vw,220px)/1 "Space Grotesk",sans-serif; color:var(--violet); letter-spacing:-.16em; margin-left:-.1em; }
.manifesto blockquote { margin:12px 0 0; font:400 clamp(42px,6vw,98px)/.98 "Space Grotesk",sans-serif; letter-spacing:-.065em; max-width:1200px; }
.manifesto blockquote em { font-weight:400; color:rgba(17,17,23,.45); }
.manifesto > p { margin-top:34px; font-size:16px; }

.join { padding-bottom:110px; }
.join-card { border-radius:32px; background:linear-gradient(135deg,var(--violet),#7054df 45%,#2b2646); color:white; padding:clamp(30px,5vw,72px); display:grid; grid-template-columns:1fr .9fr; gap:8vw; align-items:end; overflow:hidden; position:relative; }
.join-card::after { content:"//"; position:absolute; right:-40px; top:-115px; font:500 330px "Space Grotesk",sans-serif; letter-spacing:-.2em; opacity:.08; }
.join-card h2 { margin:16px 0; font:500 clamp(60px,7vw,108px)/.9 "Space Grotesk",sans-serif; letter-spacing:-.07em; }
.join-card p { max-width:540px; line-height:1.55; color:rgba(255,255,255,.68); }
.join-form { position:relative; z-index:2; }
.join-form input { width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.5); background:transparent; color:white; padding:14px 0; outline:none; font-size:22px; }
.join-form input::placeholder { color:rgba(255,255,255,.44); }
.join-form button { margin-top:18px; width:100%; display:flex; justify-content:space-between; background:var(--acid); border:0; border-radius:999px; padding:16px 18px; cursor:pointer; }
.join-form small { display:block; margin-top:12px; color:rgba(255,255,255,.46); line-height:1.4; }
.contact-strip { display:flex; justify-content:space-between; gap:30px; padding:24px 4px 0; font-size:13px; }
.contact-strip a { border-bottom:1px solid var(--ink); }

.footer { background:var(--paper-2); padding-top:60px; padding-bottom:28px; display:grid; grid-template-columns:1fr 1fr; gap:45px; border-top:1px solid var(--line); }
.footer-brand { font-size:42px; }
.footer > p { justify-self:end; margin:0; align-self:center; }
.footer-meta { grid-column:1/-1; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; opacity:.58; }
.footer-links { display:flex; align-items:center; gap:24px; }
.instagram-link { display:inline-flex; align-items:center; gap:8px; transition:opacity .2s ease; }
.instagram-link:hover { opacity:.58; }
.instagram-link svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; flex:0 0 auto; }
.instagram-link .instagram-dot { fill:currentColor; stroke:none; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  .site-header { grid-template-columns:1fr auto; }
  .desktop-nav,.nav-cta { display:none; }
  .menu-toggle { display:block; }
  .mobile-menu {
    position:fixed; inset:72px 0 0; z-index:55; background:var(--paper); padding:36px 22px; flex-direction:column; gap:0; font:500 40px/1.1 "Space Grotesk",sans-serif; letter-spacing:-.05em;
  }
  .mobile-menu.open { display:flex; }
  .mobile-menu a { padding:18px 0; border-bottom:1px solid var(--line); }
  .hero { padding-top:120px; }
  .hero-title { margin-top:12vh; }
  .hero-bottom { grid-template-columns:1fr; gap:26px; }
  .hero-actions { justify-content:flex-start; }
  .slash-monument { right:-6vw; top:27%; opacity:.6; }
  .intro { grid-template-columns:1fr; gap:35px; }
  .intro-copy { max-width:800px; }
  .intro-note { max-width:250px; }
  .section-heading { grid-template-columns:1fr; }
  .world-grid { grid-template-columns:1fr 1fr; }
  .door-grid { grid-template-columns:1fr; }
  .format-builder { grid-template-columns:1fr; gap:60px; }
  .join-card { grid-template-columns:1fr; }
  .principle { grid-template-columns:60px 1fr; }
  .principle p { grid-column:2; }
}

@media (max-width: 640px) {
  .section-shell { padding-left:18px; padding-right:18px; }
  .site-header { padding-left:18px; padding-right:18px; height:66px; }
  .mobile-menu { inset:66px 0 0; }
  .hero { min-height:920px; padding-top:110px; padding-bottom:28px; }
  .hero-kicker { font-size:12px; max-width:220px; }
  .hero-title { margin-top:11vh; font-size:clamp(56px,17vw,90px); }
  .hero-bottom { margin-top:auto; padding-top:80px; }
  .hero-bottom p { font-size:17px; }
  .hero-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .button { width:100%; }
  .orb-one { width:90vw; height:90vw; right:-34vw; top:15%; }
  .orb-two { width:55vw; height:55vw; right:0; bottom:25%; }
  .slash-monument { font-size:320px; right:-18vw; top:30%; }
  .intro { padding-top:105px; padding-bottom:110px; }
  .worlds { padding-bottom:110px; }
  .world-grid { grid-template-columns:1fr; }
  .world-card { min-height:450px; }
  .two-doors { padding-bottom:110px; }
  .door { min-height:470px; padding:25px; }
  .door-number { font-size:62px; }
  .format-builder { padding-bottom:110px; }
  .builder-line { grid-template-columns:86px 1fr; padding:18px; }
  .builder-line strong { font-size:17px; }
  .impact-band { padding:100px 0; }
  .principles { padding-top:100px; padding-bottom:110px; }
  .principle { grid-template-columns:38px 1fr; gap:12px; }
  .manifesto { padding-bottom:115px; }
  .join { padding-bottom:80px; }
  .join-card { border-radius:24px; }
  .contact-strip { flex-direction:column; gap:10px; }
  .footer { grid-template-columns:1fr; }
  .footer > p { justify-self:start; }
  .footer-meta { grid-column:auto; flex-direction:column; gap:12px; }
  .footer-links { flex-direction:column; align-items:flex-start; gap:10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* Impact & ventures expansion */
.impact-platform { padding-top:150px; padding-bottom:170px; }
.impact-domain-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.impact-domain {
  min-height:480px;
  border-radius:var(--radius);
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid rgba(17,17,23,.1);
  position:relative;
  overflow:hidden;
}
.impact-domain::after { content:"//"; position:absolute; right:-8px; bottom:-54px; font:500 190px/1 "Space Grotesk",sans-serif; letter-spacing:-.2em; opacity:.08; transform:rotate(-7deg); }
.domain-sustainable { background:linear-gradient(145deg,#e8ffd0,#a6e9c7 60%,#8cd8e7); }
.domain-youth { background:linear-gradient(145deg,#fff0a8,#ffb78b 58%,#ff9fcf); }
.domain-agriculture { grid-column:1/-1; min-height:430px; background:linear-gradient(135deg,#203f2e,#285943 48%,#6f9d63); color:white; }
.domain-index { font:500 12px "Space Grotesk",sans-serif; letter-spacing:.08em; opacity:.55; }
.impact-domain h3 { margin:14px 0 18px; max-width:720px; font:500 clamp(38px,4.2vw,70px)/.94 "Space Grotesk",sans-serif; letter-spacing:-.06em; position:relative; z-index:1; }
.impact-domain p:not(.eyebrow) { max-width:650px; line-height:1.6; opacity:.72; position:relative; z-index:1; }
.domain-tags { display:flex; flex-wrap:wrap; gap:8px; position:relative; z-index:1; }
.domain-tags span { padding:8px 11px; border:1px solid currentColor; border-radius:999px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; opacity:.66; }

.agri-feature { margin-top:14px; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(28px,4.5vw,64px); display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; background:rgba(255,255,255,.32); }
.agri-feature h3 { margin:18px 0 24px; font:500 clamp(44px,5vw,80px)/.92 "Space Grotesk",sans-serif; letter-spacing:-.065em; }
.agri-feature-copy > p { max-width:620px; line-height:1.65; color:rgba(17,17,23,.7); }
.agri-statements { border-top:1px solid var(--ink); }
.agri-statements > div { display:grid; grid-template-columns:34px 110px 1fr; gap:14px; padding:19px 0; border-bottom:1px solid var(--line); align-items:start; }
.agri-statements span { font:500 10px "Space Grotesk",sans-serif; opacity:.5; }
.agri-statements strong { font:500 16px "Space Grotesk",sans-serif; }
.agri-statements p { margin:0; font-size:13px; line-height:1.5; color:rgba(17,17,23,.64); }

.delivery-model { margin-top:90px; }
.delivery-model-head { display:grid; grid-template-columns:1fr 1.5fr; gap:50px; align-items:end; margin-bottom:30px; }
.delivery-model-head h3 { margin:0; font:500 clamp(36px,4vw,62px)/.96 "Space Grotesk",sans-serif; letter-spacing:-.055em; }
.delivery-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:12px; align-items:stretch; }
.flow-step { background:#fffdf8; border:1px solid var(--line); border-radius:22px; padding:22px; min-height:230px; display:flex; flex-direction:column; }
.flow-step span { font:500 10px "Space Grotesk",sans-serif; opacity:.45; }
.flow-step strong { margin-top:auto; font:500 27px "Space Grotesk",sans-serif; letter-spacing:-.04em; }
.flow-step p { margin:10px 0 0; font-size:12px; line-height:1.5; color:rgba(17,17,23,.62); }
.flow-arrow { align-self:center; font-size:22px; opacity:.32; }

.partner-callout { margin-top:90px; padding:clamp(28px,4.5vw,62px); border-radius:var(--radius); background:#17171e; color:white; display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; }
.partner-callout h3 { margin:18px 0 0; font:500 clamp(40px,4.5vw,70px)/.95 "Space Grotesk",sans-serif; letter-spacing:-.06em; }
.partner-callout p { margin:0 0 16px; max-width:720px; font-size:16px; line-height:1.65; color:rgba(255,255,255,.74); }
.partner-callout strong { color:white; font-weight:500; }
.governance-note { font-size:12px !important; color:rgba(255,255,255,.47) !important; }
.text-link { display:inline-flex; justify-content:space-between; gap:30px; margin-top:18px; border-top:1px solid rgba(255,255,255,.35); padding-top:16px; font-size:13px; }

@media (max-width: 980px) {
  .impact-domain-grid { grid-template-columns:1fr; }
  .domain-agriculture { grid-column:auto; }
  .agri-feature { grid-template-columns:1fr; }
  .delivery-model-head { grid-template-columns:1fr; }
  .delivery-flow { grid-template-columns:1fr; }
  .flow-arrow { transform:rotate(90deg); justify-self:center; }
  .partner-callout { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
  .impact-platform { padding-top:100px; padding-bottom:110px; }
  .impact-domain { min-height:430px; padding:24px; }
  .agri-feature { padding:24px; }
  .agri-statements > div { grid-template-columns:28px 86px 1fr; gap:8px; }
  .delivery-model { margin-top:65px; }
  .flow-step { min-height:200px; }
  .partner-callout { margin-top:65px; padding:25px; }
}

/* 2026-10 mobile refinement + para//el identity */
.brand {
  gap: 0;
  white-space: nowrap;
}
.brand-mark {
  display: inline-block;
  color: var(--violet);
  letter-spacing: -.16em;
  margin: 0 .06em 0 .015em;
  transform: translateY(-.02em);
}
.menu-toggle {
  color: var(--violet);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 600;
  letter-spacing: -.16em;
  line-height: 1;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 0 8px 8px;
  text-align: right;
}

@media (max-width: 980px) {
  .site-header {
    height: calc(66px + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
  }
  .mobile-menu {
    inset: calc(66px + env(safe-area-inset-top)) 0 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: max(30px, env(safe-area-inset-bottom));
  }
  .menu-toggle { font-size: 26px; }
}

@media (max-width: 760px) {
  :root { --radius: 22px; }
  .section-shell { padding-left: 18px; padding-right: 18px; }

  .site-header {
    height: calc(62px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 18px 0;
  }
  .site-header.scrolled { background: rgba(243,240,232,.9); }
  .brand { font-size: 19px; }
  .menu-toggle { font-size: 25px; }
  .mobile-menu {
    inset: calc(62px + env(safe-area-inset-top)) 0 0;
    padding: 14px 18px max(30px, env(safe-area-inset-bottom));
    font-size: clamp(29px, 9vw, 38px);
    line-height: 1;
  }
  .mobile-menu a { padding: 16px 0 17px; }

  .hero {
    min-height: 100svh;
    padding-top: calc(92px + env(safe-area-inset-top));
    padding-bottom: 24px;
  }
  .hero-kicker { max-width: 270px; font-size: 11px; line-height: 1.45; }
  .hero-title {
    margin-top: 54px;
    max-width: 100%;
    font-size: clamp(49px, 14.8vw, 70px);
    line-height: .91;
    letter-spacing: -.067em;
  }
  .hero-bottom {
    margin-top: 66px;
    padding-top: 0;
    gap: 24px;
  }
  .hero-bottom p { font-size: 16px; line-height: 1.5; max-width: 34em; }
  .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; gap: 9px; }
  .button { width: 100%; min-height: 48px; padding: 14px 16px; }
  .hero-meta { margin-top: 28px; gap: 6px; }
  .hero-meta span { padding: 7px 9px; font-size: 9px; }
  .orb-one { width: 88vw; height: 88vw; right: -38vw; top: 18%; opacity: .64; }
  .orb-two { width: 58vw; height: 58vw; right: -3vw; bottom: 28%; opacity: .34; }
  .slash-monument { font-size: 250px; right: -118px; top: 29%; opacity: .32; }
  .hero-grid { background-size: 64px 64px; }

  .ticker { padding: 12px 0; font-size: 10px; letter-spacing: .1em; }

  .intro { padding-top: 92px; padding-bottom: 96px; gap: 26px; }
  .intro-copy h2 { font-size: clamp(41px, 12vw, 56px); line-height: .98; }
  .intro-copy > p { margin-top: 26px; font-size: 16px; line-height: 1.58; }
  .intro-note { margin-top: 10px; }

  .worlds, .two-doors { padding-top: 36px; padding-bottom: 96px; }
  .section-heading { gap: 22px; margin-bottom: 34px; }
  .section-heading h2 { margin-top: 13px; font-size: clamp(40px, 11.5vw, 54px); line-height: .97; }
  .section-heading > p { font-size: 15px; line-height: 1.55; }
  .world-grid { grid-template-columns: 1fr; gap: 10px; }
  .world-card {
    min-height: 0;
    height: auto;
    padding: 22px;
    gap: 58px;
  }
  .world-card h3 { font-size: clamp(36px, 10.5vw, 48px); }
  .world-desc { font-size: 13.5px; }
  .world-card::after { font-size: 165px; right: -16px; bottom: -44px; }
  .world-link { margin-top: 2px; }

  .door-grid { grid-template-columns: 1fr; gap: 10px; }
  .door { min-height: 0; padding: 24px; gap: 58px; }
  .door-number { font-size: 56px; }
  .door h3 { font-size: clamp(40px, 11vw, 52px); }
  .door p:not(.eyebrow) { font-size: 14px; }

  .format-builder { padding-top: 0; padding-bottom: 96px; gap: 38px; }
  .builder-copy h2 { font-size: clamp(39px, 11vw, 50px); line-height: .98; }
  .builder-copy p { margin-top: 22px; font-size: 15px; }
  .builder-ui { border-radius: 19px; }
  .builder-line { grid-template-columns: 78px minmax(0,1fr); gap: 10px; padding: 16px; }
  .builder-line strong { min-width: 0; font-size: 16px; overflow-wrap: anywhere; }
  .shuffle { min-height: 50px; }

  .impact-band { padding: 92px 0; }
  .impact-inner h2 { font-size: clamp(45px, 12.5vw, 59px); line-height: .94; }
  .impact-inner > p { margin: 28px 0; font-size: 16px; line-height: 1.58; }
  .impact-tags { margin-bottom: 28px; }
  .impact-tags span { padding: 8px 10px; font-size: 9px; }
  .impact-orbit { width: 120vw; height: 120vw; right: -60vw; top: -14vw; }

  .impact-platform { padding-top: 92px; padding-bottom: 100px; }
  .impact-domain-grid { gap: 10px; }
  .impact-domain {
    min-height: 0;
    height: auto;
    padding: 22px;
    gap: 44px;
  }
  .impact-domain h3 { font-size: clamp(37px, 10.5vw, 48px); line-height: .96; }
  .impact-domain p:not(.eyebrow) { font-size: 14px; line-height: 1.56; }
  .impact-domain::after { font-size: 150px; bottom: -40px; }
  .domain-tags { gap: 6px; }
  .domain-tags span { padding: 7px 9px; font-size: 9px; }

  .agri-feature { margin-top: 10px; padding: 22px; gap: 34px; }
  .agri-feature h3 { margin: 14px 0 18px; font-size: clamp(39px, 11vw, 51px); line-height: .96; }
  .agri-feature-copy > p { font-size: 14px; line-height: 1.58; }
  .agri-statements > div { grid-template-columns: 30px minmax(0,1fr); gap: 6px 10px; padding: 16px 0; }
  .agri-statements strong { font-size: 16px; }
  .agri-statements p { grid-column: 2; font-size: 13px; }

  .delivery-model { margin-top: 64px; }
  .delivery-model-head { gap: 16px; margin-bottom: 24px; }
  .delivery-model-head h3 { font-size: clamp(36px, 10.5vw, 48px); }
  .delivery-flow { gap: 7px; }
  .flow-step { min-height: 0; padding: 18px; }
  .flow-step strong { margin-top: 36px; font-size: 25px; }
  .flow-arrow { margin: 1px 0; }

  .partner-callout { margin-top: 64px; padding: 23px; gap: 30px; }
  .partner-callout h3 { font-size: clamp(37px, 10.8vw, 49px); }
  .partner-callout p { font-size: 14px; line-height: 1.58; }
  .governance-note { font-size: 11px !important; }
  .text-link { gap: 14px; overflow-wrap: anywhere; }

  .principles { padding-top: 92px; padding-bottom: 96px; }
  .principle { grid-template-columns: 30px minmax(0,1fr); gap: 10px; padding: 22px 0 24px; }
  .principle h3 { font-size: clamp(29px, 8.6vw, 38px); line-height: 1.02; }
  .principle p { grid-column: 2; font-size: 14px; }

  .manifesto { padding-top: 24px; padding-bottom: 100px; }
  .manifesto-mark { font-size: 94px; }
  .manifesto blockquote { font-size: clamp(40px, 11.8vw, 54px); line-height: 1; }
  .manifesto blockquote br { display: none; }
  .manifesto > p { margin-top: 24px; font-size: 15px; }

  .join { padding-bottom: 72px; }
  .join-card { padding: 25px 22px 26px; border-radius: 22px; gap: 40px; }
  .join-card::after { font-size: 220px; right: -35px; top: -72px; }
  .join-card h2 { font-size: clamp(48px, 14vw, 63px); }
  .join-card p { font-size: 14px; }
  .join-form input { font-size: 18px; }
  .join-form button { min-height: 50px; }
  .contact-strip { padding-top: 20px; font-size: 12px; overflow-wrap: anywhere; }

  .footer { padding-top: 48px; padding-bottom: calc(24px + env(safe-area-inset-bottom)); gap: 28px; }
  .footer-brand { font-size: 34px; }
  .footer > p { font-size: 14px; }
  .footer-meta { gap: 16px; }
  .footer-links { gap: 12px; }
}

@media (max-width: 390px) {
  .section-shell { padding-left: 16px; padding-right: 16px; }
  .site-header { padding-left: 16px; padding-right: 16px; }
  .mobile-menu { padding-left: 16px; padding-right: 16px; }
  .hero-title { font-size: clamp(46px, 14.4vw, 58px); }
  .hero-bottom { margin-top: 54px; }
  .builder-line { grid-template-columns: 1fr; gap: 6px; }
  .builder-line span { font-size: 9px; }
  .agri-statements > div { grid-template-columns: 26px minmax(0,1fr); }
}


/* 2026-10 final polish — restrained motion, richer tonal flow, accessible join CTA */
:root {
  --ivory: #f7f2e8;
  --ivory-2: #eee8dc;
  --violet-soft: #a897ff;
  --violet-deep: #4a377f;
  --shadow-soft: 0 22px 70px rgba(17,17,23,.08);
  --shadow-float: 0 30px 90px rgba(17,17,23,.13);
  --ease-out: cubic-bezier(.2,.8,.2,1);
}

body {
  background:
    radial-gradient(circle at 10% 4%, rgba(129,92,255,.055), transparent 24rem),
    radial-gradient(circle at 86% 26%, rgba(146,240,200,.07), transparent 30rem),
    var(--paper);
}

.scroll-progress {
  position: fixed;
  z-index: 120;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  pointer-events: none;
  background: transparent;
}
.scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--violet), var(--pink));
  will-change: transform;
}

.site-header {
  transition: background .4s ease, border-color .4s ease, backdrop-filter .4s ease, box-shadow .4s ease;
}
.site-header.scrolled {
  background: rgba(243,240,232,.83);
  backdrop-filter: blur(20px) saturate(1.12);
  -webkit-backdrop-filter: blur(20px) saturate(1.12);
  box-shadow: 0 10px 35px rgba(17,17,23,.045);
}
.desktop-nav a,
.nav-cta,
.contact-strip a,
.text-link,
.door a {
  transition: opacity .25s ease, color .25s ease, transform .25s var(--ease-out), border-color .25s ease;
}
.desktop-nav a:hover,
.nav-cta:hover,
.contact-strip a:hover,
.text-link:hover,
.door a:hover { opacity: 1; }
.nav-cta:hover,
.contact-strip a:hover,
.text-link:hover { transform: translateY(-1px); }

.hero::before {
  content:"";
  position:absolute;
  inset:auto -12vw -34vw auto;
  width:56vw;
  height:56vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(129,92,255,.08),transparent 67%);
  pointer-events:none;
}
.orb { will-change: transform; }
.hero-title span {
  color: #5f4c91;
  text-shadow: 0 1px 0 rgba(255,255,255,.35);
}
.hero-meta span {
  transition: background .25s ease, border-color .25s ease, transform .25s var(--ease-out);
}
.hero-meta span:hover {
  background: rgba(255,255,255,.5);
  border-color: rgba(129,92,255,.25);
  transform: translateY(-1px);
}

.button {
  position: relative;
  overflow: hidden;
  transition: transform .25s var(--ease-out), background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.button::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0 38%,rgba(255,255,255,.22) 48%,transparent 58% 100%);
  transform:translateX(-135%);
  transition:transform .6s var(--ease-out);
  pointer-events:none;
}
.button:hover::before { transform:translateX(135%); }
.button-dark:hover { box-shadow:0 12px 34px rgba(17,17,23,.16); }
.button-ghost:hover { background:rgba(255,255,255,.36); border-color:rgba(17,17,23,.4); }
.button-light:hover { background:#fff; box-shadow:0 10px 36px rgba(0,0,0,.12); }

.intro,
.worlds,
.two-doors,
.format-builder,
.impact-platform,
.principles,
.manifesto,
.join {
  position: relative;
}
.worlds::before,
.impact-platform::before,
.principles::before {
  content:"";
  position:absolute;
  top:0;
  left:clamp(22px,4vw,68px);
  right:clamp(22px,4vw,68px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(17,17,23,.12) 18%,rgba(17,17,23,.12) 82%,transparent);
}

.world-card,
.impact-domain,
.door,
.agri-feature,
.flow-step,
.partner-callout,
.builder-ui {
  isolation:isolate;
  transform:translateZ(0);
}
.world-card::before,
.impact-domain::before,
.door::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.22),transparent 36%,transparent 70%,rgba(255,255,255,.08));
  opacity:.5;
}
.world-card > *,
.impact-domain > *,
.door > * { position:relative; z-index:2; }
.world-card,
.impact-domain,
.door,
.flow-step,
.builder-ui,
.agri-feature,
.partner-callout {
  transition: transform .4s var(--ease-out), box-shadow .4s ease, border-color .3s ease;
}

/* Slightly more editorial, less fluorescent tonal palette while preserving the original character */
.world-reset { background:linear-gradient(145deg,#dfeabf,#b9ddc3 54%,#b9d8e4); }
.world-learn { background:linear-gradient(145deg,#f1dfbe,#e8b6a7 56%,#dabbd2); }
.world-media { background:linear-gradient(145deg,#b8acf2,#735de0 62%,#3c315f); color:white; }
.world-voices { background:linear-gradient(145deg,#e7b7d2,#be9cdf 56%,#8e7bd8); }
.world-impact { background:linear-gradient(145deg,#b6ded0,#85cbc4 54%,#8ebdd8); }
.door-org { background:#dce5bd; }

.builder-ui {
  background:linear-gradient(160deg,rgba(255,255,255,.56),rgba(255,255,255,.24));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 20px 70px rgba(17,17,23,.045);
}
.shuffle {
  background:linear-gradient(100deg,#6f55df,#8d73ee);
  transition:filter .25s ease, letter-spacing .25s ease;
}
.shuffle:hover { filter:brightness(1.045); letter-spacing:.01em; }

.impact-band {
  background:
    radial-gradient(circle at 78% 20%, rgba(129,92,255,.18), transparent 34rem),
    linear-gradient(150deg,#101016,#181622 68%,#16131f);
}
.impact-orbit { border-color:rgba(187,208,157,.18); animation: orbitBreath 10s ease-in-out infinite alternate; }
.impact-orbit::before { border-color:rgba(129,92,255,.24); }
@keyframes orbitBreath {
  from { transform:scale(.985) rotate(-1.5deg); opacity:.78; }
  to { transform:scale(1.025) rotate(1.5deg); opacity:1; }
}

.agri-feature {
  background:linear-gradient(150deg,rgba(255,255,255,.52),rgba(238,232,220,.5));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.flow-step { background:rgba(255,253,248,.82); }
.partner-callout {
  background:
    radial-gradient(circle at 12% 0%, rgba(129,92,255,.13), transparent 22rem),
    linear-gradient(140deg,#17171e,#1f1c29);
}

.principle {
  transition: padding-left .3s var(--ease-out), background .3s ease;
}
.principle:hover { padding-left:10px; background:linear-gradient(90deg,rgba(129,92,255,.035),transparent 48%); }
.principle:hover > span { color:var(--violet); opacity:1; }

.manifesto {
  overflow:hidden;
}
.manifesto::after {
  content:"";
  position:absolute;
  width:34vw;
  height:34vw;
  right:-13vw;
  bottom:4vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(129,92,255,.11),transparent 70%);
  pointer-events:none;
}

.join-card {
  background:
    radial-gradient(circle at 95% 0%,rgba(255,255,255,.08),transparent 25rem),
    linear-gradient(135deg,#7557e5 0%,#6249c7 48%,#2e2946 100%);
  box-shadow:0 30px 90px rgba(62,45,117,.16);
  border:1px solid rgba(255,255,255,.08);
}
.join-form input {
  border-bottom-color:rgba(255,255,255,.42);
  transition:border-color .25s ease, background .25s ease;
}
.join-form input:focus { border-bottom-color:rgba(255,255,255,.95); }
.join-form button {
  background:var(--ivory);
  color:#211c31;
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 12px 30px rgba(15,12,27,.16);
  font-weight:600;
  letter-spacing:-.01em;
  transition:transform .25s var(--ease-out), background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.join-form button:hover {
  transform:translateY(-2px);
  background:#fffdf8;
  box-shadow:0 16px 38px rgba(15,12,27,.22);
  border-color:#fff;
}
.join-form button:active { transform:translateY(0); }
.join-form button:focus-visible,
.button:focus-visible,
.shuffle:focus-visible,
.menu-toggle:focus-visible,
a:focus-visible {
  outline:2px solid var(--violet-soft);
  outline-offset:4px;
}
.contact-strip { color:rgba(17,17,23,.75); }
.contact-strip a { color:var(--violet-deep); border-bottom-color:rgba(74,55,127,.42); }

.footer {
  background:linear-gradient(180deg,#ece7dd,#e6e0d6);
}

/* A smoother reveal sequence. JS assigns --reveal-delay to each item. */
.reveal {
  opacity:0;
  transform:translate3d(0,28px,0) scale(.992);
  filter:blur(4px);
  transition:
    opacity .78s ease var(--reveal-delay,0ms),
    transform .82s var(--ease-out) var(--reveal-delay,0ms),
    filter .72s ease var(--reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
.reveal.visible { opacity:1; transform:none; filter:none; }

@media (hover:hover) and (pointer:fine) {
  .world-card:hover,
  .impact-domain:hover,
  .door:hover,
  .flow-step:hover,
  .agri-feature:hover,
  .partner-callout:hover {
    transform:translateY(-5px);
    box-shadow:var(--shadow-soft);
  }
  .world-card:hover { box-shadow:var(--shadow-float); }
}

@media (max-width:760px) {
  .worlds::before,
  .impact-platform::before,
  .principles::before { left:18px; right:18px; }
  .hero-title span { color:#66529b; }
  .principle:hover { padding-left:0; background:none; }
  .join-card { box-shadow:0 22px 60px rgba(62,45,117,.13); }
  .join-form button { min-height:52px; }
  .scroll-progress { height:2px; }
}

@media (prefers-reduced-motion: reduce) {
  .impact-orbit { animation:none; }
  .scroll-progress { display:none; }
  .button::before { display:none; }
  .reveal { opacity:1; transform:none; filter:none; }
}
