:root { --ink:#071b28; --deep:#061521; --river:#31b7e8; --river-2:#79d7f6; --foam:#edf8fb; --orange:#ff5a1f; --sand:#f2eee5; --line:rgba(255,255,255,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--sand); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
::selection { background:var(--orange); color:#fff; }

.site-header { position:absolute; inset:0 0 auto; z-index:20; height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; color:#fff; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-weight:900; letter-spacing:-.04em; font-size:22px; }
.brand small { display:block; font-size:8px; letter-spacing:.22em; font-weight:500; opacity:.62; margin-top:2px; }
.brand-logo { width:52px; height:52px; display:block; object-fit:cover; border-radius:50%; border:1px solid rgba(255,255,255,.35); }
.nav { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:700; }
.nav a { opacity:.72; transition:.2s ease; }
.nav a:hover,.nav a:focus-visible { opacity:1; color:var(--river-2); }
.nav .nav-cta { opacity:1; padding:12px 17px; border:1px solid var(--river); color:#fff; }
.menu-button { display:none; }

.hero { min-height:760px; height:100vh; position:relative; overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:4vw; padding:115px 7vw 60px; color:#fff; background:radial-gradient(circle at 72% 40%,#103d54 0,transparent 36%),linear-gradient(135deg,#04131f 0%,#082638 65%,#061822 100%); }
.hero::before { content:""; position:absolute; width:40vw; height:40vw; border:1px solid rgba(121,215,246,.16); border-radius:50%; right:-10vw; top:10vh; box-shadow:0 0 0 7vw rgba(121,215,246,.025),0 0 0 14vw rgba(121,215,246,.018); }
.hero-copy { position:relative; z-index:2; max-width:760px; }
.eyebrow,.kicker { margin:0 0 22px; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:800; }
.eyebrow { color:var(--river-2); display:flex; align-items:center; gap:10px; }
.eyebrow span { width:32px; height:2px; background:var(--orange); }
h1 { margin:0; font-size:clamp(54px,6.6vw,104px); line-height:.88; letter-spacing:-.07em; text-transform:uppercase; max-width:930px; font-weight:950; }
h1 em,h2 em { color:var(--river-2); font-style:normal; }
.hero-lead { max-width:620px; margin:30px 0 0; font-size:clamp(17px,1.5vw,22px); line-height:1.55; color:rgba(255,255,255,.68); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.hero-newsletter { max-width:650px; margin-top:34px; padding:20px; border:1px solid rgba(121,215,246,.38); background:rgba(3,23,34,.68); backdrop-filter:blur(10px); }
.hero-newsletter p { margin:0 0 14px; color:rgba(255,255,255,.72); font-size:15px; line-height:1.55; }
.hero-newsletter strong { color:#fff; }
.newsletter-form { display:flex; gap:8px; }
.newsletter-form input { min-width:0; flex:1; min-height:52px; border:1px solid rgba(255,255,255,.27); border-radius:0; background:#fff; color:var(--ink); padding:0 16px; outline:none; }
.newsletter-form input:focus { border-color:var(--river); box-shadow:0 0 0 3px rgba(49,183,232,.2); }
.newsletter-form button { min-height:52px; border:0; cursor:pointer; white-space:nowrap; }
.newsletter-form button:disabled { opacity:.65; cursor:wait; }
.newsletter-note { display:block; margin-top:10px; color:rgba(255,255,255,.48); font-size:11px; line-height:1.45; }
.newsletter-message { min-height:18px; display:block; margin-top:9px; color:var(--river-2); font-size:12px; font-weight:800; }
.button { min-height:52px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:28px; font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--orange); color:#fff; }
.button.ghost { border:1px solid rgba(255,255,255,.32); color:#fff; }

.hero-poster { aspect-ratio:4/5; max-height:68vh; width:min(420px,36vw); justify-self:center; position:relative; z-index:2; padding:25px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(150deg,rgba(49,183,232,.95),rgba(4,48,67,.97)); box-shadow:28px 28px 0 rgba(0,0,0,.22); transform:rotate(2deg); border:1px solid rgba(255,255,255,.35); }
.poster-top,.poster-bottom { display:flex; justify-content:space-between; font-weight:900; font-size:12px; letter-spacing:.14em; }
.poster-center { position:relative; display:grid; place-items:center; }
.big-r { font-size:clamp(170px,21vw,290px); line-height:.8; font-weight:950; letter-spacing:-.12em; color:var(--deep); font-style:italic; }
.paddle { position:absolute; width:9px; height:95%; border-radius:10px; background:var(--orange); transform:rotate(38deg); }
.paddle::after { content:""; position:absolute; width:30px; height:65px; border-radius:70% 70% 45% 45%; background:var(--orange); left:-10px; bottom:-25px; }
.paddle-two { transform:rotate(-38deg); background:#fff; }
.paddle-two::after { background:#fff; }
.poster-bottom { font-size:8px; }
.scroll-cue { position:absolute; z-index:2; left:5vw; bottom:28px; display:flex; align-items:center; gap:14px; text-transform:uppercase; letter-spacing:.18em; font-weight:800; font-size:9px; color:rgba(255,255,255,.55); }
.scroll-cue i { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--river); font-style:normal; }
.river-lines { position:absolute; inset:auto 0 7% 0; opacity:.13; transform:rotate(-4deg); }
.river-lines i { display:block; height:1px; background:var(--river-2); margin:13px 0; transform:skewX(-40deg); }

.statement { padding:120px 7vw; display:grid; grid-template-columns:.35fr 1.65fr; gap:5vw; background:var(--sand); }
.section-number { font-size:10px; letter-spacing:.18em; font-weight:900; color:#68747a; text-transform:uppercase; padding-top:7px; }
.kicker { color:var(--orange); margin-bottom:18px; }
h2 { margin:0; max-width:1050px; font-size:clamp(38px,4.5vw,72px); line-height:1.02; letter-spacing:-.055em; }
.statement h2 em { color:#1689b1; }
.body-large { max-width:770px; margin:35px 0 0 auto; font-size:19px; line-height:1.65; color:#526069; }
.numbers { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #c8d0d1; border-bottom:1px solid #c8d0d1; }
.numbers article { padding:40px 4vw; border-right:1px solid #c8d0d1; }
.numbers article:last-child { border-right:0; }
.numbers strong { display:block; font-size:clamp(42px,5vw,72px); letter-spacing:-.07em; color:#0e6d91; }
.numbers span { display:block; margin-top:7px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:#627078; }

.roadmap { background:var(--deep); color:#fff; padding:120px 7vw; }
.section-heading { display:grid; grid-template-columns:.35fr 1.65fr; gap:5vw; margin-bottom:70px; }
.section-heading .section-number { color:rgba(255,255,255,.45); }
.section-heading h2 { max-width:760px; }
.roadmap-track { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.2); }
.roadmap-track article { position:relative; padding:35px 25px 10px 0; min-height:250px; border-right:1px solid rgba(255,255,255,.12); }
.roadmap-track article::before { content:""; position:absolute; width:11px; height:11px; border-radius:50%; background:var(--river); top:-6px; left:0; box-shadow:0 0 0 7px rgba(49,183,232,.12); }
.roadmap-track article.gold::before { background:#efbf37; box-shadow:0 0 0 7px rgba(239,191,55,.15); }
.roadmap-track span { color:var(--river-2); font-size:12px; font-weight:900; letter-spacing:.16em; }
.roadmap-track h3 { margin:18px 0 12px; font-size:38px; letter-spacing:-.05em; }
.roadmap-track p { margin:0; max-width:250px; color:rgba(255,255,255,.55); line-height:1.6; font-size:14px; }
.roadmap-track .gold h3 { color:#efbf37; }

.proof { padding:120px 7vw; background:var(--sand); }
.light-heading .section-number { color:#68747a; }
.proof-grid { display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:1px; background:#bac5c8; border:1px solid #bac5c8; }
.result-card { background:#f7f4ed; min-height:360px; padding:35px; display:flex; flex-direction:column; }
.result-card.featured { background:#0e7498; color:#fff; }
.result-year { font-size:11px; letter-spacing:.18em; font-weight:900; color:#6d7a80; }
.featured .result-year { color:rgba(255,255,255,.65); }
.result-card strong { margin-top:auto; font-size:clamp(70px,8vw,120px); line-height:.75; letter-spacing:-.09em; }
.result-card h3 { margin:20px 0 8px; font-size:23px; }
.result-card p { margin:0; font-size:14px; line-height:1.65; color:#5b686e; }
.featured p { color:rgba(255,255,255,.7); }
.quote-card { background:var(--orange); color:#fff; justify-content:space-between; }
.quote-card p { font-size:clamp(24px,2.5vw,38px); line-height:1.15; letter-spacing:-.04em; color:#fff; font-weight:700; }
.quote-card span { font-size:10px; letter-spacing:.18em; font-weight:900; }

.river-section { position:relative; min-height:850px; overflow:hidden; display:flex; align-items:center; justify-content:flex-end; padding:110px 7vw; color:#fff; background:linear-gradient(120deg,rgba(2,21,31,.94),rgba(4,45,60,.92)),radial-gradient(circle at 10% 60%,#1fb2d5,transparent 50%); }
.river-section::before { content:""; position:absolute; inset:0; background:repeating-radial-gradient(ellipse at 5% 55%,transparent 0 28px,rgba(121,215,246,.10) 29px 30px); transform:scale(1.8); }
.river-word { position:absolute; left:-3vw; top:50%; transform:translateY(-50%) rotate(-90deg); font-size:clamp(130px,22vw,330px); font-weight:950; letter-spacing:-.09em; color:rgba(255,255,255,.035); }
.river-copy { position:relative; z-index:1; max-width:790px; }
.river-copy .section-number { color:rgba(255,255,255,.45); margin-bottom:65px; }
.river-copy h2 { font-size:clamp(44px,5vw,78px); }
.river-copy>p:not(.kicker) { max-width:650px; color:rgba(255,255,255,.6); font-size:18px; line-height:1.7; }
.impact-list { margin-top:45px; border-top:1px solid rgba(255,255,255,.18); }
.impact-list article { display:grid; grid-template-columns:70px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.impact-list>article>span { color:var(--river-2); font-size:11px; letter-spacing:.14em; font-weight:900; }
.impact-list h3 { margin:0 0 5px; font-size:22px; }
.impact-list p { margin:0; color:rgba(255,255,255,.5); line-height:1.5; }

.support { padding:120px 7vw; display:grid; grid-template-columns:1fr .9fr; gap:8vw; background:#d9eef3; }
.support-intro>p:not(.kicker) { max-width:650px; color:#53666d; font-size:18px; line-height:1.7; }
.support-intro h2 em { color:#0d769a; }
.support-panel { align-self:center; background:var(--deep); color:#fff; padding:38px; box-shadow:18px 18px 0 rgba(6,21,33,.12); }
.amount-picker { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.amount-picker button { padding:18px 10px; border:1px solid rgba(255,255,255,.18); background:transparent; color:#fff; font-weight:800; cursor:pointer; transition:.2s ease; }
.amount-picker button:hover,.amount-picker button.active { border-color:var(--river); background:rgba(49,183,232,.13); color:var(--river-2); }
.support-summary { margin-top:30px; padding-top:25px; border-top:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.support-summary small { display:block; color:rgba(255,255,255,.5); margin-bottom:5px; }
.support-summary strong { font-size:30px; }
.support-note { margin:25px 0 0; color:rgba(255,255,255,.42); font-size:11px; line-height:1.6; }
.support-note a { color:var(--river-2); text-decoration:underline; text-underline-offset:3px; }
.bank-details { margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); }
.bank-details h3 { margin:0 0 14px; font-size:15px; text-transform:uppercase; letter-spacing:.08em; }
.bank-details dl { margin:0; }
.bank-details dl div { display:grid; grid-template-columns:125px 1fr; gap:16px; padding:10px 0; border-top:1px solid rgba(255,255,255,.09); }
.bank-details dt { color:rgba(255,255,255,.48); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.bank-details dd { margin:0; color:#fff; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
.bank-details code { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; color:var(--river-2); font-size:13px; }

.sponsor-section { padding:120px 7vw; display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; color:#fff; background:var(--orange); }
.sponsor-copy h2 { max-width:760px; }
.sponsor-copy .kicker { color:var(--deep); }
.sponsor-copy>p:not(.kicker) { max-width:690px; font-size:18px; line-height:1.65; color:rgba(255,255,255,.77); }
.sponsor-copy ul { list-style:none; padding:0; margin:38px 0 0; border-top:1px solid rgba(255,255,255,.3); }
.sponsor-copy li { padding:14px 0 14px 30px; position:relative; border-bottom:1px solid rgba(255,255,255,.3); font-weight:700; }
.sponsor-copy li::before { content:"↗"; position:absolute; left:0; color:var(--deep); }
.sponsor-form { background:#fff; color:var(--ink); padding:38px; box-shadow:18px 18px 0 rgba(6,21,33,.22); }
.form-label { font-size:25px; font-weight:900; letter-spacing:-.04em; margin-bottom:25px; }
.sponsor-form label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; margin-top:18px; }
.sponsor-form input,.sponsor-form textarea { width:100%; display:block; margin-top:8px; padding:14px 0; border:0; border-bottom:1px solid #aeb8ba; background:transparent; outline:none; text-transform:none; letter-spacing:0; font-size:15px; resize:vertical; }
.sponsor-form input:focus,.sponsor-form textarea:focus { border-color:#0e7498; }
.dark-button { width:100%; margin-top:25px; border:0; background:var(--deep); color:#fff; cursor:pointer; }
.sponsor-form small { display:block; margin-top:13px; color:#788489; line-height:1.4; }
.sponsor-form .consent { display:flex; align-items:flex-start; gap:9px; text-transform:none; letter-spacing:0; font-weight:500; color:#6e7a7e; line-height:1.45; }
.consent input { width:16px; height:16px; margin:2px 0 0; flex:0 0 auto; accent-color:#0e7498; }
.button:disabled { opacity:.6; cursor:wait; }
.form-success { color:#086f78!important; font-weight:800; }
.form-error { color:#a42313!important; font-weight:800; }

.newsletter-section { padding:100px 7vw; display:grid; grid-template-columns:1fr .9fr; gap:8vw; align-items:center; color:#fff; background:linear-gradient(135deg,#05202f,#0b4f67); }
.newsletter-section h2 { max-width:820px; }
.newsletter-section .kicker { color:var(--river-2); }
.newsletter-section p { max-width:720px; color:rgba(255,255,255,.67); font-size:18px; line-height:1.65; }
.newsletter-card { padding:34px; background:#fff; color:var(--ink); box-shadow:16px 16px 0 rgba(0,0,0,.17); }
.newsletter-card h3 { margin:0 0 8px; font-size:28px; letter-spacing:-.04em; }
.newsletter-card>p { margin:0 0 20px; color:#5d6b71; font-size:14px; line-height:1.55; }
.newsletter-card .newsletter-form input { border-color:#aeb8ba; }
.newsletter-card .newsletter-note { color:#6e7a7e; }
.newsletter-card .newsletter-message { color:#086f78; }
.newsletter-card a { text-decoration:underline; text-underline-offset:3px; }

footer { padding:45px 5vw; display:grid; grid-template-columns:1fr 1.3fr 1fr; align-items:center; gap:30px; background:var(--deep); color:#fff; }
.footer-center { display:flex; flex-direction:column; text-align:center; gap:7px; }
.footer-center strong { font-size:14px; }
.footer-center span { color:rgba(255,255,255,.42); font-size:10px; }
.footer-links { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:20px; font-size:11px; font-weight:700; color:rgba(255,255,255,.65); }
.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; }

@media (max-width:900px) {
  .site-header { height:74px; padding:0 22px; }
  .brand-logo { width:46px; height:46px; }
  .menu-button { display:flex; flex-direction:column; gap:6px; background:none; border:0; padding:12px; }
  .menu-button span { width:25px; height:2px; background:#fff; }
  .nav { display:none; position:absolute; top:74px; left:0; right:0; padding:24px; background:#061521; flex-direction:column; align-items:flex-start; }
  .nav.open { display:flex; }
  .hero { grid-template-columns:1fr; height:auto; min-height:100vh; padding:130px 24px 70px; }
  .hero-poster { width:min(78vw,360px); max-height:none; margin:30px auto 40px; }
  .statement,.section-heading { grid-template-columns:1fr; }
  .statement { padding:80px 24px; }
  .body-large { margin-left:0; }
  .numbers { grid-template-columns:repeat(2,1fr); }
  .numbers article:nth-child(2) { border-right:0; }
  .numbers article:nth-child(-n+2) { border-bottom:1px solid #c8d0d1; }
  .roadmap { padding:80px 24px; }
  .roadmap-track { grid-template-columns:1fr 1fr; border-top:0; }
  .roadmap-track article { border-top:1px solid rgba(255,255,255,.2); }
  .proof { padding:80px 24px; }
  .proof-grid { grid-template-columns:1fr; }
  .result-card { min-height:300px; }
  .river-section { padding:80px 24px; }
  .river-copy { max-width:100%; }
  .support,.sponsor-section,.newsletter-section { grid-template-columns:1fr; padding:80px 24px; }
  .support-panel { box-shadow:10px 10px 0 rgba(6,21,33,.12); }
  footer { grid-template-columns:1fr; text-align:left; }
  .footer-center { text-align:left; }
  .footer-links { justify-content:flex-start; }
}
@media (max-width:540px) {
  .hero { padding-top:112px; }
  h1 { font-size:49px; }
  .hero-poster { box-shadow:14px 14px 0 rgba(0,0,0,.22); }
  .numbers article { padding:30px 24px; }
  .roadmap-track { grid-template-columns:1fr; }
  .roadmap-track article { min-height:190px; border-right:0; }
  .support-panel,.sponsor-form,.newsletter-card { padding:26px 22px; }
  .newsletter-form { flex-direction:column; }
  .newsletter-form button { width:100%; }
  .support-summary { align-items:flex-start; flex-direction:column; }
  .support-summary .button { width:100%; }
  .bank-details dl div { grid-template-columns:1fr; gap:5px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
