/* The opening is the first viewport; scrolling is the only timeline control. */
.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:80px;padding-top:55px;border-top:1px solid var(--line)}.concept-visual{position:relative;background:#e7e2d6;padding:28px;display:flex;justify-content:center;border-radius:5px}.concept-visual video{display:block;width:100%;max-width:310px;aspect-ratio:9/16;object-fit:contain;background:#111;border-radius:5px}.concept-label{position:absolute;left:16px;top:16px;padding:8px 12px;background:var(--ivory);color:var(--blue);font-size:10px;border:1px solid var(--line);border-radius:20px}.concept-meta{display:block;font-size:9px;letter-spacing:1.3px;margin:25px 0 12px;color:#62625a}.concept-card h3{font-size:25px;margin-bottom:12px}.concept-card>p{font-size:13px;max-width:420px;color:#62625a}@media(max-width:650px){.concept-grid{grid-template-columns:1fr;gap:40px;margin-top:50px;padding-top:35px}.concept-visual{padding:24px}.concept-visual video{max-width:280px}.concept-card h3{font-size:23px}}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy{font-size:11px;opacity:.7;margin:16px 0}.additional-service{padding-top:22px;border-top:1px solid #ffffff30;font-size:15px}.additional-service span{display:block;max-width:320px;margin-top:8px;font-size:12px;opacity:.7}button:disabled{cursor:not-allowed;opacity:.5}#turnstile{margin-top:12px}
header{position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid #17181520;background:linear-gradient(var(--ivory),#f5f1e600)}
.cinema{height:390vh;margin:0;position:relative}.cinema-sticky{height:100svh;position:sticky;top:0;padding:0;border-radius:0;background:#e5d5be;isolation:isolate}.film{position:absolute;width:max(100%,calc(100svh * 1.777778));height:auto;aspect-ratio:16/9;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;border-radius:0;overflow:visible}.film>video{width:100%;height:100%}.phone-screen{left:0;top:0;width:300px;height:560px;border-radius:2px;transform-origin:0 0;transition:none;will-change:transform;overflow:hidden;background:#090909}.phone-screen:after{display:none}.phone-screen video{object-fit:contain}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f5f1e6f7 0%,#f5f1e6db 35%,#f5f1e655 65%,#f5f1e610);pointer-events:none}.intro{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);padding:20px 5%;z-index:2;will-change:opacity}.intro h1{font-size:clamp(70px,8.7vw,140px);margin:30px 0}.intro-bottom{justify-content:flex-start}.intro-bottom p{max-width:300px}.cinema-top{position:absolute;left:5%;right:5%;top:110px;margin:0;font-size:8px;pointer-events:none}.cinema-top>span:first-child{visibility:hidden}.cinema-bottom{position:absolute;bottom:24px;left:5%;right:5%;padding:0;gap:28px;font-size:9px;letter-spacing:1px;z-index:5}.cinema-bottom a:first-of-type{margin-left:auto}.progress{position:absolute;bottom:0;left:0;right:0;margin:0;background:#17181520;height:3px}.ad-actions{position:absolute;bottom:95px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;opacity:0;visibility:hidden;pointer-events:none}.ad-actions.visible{opacity:1;visibility:visible;pointer-events:auto}.ad-actions button,.ad-actions a{border:0;border-radius:30px;padding:14px 22px;font-size:12px;white-space:nowrap}.ad-actions button{background:var(--blue);color:white}.ad-actions a{background:var(--ivory);color:var(--ink)}.motion-fallback{display:none}.simple-motion .cinema{height:100svh}.simple-motion .cinema-sticky{position:relative;height:100svh}.simple-motion .motion-fallback{display:block;position:absolute;bottom:60px;left:5%;font-size:12px}.simple-motion .cinema-bottom #motionHint{display:none}
@media(max-width:900px){.cinema{height:280vh}.intro h1{font-size:clamp(58px,10vw,90px)}.cinema-top{top:100px}.intro-bottom{flex-direction:column;align-items:flex-start;gap:20px}.cinema-bottom{font-size:8px;letter-spacing:.4px;gap:16px}.cinema-bottom a:first-of-type{display:none}}
@media(max-width:650px){.intro{top:46%;padding:20px 6%}.intro h1{font-size:clamp(54px,12.5vw,78px);margin:25px 0}.hero-wash{background:linear-gradient(90deg,#f5f1e6e8,#f5f1e6ad 60%,#f5f1e64d)}.cinema-top{top:96px;right:6%}.cinema-top>span{font-size:7px}.cinema-bottom{bottom:25px;left:6%;right:6%;align-items:flex-end}.cinema-bottom #motionHint{max-width:170px;line-height:1.7}.cinema-bottom a:last-child{margin-left:auto}.ad-actions{bottom:86px;gap:8px}.ad-actions button,.ad-actions a{font-size:11px;padding:13px 17px}.intro .eyebrow{font-size:7px}.simple-motion .intro{top:45%}}
@media(prefers-reduced-motion:reduce){.cinema{height:100svh}.cinema-sticky{position:relative}.intro{opacity:1!important;visibility:visible!important}.hero-wash{opacity:1!important}.phone-screen{display:none}}

/* Reduced motion alone uses a static opening. Mobile keeps the scroll timeline. */
.film{pointer-events:none}.email-fallback{display:inline-block;margin-top:18px;font-size:13px;text-decoration:underline}#formStatus{opacity:1;font-size:12px}
.simple-motion .cinema{height:auto;min-height:0;margin:0}
.simple-motion .cinema-sticky{height:auto;min-height:100svh;position:relative;top:0;display:flex;flex-direction:column;justify-content:center;padding:130px 6% 45px;background:var(--ivory)}
.simple-motion .film,.simple-motion .hero-wash,.simple-motion .cinema-top,.simple-motion .progress,.simple-motion .ad-actions{display:none}
.simple-motion .intro{position:relative;top:auto;left:auto;right:auto;transform:none;padding:0;opacity:1!important;visibility:visible!important;will-change:auto}
.simple-motion .motion-fallback{position:static;margin-top:30px;font-size:14px;display:block}
.simple-motion .cinema-bottom{position:static;margin-top:30px;display:flex;justify-content:flex-start}
.simple-motion .cinema-bottom a:last-child{margin-left:0}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto} .cinema{height:auto;margin:0}.cinema-sticky{position:relative;top:0;height:auto;min-height:100svh;padding:130px 6% 45px;display:flex;flex-direction:column;justify-content:center;background:var(--ivory)}
 .film,.hero-wash,.cinema-top,.progress,.ad-actions{display:none}.intro{position:relative;top:auto;transform:none;padding:0;opacity:1!important;visibility:visible!important}.motion-fallback{display:block;position:static;margin-top:30px}.cinema-bottom{position:static;margin-top:30px}.cinema-bottom #motionHint{display:none}.cinema-bottom a:last-child{margin-left:0}input,select,textarea{font-size:16px}.contact-email{overflow-wrap:anywhere}.enquire>*{min-width:0}
}

/* Stable small-viewport units avoid timeline jumps as the mobile URL bar moves. */
@media(max-width:900px),(pointer:coarse){
 html{scroll-behavior:auto}.cinema{height:360svh;margin:0}.cinema-sticky{height:100svh;top:0;padding:0;position:sticky}
 .film{width:max(100%,calc(50svh * 1.777778));top:48%;transform:translate(-50%,-50%) scale(var(--phone-zoom,1));pointer-events:none}.cinema-bottom{bottom:max(22px,env(safe-area-inset-bottom))}.ad-actions{bottom:80px}
 input,select,textarea{font-size:16px}.contact-email{overflow-wrap:anywhere}.enquire>*{min-width:0}
}
@media(max-height:500px) and (orientation:landscape){.intro h1{font-size:clamp(42px,9vh,68px);margin:14px 0}.intro{top:54%}.intro-bottom{flex-direction:row;align-items:center}.cinema-top{display:none}.ad-actions{bottom:48px}}
