*,*:before,*:after{box-sizing:border-box}.hero{height:max(100svh,36rem);padding-top:var(--chrome-clear);display:grid;grid-template-rows:minmax(0,1fr) auto}.hero-media{margin:0;width:100%;height:100%;max-height:150vw;max-width:calc((max(100svh,36rem) - 15rem)*2);align-self:center;justify-self:center}.hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 54%}.hero-copy{padding:1.6rem 1.25rem 1.5rem;text-align:center}.hero-copy h2{margin:0 auto;max-width:44rem;font-size:clamp(1.35rem,2.4vw,1.8rem);font-weight:400;line-height:1.3}.hero-links{margin-top:.8rem;display:flex;flex-wrap:wrap;justify-content:center;column-gap:1.7rem;row-gap:.1rem;font:.7rem / 1.4 var(--sans)}.hero-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.3em;text-decoration-color:var(--keyline)}#stage{position:sticky;top:0;height:100dvh;overflow:hidden;z-index:1}#canvas{display:block;width:100%;height:100%}#runway{position:relative;z-index:0}.caption{position:absolute;z-index:2;left:50%;bottom:3.4rem;transform:translate(-50%);margin:0;max-width:min(86vw,34rem);text-align:center;font-size:clamp(1.05rem,2.4vw,1.4rem);line-height:1.45;letter-spacing:.015em;color:var(--ink);pointer-events:none;animation:caption-in .65s ease both}@keyframes caption-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.hint{position:absolute;z-index:2;left:50%;bottom:1.1rem;transform:translate(-50%);margin:0;font-family:var(--sans);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--secondary);pointer-events:none;transition:opacity .5s ease;animation:hint-pulse 2.6s ease-in-out infinite}.hint:after{content:"↓";display:block;text-align:center;letter-spacing:0;margin-top:.15rem}.hint[data-hidden=true]{opacity:0}.finisher{position:absolute;z-index:2;left:50%;top:calc(50% + 1.4rem);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2.4rem;margin:0;max-width:86vw;pointer-events:none;opacity:0;visibility:hidden}.finisher[data-hidden=false]{visibility:visible;pointer-events:auto}.finisher-link{display:inline-block;text-align:center;text-decoration:none;border-bottom:1px solid var(--keyline);padding-bottom:.18rem;transition:color .2s ease,border-color .2s ease}.finisher-inspect{font-size:clamp(1.35rem,3.1vw,1.85rem);letter-spacing:.01em;color:var(--ink);border-bottom-color:var(--ink)}.finisher-follow{font-family:var(--sans);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary)}.finisher-link:hover{color:var(--ink);border-color:var(--ink)}@keyframes hint-pulse{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(4px)}}.loader{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:min(38vw,11rem);height:2px;background:var(--keyline);border-radius:999px;overflow:hidden;transition:opacity .45s ease}.loader[data-state=done]{opacity:0}.loader-fill{width:0%;height:100%;background:var(--ink);border-radius:inherit;transition:width .15s ease-out}.status{position:absolute;z-index:2;left:50%;bottom:1.75rem;transform:translate(-50%);margin:0;padding:.5rem .85rem;font-family:var(--sans);font-size:.85rem;letter-spacing:.04em;color:var(--error);background:var(--error-bg);max-width:min(90vw,28rem);text-align:center;border-radius:.5rem;pointer-events:none;opacity:0;transition:opacity .35s ease}.status[data-state=error]{opacity:1}@media(prefers-reduced-motion:reduce){.caption,.hint{animation:none}}
