*{box-sizing:border-box}html,body{margin:0;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif}#film-section{height:600vh}.cinema{position:sticky;top:0;height:100vh;height:100svh;background:#000;overflow:hidden}video{display:block;width:100%;height:100%;object-fit:contain}header{position:absolute;top:30px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:start;transition:opacity .6s}.brand{font-size:24px;font-weight:800;letter-spacing:-1px;text-decoration:none;color:white}.brand span{color:#e33431}.brand small{display:block;font-size:12px;letter-spacing:3px;margin-top:5px}button{font:inherit;color:inherit;cursor:pointer;background:#0005;border:1px solid #fff6;border-radius:30px;padding:12px 20px;min-height:44px;font-size:14px}button:hover{background:#fff2}a:focus-visible,button:focus-visible{outline:2px solid #e33431;outline-offset:5px}.controls{position:absolute;bottom:25px;left:4vw;right:4vw;display:flex;align-items:center;gap:24px;font-size:14px;transition:opacity .6s}.progress{height:2px;background:#fff4;flex:1}.progress i{display:block;height:2px;background:white;width:0}.rotate{display:none;position:absolute;left:4vw;top:95px;font-size:14px}#end{position:absolute;inset:70% 0 auto;text-align:center;animation:appear 1s ease both}#end[hidden]{display:none}#projects{display:inline-block;color:white;text-decoration:none;border-bottom:1px solid #fff8;padding:12px 0;font-size:18px}#replay{display:block;border:0;background:none;color:#aaa;margin:12px auto;font-size:14px}body.finished header,body.finished .controls,body.finished .rotate{opacity:0;pointer-events:none}#error{position:absolute;bottom:20%;left:10%;right:10%;text-align:center;line-height:1.8}#error a{color:white}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:700px){header{top:22px}.brand{font-size:20px}.controls{gap:12px;font-size:12px}#hint{max-width:110px}#end{inset:65% 0 auto}#projects{font-size:16px}}@media(orientation:portrait){.rotate{display:block}}@media(prefers-reduced-motion:reduce){#end{animation:none}}

@media(max-width:700px){.controls{flex-wrap:wrap;gap:10px}.controls button{padding:10px 14px}#hint{max-width:none}.progress{flex-basis:100%}}

.sound-toggle{position:fixed;z-index:20;right:4vw;top:92px;background:#111e;border:1px solid #fff;box-shadow:0 2px 18px #0008}.sound-toggle[aria-pressed="true"]{border-color:#e33431}.project-copy{max-width:900px;margin:auto;padding:70px 6vw 90px;line-height:1.7;color:#c7c7c7}.project-copy h1{font-size:clamp(26px,4vw,42px);line-height:1.15;color:#fff;letter-spacing:-1px}.project-copy a{display:inline-block;color:#fff;margin:15px 25px 0 0}.concept-note{font-size:13px;color:#aaa}@media(orientation:portrait){.rotate{top:150px}}

.landing-footer{max-width:900px;margin:auto;padding:0 6vw 40px;display:flex;justify-content:space-between;gap:20px;color:#888;font-size:12px}.landing-footer a{color:#bbb}

.intro-character{position:relative;display:block;flex:none;font:inherit!important;letter-spacing:inherit!important;line-height:1!important;padding:0;margin:0;border:0;border-radius:0;background:none;color:inherit;isolation:isolate;cursor:pointer;outline-offset:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.intro-glyph{display:block;animation:farsight-letter-rise 1.15s var(--reveal-delay) cubic-bezier(.22,.75,.2,1) both;transition:opacity .42s ease,scale .7s cubic-bezier(.3,0,.2,1);transform-origin:50% 60%;pointer-events:none}
.intro-character.is-object{z-index:3}
.intro-character.is-object .intro-glyph{opacity:0;scale:.9}
.intro-character:focus-visible{outline:1px solid #b51f28;border-radius:3px}
.intro-character:disabled{cursor:default}
.intro-object{position:absolute;left:50%;top:49%;width:1.42em;height:1.42em;pointer-events:none;perspective:750px;transform:translate(-50%,-50%);opacity:0;transition:opacity .48s cubic-bezier(.3,0,.2,1)}
.intro-object-view{display:block;width:100%;height:100%;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 18px 12px #30251b18)}
.intro-object img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 55%;transition:transform .95s cubic-bezier(.3,0,.2,1);user-select:none}
.intro-object img:nth-child(1){clip-path:polygon(0 0,51% 0,53% 48%,0 58%);transform:translate(-7%,-4.5%) rotate(-7deg) scale(.9)}
.intro-object img:nth-child(2){clip-path:polygon(50% 0,100% 0,100% 53%,52% 49%);transform:translate(7.5%,-6%) rotate(6deg) scale(.9);transition-delay:.025s}
.intro-object img:nth-child(3){clip-path:polygon(0 57%,53% 47%,48% 100%,0 100%);transform:translate(-5%,7.5%) rotate(4.5deg) scale(.9);transition-delay:.05s}
.intro-object img:nth-child(4){clip-path:polygon(52% 48%,100% 52%,100% 100%,47% 100%);transform:translate(8%,5.5%) rotate(-6deg) scale(.9);transition-delay:.075s}
.intro-character.is-object .intro-object{opacity:1;transition-delay:0s}
.intro-character.is-object .intro-object img{transform:translate(0,0) rotate(0) scale(1)}

/* Match the homepage preloader wordmark at every viewport. */
#end{inset:29% 0 auto;padding:0 2vw;z-index:5}
#end .intro-brand{display:flex;justify-content:center;align-items:baseline;gap:0;font-size:clamp(60px,16vw,280px);font-weight:800;line-height:1;letter-spacing:-.075em;white-space:nowrap;margin:0}
#end .intro-character:hover{background:none}#end .intro-glyph{animation:none}#end .intro-dot{color:#e33431;line-height:1}
#end .intro-descriptor{font:700 clamp(23px,3.35vw,48px)/1.1 Georgia,serif;letter-spacing:.20em;margin:12px 0 0}
#end .intro-object-view{position:relative;z-index:1;filter:drop-shadow(0 14px 20px #ffffff18)}
#end .intro-object::before{content:'';position:absolute;inset:7%;border-radius:50%;background:radial-gradient(ellipse,rgba(var(--furniture-glow),.58) 0%,rgba(var(--furniture-glow),.25) 38%,rgba(var(--furniture-glow),0) 72%);filter:blur(.12em);opacity:0;transform:scale(.65);transition:opacity .7s ease,transform 1s cubic-bezier(.2,.7,.2,1);pointer-events:none}
#end .intro-character.is-object .intro-object::before{opacity:1;transform:scale(1.25)}
#end .intro-character:nth-child(1){--furniture-glow:190,120,52}
#end .intro-character:nth-child(2){--furniture-glow:45,110,255}
#end .intro-character:nth-child(3){--furniture-glow:220,52,66}
#end .intro-character:nth-child(4){--furniture-glow:214,183,126}
#end .intro-character:nth-child(5){--furniture-glow:237,189,76}
#end .intro-character:nth-child(6){--furniture-glow:36,191,128}
#end .intro-character:nth-child(7){--furniture-glow:178,109,49}
#end .intro-character:nth-child(8){--furniture-glow:207,215,226}
.final-rule{height:2px;background:#d71920;width:min(72vw,980px);margin:clamp(20px,3svh,34px) auto 30px;transform-origin:center;animation:final-line 1.2s ease both}
@keyframes final-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){#end{inset:32% 0 auto}#end .intro-brand{font-size:15vw;display:grid;grid-template-columns:repeat(8,1fr) .25fr;width:96%;margin:0 auto}#end .intro-character{min-height:72px;display:grid;place-items:center}#end .intro-object{width:2em;height:2em;top:50%}#end .intro-character:first-child .intro-object{left:0;transform:translate(0,-50%)}#end .intro-character:nth-child(8) .intro-object{left:auto;right:0;transform:translate(0,-50%)}#end .intro-descriptor{font-size:clamp(22px,5.5vw,32px);margin-top:8px}.final-rule{width:84vw;margin:22px auto 26px}}
@media(max-height:540px){#end{inset:24% 0 auto}#end .intro-brand{font-size:min(12vw,25svh)}#end .intro-descriptor{margin-top:0}.final-rule{margin:12px auto}#replay{margin-top:0}}
@media(prefers-reduced-motion:reduce){#end .intro-object-view,#end .intro-object img,#end .intro-glyph{transition:none;transform:none}#end .intro-object,#end .intro-object::before{transition:none}.final-rule{animation:none}}
