:root{--blue:#004c91;--bright:#0054a1;--ink:#073969;--paper:#f5f8fb;--line:#c9d9e8;--lime:#def58b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Satoshi,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #c67827;outline-offset:5px}header{height:92px;padding:0 5%;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);background:#fff}.wordmark{font-size:49px;letter-spacing:-4px;font-weight:700;color:var(--blue);text-decoration:none;line-height:1}.wordmark span{font-size:15px;letter-spacing:0;vertical-align:top}.claim{font-size:12px;font-weight:700;letter-spacing:.12em}.demo-tag{margin-left:auto;border:1px solid var(--line);border-radius:30px;padding:7px 13px;font-size:12px;letter-spacing:.08em}main{max-width:1200px;margin:auto;display:grid;grid-template-columns:43% 57%;padding:0 40px 140px}.intro{position:sticky;top:48px;align-self:start;padding:58px 48px 20px 0}.eyebrow,.map-heading,.map-end{font-size:12px;letter-spacing:.15em;font-weight:700}h1{font:500 clamp(46px,5.5vw,76px)/1.01 Fraunces,Georgia,serif;letter-spacing:-.05em;margin:22px 0}h1 em{font-weight:400}p{color:#496681}.summary{margin-top:38px;border-top:1px solid var(--line);padding-top:22px}.summary>span{font-size:14px}.count{display:flex;align-items:baseline;gap:10px;margin:8px 0}.count strong{font:400 52px Fraunces,Georgia,serif}.count span{color:#58728c;font-size:14px}progress{display:block;width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--blue)}progress::-moz-progress-bar{background:var(--blue)}.summary p{font-size:14px}.text-button{background:none;border:0;padding:10px 0;color:var(--blue);font-size:14px}.intro>.text-button{border-bottom:1px solid var(--line);width:100%;text-align:left;font-weight:700}#reward-count{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e1eaf3;margin-left:8px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-top:22px;color:#526d85}.desktop-note{margin-top:50px;font:26px/1.25 Fraunces,Georgia,serif}.journey{border-left:1px solid var(--line);background:radial-gradient(ellipse at 60% 15%,#e5edf6,transparent 40%);min-width:0}.map-heading{padding:24px;display:flex;align-items:center;justify-content:space-between;font-size:10px}.map-heading button{font-size:12px}.map{position:relative;height:1800px;max-width:500px;margin:auto}.route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.route path{fill:none;stroke:#d1dfec;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}#travelled{stroke:var(--blue);stroke-width:3;transition:stroke-dashoffset .8s}.node{position:absolute;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:1px solid #b7cde1;background:var(--paper);color:var(--blue);box-shadow:0 5px 0 #dce6ef;z-index:2;display:grid;place-items:center;font-size:20px}.node.reward{width:76px;height:76px;border-radius:24px;transform:translate(-50%,-50%) rotate(-8deg)}.node.reward .symbol{transform:rotate(8deg)}.node.completed{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 5px 0 #00386b}.node.current{background:var(--lime);border-color:#a9c751;box-shadow:0 0 0 9px #def58b40,0 5px 0 #a8bd74}.node .label{position:absolute;left:calc(100% + 23px);top:50%;transform:translateY(-50%);text-align:left;width:145px;font-size:15px;color:var(--ink);line-height:1.2;font-weight:700;pointer-events:none}.node.right .label{left:auto;right:calc(100% + 23px);text-align:right}.node.reward .label{transform:translateY(-50%) rotate(8deg)}.node .label small{display:block;font-size:11px;font-weight:500;margin:6px 0;color:#557189;letter-spacing:.03em}.node.current .label small{color:#326414}.node.locked .label{color:#536f87}#mocky{position:absolute;width:130px;height:130px;object-fit:contain;z-index:4;transform:translate(-50%,-94%);pointer-events:none;filter:drop-shadow(0 10px 8px #004c9120);transition:left .85s cubic-bezier(.22,.7,.25,1),top .85s cubic-bezier(.22,.7,.25,1)}.chapter{position:absolute;font-size:10px;letter-spacing:.14em;color:#54728c;line-height:1.6;left:9%;top:395px;pointer-events:none}.chapter em{font:19px Fraunces,Georgia,serif;letter-spacing:0}.c2{top:930px;left:55%}.c3{top:1475px;left:8%}.map-end{text-align:center;padding:22px;font-size:10px}.controls{position:fixed;bottom:0;left:0;right:0;background:#ffffffef;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:16px max(24px,calc((100vw - 1100px)/2)) calc(16px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;z-index:10}.controls>div{margin-right:auto}.controls>div span{display:block}#control-note{font-size:14px;color:#58728c;margin-top:3px}.primary{background:var(--blue);color:#fff;border:0;border-radius:40px;padding:15px 25px;min-height:52px;font-weight:700;display:flex;gap:35px;align-items:center;justify-content:space-between}.primary:hover{background:#003c73}.secondary{border:1px solid var(--line);background:white;border-radius:50%;width:52px;height:52px;color:var(--blue)}.reset{background:none;color:#486580;border:0;font-size:12px;padding:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{border:1px solid var(--line);border-radius:25px;padding:40px;max-width:440px;width:calc(100% - 28px);color:var(--ink);box-shadow:0 30px 120px #00294a30}dialog::backdrop{background:#001c3d77;backdrop-filter:blur(4px)}dialog h2{font:400 36px/1.12 Fraunces,Georgia,serif;letter-spacing:-.03em}dialog .close{position:absolute;right:14px;top:10px;border:0;background:none;color:var(--blue);font-size:28px;width:44px;height:44px}dialog .primary{width:100%;margin-top:25px}.reward-symbol{font:56px Fraunces,Georgia,serif}.collection-item{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:16px 0;color:var(--blue)}.notice{font-size:12px;color:#526a7e}.arrival{animation:arrive .7s ease-out}@keyframes arrive{50%{box-shadow:0 0 0 22px #def58b66}}@media(max-width:760px){header{height:74px;padding:0 22px;gap:15px}.wordmark{font-size:40px}.claim{display:none}.demo-tag{font-size:10px}main{display:block;padding:0 0 150px}.intro{position:static;padding:28px 24px 22px}h1{font-size:48px;margin:12px 0}h1 br{display:none}.intro>p{font-size:15px;margin:12px 0}.intro>p br{display:none}.summary{margin-top:22px;padding-top:14px;position:relative}.count{position:absolute;right:0;top:4px;margin:0}.count strong{font-size:30px}.count span{font-size:12px}.summary>span{display:block;max-width:65%;min-height:36px;font-size:12px}progress{margin-top:7px}.summary p{margin-bottom:4px}.legend{margin-top:12px;gap:14px;font-size:11px}.desktop-note{display:none}.journey{border-left:0;border-top:1px solid var(--line)}.map-heading{padding:12px 24px}.map{margin-top:24px}.node .label{width:127px;font-size:14px}.controls{padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px}.controls>div{width:100%;display:flex;justify-content:space-between;align-items:center}.controls>div span{font-size:10px}#control-note{font-size:11px;margin:0}.primary{flex:1;gap:12px;padding:14px 20px}.reset{padding:12px 6px;font-size:11px}.secondary{width:46px;height:46px}dialog{padding:32px 25px;border-radius:25px 25px 0 0;margin:auto auto 0;max-width:550px;width:100%;max-height:85dvh}.map{max-width:430px}#mocky{width:120px;height:120px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.intro{padding:20px 24px 16px}h1{font-size:42px;margin:10px 0}.summary{margin-top:16px;padding-top:12px}.intro>p{margin:8px 0}.legend{margin-top:8px}.controls #advance{font-size:14px;padding:14px 16px;gap:8px}.map{margin-top:0}}
/* Scoped to the approved manifesto and final-reward teaser. */
#sheet.manifesto p{margin:1.8em 0;line-height:1.7}
.box-silhouette{width:140px;height:100px;margin:28px auto;background:linear-gradient(160deg,var(--blue),#073969 65%,transparent);border-radius:4px;box-shadow:12px 12px 0 #004c9115}

.wordmark{display:block;position:relative;width:1.9em;height:1.4em;flex-shrink:0}.wordmark img{position:absolute;width:2.8em;height:2.8em;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
