.s2s-app{--s2s-bg:#f4f3ef;--s2s-fg:#111;--s2s-dark:#090909;--s2s-dark-text:#fff;--s2s-accent:#244cff;--s2s-signal:#c8ff3d;--s2s-font:Inter,Arial,sans-serif;background:var(--s2s-bg);color:var(--s2s-fg);font-family:var(--s2s-font);overflow:clip}.s2s-app *{box-sizing:border-box}.s2s-app a{text-decoration:none}.s2s-nav{position:fixed;inset:0 0 auto;z-index:1000;height:74px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.62),transparent)}.s2s-nav a{color:inherit}.s2s-nav nav{display:flex;gap:28px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.s2s-logo{font-size:29px;font-weight:800;letter-spacing:-.08em}.s2s-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:var(--s2s-accent);color:#fff!important;border:1px solid var(--s2s-accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.s2s-btn-small{min-height:40px;padding:0 17px}.s2s-link{color:inherit;font-weight:650}.s2s-cinema{height:100svh;position:relative;background:var(--s2s-dark)}.s2s-cinema-stage{position:fixed;inset:0;width:100%;height:100svh;overflow:hidden;isolation:isolate;background:var(--s2s-dark);outline:none}.s2s-scenes,.s2s-scene,.s2s-scene-bg,.s2s-scene-wash,.s2s-scene-layers{position:absolute;inset:0}.s2s-scene{opacity:0;pointer-events:none;overflow:hidden;will-change:opacity}.s2s-scene.is-dark{color:var(--s2s-dark-text);--scene-wash:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.53) 50%,rgba(0,0,0,.08) 80%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 55%)}.s2s-scene.is-light{color:var(--s2s-fg);--scene-wash:linear-gradient(90deg,rgba(244,243,239,.94),rgba(244,243,239,.7) 50%,rgba(244,243,239,.06) 82%),linear-gradient(0deg,rgba(244,243,239,.5),transparent 55%)}.s2s-scene-bg{z-index:-4;background:linear-gradient(135deg,var(--s2s-dark),#171717)}.s2s-scene.is-light .s2s-scene-bg{background:linear-gradient(135deg,var(--s2s-bg),#dcded8)}.s2s-scene-bg img{width:100%;height:100%;object-fit:cover;will-change:transform;filter:saturate(.9) contrast(1.05)}.s2s-scene-bg span{position:absolute;inset:8vw;display:grid;place-items:center;border:1px dashed currentColor;opacity:.22;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.s2s-scene-wash{z-index:-3;background:var(--scene-wash)}.s2s-scene-copy{position:absolute;z-index:5;left:7vw;top:50%;width:min(760px,50vw);will-change:transform,opacity}.s2s-kicker{font-size:11px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;font-weight:750}.s2s-scene-copy .s2s-kicker{color:var(--s2s-signal);margin:0 0 22px}.s2s-scene.is-light .s2s-scene-copy .s2s-kicker{color:var(--s2s-accent)}.s2s-scene-copy h2{margin:0;font-size:clamp(52px,7.5vw,126px);line-height:.86;letter-spacing:-.07em;font-weight:700;text-wrap:balance}.s2s-scene-copy>p:not(.s2s-kicker){max-width:650px;margin:26px 0 0;font-size:clamp(18px,1.55vw,26px);line-height:1.4}.s2s-scene-actions{display:flex;gap:22px;align-items:center;margin-top:32px}.s2s-scene-layers{z-index:2;pointer-events:none}.s2s-layer{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;will-change:transform,opacity,clip-path}.s2s-layer img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 50px rgba(0,0,0,.28))}.s2s-layer span{width:100%;height:100%;min-height:120px;display:grid;place-items:center;border:1px dashed currentColor;opacity:.28;font-size:10px;letter-spacing:.13em;text-transform:uppercase;text-align:center;padding:12px}.s2s-layer-small{width:min(22vw,320px);height:min(34vh,320px)}.s2s-layer-medium{width:min(34vw,520px);height:min(52vh,520px)}.s2s-layer-large{width:min(52vw,820px);height:min(82vh,820px)}.s2s-layer-full{width:92vw;height:92vh}.s2s-cinema-brand{position:absolute;z-index:0;right:-4vw;bottom:-10vh;font-size:clamp(230px,42vw,720px);line-height:.68;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);pointer-events:none}.s2s-cinema-ui{position:absolute;z-index:20;left:7vw;right:4vw;bottom:25px;display:flex;gap:18px;align-items:center;color:#fff}.s2s-cinema-progress{height:2px;flex:1;background:rgba(255,255,255,.25);overflow:hidden}.s2s-cinema-progress span{display:block;height:100%;background:#fff;transform-origin:left}.s2s-cinema-count,.s2s-cinema-hint{font-size:10px;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}.s2s-autoplay-toggle{border:1px solid rgba(255,255,255,.42);background:rgba(0,0,0,.25);color:#fff;padding:10px 13px;font:inherit;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}body:not(.s2s-story-locked) .s2s-cinema-stage{position:absolute}.s2s-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,0,0,.18);border-bottom:1px solid rgba(0,0,0,.18)}.s2s-stats div{padding:28px 4vw;border-right:1px solid rgba(0,0,0,.18);font-size:clamp(17px,2vw,30px);font-weight:650}.s2s-editorial,.s2s-section{padding:110px 7vw}.s2s-editorial h2,.s2s-section h2,.s2s-feature-copy h2,.s2s-final h2{font-size:clamp(48px,7vw,110px);line-height:.92;letter-spacing:-.06em;margin:20px 0}.s2s-editorial>p:last-child{max-width:780px;font-size:22px;line-height:1.55}.s2s-feature-split{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px}.s2s-feature-image img,.s2s-gallery-grid img{width:100%;height:100%;object-fit:cover}.s2s-feature-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.s2s-feature-copy p{font-size:20px;line-height:1.55}.s2s-image-placeholder{background:#dddcd6;display:grid;place-items:center;text-align:center;min-height:360px;border:1px dashed rgba(0,0,0,.3)}.s2s-routes{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,0,0,.18)}.s2s-routes article{padding:36px;border-right:1px solid rgba(0,0,0,.18);min-height:360px}.s2s-routes h3{font-size:38px;letter-spacing:-.04em;margin-top:70px}.s2s-gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:420px 360px;gap:24px}.s2s-gallery-main{grid-row:1/3}.s2s-gallery-wide{grid-column:2}.s2s-section-head{max-width:980px;margin-bottom:55px}.s2s-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.s2s-card{border:1px solid rgba(0,0,0,.18)}.s2s-card-media{aspect-ratio:4/5;background:#ddd;overflow:hidden;display:grid;place-items:center}.s2s-card-media img{width:100%;height:100%;object-fit:cover}.s2s-card-body{padding:22px}.s2s-card h3{font-size:27px;line-height:1.05;margin:14px 0}.s2s-dark,.s2s-final{background:var(--s2s-dark);color:var(--s2s-dark-text)}.s2s-dark .s2s-card{border-color:rgba(255,255,255,.18)}.s2s-final{padding:120px 7vw;min-height:75vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.s2s-reveal{opacity:0;transform:translateY(45px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.s2s-reveal.is-visible{opacity:1;transform:none}
@media(max-width:850px){.s2s-nav nav{display:none}.s2s-scene-copy{left:24px;right:24px;top:16vh;width:auto}.s2s-scene-copy h2{font-size:clamp(44px,14vw,74px)}.s2s-scene-copy>p:not(.s2s-kicker){font-size:17px;max-width:90%}.s2s-layer-large,.s2s-layer-full{width:88vw;height:58vh}.s2s-layer-medium{width:66vw;height:45vh}.s2s-layer-small{width:42vw;height:30vh}.s2s-cinema-ui{left:20px;right:20px}.s2s-cinema-hint{display:none}.s2s-stats,.s2s-routes,.s2s-grid{grid-template-columns:1fr 1fr}.s2s-feature-split{grid-template-columns:1fr}.s2s-gallery-grid{grid-template-columns:1fr;grid-template-rows:380px 300px 300px}.s2s-gallery-main,.s2s-gallery-wide{grid-column:auto;grid-row:auto}}@media(max-width:560px){.s2s-stats,.s2s-routes,.s2s-grid{grid-template-columns:1fr}.s2s-scene-actions{flex-direction:column;align-items:flex-start}.s2s-autoplay-toggle{display:none}}
@media(prefers-reduced-motion:reduce){html.s2s-story-locked,body.s2s-story-locked{overflow:auto!important}.s2s-cinema{height:auto}.s2s-cinema-stage{position:relative!important;height:auto}.s2s-scenes{position:relative}.s2s-scene{position:relative;min-height:100svh;opacity:1!important}.s2s-cinema-ui{display:none}.s2s-reveal{opacity:1;transform:none;transition:none}}
html.s2s-story-locked,body.s2s-story-locked{overflow:hidden!important;height:100%!important;overscroll-behavior:none}.s2s-cinema.is-complete .s2s-cinema-stage{position:absolute}.s2s-menu-scene{position:absolute;z-index:6;inset:90px 5vw 66px;display:grid;grid-template-rows:auto 1fr;gap:24px;will-change:transform,opacity}.s2s-menu-intro{max-width:940px}.s2s-menu-intro h2{font-size:clamp(44px,6vw,92px);line-height:.9;letter-spacing:-.06em;margin:12px 0}.s2s-menu-intro>p:last-child{font-size:clamp(16px,1.25vw,21px);max-width:760px;line-height:1.45}.s2s-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;border-top:1px solid currentColor;border-left:1px solid currentColor;min-height:0}.s2s-menu-card{color:inherit!important;padding:22px;display:flex;flex-direction:column;border-right:1px solid currentColor;border-bottom:1px solid currentColor;opacity:0;will-change:transform,opacity;transition:background .25s ease,color .25s ease}.s2s-menu-card:hover{background:var(--s2s-accent);color:#fff!important}.s2s-menu-card>span{font-size:10px;letter-spacing:.16em;font-weight:750}.s2s-menu-card h3{font-size:clamp(21px,2vw,34px);line-height:1;letter-spacing:-.04em;margin:30px 0 16px}.s2s-menu-card p{font-size:14px;line-height:1.45;margin:0 0 20px}.s2s-menu-card strong{margin-top:auto;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.s2s-scene.is-type-menu .s2s-scene-wash{background:rgba(244,243,239,.94)}.s2s-scene.is-type-menu.is-dark .s2s-scene-wash{background:rgba(9,9,9,.92)}
@media(max-width:980px){.s2s-menu-scene{inset:86px 24px 58px}.s2s-menu-grid{grid-template-columns:1fr 1fr;overflow:auto}.s2s-menu-card{min-height:210px}.s2s-menu-intro h2{font-size:44px}}
@media(max-width:560px){.s2s-menu-scene{inset:76px 16px 52px;gap:12px}.s2s-menu-grid{grid-template-columns:1fr;overflow:auto}.s2s-menu-card{min-height:170px}.s2s-menu-intro h2{font-size:34px}.s2s-menu-intro>p:last-child{font-size:14px}.s2s-menu-card h3{font-size:23px;margin:18px 0 10px}}

/* v0.8 final decision scene */
.s2s-scene.is-type-menu .s2s-menu-scene{inset:88px 5vw 68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}
.s2s-scene.is-type-menu .s2s-menu-intro{max-width:760px;margin:0 auto}
.s2s-scene.is-type-menu .s2s-menu-intro h2{font-size:clamp(42px,6.2vw,94px);margin:10px 0 14px}
.s2s-scene.is-type-menu .s2s-menu-intro>p:last-child{max-width:650px;margin:0 auto;font-size:clamp(16px,1.15vw,20px)}
.s2s-scene.is-type-menu .s2s-menu-grid{width:min(620px,90vw);display:flex;flex-direction:column;gap:10px;border:0;overflow:visible}
.s2s-scene.is-type-menu .s2s-menu-card{min-height:0;width:100%;padding:15px 20px;display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:18px;text-align:left;border:1px solid currentColor;background:rgba(255,255,255,.03);backdrop-filter:blur(12px);transition:transform .25s ease,background .25s ease,color .25s ease}
.s2s-scene.is-type-menu .s2s-menu-card:hover,.s2s-scene.is-type-menu .s2s-menu-card:focus-visible{transform:translateX(8px)!important;background:var(--s2s-accent);color:#fff!important;outline:none}
.s2s-scene.is-type-menu .s2s-menu-card>span{font-size:10px}
.s2s-scene.is-type-menu .s2s-menu-card h3{font-size:clamp(18px,1.7vw,28px);margin:0;line-height:1.05}
.s2s-scene.is-type-menu .s2s-menu-card p{display:none}
.s2s-scene.is-type-menu .s2s-menu-card strong{margin:0;white-space:nowrap}
.s2s-cinema.is-at-menu .s2s-autoplay-toggle{opacity:.55;pointer-events:none}
.s2s-cinema.is-at-menu .s2s-cinema-hint{font-weight:700;letter-spacing:.08em}
@media(max-width:700px){.s2s-scene.is-type-menu .s2s-menu-scene{inset:76px 16px 56px;gap:16px}.s2s-scene.is-type-menu .s2s-menu-intro h2{font-size:36px}.s2s-scene.is-type-menu .s2s-menu-intro>p:last-child{font-size:14px}.s2s-scene.is-type-menu .s2s-menu-grid{width:100%;gap:8px}.s2s-scene.is-type-menu .s2s-menu-card{grid-template-columns:1fr auto;padding:13px 14px}.s2s-scene.is-type-menu .s2s-menu-card>span{grid-column:1/-1}.s2s-scene.is-type-menu .s2s-menu-card h3{font-size:20px}.s2s-scene.is-type-menu .s2s-menu-card strong{font-size:9px}}
