/* Size scenes by available space; let longer content grow naturally. */
.experience{min-height:calc(100svh - 64px)}
.experience img{max-width:100%}
.enquire.experience{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.unit-details{flex-wrap:wrap}
.experience h2{overflow-wrap:break-word}
@media(min-width:901px){
 header{height:80px;padding-inline:6%}
 .experience.hero{height:auto;min-height:calc(100svh - 64px);display:flex;align-items:center}
 .hero-content{width:100%;padding:110px 6% 80px}
 .hero-content h1{width:49%;font-size:clamp(58px,min(7vw,11vh),106px);margin:0 0 18px;letter-spacing:-3px}
 .hero-content h1 .title-line:first-child{margin-bottom:6px}
 .hero-content h1 .hero-search-title{font-size:clamp(16px,1.3vw,22px);margin-top:12px}
 .hero-content>.eyebrow{margin:0 0 18px;font-size:10px;letter-spacing:1.5px}
 .hero-ar{width:49%}
 .hero-ar h2{font-size:clamp(23px,2vw,32px);line-height:1.5;margin:0 0 12px}
 .hero-ar p{max-width:480px;font-size:14px;line-height:1.8;margin:0 0 14px}
 .hero .scene-actions{margin:14px 0}
 .scene-index{top:110px}.scene-replay{bottom:80px}
 .hero-image{width:65%;background-position:48% 25%}
 .story .scene-panel,.location-content{width:58%;max-width:760px}
 .scene-panel h2,.units .units-head h2,.enquire .enquire-copy h2{font-size:clamp(30px,3vw,48px);line-height:1.5}
}
@media(min-width:601px) and (max-width:900px){
 .experience.hero{height:auto;min-height:calc(100svh - 64px)}
 .hero-content{padding:130px 6% 100px}
 .hero-content h1{width:60%;font-size:clamp(52px,8vw,72px);margin-bottom:20px}
 .hero-ar{width:60%}.hero-ar h2{font-size:25px}
 .hero-content>.eyebrow{font-size:9px;letter-spacing:1px}
 .scene-index{top:100px;font-size:8px}
 .story .scene-panel,.location-content{width:100%;max-width:680px}
 .enquire.experience{grid-template-columns:1fr;gap:30px}
 .enquire form{width:100%}.units-head{display:block}
}
@media(max-width:600px){
 .experience.hero{height:auto;min-height:100svh}
 .hero-content{padding:clamp(290px,80vw,420px) 6% 115px}
 .hero-content h1{font-size:clamp(44px,13vw,72px);width:100%;margin-bottom:18px}
 .hero-content h1 .hero-search-title{font-size:17px;line-height:1.7;margin-top:12px}
 .hero-ar{width:100%}.hero-ar h2{font-size:25px}
 .hero-image{height:clamp(480px,135vw,680px);background-position:48% top}
 .hero-content>.eyebrow{font-size:8px;letter-spacing:.7px}
 .scene-replay{bottom:58px}.hero-bottom{bottom:20px}
 .scene-panel h2,.units .units-head h2,.enquire .enquire-copy h2{font-size:clamp(27px,7.5vw,34px);line-height:1.55}
 .enquire.experience,.unit-grid{grid-template-columns:minmax(0,1fr)}
 .experience>.experience-end{flex-wrap:wrap}
 .scene-actions a{min-height:44px}.units .unit-body,.enquire form{padding:20px}
 footer{padding-bottom:100px}
}
.cinema-atmosphere{mix-blend-mode:screen}
.cinema-atmosphere:before,.cinema-atmosphere:after{content:"";position:absolute;pointer-events:none;left:8%;top:3%;width:48%;height:88%;transform-origin:50% 55%;will-change:transform,opacity}
.cinema-atmosphere:before{background:conic-gradient(from 185deg at 50% 58%,transparent 0deg,#efb94d25 10deg,transparent 22deg,#ffdf882e 34deg,transparent 47deg,#dda04340 60deg,transparent 75deg,#ffe5ab22 90deg,transparent 110deg,#d797342b 140deg,transparent 170deg);filter:blur(8px);mask-image:radial-gradient(ellipse,transparent 12%,#000 35%,transparent 72%);animation:portrait-rays 9s ease-in-out infinite alternate}
.cinema-atmosphere:after{background:radial-gradient(ellipse at 35% 45%,#ffca634d,transparent 45%),radial-gradient(ellipse at 70% 60%,#e3952538,transparent 40%);filter:blur(24px);animation:portrait-ember 5s ease-in-out infinite alternate}
.cinema-glow{opacity:.85;animation:portrait-ember 6s ease-in-out infinite alternate}
@keyframes portrait-rays{from{transform:rotate(-9deg) scale(.96);opacity:.55}to{transform:rotate(9deg) scale(1.08);opacity:1}}
@keyframes portrait-ember{from{opacity:.35;transform:translateY(12px) scale(.97)}to{opacity:.85;transform:translateY(-14px) scale(1.05)}}
@media(max-width:600px){
 header{height:76px;padding-inline:6%}.brand{font-size:26px}.nav-cta{font-size:11px;padding:8px 12px}
 .experience.hero{background:#070908}
 .hero-image{height:530px;width:100%;background-position:45% top;mask-image:linear-gradient(to bottom,#000 0%,#000 52%,transparent 100%);filter:brightness(.78) saturate(.6)}
 .hero-shade{background:linear-gradient(to bottom,#07090838 0%,transparent 24%,#07090899 43%,#070908 60%)}
 .hero-content{padding:330px 6% 105px;position:relative}
 .hero-content>.eyebrow{font-size:8px;letter-spacing:.65px;margin-bottom:15px;text-align:right}
 .hero-content h1{font-size:clamp(48px,14.2vw,65px);letter-spacing:-2px;margin-bottom:16px}
 .hero-content h1 .title-line:first-child{font-size:.48em;letter-spacing:1px;margin-bottom:7px}
 .hero-content h1 .hero-search-title{font-size:16px;margin-top:13px;text-align:right}
 .hero-ar h2{font-size:24px;line-height:1.55;margin-bottom:12px}
 .hero-ar p{font-size:13px;line-height:1.85;margin:0 0 16px;max-width:none}
 .hero .scene-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin:16px 0 10px}
 .hero .scene-actions a{min-height:46px;justify-content:space-between;padding-inline:14px}
 .scene-index{top:100px;left:6%;font-size:7px;letter-spacing:1.4px}
 .scene-replay{bottom:45px;left:6%}.hero-bottom{bottom:14px}
 .cinema-atmosphere:before,.cinema-atmosphere:after{left:-10%;top:50px;width:120%;height:440px}
 .story.experience,.location.experience,.units.experience,.enquire.experience{padding:48px 6% 28px}
 .location-content{padding:24px 18px}.units .unit>img{height:210px}
 .enquire form input:not([type=checkbox]),.enquire form select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.cinema-atmosphere:before,.cinema-atmosphere:after,.cinema-glow{animation:none;will-change:auto;opacity:.5}}
/* Keep the portrait below the navigation instead of behind the logo. */
@media(min-width:901px){
 .hero-image{top:100px;bottom:0;height:calc(100% - 100px);background-position:48% top;transform-origin:center top}
 .scene-index{top:92px}
 .cinema-atmosphere:before,.cinema-atmosphere:after{top:100px;height:calc(100% - 100px)}
}
@media(min-width:601px) and (max-width:900px){
 .hero-image{top:105px;bottom:0;height:calc(100% - 105px);background-position:43% top;transform-origin:center top}
 .scene-index{top:90px}
}
@media(max-width:600px){
 .hero-image{top:105px;height:490px;background-position:45% top;transform-origin:center top}
 .hero-content{padding-top:395px}
 .scene-index{top:88px}
 .cinema-atmosphere:before,.cinema-atmosphere:after{top:120px}
}
