html{overflow-x:hidden;overflow-x:clip}.kinetic-page{background:#050506;color:#f0f0f1;overflow-x:clip}
.kinetic-page h1,.kinetic-page h2{font-weight:450;letter-spacing:-.06em;line-height:1.03;margin:0}
.film-nav{position:fixed;inset:0 0 auto;z-index:20;height:84px;min-height:0;margin:0;padding:0 3.5%;border:0;gap:12px;flex-wrap:nowrap;justify-content:space-between;background:linear-gradient(#050506bb,transparent);pointer-events:none;transition:color .35s,opacity .45s,transform .55s cubic-bezier(.22,1,.36,1),visibility 0s}
.film-nav a{pointer-events:auto}.film-nav .wordmark{font-size:32px}
.film-exit{width:48px;height:48px;min-height:48px;display:grid;place-items:center;border:1px solid #ffffff45;border-radius:50%;padding:0;font-size:24px;line-height:1;transition:background .25s,border-color .25s,transform .35s}
.film-exit:hover{background:#ffffff12;border-color:#ffffff80;transform:translateX(-3px)}
.kinetic-page[data-footer=visible] .film-nav{opacity:0;transform:translateY(-24px);visibility:hidden;transition:color .35s,opacity .45s,transform .55s cubic-bezier(.22,1,.36,1),visibility 0s .45s}
.kinetic-page[data-nav=light] .film-nav{color:#161618;background:linear-gradient(#f0f0ecdd,transparent)}
.kinetic-page[data-nav=light] .film-exit{border-color:#16161840}.kinetic-page[data-nav=light] .film-exit:hover{background:#1616180d}
.film-skip{position:fixed;top:-100px;left:20px;z-index:50;background:#f0f0f1;color:#111;padding:15px}.film-skip:focus{top:20px}
.film-eyebrow{font-size:13px;line-height:1.6;margin:0 0 22px;color:#ccccd1}.film-detail{font-size:16px;line-height:1.7;color:#b9b9c0;margin-top:24px}
.object-story{position:relative;isolation:isolate}
.world-stage{position:sticky;top:0;height:100vh;height:100svh;width:100%;margin-bottom:-100vh;margin-bottom:-100svh;background:#050506;overflow:hidden;z-index:-1}
#design-world{display:block;width:100%;height:100%;opacity:0;transition:opacity .8s}
.kinetic-page[data-renderer=ready] #design-world{opacity:1}
.world-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 55% 70%,#65130f33,transparent 50%)}
.world-fallback svg{width:min(620px,88vw);height:70vh;height:70svh;margin-top:18vh;margin-top:18svh}.kinetic-page[data-renderer=ready] .world-fallback{visibility:hidden}
.fallback-halo path,.fallback-routes path{fill:none;vector-effect:non-scaling-stroke}.fallback-halo path{stroke:#b8b8c2;stroke-width:1;opacity:.16}.fallback-halo path:nth-child(2){stroke:#ed3028;opacity:.2}.fallback-routes path{stroke:#8f8f99;stroke-width:1;opacity:.24}.fallback-routes path:nth-child(2){stroke:#ed3028;opacity:.28}.fallback-caption{position:absolute;right:5.5vw;bottom:7vh;margin:0;text-align:right;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#e9e9ec}.fallback-caption span,.fallback-caption small{display:block}.fallback-caption small{margin-top:8px;color:#83838c;font-size:9px;letter-spacing:.14em}
.stage-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#05050650,transparent 24%,transparent 75%,#050506c8),radial-gradient(ellipse at 50% 66%,transparent 35%,#05050655 100%)}
.film-section{position:relative;padding:0 6%;pointer-events:none}.film-section a{pointer-events:auto}
.film-copy{position:relative;z-index:3;opacity:var(--copy-opacity,1);transform:translateY(calc((1 - var(--copy-in,1))*44px - var(--text-travel,0)*55px))}
.film-copy h1 span,.film-copy h2 span,.design-finale h2 span,.systems-copy h2 span{display:block}
.opening-shot{height:120vh;height:120svh;min-height:650px}
.kinetic-page .opening-copy{margin:0 auto;padding-top:17vh;padding-top:17svh;text-align:center;width:100%;max-width:none}
.opening-copy h1{font-size:clamp(58px,5.4vw,86px)}.opening-copy h1 span{transform:translateX(calc(var(--opening-p,0)*-4vw))}.opening-copy h1 span:last-child{transform:translateX(calc(var(--opening-p,0)*4vw))}.opening-copy h1 span:last-child{color:#f0f0f1}
.film-scroll{position:absolute;top:89vh;top:89svh;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;font-size:12px;min-height:45px;white-space:nowrap}
.film-scroll b{font-size:25px;font-weight:400;animation:scroll-nudge 2.8s ease-in-out infinite}
.structure-shot{height:135vh;height:135svh;min-height:750px}.structure-copy{position:sticky;top:30vh;top:30svh;max-width:560px;width:43%;padding-bottom:30px}
.structure-copy h2{font-size:clamp(46px,5.3vw,82px)}.structure-copy h2 span:last-child{color:#ee3b33}
.connections-shot{height:150vh;height:150svh;min-height:850px}.connections-copy{position:sticky;top:72vh;top:72svh;text-align:center;padding-bottom:28px}
.connections-copy .film-eyebrow{display:none}.connections-copy h2{font-size:clamp(38px,4.2vw,68px)}.connections-copy .film-detail{font-size:14px;line-height:1.5;margin-top:15px}
.scale-shot{height:145vh;height:145svh;min-height:850px}.scale-copy{position:sticky;top:28vh;top:28svh;width:47%;max-width:680px;padding-bottom:30px}.scale-copy h2{font-size:clamp(46px,5vw,80px)}
/* The next surface rises into the same scene, then opens out as it reaches the viewport. */
.systems-shot{position:relative;z-index:5;height:170vh;height:170svh;min-height:1000px;margin-top:-22vh;margin-top:-22svh}
.systems-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:420px;overflow:hidden;background:#f0f0ec;color:#151516;border-radius:calc((1 - var(--systems-open,1))*50vw) calc((1 - var(--systems-open,1))*50vw) 0 0 / calc((1 - var(--systems-open,1))*24vh) calc((1 - var(--systems-open,1))*24vh) 0 0;border-radius:calc((1 - var(--systems-open,1))*50vw) calc((1 - var(--systems-open,1))*50vw) 0 0 / calc((1 - var(--systems-open,1))*24svh) calc((1 - var(--systems-open,1))*24svh) 0 0;display:grid;place-items:center}
.systems-copy{position:relative;z-index:2;width:100%;text-align:center;padding:70px 4%;opacity:var(--copy-in,1);transform:translateY(calc((1 - var(--copy-in,1))*45px))}
.systems-copy::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,#f0f0ec 32%,#f0f0ecdd 50%,#f0f0ec00 72%);pointer-events:none}
.systems-mark{width:52px;height:52px;color:#ed3028;margin:0 auto 28px;transform:rotate(calc(var(--systems-p,0)*90deg))}
.systems-copy h2{font-size:clamp(45px,5.8vw,92px)}.systems-copy h2 span:last-child{color:#df3028}
.systems-copy>p{font-size:17px;line-height:1.65;color:#606062;margin:26px 0 38px}
.systems-benefits{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 28px;margin:0;padding:0}
.systems-benefits li{font-size:13px;display:flex;align-items:center;gap:9px;opacity:var(--benefits-in,1);transform:translateY(calc((1 - var(--benefits-in,1))*18px));transition:opacity .25s,transform .35s}
.systems-benefits li::before{content:"";width:5px;height:5px;border-radius:50%;background:#df3028}.systems-benefits li:nth-child(2){transition-delay:.08s}.systems-benefits li:nth-child(3){transition-delay:.16s}
.system-lanes{position:absolute;inset:0;pointer-events:none;mask-image:linear-gradient(transparent,#000 24%,#000 76%,transparent)}
.system-lane{position:absolute;inset:0}.system-lane span{position:absolute;left:50%;top:50%;font-size:clamp(18px,2vw,30px);letter-spacing:-.04em;white-space:nowrap;color:#77777b;will-change:transform}
.system-lane span:nth-child(3n){color:#c73730}.system-lane span::before{content:"";display:inline-block;vertical-align:middle;width:22px;height:1px;background:currentColor;margin-right:14px}
.systems-orbit{position:absolute;width:125vw;height:125vw;max-width:1800px;max-height:1800px;border:1px solid #1818180c;border-radius:50%;transform:scaleY(.45) rotate(calc(var(--systems-p,0)*25deg));pointer-events:none}
/* A single original studio image moves behind the invitation; the page stays in native flow. */
.design-finale{position:relative;z-index:6;margin-top:-12vh;margin-top:-12svh;border-radius:0;isolation:isolate;overflow:hidden;min-height:120vh;min-height:120svh;background:#08080a;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:150px 6% 120px}
.studio-image-wrap{position:absolute;inset:-22% -3%;z-index:-3;overflow:hidden;transform:translateY(calc((var(--image-p,.5) - .5)*24%))}
.studio-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(calc(1.12 - var(--image-p,.5)*.12))}
.studio-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(#0505065c,transparent 25%,#05050633 65%,#050506e6),radial-gradient(ellipse at 50% 42%,#05050650,transparent 65%)}
.invitation-copy{display:flex;flex-direction:column;align-items:center;max-width:100%;transform:translateY(calc((1 - var(--copy-in,1))*65px - var(--text-travel,0)*100px));opacity:var(--copy-in,1);padding-bottom:9vh;padding-bottom:9svh}
.design-finale h2{font-size:clamp(52px,6.2vw,98px);margin:10px 0 28px;text-shadow:0 2px 28px #05050644}
.invitation-detail{font-size:17px;line-height:1.6;color:#dedee1;max-width:480px;margin-bottom:34px}
.film-cta{display:flex;align-items:center;gap:38px;padding:18px 26px;border-radius:2px;background:#f0f0f1;color:#111;font-size:14px;min-height:56px;transition:gap .3s,background .3s}
.film-cta b{font-size:20px;font-weight:400}.film-cta:hover{gap:52px;background:#d9d9df}

.film-progress{position:fixed;bottom:0;left:0;right:0;height:2px;background:#8882;z-index:25}.film-progress i{display:block;width:100%;height:100%;background:#ee3b33;transform:scaleX(var(--page-progress,0));transform-origin:left}
.scene-loader{position:fixed;inset:0;z-index:60;background:#050506;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility 0s .65s}
.scene-loader svg{width:64px;height:64px;color:#f0f0f1}
.kinetic-page[data-entry=loading] .scene-loader{opacity:1;visibility:visible;transition:none}
.kinetic-page[data-entry=loading] .scene-loader svg{animation:mark-breathe 1.15s ease-in-out infinite}
.kinetic-page[data-entry=loading] .opening-copy h1 span,.kinetic-page[data-entry=loading] .film-nav,.kinetic-page[data-entry=loading] .film-scroll{opacity:0}
.kinetic-page[data-entry=ready] .opening-copy h1 span{animation:film-enter 1s cubic-bezier(.16,1,.3,1) both;animation-delay:.12s}
.kinetic-page[data-entry=ready] .opening-copy h1 span:last-child{animation-delay:.24s}
.kinetic-page[data-entry=ready] .film-nav{animation:film-enter .85s .12s both}
.kinetic-page[data-entry=ready] .film-scroll{animation:scroll-enter 1s .6s both}
.kinetic-page[data-entry=ready] .world-stage{animation:world-enter 1.5s cubic-bezier(.2,.7,.3,1) both}
@keyframes mark-breathe{0%,100%{opacity:.2;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}
@keyframes film-enter{from{opacity:0;translate:0 28px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes world-enter{from{opacity:0;scale:1.035}to{opacity:1;scale:1}}
@keyframes scroll-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes scroll-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

.compat-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100% - 32px);margin:auto;padding:0;border:1px solid #ffffff26;border-radius:28px;background:#101012;color:#efeff1;box-shadow:0 28px 90px #000c;overflow:auto}
.compat-dialog::backdrop{background:#020203d9;backdrop-filter:blur(12px)}
.compat-card{position:relative;padding:clamp(30px,5vw,58px);background:radial-gradient(circle at 88% 8%,#71130d38,transparent 35%),linear-gradient(145deg,#18181c,#09090b 68%)}
.compat-mark{position:relative;width:54px;height:70px;margin-bottom:36px;background:linear-gradient(135deg,#e7e7eb,#35353d 48%,#08080b);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.compat-mark::after{content:"";position:absolute;inset:25%;background:#ed3028;clip-path:inherit}.compat-mark i{position:absolute;left:calc(100% + 16px);top:50%;width:clamp(90px,24vw,180px);height:1px;background:linear-gradient(90deg,#ed3028,transparent)}
.compat-close{position:absolute;right:20px;top:20px;width:48px;height:48px;border:1px solid #ffffff35;border-radius:50%;background:#ffffff08;color:#efeff1;font:300 28px/1 Arial;cursor:pointer}.compat-close:is(:hover,:focus-visible){background:#efeff1;color:#101012}
.compat-kicker{margin:0 0 14px;color:#ed3028;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.compat-dialog h2{max-width:540px;margin:0;font-size:clamp(36px,6vw,68px);font-weight:400;line-height:1;letter-spacing:-.055em}.compat-summary{max-width:570px;margin:24px 0 30px;color:#b9b9c0;font-size:15px;line-height:1.65}
.compat-causes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:30px}.compat-causes p{min-height:130px;margin:0;padding:20px;border:1px solid #ffffff1d;border-radius:14px;background:#ffffff07}.compat-causes [hidden]{display:none}.compat-causes b,.compat-causes span{display:block}.compat-causes b{margin-bottom:9px;font-size:14px;font-weight:500}.compat-causes span{color:#929299;font-size:12px;line-height:1.55}
.compat-continue{width:100%;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 22px;border:0;border-radius:12px;background:#efeff1;color:#0b0b0d;font:inherit;font-size:15px;cursor:pointer}.compat-continue>span{font-size:inherit}.compat-continue b{font-size:27px;font-weight:300}.compat-continue:is(:hover,:focus-visible){background:#ed3028}.compat-close:focus-visible,.compat-continue:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){
 .film-nav{height:74px;padding:0 6%}.film-nav .wordmark{font-size:28px}.film-nav .wordmark span{font-size:24px}.film-exit{width:46px;height:46px;min-height:46px;font-size:22px;padding:0}
 .film-eyebrow{font-size:11px;margin-bottom:18px}.kinetic-page .opening-copy{padding-top:18vh;padding-top:18svh}.opening-copy h1{font-size:12vw}.opening-shot{height:115vh;height:115svh;min-height:600px}
 .structure-shot{height:125vh;height:125svh;min-height:720px}.structure-copy{top:13vh;top:13svh;width:100%;max-width:none;text-align:center}.structure-copy h2{font-size:11vw}.film-detail{font-size:13px;line-height:1.6;margin-top:18px}
 .connections-shot{height:145vh;height:145svh;min-height:800px}.connections-copy{top:72vh;top:72svh}.connections-copy h2{font-size:8.7vw}.connections-copy .film-detail{font-size:12px;margin-top:14px}
 .scale-shot{height:135vh;height:135svh;min-height:750px}.scale-copy{top:13vh;top:13svh;width:100%;text-align:center}.scale-copy h2{font-size:10.5vw}
 .systems-shot{height:155vh;height:155svh;min-height:900px;margin-top:-20vh;margin-top:-20svh}.systems-copy{padding:80px 5%}.systems-copy h2{font-size:11.4vw}.systems-copy>p{font-size:14px;margin:24px 0 30px}.systems-mark{width:44px;height:44px;margin-bottom:28px}
 .systems-benefits{gap:15px;flex-direction:column;align-items:center}.systems-benefits li{font-size:12px}.system-lane span{font-size:16px}.system-lane span::before{width:12px;margin-right:8px}
 .systems-copy::before{background:radial-gradient(ellipse at center,#f0f0ec 40%,#f0f0ecdd 64%,#f0f0ec00 85%)}
 .design-finale{min-height:105vh;min-height:105svh;padding:115px 6% 130px}.design-finale h2{font-size:12vw}.invitation-copy{padding-bottom:10vh;padding-bottom:10svh}.invitation-detail{font-size:14px}.studio-image{object-position:70% center}.studio-shade{background:linear-gradient(#05050622,#05050655 35%,#05050633 75%,#050506dd)}
 .film-scroll{top:88vh;top:88svh}.film-cta{gap:25px}.film-cta:hover{gap:32px}.scene-loader svg{width:52px;height:52px}
 .compat-dialog{width:calc(100% - 20px);max-height:calc(100% - 20px);border-radius:22px}.compat-card{padding:28px 22px 22px}.compat-mark{width:43px;height:56px;margin-bottom:26px}.compat-dialog h2{font-size:clamp(34px,11vw,48px)}.compat-summary{font-size:14px;margin:20px 0 24px}.compat-causes{grid-template-columns:1fr}.compat-causes p{min-height:0;padding:16px}.compat-continue{min-height:62px}.fallback-caption{right:6vw;bottom:5vh}.fallback-caption small{display:none}
}
@media(max-height:600px) and (min-width:701px){
 .film-nav{height:64px}.kinetic-page .opening-copy{padding-top:20vh;padding-top:20svh;width:100%;text-align:center}.opening-copy h1{font-size:clamp(32px,4.2vw,46px)}
 .film-eyebrow{font-size:11px;margin-bottom:12px}.structure-copy,.scale-copy{top:25vh;top:25svh}.structure-copy h2,.scale-copy h2{font-size:42px}.film-detail{font-size:13px;margin-top:18px}
 .connections-copy{top:67vh;top:67svh}.connections-copy h2{font-size:32px}.connections-copy .film-detail{font-size:11px;margin-top:10px}.film-scroll{top:87vh;top:87svh}
 .systems-stage{min-height:100vh;min-height:100svh}.systems-copy{padding:65px 4% 25px}.systems-mark{width:32px;height:32px;margin-bottom:12px}.systems-copy h2{font-size:42px}.systems-copy>p{font-size:13px;margin:14px 0 20px}.systems-benefits li{font-size:11px}
 .design-finale{min-height:115vh;min-height:115svh;padding:90px 6% 80px}.design-finale h2{font-size:46px}.invitation-detail{font-size:13px;margin-bottom:22px}.invitation-copy{padding:0}
}
@media(prefers-reduced-motion:reduce){
 #design-world,.film-exit,.film-cta,.film-nav,.scene-loader,.systems-benefits li{transition:none}
 .kinetic-page[data-entry] .opening-copy h1 span,.kinetic-page[data-entry] .film-nav,.kinetic-page[data-entry] .film-scroll,.kinetic-page[data-entry] .world-stage,.kinetic-page[data-entry] .scene-loader svg,.film-scroll b{animation:none}
 .opening-copy h1 span,.opening-copy h1 span:last-child,.film-copy,.systems-copy,.systems-mark,.systems-orbit,.systems-benefits li,.invitation-copy,.studio-image-wrap,.studio-image{transform:none}.systems-stage,.design-finale{border-radius:0}
}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.film-cta{position:relative;isolation:isolate;min-height:92px;width:min(510px,100%);justify-content:space-between;gap:24px;padding:20px 0;background:transparent;color:#f0f0f1;border-top:1px solid #ffffff55;border-bottom:1px solid #ffffff55;font-size:clamp(18px,2vw,27px);overflow:hidden}
.film-cta:before{content:"";position:absolute;inset:0;background:#ef382e;z-index:-1;transform:translateX(-101%);transition:transform .6s cubic-bezier(.22,1,.36,1)}
.film-cta b{display:grid;place-items:center;width:65px;height:50px;font-size:42px;transition:transform .5s}
.film-cta span{transition:transform .5s}.film-cta:hover,.film-cta:focus-visible{background:transparent;gap:24px}.film-cta:is(:hover,:focus-visible):before{transform:translateX(0)}.film-cta:is(:hover,:focus-visible) span{transform:translateX(20px)}.film-cta:is(:hover,:focus-visible) b{transform:rotate(45deg)}

/* The closing statement leads back to the two experience choices. */
.showcase-footer{position:relative;z-index:7;min-height:100vh;min-height:100svh;padding:70px 6% 26px;background:#08080a;color:#efeff0;border-top:1px solid #ffffff20;overflow:hidden;display:flex;flex-direction:column}
.footer-invitation{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 0 55px;min-height:420px}
.footer-statement{margin:0;max-width:100%;font-size:clamp(38px,6.4vw,105px);line-height:1.1;letter-spacing:-.055em;font-weight:400}
.footer-statement>span{display:block;overflow:hidden;padding:0 .06em .12em}
.footer-statement>span>span{display:block;transform:translateY(calc((1 - var(--copy-in,1))*110%))}
.footer-statement>span:last-child{color:#ef382e;font-size:1.48em;letter-spacing:-.065em;line-height:.98}
.footer-statement>span:last-child>span{transform:translateY(calc((1 - var(--copy-in,1))*145%))}
.footer-contact{display:flex;align-items:center;gap:45px;min-height:56px;margin-top:30px;padding:5px 0;border-bottom:1px solid #ffffff70;font-size:18px;opacity:var(--copy-in,1);transform:translateY(calc((1 - var(--copy-in,1))*25px));transition:border-color .3s,color .3s}
.footer-contact b{font-size:30px;font-weight:400;transition:transform .35s}.footer-contact:hover{color:#ef382e;border-color:#ef382e}.footer-contact:hover b{transform:translate(5px,-5px)}
.footer-signoff{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;opacity:var(--copy-in,1);transform:translateY(calc((1 - var(--copy-in,1))*18px))}
.footer-exit{grid-column:2;display:flex;align-items:center;gap:17px;min-height:64px;padding:7px 20px 7px 7px;border:1px solid #ffffff28;border-radius:40px;color:#efeff0;background:#141416;font-size:14px;transition:border-color .3s,background .3s}
.exit-arrow{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:#efeff0;color:#101012;font-size:25px;transition:background .3s,color .3s,transform .35s}
.exit-worlds{display:flex;gap:3px;width:24px;height:20px;margin-left:4px}.exit-worlds i{width:10px;height:20px;border:1px solid #ffffff75;border-radius:2px;transition:transform .35s,background .35s}.exit-worlds i:last-child{background:#efeff0}
.footer-exit:is(:hover,:focus-visible){border-color:#ffffff65;background:#1e1e21}.footer-exit:is(:hover,:focus-visible) .exit-arrow{background:#ef382e;color:#08080a;transform:rotate(-35deg)}.footer-exit:is(:hover,:focus-visible) .exit-worlds i:first-child{transform:translateY(-3px)}.footer-exit:is(:hover,:focus-visible) .exit-worlds i:last-child{transform:translateY(3px)}
.showcase-signature.wordmark{grid-column:3;justify-self:end;min-height:44px;font-size:30px;letter-spacing:-.065em;gap:7px}.showcase-signature.wordmark span{font-size:26px;color:#ef382e}
.footer-exit:focus-visible,.showcase-signature:focus-visible{outline:2px solid #f0f0f1;outline-offset:6px}

@media(max-width:700px){.showcase-footer{padding:70px 6% 20px}.footer-invitation{padding:35px 0 50px;min-height:350px}.footer-statement{font-size:clamp(30px,7.4vw,50px)}.footer-statement>span:first-child{max-width:300px;margin:auto}.footer-statement>span:last-child{font-size:1.62em;margin-top:7px}.footer-contact{font-size:16px;gap:35px;margin-top:25px}.film-cta{min-height:80px}.film-cta:is(:hover,:focus-visible) span{transform:translateX(10px)}.invitation-copy{transform:translateY(calc((1 - var(--copy-in,1))*45px - var(--text-travel,0)*65px))}}
@media(max-width:350px){.footer-statement{font-size:30px}.footer-statement>span:last-child{font-size:1.5em}}
@media(max-width:700px){.footer-signoff{grid-template-columns:1fr;gap:24px}.footer-exit{grid-column:1;justify-self:center;min-height:58px;font-size:13px}.exit-arrow{width:42px;height:42px}.showcase-signature.wordmark{grid-column:1;font-size:25px}.showcase-signature.wordmark span{font-size:23px}}
@media(max-height:600px) and (min-width:701px){.footer-invitation{min-height:280px;padding:15px 0 40px}.footer-statement{font-size:44px}}
@media(prefers-reduced-motion:reduce){.footer-statement>span>span,.footer-statement>span:last-child>span,.footer-contact,.footer-signoff{transform:none;opacity:1}.footer-contact b,.footer-exit,.exit-arrow,.exit-worlds i,.film-cta:before,.film-cta b,.film-cta span{transition:none}}

/* Keep the space alive when WebGL is unavailable, using the existing vector art. */
.kinetic-page[data-renderer=fallback] .world-fallback:before,.kinetic-page[data-renderer=fallback] .world-fallback:after{content:"";position:absolute;inset:-12%;pointer-events:none;animation:fallback-space 24s ease-in-out infinite alternate}
.kinetic-page[data-renderer=fallback] .world-fallback:before{background:radial-gradient(ellipse at 25% 70%,#410b143b,transparent 48%),radial-gradient(ellipse at 80% 25%,#30121c40,transparent 40%)}
.kinetic-page[data-renderer=fallback] .world-fallback:after{background-image:radial-gradient(circle,#d6d6df99 .7px,transparent 1.4px),radial-gradient(circle,#b29d9d66 .6px,transparent 1.2px);background-size:127px 163px,199px 113px;background-position:0 0,37px 69px;animation-duration:37s}
.kinetic-page[data-renderer=fallback] .world-fallback svg{position:relative;z-index:1;animation:fallback-float 9s ease-in-out infinite alternate}
.fallback-faces>path{transform-box:fill-box;transform-origin:center;--dx:1;--dy:1;transform:translate(calc(var(--dx)*(var(--scatter,1)*36px + var(--spread,0)*105px)),calc(var(--dy)*var(--scatter,1)*28px))}
.fallback-faces>path:nth-child(1){--dx:-1;--dy:-1}.fallback-faces>path:nth-child(2){--dy:-1}.fallback-faces>path:nth-child(3){--dx:-1}.fallback-core{transform-box:fill-box;transform-origin:center}
@keyframes fallback-space{from{transform:translate(-1%,-1%) scale(1);opacity:.5}to{transform:translate(3%,2%) scale(1.07);opacity:.9}}
@keyframes fallback-float{from{transform:translateY(-6px) rotate(-1deg)}to{transform:translateY(6px) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.world-fallback:before,.world-fallback:after,.world-fallback svg{animation:none!important}.fallback-faces>path{transform:none}}

/* Layered SVG/CSS keeps the story alive without GPU contexts or canvas. */
.kinetic-page[data-renderer=fallback] .world-fallback svg{width:min(780px,88vw);height:calc(60vh + var(--scene-lift,0)*16vh);margin-top:calc(34vh - var(--scene-lift,0)*34vh);margin-left:calc(var(--scene-side,0)*43vw);transition:margin .15s linear;filter:drop-shadow(0 15px 24px #0006)}
.kinetic-page[data-renderer=fallback] .world-fallback:before{background:radial-gradient(ellipse at 15% 70%,#420c2055,transparent 48%),radial-gradient(ellipse at 85% 30%,#2c243a66,transparent 50%),radial-gradient(ellipse at 55% 90%,#2c090c66,transparent 48%);animation-duration:14s}
.kinetic-page[data-renderer=fallback] .world-fallback:after{animation-duration:22s}
.kinetic-page[data-renderer=fallback] .fallback-core{animation:fallback-core 4s ease-in-out infinite alternate}
@keyframes fallback-core{from{opacity:.65}to{opacity:1}}
@media(max-width:700px){.kinetic-page[data-renderer=fallback] .world-fallback svg{margin-left:0;width:92vw;opacity:calc(1 - var(--scene-lift,0)*.3)}}
@media(prefers-reduced-motion:reduce){.kinetic-page[data-renderer=fallback] .fallback-core{animation:none}.kinetic-page[data-renderer=fallback] .world-fallback svg{transition:none}}

/* Reduced motion becomes a deliberate still composition rather than a frozen animation frame. */
.kinetic-page[data-motion=reduced] .world-fallback{background:radial-gradient(ellipse at 50% 54%,#35101488,transparent 42%),linear-gradient(115deg,#070708,#0d0d10 52%,#050506)}
.kinetic-page[data-motion=reduced] .world-fallback::before{content:"";position:absolute;inset:9%;border:1px solid #ffffff12;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.kinetic-page[data-motion=reduced] .world-fallback svg{width:min(760px,94vw);height:min(60vh,620px);margin:26vh 0 0;filter:drop-shadow(0 32px 50px #000b)}
.kinetic-page[data-motion=reduced] .fallback-halo path{opacity:.25}.kinetic-page[data-motion=reduced] .fallback-routes path{opacity:.34}.kinetic-page[data-motion=reduced] .fallback-core{opacity:1}
