.hero-art{--hx:0;--hy:0;--sy:0;position:absolute;top:0;right:0;bottom:0;width:72%;z-index:-2;overflow:hidden;container-type:size;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%);mask-image:linear-gradient(90deg,transparent,#000 14%)}.hero-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--forest) 1%,#081711e0 13%,#08171145 42%,transparent 64%),linear-gradient(0deg,var(--forest) 0,transparent 22%,transparent 78%,#08171135 100%)}.hero-scene{--focus-x:.54;--focus-y:.12;--scene-w:max(100cqw,66.667cqh);position:absolute;width:var(--scene-w);height:calc(var(--scene-w) * 1.5);left:calc((100cqw - var(--scene-w)) * var(--focus-x));top:calc((100cqh - var(--scene-w) * 1.5) * var(--focus-y));transform-origin:50% 12%;scale:1.06;transform:translate3d(calc(var(--hx) * -10px),calc(var(--hy) * -8px + var(--sy) * .08px),0);animation:scene-settle 2.6s cubic-bezier(.2,.7,.2,1) both}.hero-scene img{object-fit:cover;opacity:.85}.hero-lights{position:absolute;inset:0}.hero-light{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:max(7px,calc(var(--s) * 1%));aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#fff3cf 0,#f0cf85 16%,#c5a36b59 40%,#c5a36b00 70%);mix-blend-mode:screen;animation:light-flicker calc(var(--d) * 1s) ease-in-out calc(var(--delay) * -1s) infinite alternate}.light-lantern{background:radial-gradient(circle,#fff6da 0,#f3d692 9%,#d9b56f70 26%,#c5a36b1f 48%,#c5a36b00 68%);animation-name:lantern-flicker}.light-reflection{aspect-ratio:.32;background:radial-gradient(ellipse,#f0cf8599 0,#c5a36b33 40%,#c5a36b00 70%);animation-name:reflection-shimmer}.light-moon{background:radial-gradient(circle,#f0e6d22e 0,#ddc49917 38%,#ddc49900 70%);animation-name:moon-breathe}.hero-mist{position:absolute;left:-25%;width:150%;height:30%;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse 28% 42% at 28% 50%,#b7c2b324,#b7c2b300 70%),radial-gradient(ellipse 34% 50% at 68% 44%,#b7c2b31c,#b7c2b300 70%);transform:translate3d(calc(var(--hx) * -18px),calc(var(--hy) * -10px + var(--sy) * .04px),0);animation:mist-drift 80s ease-in-out infinite alternate}.mist-one{top:30%}.mist-two{top:56%;height:36%;opacity:.8;animation-duration:110s;animation-direction:alternate-reverse}.hero-fireflies{position:absolute;inset:0;pointer-events:none;transform:translate3d(calc(var(--hx) * -28px),calc(var(--hy) * -16px),0)}.hero-firefly{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:3px;height:3px;border-radius:50%;background:#f6e3ae;box-shadow:0 0 6px 2px #ddc49980,0 0 16px 5px #c5a36b33;opacity:0;animation:firefly-drift calc(var(--d) * 1s) ease-in-out calc(var(--delay) * -1s) infinite alternate,firefly-blink calc(var(--d) * .37s) ease-in-out calc(var(--delay) * -1s) infinite}.hero-copy>.public-actions,.hero-description,.hero-footnote,.hero-line,.hero-scroll-cue{animation:hero-rise 1s cubic-bezier(.2,.7,.2,1) both}.hero-line{display:inline-block}.hero-line.line-1{animation-delay:.12s}.hero-line.line-2{animation-delay:.26s}.hero-line.line-3{animation-delay:.38s}.hero-description{animation-delay:.56s}.hero-copy>.public-actions{animation-delay:.68s}.hero-footnote{animation-delay:.8s}.hero-scroll-cue{position:absolute;right:4%;bottom:46px;display:flex;flex-direction:column;align-items:center;gap:16px;color:#b9a073;animation-delay:1.1s}.hero-scroll-cue span{writing-mode:vertical-rl}.hero-scroll-cue i{position:relative;width:1px;height:64px;background:#c5a36b40;overflow:hidden}.hero-scroll-cue i:after{content:"";position:absolute;left:-1px;top:-20px;width:3px;height:20px;background:linear-gradient(#ddc49900,#ddc499);animation:cue-fall 2.4s cubic-bezier(.6,0,.3,1) 1.6s infinite}@keyframes hero-rise{0%{opacity:0;translate:0 18px;filter:blur(6px)}}@keyframes scene-settle{0%{scale:1.13}}@keyframes light-flicker{0%{opacity:.55}40%{opacity:1}55%{opacity:.78}to{opacity:.95}}@keyframes lantern-flicker{0%{opacity:.78;scale:.94}20%{opacity:1;scale:1.03}35%{opacity:.86;scale:.98}60%{opacity:1;scale:1}80%{opacity:.9;scale:.96}to{opacity:1;scale:1.02}}@keyframes reflection-shimmer{0%{opacity:.5;scale:.8 1}50%{opacity:.95;scale:1.25 .9}to{opacity:.65;scale:.95 1.06}}@keyframes moon-breathe{0%{opacity:.6;scale:.96}to{opacity:1;scale:1.04}}@keyframes mist-drift{0%{translate:-8% 0}to{translate:8% 0}}@keyframes firefly-drift{to{translate:calc(var(--dx) * 1px) calc(var(--dy) * 1px)}}@keyframes firefly-blink{0%,to{opacity:0}35%,65%{opacity:.9}}@keyframes cue-fall{to{translate:0 84px}}@media(min-width:1500px){.hero-art{width:75%}}@media(max-width:1100px){.hero-art{width:73%}.hero-scene{--focus-x:.61}}@media(max-width:760px){.public-site .public-hero{padding-bottom:64px}.hero-art{width:100%;opacity:.6;-webkit-mask-image:none;mask-image:none}.hero-scene{--focus-x:.72;--focus-y:.04}.hero-art:after{background:linear-gradient(90deg,#081711f2 0,#081711b8 55%,#08171166 100%),linear-gradient(0deg,var(--forest) 0,transparent 26%,transparent 88%,var(--forest) 100%)}.hero-scroll-cue{display:none}}.mechanism-story{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:48px;align-items:start}.story-map{position:sticky;top:max(24px,calc(50vh - 250px));z-index:2}.story-frame{position:relative;border:1px solid var(--line);background:linear-gradient(125deg,#13281e,#0c1b14 64%)}.mechanism-topline{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0;color:#879786}.mechanism-topline span:last-child{color:var(--gold)}.map-canvas{position:relative;margin:0 10px}.kingdom-map{display:block;width:100%;height:auto;color:var(--gold)}.map-orbit{stroke:#b9985c26;stroke-width:.7;stroke-dasharray:2 6}.map-orbit.faint{stroke:#b9985c14;stroke-dasharray:none}.map-route{stroke:#c5a36b40;stroke-width:1.1}.map-trail-glow,.map-trail-line{stroke-dasharray:1 1;stroke-linecap:round}.map-trail-line{stroke:#e2c68c;stroke-width:2}.map-trail-glow{stroke:#c5a36b;stroke-width:8;stroke-opacity:.14}.map-coin .coin-face{fill:#d9b774;stroke:#f6e3ae;stroke-width:1}.map-coin .coin-rim{fill:none;stroke:#8a6c3a;stroke-width:1}.map-stage{stroke:#a79164;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}.map-node{fill:#102219;stroke:#9f865b55;transition:fill .6s,stroke .6s,opacity .8s}.map-node-halo{stroke:#c5a36b00;fill:none;transition:stroke .6s}.map-stage.visited{stroke:#c9ad74}.map-stage.selected{stroke:#eed3a0}.map-stage.selected .map-node{fill:#253824;stroke:#d2b579}.map-stage.selected .map-node-halo{stroke:#c5a36b66;animation:node-glow 3s ease-in-out infinite}.map-label{position:absolute;translate:-50% 0;white-space:nowrap;color:#a5ad97;text-shadow:0 0 3px #0e1e16,0 0 6px #0e1e16,0 0 10px #0e1e16,0 0 14px #0e1e16;pointer-events:none;transition:color .5s,opacity .8s}.map-label.selected{color:#ead4af}.map-label-center{color:#b6a078;transition:color 1.2s,opacity .8s}.map-center{stroke:#bc9e6480;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;transition:stroke 1.2s}.citadel-lights{fill:#f0cf85;stroke:none;opacity:0;transition:opacity 1.2s}.citadel-glow{stroke:none;opacity:0;transition:opacity 1.6s}.citadel-flag{transform-box:fill-box;transform-origin:left center}.is-complete .map-center{stroke:#dcc08a}.is-complete .map-label-center{color:var(--soft-gold)}.is-complete .citadel-glow{opacity:1}.is-complete .citadel-lights{opacity:1;animation:citadel-flicker 3.2s ease-in-out 1.2s infinite alternate}.is-complete .citadel-flag{animation:flag-wave 1.8s ease-in-out infinite alternate}.draw-hidden .map-center>path,.draw-hidden .map-stage path,.draw-in .map-center>path,.draw-in .map-stage path{stroke-dasharray:1 1}.draw-hidden .map-center>path,.draw-hidden .map-stage path{stroke-dashoffset:1}.draw-hidden .map-label,.draw-hidden .map-node{opacity:0}.draw-in .map-center>path,.draw-in .map-stage path{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.6,0,.2,1) calc(var(--i,0) * .14s)}.draw-in .map-label,.draw-in .map-node{transition-delay:calc(var(--i,0) * .14s)}.mechanism-tabs{display:grid;grid-template-columns:repeat(5,1fr);padding:0 16px;border-top:1px solid var(--line)}.mechanism-story .mechanism-tabs button{position:relative;margin:0 6px;padding:15px 0 18px;border:0;background:transparent;color:#879987;text-align:left;cursor:pointer;transition:color .3s}.mechanism-tabs button:after,.mechanism-tabs button:before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px}.mechanism-tabs button:before{background:#c5a36b1f}.mechanism-tabs button:after{background:var(--gold);scale:var(--fill,0) 1;transform-origin:left}.mechanism-tabs button>span{display:block;margin-bottom:4px;color:#7e8b77}.mechanism-tabs button:hover{color:var(--paper)}.mechanism-tabs button[aria-current]{color:var(--soft-gold)}.mechanism-tabs button[aria-current]>span{color:var(--gold)}.story-steps{list-style:none;margin:0;padding:0 0 52vh}.story-step{display:grid;align-content:center;min-height:max(360px,58vh);padding-bottom:16vh;opacity:.28;transition:opacity .5s}.story-step:last-child{min-height:max(260px,40vh);padding-bottom:0}.story-step.is-active{opacity:1}.story-index{margin-right:14px;padding-right:14px;border-right:1px solid var(--line);color:var(--soft-gold)}.mechanism-story .story-copy h3{margin:12px 0 14px}.mechanism-story .story-copy>p:not(.public-eyebrow){max-width:440px;color:#b5c0b1}.mechanism-result{display:inline-block;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:var(--gold)}@keyframes node-glow{50%{stroke-opacity:.25}}@keyframes citadel-flicker{0%{opacity:.75}60%{opacity:1}to{opacity:.86}}@keyframes flag-wave{to{transform:skewY(-8deg) scaleX(.9)}}@media(max-width:1100px){.mechanism-story{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:36px}}@media(max-width:900px){.mechanism-story{display:block}.story-map{top:0;margin:0 -40px;padding:0 40px 12px;background:var(--forest)}.story-steps{padding-bottom:14vh}.story-step{min-height:max(340px,56vh)}}@media(max-width:760px){.story-map{margin:0 -24px;padding:0 10px 10px}.mechanism-topline{padding:12px 14px 0}.map-canvas{margin:0}.map-labels{display:none}.mechanism-tabs{padding:0 6px}.mechanism-story .mechanism-tabs button{margin:0 4px;padding:10px 0 12px}.story-step{min-height:max(320px,52vh)}}@media(max-width:380px){.story-map{margin:0 -19px}}