:root{--ground:#EFEFEC;--paper:#FBFBF8;--ink:#16161A;--snap:#FFE600;--violet:#6A2BD9;--r:14px;--sans:"Avenir Next","Avenir","Segoe UI Variable Display","Segoe UI","Helvetica Neue",Arial,sans-serif;--xl:clamp(2rem,1.3rem + 3vw,3.5rem);--m:clamp(1.25rem,1.1rem + 0.6vw,1.6rem);--s:clamp(1rem,0.96rem + 0.2vw,1.0625rem)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font:400 var(--s)/1.55 var(--sans);overflow-x:clip}h1,h2,p,ul,ol,dl,dd{margin:0}a{color:inherit}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{width:min(1120px,100% - 32px);margin-inline:auto}.story{display:grid;grid-template-columns:minmax(0,1fr);padding-top:max(16px,env(safe-area-inset-top))}.hero{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.logo{display:block;width:64px;height:64px;border-radius:16px}h1{font-size:var(--xl);font-weight:800;line-height:1.04;letter-spacing:-0.02em;max-width:13ch}h1 span{display:block}h1 .beat{color:var(--violet)}.lead{max-width:34ch}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:56px;min-width:240px;max-width:100%;padding:14px 24px;border-radius:var(--r);background:var(--violet);color:var(--paper);font-weight:700;text-decoration:none;align-self:flex-start;transition:transform .2s ease}.cta:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media (hover: hover) and (pointer: fine){.cta:hover{transform:translateY(-2px)}}.under{font-size:var(--s);margin-top:-4px}.stage{position:sticky;top:0;z-index:2;background:var(--ground);display:flex;justify-content:center;padding-block:8px}.stage svg{display:block;width:min(100%,320px);height:auto}.steps{list-style:none;padding:0}.steps li{min-height:70dvh;display:flex;align-items:center;padding-block:24px}.steps p{font-size:var(--m);font-weight:700;line-height:1.3;max-width:24ch;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);padding:16px 18px}.stage svg *{transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .45s ease}.piece{transform-box:fill-box;transform-origin:center}.masked,.hl,.real,.tot{transform-box:fill-box;transform-origin:left center}[data-step="1"] .piece,[data-step="2"] .piece,[data-step="3"] .piece{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.5)}[data-step="1"] .hl{opacity:0;transform:scaleX(0)}[data-step="1"] .real,[data-step="2"] .real{opacity:0;transform:translateX(-12px)}[data-step="3"] .masked,[data-step="4"] .masked{opacity:0}[data-step="1"] .tot,[data-step="2"] .tot{opacity:0}.real g:nth-child(2){transition-delay:.08s}.real g:nth-child(3){transition-delay:.16s}.real g:nth-child(4){transition-delay:.24s}.room{padding-block:56px 8px;display:grid;gap:56px}.exhibit{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.plinth{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.plinth svg{width:140px;height:auto;display:block}.plinth small{font-size:var(--s);font-weight:600;max-width:24ch}h2{font-size:var(--m);font-weight:800;line-height:1.3;margin-bottom:14px}.facts div{display:flex;align-items:baseline;gap:8px;padding-block:10px;border-top:1px solid var(--ink)}.facts div:last-child{border-bottom:1px solid var(--ink)}.facts dt{font-weight:700;white-space:nowrap}.facts i{flex:1;min-width:16px;border-bottom:2px dotted var(--ink);transform:translateY(-4px)}.facts dd{text-align:right;max-width:60%}.short{background:color-mix(in srgb,var(--snap) 30%,var(--paper));border-radius:var(--r);padding:20px}.short ul{padding-left:20px;display:grid;gap:8px}.know-intro{display:grid;gap:12px;margin-bottom:20px}.note{font-size:var(--s);border-top:2px solid var(--ink);padding-top:8px}.note a{font-weight:700}.cols{display:grid;gap:20px}.cols h3{font-size:var(--s);font-weight:800;margin:0 0 8px}.cols ul{padding-left:20px;display:grid;gap:8px}.pass{margin:72px auto 0;max-width:720px;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);display:grid;grid-template-columns:minmax(0,1fr)}.pass-main{padding:24px 20px;display:grid;gap:16px}.route{display:flex;align-items:center;gap:12px}.route div{display:grid}.route small{font-size:var(--s);font-weight:600}.route b{font-size:var(--m);font-weight:800;line-height:1.3}.route svg{flex:none;width:40px;height:16px}.stub{border-top:2px dotted var(--ink);padding:20px;display:grid;gap:14px}.bars{height:40px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 9px,var(--ink) 9px 12px,transparent 12px 14px)}.stub .cta{align-self:stretch;width:100%}footer{margin-top:64px;background:var(--snap);color:var(--ink);padding:32px 0 calc(96px + env(safe-area-inset-bottom))}footer .wrap{display:grid;gap:12px}footer strong{font-size:var(--m);font-weight:800}footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}footer nav a{position:relative;display:inline-block;padding-block:10px;text-decoration:underline;text-underline-offset:4px}footer nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.src a{display:inline-block;padding-block:10px;text-underline-offset:4px;font-weight:700}footer nav a:hover::after,footer nav a:focus-visible::after{transform:scaleX(1)}.bar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--ink);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;transform:translateY(110%);opacity:0;transition:transform .3s ease,opacity .3s ease}.bar.on{transform:none;opacity:1}.bar .cta{min-height:48px;width:min(100%,420px)}.bar .cta:focus-visible{outline-color:var(--snap)}@media (min-width:720px){.exhibit{grid-template-columns:200px minmax(0,1fr);gap:40px}.plinth svg{width:180px}.cols{grid-template-columns:1fr 1fr}.know-intro{grid-template-columns:minmax(0,1fr) 220px;align-items:start}.note{border-top:0;border-left:2px solid var(--ink);padding:0 0 0 12px}.pass{grid-template-columns:minmax(0,1fr) 260px}.stub{border-top:0;border-left:2px dotted var(--ink)}}@media (min-width:960px){.story{grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:64px}.hero{grid-column:1;grid-row:1;min-height:calc(100dvh - 32px);justify-content:center}.logo{width:96px;height:96px;border-radius:22px}h1{max-width:15ch}.steps{grid-column:1;grid-row:2}.stage{grid-column:2;grid-row:1 / span 2;align-self:start;top:calc(50dvh - 220px);margin-top:calc(50dvh - 236px);background:none}.stage svg{width:440px}}@media (prefers-reduced-motion: reduce){.stage svg *,.cta,.bar,footer nav a::after{transition:none !important}}