:root {
  --ink:#171717;
  --paper:#fffaf0;
  --coral:#ff6f67;
  --peach:#ffab78;
  --yellow:#fff27b;
  --aqua:#72efd2;
  --orange:#ff8a1d;
  --magenta:#e90069;
  --violet:#a746ee;
  --green:#99c20b;
  --shadow: 8px 9px 0 var(--ink);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden;background:linear-gradient(110deg,#ff686d 0%,#ffae82 42%,#fff482 100%)}
body::selection{background:var(--ink);color:var(--yellow)}
a{color:inherit}
.progress{position:fixed;z-index:90;inset:0 0 auto;height:5px;background:#ffffff55}
.progress span{display:block;width:0;height:100%;background:var(--ink)}
.ambient{display:none}
.ambient-a{width:38vw;height:38vw;left:-10vw;top:18vh;background:#ff3b7b}
.ambient-b{width:42vw;height:42vw;right:-10vw;bottom:-15vh;background:#fff968}

.topbar{position:fixed;z-index:70;top:20px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.brand,.anniversary{pointer-events:auto;background:#fff;border:1.5px solid var(--ink);box-shadow:5px 6px 0 var(--ink);border-radius:999px;text-decoration:none;font-weight:800}
.brand{display:flex;align-items:center;gap:8px;padding:9px 18px}
.brand-plus{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--orange);color:#fff;font-size:24px;line-height:1}
.anniversary{display:flex;gap:8px;align-items:center;padding:7px 16px}
.anniversary b{font:24px/1 "Archivo Black",sans-serif}.anniversary span{font-size:9px;line-height:1.05;letter-spacing:.08em}

.dock{position:fixed;z-index:80;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:min(930px,92vw);padding:9px;background:#fff;border:1.5px solid var(--ink);border-radius:999px;box-shadow:0 7px 0 var(--ink)}
.dock-menu{border:0;border-radius:50%;width:42px;height:42px;background:var(--ink);color:#fff;font-size:28px;cursor:pointer;transition:.3s}
.dock-menu.open{transform:rotate(45deg);background:var(--coral)}
.dock-links{display:flex;align-items:center;justify-content:space-around;flex:1}
.dock-links a{text-decoration:none;font-weight:700;font-size:12px;opacity:.56;transition:.25s}
.dock-links a:hover,.dock-links a.active{opacity:1;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.dock-count{font-size:12px;padding-right:12px}.dock-count b{font-size:17px}

.scene{position:relative;min-height:100vh;padding:110px 6vw 120px;overflow:hidden}
.chapter-label{position:relative;z-index:3;display:inline-flex;padding:8px 14px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;box-shadow:4px 5px 0 var(--ink)}
.chapter-label.light{border-color:#fff;color:#fff;background:transparent;box-shadow:4px 5px 0 #ffffff55}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
h1,h2{font-family:"Archivo Black",sans-serif;letter-spacing:-.065em;margin:0;line-height:.88}
.reveal{opacity:0;transform:translateY(45px) rotate(.4deg);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.75,.15,1)}
.reveal.visible{opacity:1;transform:none}

.hero{display:flex;align-items:center;min-height:100svh}
.hero-copy{position:relative;z-index:2;width:58%}
.hero h1{font-size:clamp(62px,9.5vw,155px);margin:18px 0 28px}.hero h1 span{color:#fff;text-shadow:7px 7px 0 var(--ink)}
.hero-copy p{font-size:clamp(22px,3vw,45px);font-weight:800;line-height:1.05;margin:0}
.hero-art{position:absolute;right:0;top:0;width:48%;height:100%}
.plus-3d{position:absolute;z-index:4;top:31%;left:40%;font:clamp(130px,18vw,290px)/.7 "Archivo Black";color:var(--coral);transform:rotate(10deg);text-shadow:12px 14px 0 var(--ink);animation:float 4s ease-in-out infinite}
.stage{position:absolute;left:20%;bottom:17%;width:62%;height:18%;border-radius:50%;border:2px solid var(--ink);background:linear-gradient(#fff58c,#ffa070);box-shadow:10px 13px 0 var(--ink)}
.orb{position:absolute;border:2px solid var(--ink);border-radius:50%;box-shadow:8px 9px 0 var(--ink)}
.orb-coral{width:80px;height:80px;top:20%;left:12%;background:var(--coral)}
.orb-aqua{width:105px;height:105px;right:8%;bottom:26%;background:var(--aqua)}
.spark{position:absolute;font-size:55px;animation:pulse 2.2s infinite}.spark-one{right:8%;top:18%}.spark-two{left:10%;bottom:28%;font-size:30px}
.paper-plane{position:absolute;right:11%;top:44%;font-size:90px;color:var(--violet);transform:rotate(-15deg);text-shadow:6px 7px 0 var(--ink)}
.scroll-cue{position:absolute;bottom:115px;left:6vw;display:flex;align-items:center;gap:14px;font-size:11px;font-weight:800;letter-spacing:.14em}.scroll-cue b{display:grid;place-items:center;width:38px;height:38px;background:#fff;border:1px solid;border-radius:50%;box-shadow:3px 4px 0 var(--ink)}

.chapter{background:linear-gradient(115deg,#ff726d,#ffb57d 45%,#fff486)}
.chapter-one{min-height:125vh}
.statement{position:relative;z-index:2;margin-top:10vh;max-width:900px}
.kicker{font-size:clamp(18px,2vw,30px);font-weight:700}
.statement h2{font-size:clamp(58px,9vw,145px)}
mark{display:inline-block;background:var(--aqua);color:var(--ink);border:2px solid var(--ink);border-radius:18px;padding:2px 12px;box-shadow:8px 9px 0 var(--ink);transform:rotate(-1deg)}
.orbit-system{position:absolute;width:470px;height:470px;right:3vw;bottom:13%;border-radius:50%}
.orbit{position:absolute;inset:12%;border:1.5px dashed var(--ink);border-radius:50%;animation:spin 18s linear infinite}.orbit-two{inset:26%;animation-direction:reverse;animation-duration:12s}
.orbit-core{position:absolute;inset:36%;display:grid;place-items:center;background:var(--yellow);border:2px solid;border-radius:50%;box-shadow:8px 9px 0 var(--ink);font:100px/1 "Archivo Black"}
.orbit-item{position:absolute;padding:8px 13px;background:#fff;border:1px solid;border-radius:999px;font-size:11px;font-weight:800;box-shadow:3px 4px 0 var(--ink)}
.oi-1{left:4%;top:16%}.oi-2{right:5%;top:12%}.oi-3{right:-3%;top:48%}.oi-4{right:8%;bottom:7%}.oi-5{left:6%;bottom:8%}.oi-6{left:-6%;top:50%}
.closing-line{position:absolute;bottom:8%;left:6vw;max-width:560px;font-size:22px;font-weight:700}

.chapter-two{background:var(--paper);min-height:120vh}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:center;margin-top:12vh}
.chapter-two h2{font-size:clamp(65px,9vw,145px)}.chapter-two h2 span{color:var(--coral);text-shadow:7px 8px 0 var(--ink)}
.chapter-two .statement p{font-size:22px;max-width:600px}
.meaning-wheel{position:relative;aspect-ratio:1;max-width:530px;border:2px solid;border-radius:50%;background:var(--yellow);box-shadow:15px 17px 0 var(--ink);animation:float 5s ease-in-out infinite}
.wheel-center{position:absolute;inset:30%;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-family:"Archivo Black";font-size:25px}
.meaning-wheel span{position:absolute;font-size:12px;font-weight:800;background:#fff;border:1px solid;padding:8px 12px;border-radius:999px;box-shadow:3px 4px 0 var(--ink)}
.meaning-wheel span:nth-of-type(1){left:38%;top:6%}.meaning-wheel span:nth-of-type(2){right:-3%;top:30%}.meaning-wheel span:nth-of-type(3){right:4%;bottom:19%}.meaning-wheel span:nth-of-type(4){left:34%;bottom:5%}.meaning-wheel span:nth-of-type(5){left:-7%;bottom:25%}.meaning-wheel span:nth-of-type(6){left:-4%;top:27%}
.big-caption{position:absolute;bottom:8%;left:-1%;white-space:nowrap;font-family:"Archivo Black";font-size:9.4vw;letter-spacing:-.07em;color:#ece4d8}

.chapter-three,.finale{background:var(--ink);color:#fff}
.chapter-three{min-height:125vh}
.manifesto{margin-top:8vh}.manifesto p{font-size:24px}.manifesto h2{font-size:clamp(58px,8.5vw,136px)}.manifesto .accent{color:var(--yellow);margin-left:15vw}
.voice-card{position:absolute;right:6vw;bottom:11%;width:min(460px,40vw);padding:28px;background:var(--aqua);border:2px solid #fff;border-radius:28px;color:var(--ink);box-shadow:11px 12px 0 var(--coral);transform:rotate(2deg)}
.voice-card span{font:22px "Archivo Black"}.voice-card p{font-size:18px;line-height:1.4}
.people-ribbon{position:absolute;left:-2%;bottom:5%;font-size:75px;letter-spacing:35px;color:var(--coral);opacity:.35}

.chapter-four{min-height:165vh}
.section-head{display:flex;align-items:end;gap:4vw;margin:7vh 0}.section-head h2{font-size:clamp(75px,11vw,170px)}.section-head h2 span{color:#fff;text-shadow:8px 9px 0 var(--ink)}.section-head p{font-size:22px;font-weight:700;max-width:430px}
.program-track{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.program-card{min-height:250px;padding:28px;border:2px solid;border-radius:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;transition:.35s}
.program-card:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:14px 17px 0 var(--ink)}
.program-card b{font:27px "Archivo Black"}.program-card span{font-size:22px;font-weight:800;margin:10px 0}.program-card small{font-size:15px}
.aqua{background:var(--aqua)}.magenta{background:#ff69b0}.yellow{background:var(--yellow)}.orange{background:var(--orange)}.green{background:#b9dc49}.violet{background:#c87cff}

.chapter-five{background:var(--paper);min-height:140vh}
.intentions{display:grid;grid-template-columns:.95fr 1.05fr;gap:6vw;margin-top:10vh}.intentions h2{font-size:clamp(55px,7vw,110px)}
.question-list{list-style:none;margin:0;padding:0;border-top:2px solid}.question-list li{display:flex;align-items:center;gap:18px;padding:18px 8px;border-bottom:2px solid;font-size:21px;font-weight:700}.question-list span{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:var(--coral);border:1px solid;font-size:11px}
.ownership{margin:11vh 0 0;text-align:center;font:clamp(54px,9vw,140px)/.9 "Archivo Black";letter-spacing:-.07em;color:var(--coral);text-shadow:7px 8px 0 var(--ink)}

.chapter-six{min-height:170vh}
.campaign-title{margin-top:8vh}.territories{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:8vh}
.territory{background:#fff;border:2px solid;border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.territory img{width:100%;aspect-ratio:1.35;object-fit:cover}.territory div{padding:22px}.territory b{font:24px "Archivo Black"}.territory p{font-size:16px;line-height:1.35}
.logo-marquee{position:absolute;bottom:8%;left:0;width:100%;overflow:hidden;transform:rotate(-2deg);background:var(--ink);border-block:2px solid;padding:18px 0}
.logo-marquee div{display:flex;width:max-content;gap:30px;animation:marquee 26s linear infinite}.logo-marquee img{width:260px;height:130px;object-fit:cover;background:#fff;border-radius:15px}

.finale{min-height:135vh}.final-copy{margin-top:8vh;position:relative;z-index:2}.final-copy>p:first-child{font-size:24px}.final-copy h2{font-size:clamp(75px,12vw,190px);color:var(--coral)}.final-purpose{font-size:clamp(20px,2.5vw,38px);font-weight:700;max-width:680px}
.final-logo{position:absolute;right:4vw;top:20%;width:38vw;transform:rotate(3deg)}.final-logo img{width:100%;border-radius:30px;box-shadow:14px 17px 0 var(--orange)}
.final-line{position:absolute;bottom:10%;left:6vw;font:clamp(35px,5vw,78px)/.96 "Archivo Black";letter-spacing:-.05em}.final-line span{color:var(--yellow)}

@keyframes float{50%{transform:translateY(-18px) rotate(4deg)}}@keyframes pulse{50%{transform:scale(1.3) rotate(20deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}

@media (max-width:900px){
  .scene{padding-inline:5vw}.hero-copy{width:100%;align-self:flex-start;margin-top:14vh}.hero-art{width:80%;height:50%;top:auto;bottom:5%}.plus-3d{left:45%}.hero h1{font-size:17vw}
  .dock{width:88vw}.dock-links{display:none;position:absolute;left:0;right:0;bottom:66px;flex-direction:column;align-items:stretch;background:#fff;border:1.5px solid;border-radius:24px;box-shadow:7px 8px 0;padding:12px}.dock-links.open{display:flex}.dock-links a{padding:10px 15px}
  .split,.intentions{grid-template-columns:1fr}.meaning-wheel{width:80vw;margin:5vh auto}.orbit-system{opacity:.35;right:-35%;bottom:4%}.closing-line{bottom:9%;width:80%}
  .manifesto .accent{margin-left:0}.voice-card{position:relative;right:auto;bottom:auto;width:90%;margin:8vh 0}.program-track,.territories{grid-template-columns:1fr}.chapter-four,.chapter-six{min-height:auto;padding-bottom:250px}.final-logo{opacity:.22;width:80vw;top:40%;right:-10%}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
