

/* ===== Included from: fonts.css ===== */
/* Manrope (variable, self-hosted). One file covers every weight from 200 to 800. */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/Manrope-Variable.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/Manrope-Variable-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}


/* ===== Included from: index-v3.css ===== */
:root{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#f5f3eb;background:#141614;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#141614;--ink:#f5f3eb;--muted:#a7aaa0;--line:rgba(245,243,235,.17);--signal-red:#e51c2c;--orange:#ff573a;--display:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--gutter:clamp(22px,6.5vw,106px);--max:1440px;scroll-behavior:smooth;scroll-padding-top:86px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,a{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--signal-red);color:#111}.experience-shell{overflow:hidden;position:relative;background:var(--bg)}.announcement{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:var(--signal-red);color:#171913;font:700 12px/1 "Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:0}.announcement span,.announcement a{display:flex;align-items:center;gap:9px}.announcement i,.ticket-hours i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#20231a;box-shadow:0 0 0 3px #20231a22;animation:dot-pop 1.8s ease-in-out infinite}.announcement a{font-size:12px;letter-spacing:0}.nav-bar{height:78px;position:relative;z-index:30;border-bottom:1px solid var(--line);background:#141614ef}.nav-inner{height:100%;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:var(--max);margin:auto}.brand{display:inline-flex;align-items:center;gap:9px;font:800 12px/.87 var(--display);letter-spacing:0;flex:none}.brand b{font-weight:900;color:var(--signal-red)}.brand-mark{width:31px;height:34px;display:grid;place-items:center;border:1px solid var(--signal-red);color:var(--signal-red);transform:skew(-7deg)}.brand-mark svg{transform:skew(7deg)}.main-nav{display:flex;align-items:center;gap:clamp(20px,3.2vw,50px);margin-left:auto}.main-nav a{font-size:12px;color:#d4d5ce;transition:color .2s}@media (hover:hover) and (pointer:fine){.main-nav a:hover{color:var(--signal-red)}}.nav-cta,.hero-book,.package-cta,.ticket-book{height:45px;padding:0 15px 0 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:23px;background:var(--signal-red);color:#171913;font:800 12px/1 var(--display);letter-spacing:0;transition:transform .2s,background .2s}@media (hover:hover) and (pointer:fine){.nav-cta:hover,.hero-book:hover,.package-cta:hover,.ticket-book:hover{transform:translateY(-3px);background:#ff777f}}.menu-button,.mobile-nav{display:none}.hero-stage{position:relative;min-height:clamp(650px,calc(100svh - 109px),850px);max-width:var(--max);padding:clamp(70px,8.2vw,120px) var(--gutter) 54px;margin:auto;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:4.8vw;isolation:isolate}.hero-stage:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 78% 44%,#363a2880 0,transparent 32%),radial-gradient(ellipse at 4% 0,#ffffff08 0,transparent 39%),linear-gradient(90deg,transparent 49.9%,#ffffff08 50%,transparent 50.1%);pointer-events:none}.hero-stage:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.hero-ghost{position:absolute;right:-.05em;top:38%;z-index:-1;font:900 clamp(140px,27vw,400px)/.7 var(--display);letter-spacing:-.06em;color:#ffffff05;pointer-events:none}.hero-left{position:relative;z-index:2;padding-bottom:30px}.hero-kicker{display:flex;align-items:center;gap:11px;color:#caccc3;font-size:12px;font-weight:700;letter-spacing:0}.kicker-spark{font-size:19px;color:var(--signal-red);animation:slow-spin 16s linear infinite}.kicker-line{width:34px;height:1px;background:var(--signal-red);opacity:.7}.hero-title{margin:27px 0 20px;font:900 clamp(68px,8.6vw,126px)/.79 var(--display);letter-spacing:-.035em}.title-line{display:block;white-space:nowrap;animation:title-arrive .8s cubic-bezier(.2,.8,.2,1) both}.title-one{font-size:.57em;letter-spacing:0;animation-delay:.05s}.title-two{font-size:.81em;letter-spacing:-.04em;animation-delay:.14s}.title-the{font-size:.54em;vertical-align:middle;color:var(--signal-red);letter-spacing:0}.title-point{font-size:1em}.title-three{padding-left:.03em;animation-delay:.24s}.title-period{color:var(--orange)}.hero-copy{font-size:clamp(15px,1.45vw,18px);line-height:1.5;color:#cccec6;margin:0 0 27px}.hero-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.hero-book{width:195px;height:54px;font-size:13px;padding-left:19px}.cta-arrow{height:33px;width:33px;display:grid;place-items:center;background:#17191315}.smash-button{position:relative;overflow:hidden;height:48px;padding:0 15px;display:flex;align-items:center;gap:10px;color:var(--ink);background:transparent;border:1px solid #ffffff44;font-size:12px;font-weight:700;letter-spacing:0;transition:all .25s}@media (hover:hover) and (pointer:fine){.smash-button:hover{border-color:var(--signal-red);color:var(--signal-red)}}.hammer-icon{color:var(--signal-red);display:grid;place-items:center}.smash-pulse{position:absolute;inset:0;background:#e51c2c14;transform:translate(-102%);transition:transform .4s}@media (hover:hover) and (pointer:fine){.smash-button:hover .smash-pulse{transform:none}}.smash-button>*{position:relative;z-index:1}.smash-button.is-smashing{border-color:var(--orange);color:var(--orange)}.hero-footnote{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px;color:#b5b8ae;font-size:12px;font-weight:700;letter-spacing:0}.hero-footnote span{display:flex;align-items:center;gap:6px}.hero-footnote svg{color:var(--signal-red)}.smash-scene{width:min(100%,520px);height:min(60vh,540px);min-height:405px;margin:-5px auto 10px;position:relative;transform-style:preserve-3d;will-change:transform}.photo-mat{position:absolute;inset:6% 7% 7% 9%;padding:11px;background:#ece9de;box-shadow:0 26px 90px #0009,12px 13px #e51c2c;transform:rotate(2.3deg);transition:transform .45s cubic-bezier(.2,.8,.2,1);overflow:visible}@media (hover:hover) and (pointer:fine){.smash-scene:hover .photo-mat{transform:rotate(0) scale(1.018)}}.photo-mat:before{content:"";position:absolute;inset:-14px;z-index:-1;background:repeating-linear-gradient(135deg,var(--orange) 0 7px,transparent 7px 15px);opacity:.9;transform:rotate(-1deg)}.scene-photo{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.82) contrast(1.08);transition:opacity .25s,filter .3s}.scene-smashed .scene-photo{opacity:.16;filter:grayscale(1)}.photo-shard{position:absolute;inset:11px;background-position:center;background-size:cover;pointer-events:none;mix-blend-mode:normal}.scene-corner{position:absolute;z-index:3;top:-4px;color:#181a16;font:800 12px/1 var(--display);letter-spacing:0}.scene-corner-tl{left:12px}.scene-corner-tr{right:12px}.scene-caption{height:26px;position:absolute;left:11px;right:11px;bottom:11px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:#151713e8;color:var(--ink);font:700 12px/1 var(--display);letter-spacing:0}.scene-caption span:nth-child(2){color:var(--signal-red);font-size:17px}.scene-tape{position:absolute;z-index:5;right:-26px;top:10%;padding:9px 14px;background:var(--signal-red);color:#191b15;transform:rotate(9deg);font:900 12px/.95 var(--display);letter-spacing:0;box-shadow:0 4px 20px #0005}.scene-vertical{position:absolute;right:-22px;bottom:14%;writing-mode:vertical-rl;color:var(--signal-red);font:700 12px/1 var(--display);letter-spacing:0}.swing-hammer{position:absolute;right:4%;top:-5%;z-index:6;color:var(--orange);filter:drop-shadow(2px 7px 0 #121411);transform-origin:15% 85%;font-size:60px}.scene-index{position:absolute;bottom:0;left:1%;display:flex;align-items:center;gap:10px;color:#a9aca1;font:700 12px/1 var(--display);letter-spacing:0}.scene-index b{color:var(--signal-red)}.smash-burst{position:absolute;z-index:8;left:50%;top:44%;width:160px;height:160px;display:grid;place-items:center;background:var(--orange);color:#151613;clip-path:polygon(50% 0,61% 26%,87% 7%,78% 36%,100% 41%,79% 55%,98% 77%,67% 72%,64% 100%,48% 76%,29% 98%,30% 68%,0 65%,22% 48%,1% 29%,32% 33%);transform:translate(-50%,-50%);font:900 31px/1 var(--display);filter:drop-shadow(0 5px 0 #111)}.scene-smashed .photo-mat{transform:rotate(0) scale(1.018)}.hero-bottom{position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:14px;color:#8c9085;font:700 12px/1 var(--display);letter-spacing:0}.hero-bottom>span:first-child{display:flex;align-items:center;gap:6px;color:var(--signal-red)}.bottom-rule{height:1px;flex:1;background:var(--line)}.ticker-rail{overflow:hidden;background:var(--signal-red);color:#1e1214;transform:rotate(-1deg) scale(1.02);padding:14px 0;position:relative;z-index:3}.ticker-runner{width:max-content;display:flex;align-items:center;gap:29px;white-space:nowrap;animation:ticker-drift 29s linear infinite;font:900 17px/1 var(--display);letter-spacing:0}.ticker-runner b{font-size:17px;color:var(--orange)}.story-section{padding:clamp(90px,12vw,170px) var(--gutter);background:#ece9de;color:#171915;position:relative}.story-section:after{content:"";position:absolute;right:0;top:0;width:27%;height:100%;background:linear-gradient(135deg,transparent 49.8%,#191a1510 50%,transparent 50.3%);pointer-events:none}.story-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(50px,10vw,145px);align-items:center}.story-visual{position:relative;max-width:500px}.story-photo-stack{aspect-ratio:4/4.8;position:relative;background:#252722;box-shadow:14px 15px 0 var(--signal-red)}.story-photo-stack:before{content:"";position:absolute;inset:-10px;z-index:0;border:1px solid #17191555}.story-photo-stack img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.76)}.story-photo-label{position:absolute;left:16px;top:16px;padding:8px 11px;background:var(--signal-red);font:800 12px/1 var(--display);letter-spacing:0}.story-photo-count{position:absolute;right:17px;bottom:15px;display:flex;align-items:center;gap:8px;color:#fff;font:700 12px/1 var(--display)}.story-photo-count i{width:37px;height:1px;background:var(--signal-red)}.scribble-sticker{position:absolute;right:-45px;top:14%;width:114px;height:114px;display:grid;align-content:center;padding-left:20px;background:var(--orange);color:#171915;transform:rotate(11deg);clip-path:polygon(7% 0,93% 4%,100% 91%,2% 100%);font:900 24px/.8 var(--display)}.scribble-sticker span{position:absolute;right:16px;bottom:17px;font-size:20px}.story-side-type{position:absolute;left:-24px;bottom:23%;writing-mode:vertical-rl;transform:rotate(180deg);color:#74776d;font:700 12px/1 var(--display);letter-spacing:0}.section-label{display:flex;align-items:center;gap:12px;font:800 12px/1 var(--display);letter-spacing:0;color:#676b60}.section-label span{color:var(--orange)}.section-label i{display:inline-block;width:29px;height:1px;background:currentColor;opacity:.6}.section-title{margin:26px 0 22px;font:900 clamp(50px,6vw,83px)/.84 var(--display);letter-spacing:-.02em}.section-title em{font-style:normal;color:var(--orange)}.story-intro{max-width:470px;color:#55594f;font-size:16px;line-height:1.65}.story-steps{margin-top:32px;border-top:1px solid #17191530}.story-step{width:100%;min-height:82px;padding:14px 4px;display:grid;grid-template-columns:32px 30px 1fr 20px;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid #17191530;background:transparent;color:#171915;transition:background .2s,padding .25s}.story-step-active{padding-left:12px;background:#17191508}@media (hover:hover) and (pointer:fine){.story-step:hover{padding-left:12px;background:#17191508}}.story-step-number{align-self:start;padding-top:4px;color:#8b8d84;font:700 12px/1 var(--display)}.story-step-icon{color:#9da28e;transition:color .2s}.story-step-active .story-step-icon{color:var(--orange)}.story-step-content{display:grid;gap:4px}.story-step-content b{font:800 17px/1 var(--display)}.story-step-content small{max-width:390px;color:#62665d;font-size:12px;line-height:1.45}.story-step-arrow{opacity:0;transform:translate(-4px,4px);transition:.2s}.story-step-active .story-step-arrow{opacity:1;transform:none;color:var(--orange)}@media (hover:hover) and (pointer:fine){.story-step:hover .story-step-arrow{opacity:1;transform:none;color:var(--orange)}}.inline-arrow{display:inline-flex;align-items:center;gap:11px;margin-top:24px;color:#22251f;font:800 12px/1 var(--display);letter-spacing:0}.inline-arrow svg{color:var(--orange);transition:transform .2s}@media (hover:hover) and (pointer:fine){.inline-arrow:hover svg{transform:translate(5px)}}.package-room{padding:clamp(80px,10vw,140px) var(--gutter) 28px;background:var(--bg);color:var(--ink);position:relative}.package-room:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 48%,#e51c2c0a 0,transparent 42%),repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#ffffff08 10%);pointer-events:none}.package-room-head,.package-floor,.package-foot{position:relative;z-index:1;max-width:1240px;margin-left:auto;margin-right:auto}.package-room-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.package-room .section-label{color:#a4a79e}.package-room-head>p{margin:0;color:#b8b9b2;text-align:right;font-size:15px;line-height:1.4}.package-floor{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,6vw,80px);align-items:center;position:relative}.package-left{position:relative;padding:20px 0}.package-index{color:#b5b7af;font:800 12px/1.15 var(--display);letter-spacing:0}.package-index b{color:var(--signal-red);font-size:21px;margin-left:9px}.package-index span{color:#82867c;font-size:12px}.level-line{height:1px;margin:47px 0 14px;background:#ffffff49;display:flex;justify-content:space-between}.level-point{position:relative;top:-9px;width:34px;height:46px;border:0;background:transparent;display:grid;justify-items:center;gap:8px;color:#7a7d74}.level-point i{width:16px;height:16px;border:1px solid #a5a89e;border-radius:50%;background:var(--bg);transition:.25s}@media (hover:hover) and (pointer:fine){.level-point:hover i{border-color:var(--signal-red);transform:scale(1.2)}}.level-point span{font:700 12px/1 var(--display)}.level-active{color:var(--signal-red)}.level-active i{width:19px;height:19px;margin-top:-2px;background:var(--signal-red);border:4px solid #262921;box-shadow:0 0 0 1px var(--signal-red),0 0 17px #e51c2c70}.level-slider-label{display:flex;justify-content:space-between;color:#8c9086;font:700 12px/1 var(--display);letter-spacing:0}.level-slider{appearance:none;width:100%;height:3px;margin:19px 0;background:linear-gradient(90deg,var(--signal-red) var(--progress,35%),#53564d var(--progress,35%));accent-color:var(--signal-red);cursor:ew-resize}.level-slider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--signal-red);border:4px solid #1b1d18;box-shadow:0 0 0 1px var(--signal-red)}.level-slider::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--signal-red);border:4px solid #1b1d18;box-shadow:0 0 0 1px var(--signal-red)}.package-aside-quote{margin-top:51px;padding-left:18px;border-left:2px solid var(--orange);color:#c7c8c1;font:600 18px/1.3 var(--display)}.package-aside-quote span{position:absolute;margin-left:-2px;margin-top:-21px;color:var(--orange);font:900 41px/1 var(--display)}.selected-package{display:grid;grid-template-columns:.85fr 1.15fr;min-height:390px;background:#eeece3;color:#171915;box-shadow:10px 11px 0 var(--signal-red);position:relative}.selected-package:after{content:"";position:absolute;right:-3px;top:0;bottom:0;width:3px;background:repeating-linear-gradient(180deg,var(--signal-red) 0 7px,transparent 7px 13px)}.selected-package-image{min-height:360px;position:relative;background-size:cover;background-position:center;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:15px}.selected-package-image:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#08090899,transparent 32%,#08090810 58%,#080908bc)}.selected-package-image>span{color:#fff;font:800 12px/1 var(--display);letter-spacing:0}.selected-package-image>b{align-self:start;max-width:200px;padding:6px 9px;background:var(--signal-red);font:900 12px/1 var(--display);letter-spacing:0}.selected-package-info{padding:clamp(21px,3vw,39px);display:flex;flex-direction:column}.selected-head{display:flex;justify-content:space-between;color:#777b71;font:700 12px/1 var(--display);letter-spacing:0}.selected-package h3{margin:18px 0 8px;font:900 clamp(35px,4.2vw,56px)/.9 var(--display);letter-spacing:-.015em}.selected-vibe{min-height:40px;margin:0;color:#62655d;font-size:13px;line-height:1.4}.package-specs{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 20px;border-top:1px solid #1719152b;border-bottom:1px solid #1719152b}.package-specs>div{position:relative;min-height:66px;padding:12px 4px;display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:6px}.package-specs>div+div{padding-left:12px;border-left:1px solid #1719152b}.package-specs b{font:900 22px/.95 var(--display)}.package-specs span{align-self:end;color:#74776d;font-size:12px}.package-specs svg{position:absolute;right:6px;top:12px;color:var(--orange)}.selected-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:12px}.selected-price{display:flex;align-items:baseline;gap:3px}.selected-price small{font-size:12px;font-weight:700;color:#55594e}.selected-price strong{font:900 clamp(26px,3vw,38px)/1 var(--display)}.package-cta{height:43px;padding:0 12px;gap:12px;font-size:12px;white-space:nowrap}.package-arrows{position:absolute;right:0;top:-59px;display:flex;gap:7px}.package-arrows button{width:39px;height:39px;display:grid;place-items:center;border:1px solid #ffffff45;background:transparent;color:var(--ink);transition:.2s}@media (hover:hover) and (pointer:fine){.package-arrows button:hover{border-color:var(--signal-red);color:var(--signal-red)}}.package-foot{display:flex;justify-content:space-between;padding:29px 0 0;color:#858980;font:700 12px/1.3 var(--display);letter-spacing:0}.package-foot span:last-child i{color:var(--signal-red);font-style:normal}.safety-signal{min-height:140px;padding:28px var(--gutter);position:relative;display:grid;grid-template-columns:64px 1fr 1.25fr 48px;align-items:center;gap:25px;overflow:hidden;background:var(--orange);color:#191a16}.signal-icon{height:54px;width:54px;display:grid;place-items:center;border:1px solid #17191566}.signal-heading{display:grid;gap:3px;font:800 13px/1 var(--display);letter-spacing:0}.signal-heading strong{font-size:22px;font-weight:900}.safety-signal p{max-width:440px;margin:0;color:#292a23;font-size:13px;line-height:1.4}.safety-signal>a{width:42px;height:42px;display:grid;place-items:center;border:1px solid #17191566;transition:.2s}@media (hover:hover) and (pointer:fine){.safety-signal>a:hover{background:#171915;color:var(--orange)}}.signal-grid{position:absolute;right:10%;top:-80%;width:220px;height:220px;border:1px solid #17191524;transform:rotate(45deg);pointer-events:none}.signal-grid:after,.signal-grid:before{content:"";position:absolute;inset:20px;border:inherit}.signal-grid:after{inset:42px}.photo-roll{padding:clamp(90px,12vw,156px) 0 100px;background:#ece9de;color:#181a16;overflow:hidden}.photo-roll-head{max-width:1240px;margin:0 auto 37px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto;align-items:end;position:relative}.photo-roll-head .section-label{grid-column:1/-1}.photo-roll-head .section-title{margin:18px 0 0}.photo-roll-head .section-title em{color:var(--orange)}.photo-roll-head>p{margin:0 0 4px;color:#60645b;font-size:15px;line-height:1.4}.drag-hint{position:absolute;right:var(--gutter);top:11px;display:flex;align-items:center;gap:7px;color:#777b71;font:700 12px/1 var(--display);letter-spacing:0}.drag-hint svg{color:var(--orange)}.photo-track{width:max-content;padding:10px var(--gutter) 20px;display:flex;align-items:stretch;gap:18px;cursor:grab;touch-action:pan-y}.photo-track:active{cursor:grabbing}.photo-tile{width:clamp(230px,27vw,350px);height:clamp(310px,37vw,450px);margin:0;position:relative;background:#242620;overflow:hidden}.photo-tile-2{height:clamp(280px,33vw,400px);margin-top:46px}.photo-tile-3{height:clamp(330px,39vw,470px);margin-top:-5px}.photo-tile-4{height:clamp(290px,34vw,410px);margin-top:38px}.photo-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .3s}@media (hover:hover) and (pointer:fine){.photo-tile:hover img{transform:scale(1.06);filter:saturate(1)}}.photo-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(transparent,#0a0b09d9);color:#fff;font:800 12px/1 var(--display);letter-spacing:0}.photo-roll-end{width:250px;align-self:center;display:grid;justify-items:start;gap:18px;padding-left:14px}.photo-roll-end>span{font:900 66px/.77 var(--display)}.photo-roll-end svg{color:var(--orange)}.photo-roll-end a{display:flex;align-items:center;gap:10px;font:800 12px/1 var(--display);letter-spacing:0}.photo-roll-end a svg{color:var(--orange)}.roll-mobile-cue{display:none}.city-section{padding:clamp(100px,12vw,160px) var(--gutter);position:relative;overflow:hidden;background:#171a16}.city-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 49%,#e51c2c12 0,transparent 38%);pointer-events:none}.city-backdrop{position:absolute;right:-.04em;top:14%;font:900 clamp(140px,25vw,370px)/.8 var(--display);color:#ffffff04;letter-spacing:-.06em;white-space:nowrap}.city-layout{position:relative;max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(50px,10vw,155px)}.city-copy .section-label,.faq-intro .section-label{color:#a9aca3}.city-copy .section-title,.faq-intro .section-title{font-size:clamp(58px,7vw,90px)}.city-copy>p{color:#b1b4ab;font-size:15px}.city-tabs{display:flex;gap:10px;margin-top:36px}.city-tab{min-width:128px;padding:14px 13px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #ffffff48;background:transparent;color:#eeeee6;font:800 12px/1 var(--display);transition:.2s}.city-tab span{color:var(--signal-red)}.city-tab-active{background:var(--signal-red);color:#171915;border-color:var(--signal-red)}@media (hover:hover) and (pointer:fine){.city-tab:hover{background:var(--signal-red);color:#171915;border-color:var(--signal-red)}}.city-tab-active span{color:#171915}.city-ticket{position:relative;min-height:320px;padding:24px 26px;background:#eae8df;color:#171915;clip-path:polygon(0 0,100% 0,100% 44%,calc(100% - 10px) 47%,100% 50%,calc(100% - 10px) 53%,100% 56%,100% 100%,0 100%,0 56%,10px 53%,0 50%,10px 47%,0 44%);box-shadow:12px 14px 0 var(--signal-red)}.ticket-top{display:flex;justify-content:space-between;color:#64675d;font:800 12px/1 var(--display);letter-spacing:0}.ticket-top b{color:var(--orange)}.ticket-city{position:relative;margin:38px 0 15px;font:900 clamp(55px,7vw,85px)/.8 var(--display);letter-spacing:-.02em}.ticket-burst{position:absolute;top:-26px;left:clamp(190px,23vw,270px);color:var(--orange);font:400 42px/1 var(--display);animation:slow-spin 30s linear infinite}.ticket-address{max-width:100%;display:flex;align-items:center;gap:10px;color:#474a41;font-size:12px}.ticket-address svg:first-child{color:var(--orange);flex:none}.ticket-address svg:last-child{margin-left:auto;flex:none}.ticket-hours{margin:23px 0 0;padding:13px 0;display:flex;justify-content:space-between;border-top:1px dashed #1719155c;border-bottom:1px dashed #1719155c;color:#55584f;font:700 12px/1 var(--display);letter-spacing:0}.ticket-hours span{display:flex;align-items:center;gap:8px}.ticket-hours i{background:var(--signal-red);box-shadow:0 0 0 3px #e51c2c80}.ticket-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:15px}.ticket-bottom>a:first-child{display:flex;align-items:center;gap:7px;color:#42453d;font-size:12px}.ticket-bottom>a:first-child svg{color:var(--orange)}.ticket-book{height:39px;padding:0 11px;gap:10px;font-size:12px}.ticket-perf{position:absolute;top:13px;bottom:13px;right:12px;border-right:1px dashed #17191542}.faq-stage{padding:clamp(90px,12vw,155px) var(--gutter);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,120px);background:#ece9de;color:#191a16}.faq-intro .section-title{color:#191a16}.faq-intro .inline-arrow{margin-top:14px}.faq-stack{border-top:1px solid #17191533}.faq-row{border-bottom:1px solid #17191533}.faq-trigger{width:100%;min-height:74px;padding:17px 3px;display:grid;grid-template-columns:40px 1fr 26px;align-items:center;gap:13px;text-align:left;border:0;background:transparent;color:#191a16}.faq-no{align-self:start;padding-top:4px;color:#93968c;font:700 12px/1 var(--display)}.faq-trigger b{font:800 21px/1.12 var(--display)}.faq-plus{width:25px;height:25px;display:grid;place-items:center;border:1px solid #191a1645;color:var(--orange);font-size:20px;line-height:1;transition:.2s}.faq-row-open .faq-plus{transform:rotate(45deg);background:var(--signal-red);border-color:var(--signal-red);color:#191a16}.faq-answer{overflow:hidden}.faq-answer p{max-width:660px;margin:0 30px 22px 56px;color:#5d6157;font-size:14px;line-height:1.55}.last-call{min-height:510px;display:grid;grid-template-columns:1.12fr .88fr;background:var(--signal-red);color:#181a14}.last-call-poster{position:relative;padding:clamp(42px,7vw,90px) var(--gutter);overflow:hidden;display:flex;flex-direction:column;justify-content:center}.last-call-poster:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 22px,#17191508 22px 23px);pointer-events:none}.last-call-poster .section-label{color:#555b43}.last-call-poster .section-label span,.last-call-poster .section-label i{color:#171915}.last-call h2{position:relative;z-index:1;margin:29px 0 38px;font:900 clamp(64px,8vw,108px)/.77 var(--display);letter-spacing:-.035em}.last-call h2 em{font-style:normal;color:var(--orange)}.poster-star{position:absolute;right:10%;top:13%;color:var(--orange);font-size:60px;animation:slow-spin 35s linear infinite}.poster-bottom{position:relative;z-index:2;max-width:550px;display:flex;align-items:center;justify-content:space-between;gap:16px}.poster-bottom>span{font:800 12px/1.35 var(--display);letter-spacing:0}.poster-bottom a{height:49px;min-width:190px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#181a14;color:var(--signal-red);font:800 12px/1 var(--display);letter-spacing:0;transition:transform .2s}@media (hover:hover) and (pointer:fine){.poster-bottom a:hover{transform:translateY(-3px)}}.poster-vertical{position:absolute;right:16px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font:700 12px/1 var(--display);letter-spacing:0}.last-call-photo{position:relative;min-height:380px;overflow:hidden;background:#262821}.last-call-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#10110dc7,transparent 52%),linear-gradient(90deg,#14161420,transparent)}.last-call-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 46%;filter:saturate(.76);transition:transform 1s}@media (hover:hover) and (pointer:fine){.last-call-photo:hover img{transform:scale(1.045)}}.last-call-photo>span{position:absolute;z-index:1;left:30px;bottom:27px;color:#fff;font:900 36px/1 var(--display);letter-spacing:0}.footer{padding:65px var(--gutter) 23px;background:#111310;color:#f5f3eb}.footer-top,.footer-lower{max-width:1240px;margin:auto}.footer-top{min-height:180px;display:grid;grid-template-columns:1fr .8fr 1.3fr;gap:35px;align-items:start;border-bottom:1px solid #ffffff2b}.footer-top .brand{margin-top:7px}.footer-top>p{margin:0;color:#a7aaa0;font-size:13px;line-height:1.55}.footer-big-link{justify-self:end;font:900 clamp(35px,5vw,60px)/.8 var(--display);letter-spacing:-.02em}.footer-big-link em{color:var(--signal-red);font-style:normal}.footer-big-link svg{width:20px;height:20px;color:var(--orange)}.footer-lower{min-height:62px;display:flex;align-items:end;justify-content:space-between;gap:18px;color:#a2a59b;font:700 12px/1.4 var(--display);letter-spacing:0}.footer-lower>span:nth-child(2) i{color:var(--signal-red);font-style:normal}.footer-lower>div{display:flex;gap:14px}.footer-lower a{transition:color .2s}@media (hover:hover) and (pointer:fine){.footer-lower a:hover{color:var(--signal-red)}}.mobile-book-ribbon{display:none}@keyframes ticker-drift{to{transform:translate(-50%)}}@keyframes title-arrive{0%{opacity:0;transform:translateY(28px) skewY(3deg);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0) skewY(0);clip-path:inset(0)}}@keyframes slow-spin{to{transform:rotate(360deg)}}@keyframes dot-pop{50%{box-shadow:0 0 0 6px #20231a12}}@keyframes stamp{0%,to{transform:rotate(9deg) scale(1)}50%{transform:rotate(13deg) scale(1.04)}}@media(min-width:1500px){.hero-stage{padding-left:106px;padding-right:106px}.hero-title{font-size:126px}}@media(max-width:1050px){:root{--gutter:clamp(23px,4.6vw,54px)}.main-nav{gap:19px}.main-nav a{font-size:12px}.nav-inner{gap:18px}.hero-stage{gap:2.3vw;grid-template-columns:1.02fr .98fr}.hero-title{font-size:clamp(68px,9vw,100px)}.smash-scene{height:480px;min-height:380px}.photo-mat{inset:7% 9% 8% 8%}.story-inner{gap:75px}.package-floor{gap:35px}.selected-package{grid-template-columns:.75fr 1.25fr}.selected-package-info{padding:24px}.package-specs>div+div{padding-left:7px}.package-specs svg{right:3px}.city-layout{gap:58px}.ticket-city{font-size:70px}}@media(max-width:760px){:root{--gutter:22px;scroll-padding-top:72px}.announcement{height:29px;padding:0 15px;font-size:12px}.announcement a{font-size:12px}.nav-bar{height:65px}.nav-inner{padding:0 var(--gutter)}.main-nav,.nav-cta{display:none}.brand{font-size:12px}.brand-mark{height:30px;width:29px}.menu-button{width:39px;height:39px;display:grid;place-items:center;border:1px solid #ffffff47;background:transparent;color:var(--signal-red)}.menu-button svg{width:19px;height:19px}.mobile-nav{position:absolute;left:0;right:0;top:64px;display:grid;padding:13px var(--gutter) 22px;background:#171a16;border-bottom:1px solid #ffffff30;box-shadow:0 16px 25px #0004}.mobile-nav a{min-height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;font:800 21px/1 var(--display)}.mobile-nav a svg{color:var(--signal-red)}.hero-stage{min-height:unset;padding:51px var(--gutter) 54px;grid-template-columns:1fr;gap:18px;align-items:start}.hero-stage:before{background:radial-gradient(ellipse at 80% 68%,#363a2880 0,transparent 39%),linear-gradient(90deg,transparent 49.9%,#ffffff08 50%,transparent 50.1%)}.hero-ghost{font-size:55vw;right:-.08em;top:37%}.hero-left{padding:0}.hero-kicker{font-size:12px;gap:8px}.hero-title{margin:22px 0 14px;font-size:clamp(67px,16.2vw,115px);line-height:.76}.title-one{font-size:.58em}.title-two{font-size:.8em}.title-three{font-size:.98em}.hero-copy{font-size:15px;margin-bottom:20px}.hero-controls{gap:9px}.hero-book{width:174px;height:49px;font-size:12px}.smash-button{height:46px;font-size:12px;padding:0 10px;gap:6px}.hammer-icon svg{width:15px}.hero-footnote{margin-top:19px;gap:12px;font-size:12px}.smash-scene{width:min(84vw,440px);height:clamp(360px,103vw,460px);min-height:0;margin:9px auto 14px}.photo-mat{inset:7% 8% 8% 7%;padding:8px;box-shadow:0 21px 45px #0008,9px 10px 0 var(--signal-red)}.photo-mat:before{inset:-9px}.scene-caption{left:8px;right:8px;bottom:8px;height:24px;padding:0 7px;font-size:12px}.scene-corner{font-size:12px}.scene-tape{right:-10px;top:8%;padding:7px 10px;font-size:12px}.scene-vertical{right:-14px;font-size:12px}.swing-hammer{right:0;top:-2%}.swing-hammer svg{width:52px;height:52px}.scene-index{font-size:12px;left:1%;bottom:0}.smash-burst{width:125px;height:125px;font-size:27px}.hero-bottom{left:var(--gutter);right:var(--gutter);bottom:17px;font-size:12px;gap:8px}.hero-bottom>span:last-child{max-width:44%;text-align:right;line-height:1.2}.ticker-rail{padding:11px 0}.ticker-runner{font-size:14px;gap:20px;animation-duration:22s}.story-section{padding:76px var(--gutter) 84px}.story-inner{grid-template-columns:1fr;gap:49px}.story-visual{width:82%;max-width:405px;margin:0 auto 0 16px}.story-photo-stack{aspect-ratio:1/1.05}.scribble-sticker{right:-33px;width:88px;height:88px;padding-left:15px;font-size:19px}.scribble-sticker span{right:12px;bottom:13px;font-size:17px}.story-side-type{left:-19px;font-size:12px}.section-title{margin:19px 0 16px;font-size:clamp(53px,13vw,76px)}.story-intro{font-size:15px}.story-steps{margin-top:23px}.story-step{min-height:77px;grid-template-columns:25px 25px 1fr 18px;gap:9px;padding:12px 2px}.story-step-content b{font-size:16px}.story-step-content small{font-size:12px}.story-step-arrow{opacity:1;transform:none;color:var(--orange)}.inline-arrow{margin-top:21px;font-size:12px}.package-room{padding:78px var(--gutter) 27px}.package-room-head{display:block;margin-bottom:22px}.package-room-head>p{margin-top:12px;text-align:left;font-size:13px}.package-floor{display:flex;flex-direction:column;align-items:stretch;gap:18px}.package-left{width:100%;padding:6px 3px 0}.package-index{font-size:12px}.level-line{margin:34px 0 8px}.level-point{width:30px}.level-slider-label{font-size:12px}.level-slider{margin:14px 0 5px}.package-aside-quote{display:none}.selected-package{width:100%;min-height:unset;grid-template-columns:.72fr 1.28fr;box-shadow:7px 8px 0 var(--signal-red)}.selected-package-image{min-height:330px;padding:10px}.selected-package-image>span{font-size:12px;line-height:1.2}.selected-package-image>b{font-size:12px}.selected-package-info{padding:15px 13px}.selected-head{font-size:12px}.selected-package h3{font-size:clamp(28px,7vw,42px);margin:13px 0 7px}.selected-vibe{font-size:12px;min-height:50px}.package-specs{margin:16px 0 14px}.package-specs>div{min-height:58px;padding:9px 2px;column-gap:3px}.package-specs>div+div{padding-left:5px}.package-specs b{font-size:17px}.package-specs span{font-size:12px}.package-specs svg{width:13px;height:13px;top:8px;right:0}.selected-bottom{align-items:start;flex-direction:column;gap:9px}.selected-price strong{font-size:29px}.package-cta{width:100%;height:39px;padding:0 8px;font-size:12px}.package-arrows{position:static;align-self:end;margin-top:-4px;margin-bottom:-3px}.package-arrows button{width:34px;height:34px}.package-foot{padding-top:23px;gap:11px;flex-direction:column;font-size:12px}.safety-signal{min-height:unset;padding:26px var(--gutter);grid-template-columns:46px 1fr 38px;gap:13px}.signal-icon{width:42px;height:42px}.signal-icon svg{width:20px}.signal-heading{font-size:12px}.signal-heading strong{font-size:18px}.safety-signal p{grid-column:2/4;grid-row:2;font-size:12px}.safety-signal>a{grid-column:3;grid-row:1;width:36px;height:36px}.signal-grid{right:-8%;top:-88%;width:170px;height:170px}.photo-roll{padding:76px 0 77px}.photo-roll-head{grid-template-columns:1fr;gap:13px;margin-bottom:25px}.photo-roll-head .section-label{grid-column:auto}.photo-roll-head .section-title{font-size:clamp(54px,13vw,76px)}.photo-roll-head>p{font-size:13px}.drag-hint{display:none}.photo-track{gap:13px;padding-left:var(--gutter);padding-right:var(--gutter)}.photo-tile{width:72vw;max-width:310px;height:clamp(330px,91vw,420px)}.photo-tile-2{height:clamp(295px,80vw,380px);margin-top:34px}.photo-tile-3{height:clamp(345px,94vw,430px);margin-top:-2px}.photo-tile-4{height:clamp(300px,82vw,390px);margin-top:27px}.photo-tile figcaption{padding:14px;font-size:12px}.photo-roll-end{width:205px;padding-left:2px;gap:14px}.photo-roll-end>span{font-size:54px}.photo-roll-end a{font-size:12px}.roll-mobile-cue{margin:15px var(--gutter) 0;display:flex;align-items:center;gap:8px;color:#74776d;font:700 12px/1 var(--display);letter-spacing:0}.roll-mobile-cue svg{color:var(--orange)}.city-section{padding:82px var(--gutter) 88px}.city-layout{grid-template-columns:1fr;gap:36px}.city-copy .section-title{font-size:clamp(60px,14vw,82px)}.city-copy>p{font-size:14px}.city-tabs{margin-top:24px}.city-tab{min-width:0;flex:1}.city-ticket{min-height:300px;padding:23px 20px}.ticket-city{font-size:clamp(58px,15vw,78px);margin-top:39px}.ticket-burst{left:clamp(205px,55vw,260px)}.ticket-address{font-size:12px;line-height:1.35}.ticket-hours{margin-top:20px;font-size:12px}.ticket-bottom{align-items:start;flex-direction:column}.ticket-book{align-self:stretch}.city-backdrop{top:32%;font-size:42vw}.faq-stage{padding:77px var(--gutter) 82px;grid-template-columns:1fr;gap:36px}.faq-intro .section-title{font-size:clamp(58px,14vw,82px)}.faq-intro>p{font-size:14px}.faq-trigger{min-height:69px;grid-template-columns:28px 1fr 25px;gap:10px;padding:14px 0}.faq-trigger b{font-size:19px}.faq-answer p{margin:0 25px 18px 38px;font-size:13px}.last-call{grid-template-columns:1fr}.last-call-poster{min-height:410px;padding:55px var(--gutter)}.last-call h2{font-size:clamp(67px,17vw,100px);margin:27px 0 31px}.poster-star{right:12%;top:11%;font-size:48px}.poster-bottom{align-items:flex-start;flex-direction:column}.poster-bottom a{width:min(100%,300px)}.poster-vertical{right:8px}.last-call-photo{min-height:300px}.last-call-photo>span{font-size:31px;left:21px;bottom:21px}.footer{padding:50px var(--gutter) 92px}.footer-top{min-height:unset;padding-bottom:28px;grid-template-columns:1fr auto;gap:23px}.footer-top>p{grid-column:1;grid-row:2;font-size:12px}.footer-big-link{grid-column:1/-1;grid-row:3;justify-self:start;font-size:clamp(38px,10vw,54px)}.footer-lower{padding-top:18px;align-items:start;display:grid;grid-template-columns:1fr auto;gap:12px;font-size:12px}.footer-lower>div{grid-column:1/-1;flex-direction:column;gap:5px}.footer-lower>a:last-child{grid-column:2;grid-row:1}.mobile-book-ribbon{position:fixed;z-index:40;left:0;right:0;bottom:0;height:58px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--signal-red);color:#171915;box-shadow:0 -7px 25px #0003;font:900 12px/1 var(--display);letter-spacing:0}.mobile-book-ribbon:active{background:#ff777f}}@media(max-width:390px){.hero-title{font-size:16vw}.hero-controls{align-items:stretch}.hero-book{width:100%}.smash-button{flex:1;justify-content:center}.smash-scene{width:88vw;height:92vw}.selected-package{grid-template-columns:.65fr 1.35fr}.selected-package-image{min-height:320px}.selected-package-info{padding:13px 10px}.selected-head{font-size:12px}.selected-package h3{font-size:27px}.package-specs b{font-size:15px}.package-specs span{font-size:12px}.package-specs svg{display:none}.ticket-city{font-size:57px}.ticket-burst{left:200px}.ticket-bottom>a:first-child{font-size:12px}}@media(max-width:760px){.hero-stage{display:flex;flex-direction:column;align-items:stretch}.hero-left{display:contents}.hero-kicker{order:1}.hero-title{order:2;margin-top:19px;margin-bottom:5px;font-size:14.5vw}.smash-scene{order:3;width:min(90vw,440px);height:clamp(205px,55vw,300px);min-height:205px;margin:15px auto 18px}.hero-copy{order:4;margin:0 0 15px}.hero-controls{order:5}.hero-footnote{order:6}.scene-index{bottom:-12px}}@media(max-width:390px){.hero-title{font-size:14.5vw}.hero-controls{align-items:center}.hero-book{width:174px}.smash-button{flex:1}.smash-scene{height:205px;min-height:205px;width:88vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ticker-runner,.kicker-spark,.poster-star,.ticket-burst{animation:none}}:root{--bg:#101211;--ink:#f5f5ee;--muted:#c6c9c0;--line:#ffffff25;--signal-red:#e51c2c;--orange:#ff593d;--surface:#191c1a;--gutter:clamp(23px,6vw,92px);color-scheme:dark;scroll-padding-top:82px}.scroll-progress{position:fixed;z-index:100;inset:0 0 auto;height:3px;background:var(--signal-red);transform-origin:left center;box-shadow:0 0 15px #e51c2c80}body,.experience-shell{background:var(--bg);color:var(--ink)}.nav-bar{background:#101211ed}.story-section,.package-room,.photo-roll,.city-section,.faq-stage,.booking-section,.footer,.last-call{background:#101211;color:var(--ink)}.story-section:after{background:linear-gradient(135deg,transparent 49.8%,#ffffff07 50%,transparent 50.3%)}.story-photo-stack{background:#1b1e1b;box-shadow:12px 13px #20241e}.story-photo-stack:before{border-color:#ffffff32}.story-photo-label{background:var(--signal-red);color:#11130f;font-size:12px;letter-spacing:0;}.story-photo-count{color:#f5f5ee}.story-intro,.story-step-content small,.package-room-head>p,.city-copy>p,.faq-intro>p,.photo-roll-head>p,.safety-signal p{color:#c3c6bc}.section-label{color:#b7bbb1;font:600 14px/1.25 var(--body);letter-spacing:0;}.section-label:before{content:"";display:inline-block;width:7px;height:7px;flex:none;background:var(--orange);box-shadow:0 0 12px #ff593d88}.section-label i{display:none}.section-label span{color:inherit}.section-title{color:var(--ink);text-wrap:balance}.section-title em,.city-copy .section-title em,.faq-intro .section-title em{color:var(--signal-red)}.story-steps{border-color:#ffffff28}.story-step{color:var(--ink);border-color:#ffffff28}.story-step-active{background:#ffffff08}@media (hover:hover) and (pointer:fine){.story-step:hover{background:#ffffff08}}.story-step-number{color:#b2b6ab;font-size:12px}.story-step-icon{color:#b2b6ab}.inline-arrow{color:var(--ink);font-size:12px;letter-spacing:0;text-transform:none}.scribble-sticker{background:var(--orange);color:#11130f;animation:stamp 4s ease-in-out infinite}.package-room:before{background:radial-gradient(ellipse at 75% 48%,#e51c2c10 0,transparent 42%),repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#ffffff08 10%)}.package-room-head>p{color:#c3c6bc}.package-index{color:#d0d1c9;font-size:14px;letter-spacing:0;text-transform:none}.package-index b{color:var(--signal-red)}.package-index span{color:#b5b9af}.level-point{color:#c4c7be}.level-slider-label{color:#c4c7be;font-size:12px;letter-spacing:0;text-transform:none}.package-aside-quote{color:#e1e2dc}.selected-package{background:#191c1a;color:var(--ink);border:1px solid #ffffff28;box-shadow:7px 8px #2b191b}.selected-package:after{background:repeating-linear-gradient(180deg,var(--signal-red) 0 7px,transparent 7px 13px)}.selected-package-image{border-right:1px solid #ffffff20}.selected-head{color:#d0d2c9;font-size:12px;letter-spacing:0;text-transform:none}.selected-package h3{color:var(--ink);text-wrap:balance}.selected-vibe{color:#c5c8be}.package-specs,.package-specs>div+div{border-color:#ffffff30}.package-specs span,.selected-price small{color:#c5c8be;font-size:12px}.selected-price strong{color:var(--ink)}.package-cta,.ticket-book{background:var(--orange);color:#fff;font-size:13px;letter-spacing:0;text-transform:none}@media (hover:hover) and (pointer:fine){.package-cta:hover,.ticket-book:hover{background:#ff735b}}.package-arrows button{border-color:#ffffff50}.package-foot{color:#c2c5bb;font:500 12px/1.5 var(--body);letter-spacing:0;text-transform:none}.package-foot span:last-child i{color:var(--signal-red)}.safety-signal{background:#191c1a;color:var(--ink);border-block:1px solid #ffffff2a}.signal-icon{border-color:#ff593d;color:var(--orange)}.signal-heading{font:500 15px/1.3 var(--body);letter-spacing:0;text-transform:none}.signal-heading strong{color:var(--ink);font:800 25px/1.05 var(--display);letter-spacing:0;text-transform:none}.safety-signal p{color:#c9ccc3;font-size:15px}.safety-signal>a{border-color:#ffffff53;color:var(--ink)}@media (hover:hover) and (pointer:fine){.safety-signal>a:hover{background:var(--orange);border-color:var(--orange);color:#111}}.signal-grid{border-color:#ffffff17}.photo-roll{overflow:hidden}.photo-roll-head .section-label{color:#bdc0b6}.photo-roll-head>p{color:#c4c7be}.drag-hint{color:#d1d3cb;font-size:12px;letter-spacing:0;text-transform:none}.photo-track{cursor:grab}.photo-tile{background:#1a1d1b;border:1px solid #ffffff23}.photo-tile figcaption{font:600 12px/1.2 var(--body);letter-spacing:0;}.photo-tile figcaption svg{color:var(--signal-red)}.photo-roll-end>span{color:var(--ink);font-size:clamp(58px,7vw,84px);line-height:.85;text-transform:none}.photo-roll-end>a{color:var(--ink);font:600 13px/1.2 var(--body);letter-spacing:0;text-transform:none}.roll-mobile-cue{color:#c2c5bb;font:500 12px/1.3 var(--body);letter-spacing:0;text-transform:none}.city-section:before{background:radial-gradient(ellipse at 75% 49%,#e51c2c10 0,transparent 38%)}.city-copy .section-label,.faq-intro .section-label{color:#b7bbb1}.city-copy .section-title em,.faq-intro .section-title em{color:var(--signal-red)}.city-tab{font:600 15px/1 var(--body);text-transform:none;letter-spacing:0}.city-tab-active{background:#2b191b;color:var(--signal-red);border-color:var(--signal-red)}@media (hover:hover) and (pointer:fine){.city-tab:hover{background:#2b191b;color:var(--signal-red);border-color:var(--signal-red)}}.city-tab-active span{color:var(--signal-red)}.city-ticket{background:#191c1a;color:var(--ink);border:1px solid #ffffff35;box-shadow:10px 11px #2b191b}.ticket-top{color:#d0d2c9;font:500 12px/1.3 var(--body);letter-spacing:0;text-transform:none}.ticket-city{color:var(--ink)}.ticket-address,.ticket-bottom>a:first-child{color:#d1d3cb;font-size:14px}.ticket-hours{border-color:#ffffff45;color:#d0d2c9;font:500 13px/1.3 var(--body);letter-spacing:0;text-transform:none}.ticket-hours i{background:var(--signal-red);box-shadow:0 0 0 3px #e51c2c50}.ticket-perf{border-color:#ffffff40}.faq-stack,.faq-row{border-color:#ffffff34}.faq-trigger{color:var(--ink)}.faq-no{color:#bcc0b6;font-size:13px}.faq-trigger b{font:600 22px/1.2 var(--display)}.faq-plus{border-color:#ffffff65;color:var(--signal-red)}.faq-row-open .faq-plus{background:var(--signal-red);color:#11130f;border-color:var(--signal-red)}.faq-answer p{color:#c7cac1;font-size:15px;line-height:1.55}.booking-section{padding:clamp(76px,10vw,136px) var(--gutter);display:grid;grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(42px,8vw,120px);position:relative;overflow:hidden;border-block:1px solid #ffffff26}.booking-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 15% 55%,#ff593d0d,transparent 44%);pointer-events:none}.booking-copy,.booking-form{position:relative}.booking-copy .section-title{font-size:clamp(56px,7vw,84px)}.booking-copy .section-title em{color:var(--signal-red)}.booking-copy>p{max-width:40ch;color:#c7cac1;font-size:17px;line-height:1.6}.booking-trust{max-width:380px;margin-top:32px;display:flex;align-items:center;gap:13px;color:#d6d8d0;font-size:14px;line-height:1.4}.booking-trust svg{color:var(--signal-red);flex:none}.booking-form{padding:clamp(23px,4vw,42px);background:#171a18;border:1px solid #ffffff30;box-shadow:12px 12px #22271d}.booking-form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid #ffffff2b}.booking-form-heading span:first-child{font:700 28px/1.1 var(--display);color:var(--ink)}.booking-form-heading span:last-child{color:#c2c5bb;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px}.booking-form label{display:grid;gap:8px;color:#e0e2da;font-size:14px;font-weight:600}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #ffffff45;background:#101211;color:var(--ink);font:400 15px/1.4 var(--body);outline:0;transition:border-color .18s,box-shadow .18s,background .18s}.booking-form textarea{min-height:88px;resize:vertical}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#b4b8ae;opacity:1}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--signal-red);box-shadow:0 0 0 3px #e51c2c26;background:#141715}.optional-word{display:inline;color:#c2c5bb;font-size:12px;font-weight:400}.form-message-label{grid-column:1/-1}.form-submit{width:100%;min-height:54px;margin-top:21px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;background:var(--signal-red);color:#11130f;font:700 16px/1 var(--body);transition:transform .2s,background .2s}@media (hover:hover) and (pointer:fine){.form-submit:hover{transform:translateY(-2px);background:#ff777f}}.form-submit:active{transform:scale(.99)}.form-footnote{min-height:23px;margin:12px 0 0;color:#c2c5bb;font-size:13px;line-height:1.4}.booking-form [required]:invalid:not(:placeholder-shown){border-color:#ff765f}.last-call{min-height:unset;grid-template-columns:1fr .9fr;background:#121412;color:var(--ink);border-top:1px solid #ffffff22}.last-call-poster{min-height:470px;background:#171a18}.last-call-poster:after{background:repeating-linear-gradient(135deg,transparent 0 25px,#ffffff05 25px 26px)}.last-call-poster .section-label{color:#d1d3cb}.last-call-poster .section-label span{color:inherit}.last-call-poster .section-label:before{background:var(--orange)}.last-call h2{color:var(--ink);font-size:clamp(60px,7vw,94px);line-height:.9;letter-spacing:-.02em;text-wrap:balance}.last-call h2 em{color:var(--signal-red)}.poster-star{color:var(--orange)}.poster-bottom>span{color:#d7d9d2;font:500 14px/1.45 var(--body);letter-spacing:0;text-transform:none}.poster-bottom a{min-width:200px;background:var(--signal-red);color:#11130f;font:700 14px/1 var(--body);letter-spacing:0;text-transform:none}.poster-vertical{color:#c1c4ba;font:500 12px/1.2 var(--body);letter-spacing:0;text-transform:none}.last-call-photo{background:#191c1a}.last-call-photo>span{font:700 30px/1 var(--display);text-transform:none}.footer{border-top:1px solid #ffffff25}.footer-big-link{font-size:clamp(34px,4.5vw,58px);line-height:.95;text-transform:none}.footer-lower{color:#c2c5bb;font:500 13px/1.4 var(--body);letter-spacing:0;text-transform:none}.mobile-book-ribbon{background:var(--signal-red);color:#11130f;font:700 14px/1 var(--body);letter-spacing:0;text-transform:none}.hero-kicker,.hero-footnote,.hero-bottom,.scene-corner,.scene-caption,.scene-vertical,.scene-index,.announcement,.announcement a,.nav-cta,.hero-book,.smash-button,.ticker-runner,.story-photo-label,.story-step-number,.package-index,.level-slider-label,.selected-package-image>span,.selected-package-image>b,.selected-head,.package-foot,.drag-hint,.photo-tile figcaption,.roll-mobile-cue,.ticket-top,.ticket-hours,.package-cta,.ticket-book,.faq-no,.poster-vertical{font-size:12px!important;letter-spacing:0!important;}.scene-tape,.story-side-type{font-size:12px!important;letter-spacing:0!important;}.brand{font-size:14px}.story-side-type{color:#c2c5bb}.hero-footnote,.hero-bottom,.scene-corner,.scene-caption,.scene-vertical,.scene-index{color:#d0d3ca}.hero-footnote span{font-size:12px}.hero-bottom>span:first-child{color:var(--signal-red)}.scene-caption{height:30px;background:#111310ed}.announcement{font-weight:600}.announcement i{background:#171913}.nav-cta,.hero-book{font-size:14px!important}.smash-button{font-size:13px!important}.ticker-runner{font-size:17px!important}.selected-package-image>b{font-size:12px!important}.section-title,.hero-title,.last-call h2{max-width:100%;overflow-wrap:anywhere}button:focus-visible,a:focus-visible{outline:2px solid var(--signal-red);outline-offset:4px}@media(max-width:760px){.booking-section{grid-template-columns:1fr;gap:32px;padding:76px var(--gutter) 88px}.booking-copy .section-title{font-size:clamp(58px,13vw,78px)}.booking-copy>p{font-size:16px}.booking-form{padding:21px 17px;box-shadow:7px 7px #22271d}.booking-form-heading span:first-child{font-size:26px}.form-grid{grid-template-columns:1fr;gap:14px}.form-message-label{grid-column:auto}.booking-form label{font-size:15px}.booking-form input,.booking-form select,.booking-form textarea{min-height:50px;font-size:16px}.form-submit{min-height:55px;font-size:16px}.story-visual{position:relative}.story-step-content small{font-size:13px}.package-foot{font-size:13px!important}.selected-package-image>span{font-size:12px!important}.selected-head{font-size:12px!important}.ticket-top,.ticket-hours{font-size:12px!important}.faq-trigger b{font-size:20px}.last-call-poster{min-height:390px}.last-call h2{font-size:clamp(62px,15vw,88px)}.footer{padding-bottom:96px}}@media(max-width:410px){.hero-title{font-size:14vw}.hero-book{width:160px}.smash-button{font-size:12px!important}.selected-package-info{padding:13px 10px}.selected-package h3{font-size:26px}}@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.scribble-sticker{animation:none}}:root{--signal-red:#ed1c2e;--orange:#f52d39}.announcement{background:#141414;color:#f5f5ee;border-bottom:1px solid #ffffff24}.announcement a{color:#ff4853}.announcement i{background:var(--signal-red);box-shadow:0 0 0 3px #ed1c2e25}.brand{gap:10px;font-size:15px;letter-spacing:0}.brand b{color:var(--ink)}.brand-mark{width:42px;height:43px;position:relative;display:grid;place-items:center;overflow:visible;border:0;background:transparent;color:#fff;transform:none}.brand-mark:before{content:"";position:absolute;inset:5px 2px 8px;background:var(--signal-red);clip-path:polygon(4% 13%,19% 5%,27% 13%,41% 0,53% 9%,68% 0,77% 12%,95% 8%,91% 40%,82% 55%,77% 100%,69% 100%,64% 59%,52% 59%,48% 83%,40% 83%,36% 58%,23% 59%,19% 93%,12% 93%,12% 56%,2% 49%);filter:drop-shadow(0 2px 3px #ed1c2e50)}.brand-mark:after{content:"";position:absolute;z-index:0;left:8px;bottom:1px;width:2px;height:9px;background:var(--signal-red);box-shadow:9px -2px 0 -.2px var(--signal-red),20px 1px 0 -.2px var(--signal-red)}.brand-mark span{position:relative;z-index:1;color:#fff;font:900 12px/.9 var(--display);letter-spacing:-.05em;transform:rotate(-5deg)}.nav-cta,.hero-book,.package-cta,.ticket-book,.form-submit,.poster-bottom a{background:#c81022;color:#fff}@media (hover:hover) and (pointer:fine){.nav-cta:hover,.hero-book:hover,.package-cta:hover,.ticket-book:hover,.form-submit:hover,.poster-bottom a:hover{background:#e51c2e;color:#fff}}.city-tab-active{background:#2c1115;color:#ff626c;border-color:var(--signal-red)}@media (hover:hover) and (pointer:fine){.city-tab:hover{background:#2c1115;color:#ff626c;border-color:var(--signal-red)}}.city-tab-active span{color:#ff626c}.form-submit{font:700 16px/1 var(--body)}.mobile-book-ribbon{background:#c81022;color:#fff}.mobile-book-ribbon:active{background:#e51c2e;color:#fff}@media (hover:hover) and (pointer:fine){.smash-button:hover{border-color:var(--signal-red);color:#ff6870}}.hero-kicker .kicker-spark,.kicker-line,.hero-footnote svg,.hero-bottom>span:first-child,.photo-tile figcaption svg{color:var(--signal-red)}.smash-button.is-smashing{border-color:#ff4b56;color:#ff6a72}.last-call h2{overflow-wrap:normal;word-break:normal}.last-call h2>span,.last-call h2>em{display:block;white-space:nowrap}@media(max-width:1050px){.last-call{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.last-call-poster{min-width:0;padding-inline:clamp(24px,5vw,56px)}.last-call h2{font-size:clamp(48px,7.2vw,76px)}}@media(max-width:760px){.last-call{grid-template-columns:minmax(0,1fr)}.last-call-poster{min-height:unset;padding:50px var(--gutter) 58px}.last-call h2{font-size:clamp(50px,13vw,72px);line-height:.94;margin:24px 0 29px}.last-call-photo{min-height:clamp(290px,82vw,390px)}.poster-bottom{align-items:flex-start;flex-direction:column}.poster-bottom a{width:min(100%,320px)}}@media(max-width:390px){.last-call h2{font-size:48px}}.interior-nav .nav-inner{gap:clamp(12px,2vw,28px)}.interior-nav .main-nav{gap:clamp(10px,1.35vw,21px);flex:1;justify-content:center}.interior-nav .main-nav a{font-size:12px;font-weight:700;letter-spacing:0;color:#dfe0d9;white-space:nowrap}.interior-nav .main-nav a[aria-current=page]{color:var(--signal-red)}@media (hover:hover) and (pointer:fine){.interior-nav .main-nav a:hover{color:var(--signal-red)}}.interior-nav .nav-cta{flex:none;min-width:138px;justify-content:space-between}.interior-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;padding:14px clamp(24px,6vw,92px) 25px}.interior-menu a{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff20;color:var(--ink);font:700 17px/1.15 var(--body)}.interior-menu a[aria-current=page]{color:var(--signal-red)}@media (hover:hover) and (pointer:fine){.interior-menu a:hover{color:var(--signal-red)}}.interior-main{min-height:70vh}.interior-page-content{overflow:hidden}.interior-hero{min-height:clamp(500px,57vw,720px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:stretch;gap:clamp(34px,7vw,100px);padding:clamp(48px,8vw,115px) var(--gutter) clamp(62px,9vw,130px);position:relative}.interior-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 10% 70%,#ed1c2e12,transparent 42%),linear-gradient(135deg,transparent 49.85%,#ffffff08 50%,transparent 50.15%)}.interior-hero-copy{align-self:center;max-width:620px;padding-bottom:15px}.interior-hero-copy h1,.page-heading h2,.corporate-story-copy h2,.about-manifesto h2,.about-frame-copy h2,.faq-page-intro h2,.gallery-page-heading h2{margin:23px 0 20px;color:var(--ink);font:900 clamp(58px,7.3vw,96px)/.88 var(--display);letter-spacing:-.035em;text-wrap:balance}.interior-hero-copy h1 em,.page-heading h2 em,.corporate-story-copy h2 em,.about-manifesto h2 em,.about-frame-copy h2 em,.faq-page-intro h2 em,.gallery-page-heading h2 em{color:var(--signal-red);font-style:normal}.interior-hero-copy>p:last-child{max-width:40ch;color:#d3d5ce;font-size:clamp(16px,1.35vw,19px);line-height:1.55;text-wrap:pretty}.interior-hero-image{position:relative;min-height:clamp(350px,42vw,550px);align-self:center;margin-right:clamp(0px,2vw,28px);isolation:isolate}.interior-hero-image:before{content:"";position:absolute;z-index:-1;inset:12px -14px -13px 13px;background:var(--signal-red)}.interior-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080908b8,transparent 44%),linear-gradient(90deg,#10121155,transparent 55%);pointer-events:none}.interior-hero-image img{width:100%;height:100%;min-height:inherit;position:absolute;inset:0;object-fit:cover;filter:saturate(.77) contrast(1.06)}.interior-image-index,.interior-image-note{position:absolute;z-index:1;color:#fff;font:700 13px/1.25 var(--body);letter-spacing:0}.interior-image-index{left:21px;bottom:19px}.interior-image-note{right:18px;top:19px;text-align:right;color:#f54c56}.page-section{padding:clamp(72px,9vw,125px) var(--gutter);border-top:1px solid #ffffff24}.page-heading{max-width:680px;margin-bottom:clamp(34px,5vw,62px)}.page-heading h2,.faq-page-intro h2,.gallery-page-heading h2{font-size:clamp(53px,6.2vw,82px);margin:17px 0 14px}.page-heading>p:last-child{max-width:47ch;color:#c9ccc3;line-height:1.55}.page-heading-row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:38px}.page-heading-row>p{max-width:42ch;margin:0 0 12px;color:#c9ccc3;line-height:1.55}.book-planner{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:16px clamp(34px,7vw,110px);align-items:start}.book-planner>.page-heading{grid-column:1;grid-row:1;margin:0}.book-planner>.page-heading h2{font-size:clamp(52px,5vw,70px)}.city-choice-list{grid-column:1;display:grid;gap:12px}.city-choice{min-height:98px;padding:16px;display:grid;grid-template-columns:28px 1fr 22px;align-items:center;gap:14px;text-align:left;border:1px solid #ffffff35;background:#171a18;color:var(--ink);transition:background .22s,border-color .22s,transform .22s}@media (hover:hover) and (pointer:fine){.city-choice:hover{transform:translateY(-2px);border-color:#ed1c2e}}.city-choice.is-selected{background:#2a1115;border-color:var(--signal-red);box-shadow:5px 5px #7c121c}.city-choice>svg:first-child,.city-choice>svg:last-child{color:var(--signal-red)}.city-choice span{display:grid;gap:5px}.city-choice strong{font:800 27px/1 var(--display)}.city-choice small{color:#c3c6be;font:500 13px/1.35 var(--body)}.interior-form{grid-column:2;grid-row:1 / span 2;width:100%;max-width:none}.interior-form .form-grid{gap:18px 16px}.interior-form input,.interior-form select,.interior-form textarea{}.interior-form .form-submit{background:#c81022;color:#fff}@media (hover:hover) and (pointer:fine){.interior-form .form-submit:hover{background:#ed1c2e}}.package-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(18px,3vw,42px)}.package-page-item{min-width:0;background:#171a18;border:1px solid #ffffff27;box-shadow:8px 9px #241719}.package-page-item:nth-child(2n){margin-top:clamp(35px,7vw,90px)}.package-page-photo{height:clamp(230px,29vw,390px);position:relative;overflow:hidden}.package-page-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090a09b8,transparent 65%)}.package-page-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.76);transition:transform .6s cubic-bezier(.22,1,.36,1)}@media (hover:hover) and (pointer:fine){.package-page-item:hover .package-page-photo img{transform:scale(1.045)}}.package-page-photo>span{position:absolute;z-index:1;left:20px;bottom:17px;color:#fff;font:700 15px/1 var(--body)}.package-page-copy{padding:clamp(19px,3vw,35px)}.package-page-meta,.package-page-specs,.package-page-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}.package-page-meta{color:#c4c7be;font-size:13px}.package-page-meta span:first-child{color:var(--signal-red)}.package-page-copy h3{margin:22px 0;font:900 clamp(29px,4vw,48px)/.95 var(--display);letter-spacing:-.02em;text-wrap:balance}.package-page-specs{justify-content:flex-start;gap:30px;padding-bottom:22px;border-bottom:1px solid #ffffff28;color:#c6c9c0;font-size:14px}.package-page-specs strong{color:var(--ink);font:800 27px/1 var(--display);margin-right:6px}.package-page-bottom{padding-top:20px}.package-page-bottom>span{font:900 clamp(25px,3vw,36px)/1 var(--display)}.package-page-bottom small{font:600 13px/1 var(--body);margin-right:5px;color:#c7c9c1}.package-page-bottom a,.offer-feature-copy>a{min-height:46px;padding:0 14px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:#c81022;color:#fff;font:700 14px/1 var(--body);transition:background .2s,transform .2s}@media (hover:hover) and (pointer:fine){.package-page-bottom a:hover,.offer-feature-copy>a:hover{background:#ed1c2e;transform:translateY(-2px)}}.policy-band{padding:clamp(56px,7vw,90px) var(--gutter);display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(30px,7vw,100px);background:#181a18;border-block:1px solid #ffffff25}.policy-band-heading>svg{width:33px;height:33px;color:var(--signal-red)}.policy-band-heading h2{margin:20px 0 0;font:900 clamp(45px,5.2vw,69px)/.9 var(--display)}.policy-band-heading h2 em{font-style:normal;color:var(--signal-red)}.policy-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-content:center}.policy-notes article{padding-top:14px;border-top:2px solid var(--signal-red)}.policy-notes strong{font:800 21px/1.15 var(--display)}.policy-notes p{margin:10px 0 0;color:#c8cbc3;font-size:14px;line-height:1.5}.offers-section{background:radial-gradient(ellipse at 90% 50%,#ed1c2e0c,transparent 45%)}.offer-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(17px,3.4vw,44px)}.offer-feature{min-width:0;display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid #ffffff32;background:#171a18;box-shadow:8px 9px #241719}.offer-art{min-height:340px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:22px;background:linear-gradient(145deg,#c81022,#ed1c2e 47%,#490d14)}.offer-art:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 20px,#0b0c0b25 20px 21px);mix-blend-mode:multiply}.offer-art span,.offer-art b,.offer-art i{position:relative;z-index:1;color:#fff}.offer-art span{font:900 clamp(31px,4vw,54px)/.88 var(--display);letter-spacing:-.025em}.offer-art b{font:700 13px/1 var(--body);letter-spacing:0}.offer-art i{position:absolute;right:15px;top:45%;font:800 90px/1 var(--display);font-style:normal;opacity:.27}.offer-teams .offer-art{background:linear-gradient(145deg,#20191b,#bd1424 54%,#6d121b)}.offer-teams .offer-art i{font-size:52px;right:18px}.offer-feature-copy{align-self:center;padding:clamp(18px,3vw,34px)}.offer-feature-copy h3{margin:17px 0;font:900 clamp(32px,4vw,51px)/.91 var(--display);letter-spacing:-.025em}.offer-feature-copy>p:not(.section-label){color:#c9ccc3;font-size:15px;line-height:1.5}.offer-feature-copy>a{margin-top:13px;font-size:13px}.offer-note{display:flex;align-items:center;gap:10px;margin:28px 0 0;color:#c9ccc3;font-size:14px}.offer-note svg{color:var(--signal-red);flex:none}.corporate-story{padding:clamp(70px,9vw,120px) var(--gutter);display:grid;grid-template-columns:minmax(0,1.04fr) minmax(300px,.96fr);gap:clamp(38px,8vw,115px);align-items:center;border-top:1px solid #ffffff25}.corporate-story-photo{min-height:440px;position:relative;overflow:hidden;box-shadow:12px 12px #c81022}.corporate-story-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090a09c9,transparent 60%)}.corporate-story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.corporate-story-photo>span{position:absolute;z-index:1;left:25px;bottom:25px;color:#fff;font:900 clamp(34px,5vw,58px)/.88 var(--display)}.corporate-story-copy h2,.about-frame-copy h2{font-size:clamp(50px,5.7vw,76px)}.corporate-story-copy>p:not(.section-label),.about-frame-copy>p:not(.section-label){max-width:43ch;color:#c9ccc3;font-size:16px;line-height:1.55}.corporate-points{display:grid;gap:15px;margin-top:27px}.corporate-points span{display:flex;align-items:center;gap:12px;color:#e2e3dc;font-size:15px}.corporate-points svg{width:19px;height:19px;color:var(--signal-red);flex:none}.corporate-enquiry{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(32px,7vw,100px);align-items:start;background:#151715;border-top:1px solid #ffffff24}.corporate-enquiry>.page-heading h2{font-size:clamp(50px,5.5vw,75px)}.about-manifesto{padding:clamp(90px,12vw,165px) var(--gutter);position:relative;overflow:hidden;border-block:1px solid #ffffff25;background:repeating-linear-gradient(135deg,#101211 0 22px,#ffffff05 22px 23px)}.about-manifesto h2{max-width:850px;margin:25px 0;font-size:clamp(60px,9vw,112px)}.manifesto-copy{max-width:58ch;margin:0;color:#d1d4cb;font-size:clamp(16px,1.6vw,20px);line-height:1.6}.manifesto-stamp{position:absolute;right:clamp(25px,9vw,130px);top:50%;width:148px;height:148px;display:grid;place-items:center;border:3px solid var(--signal-red);color:var(--signal-red);font:900 30px/.82 var(--display);text-align:center;transform:translateY(-50%) rotate(13deg)}.about-frames{padding:clamp(70px,9vw,120px) var(--gutter);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(30px,7vw,96px);align-items:start}.about-frame{position:relative;margin:0;background:#191c1a}.about-frame:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -100px 60px -75px #070807;pointer-events:none}.about-frame img{width:100%;height:100%;max-height:680px;object-fit:cover}.about-frame-tall{height:clamp(440px,60vw,740px);padding:10px 10px 38px;background:#171a18;box-shadow:10px 10px #c81022;transform:rotate(-1.2deg)}.about-frame figcaption{position:absolute;z-index:1;left:24px;bottom:12px;color:#fff;font-size:13px}.about-frame-copy{padding-top:22px}.about-frame-copy h2{margin:17px 0}.about-frame-copy .inline-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:15px}.about-frame-copy .about-frame{height:clamp(240px,29vw,365px);margin-top:50px;padding:8px 8px 32px;transform:rotate(1deg)}.gallery-page-section{padding-bottom:clamp(75px,9vw,130px)}.gallery-page-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.gallery-page-heading h2{margin-bottom:0}.gallery-filter{display:flex;flex-wrap:wrap;gap:8px}.gallery-filter button{min-height:43px;padding:0 14px;border:1px solid #ffffff35;background:transparent;color:#d7d9d2;font:600 14px/1 var(--body)}.gallery-filter button[aria-pressed=true]{border-color:var(--signal-red);background:#2b1115;color:#fff}@media (hover:hover) and (pointer:fine){.gallery-filter button:hover{border-color:var(--signal-red);background:#2b1115;color:#fff}}.gallery-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(120px,14vw,190px);gap:14px}.gallery-wall-item{position:relative;grid-column:span 4;grid-row:span 2;min-width:0;overflow:hidden;padding:0;border:0;background:#191c1a;text-align:left}.gallery-wall-item-2,.gallery-wall-item-4{grid-column:span 4;grid-row:span 3}.gallery-wall-item-3{grid-column:span 4;grid-row:span 2}.gallery-wall-item-5{grid-column:span 8;grid-row:span 2}.gallery-wall-item:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(0deg,#080908dc,transparent)}.gallery-wall-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.76);transition:transform .55s cubic-bezier(.22,1,.36,1)}@media (hover:hover) and (pointer:fine){.gallery-wall-item:hover img{transform:scale(1.05)}}.gallery-wall-item>span{position:absolute;z-index:1;left:17px;right:16px;bottom:16px;display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end;color:#fff}.gallery-wall-item>span small{grid-column:1/-1;color:#e6e7e1;font-size:12px}.gallery-wall-item>span strong{font:800 23px/.98 var(--display)}.gallery-wall-item>span svg{color:#ff535d}.gallery-wall-note{display:flex;align-items:center;gap:8px;color:#c6c9c0;font-size:14px}.gallery-wall-note svg{color:var(--signal-red)}.gallery-lightbox{position:fixed;z-index:120;inset:0;padding:clamp(20px,5vw,65px);display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;justify-items:center;gap:clamp(12px,3vw,38px);background:#070807f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.gallery-lightbox figure{height:min(82vh,950px);width:min(100%,850px);margin:0;display:grid;grid-template-rows:1fr auto;gap:12px}.gallery-lightbox figure img{width:100%;height:100%;min-height:0;object-fit:contain}.gallery-lightbox figcaption{color:#fff;text-align:center;font:700 18px/1.2 var(--body)}.lightbox-close,.lightbox-arrow{width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff4a;background:#171a18;color:#fff}.lightbox-close{position:absolute;top:18px;right:18px}@media (hover:hover) and (pointer:fine){.lightbox-arrow:hover,.lightbox-close:hover{background:#c81022}}.faq-page-section{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:clamp(36px,8vw,115px);align-items:start}.faq-page-intro h2{margin-top:18px}.faq-page-intro>p:not(.section-label){max-width:38ch;color:#c9ccc3;line-height:1.55}.faq-page-intro .inline-arrow{display:flex;align-items:center;gap:8px;margin:17px 0;color:#f3f3ed;font-size:14px}.faq-page-intro .inline-arrow svg:first-child{color:var(--signal-red)}.faq-page-stack{width:100%}.faq-page-stack .faq-trigger{min-height:76px}.interior-footer{padding-top:56px}.footer-pages{max-width:1240px;margin:16px auto 0;padding-top:17px;border-top:1px solid #ffffff23;display:flex;flex-wrap:wrap;gap:11px 25px}.footer-pages a{color:#d2d5cc;font-size:13px}@media (hover:hover) and (pointer:fine){.footer-pages a:hover{color:var(--signal-red)}}.interior-shell .announcement{height:35px;min-height:35px;padding-inline:14px;gap:10px;font-size:12px}.interior-shell .announcement>span,.interior-shell .announcement>a{white-space:nowrap;font-size:12px!important}@media(max-width:1100px){.experience-shell:not(.interior-shell) .main-nav,.experience-shell:not(.interior-shell) .nav-cta{display:none}.experience-shell:not(.interior-shell) .menu-button{display:grid}.experience-shell:not(.interior-shell) .mobile-nav{position:absolute;z-index:30;left:0;right:0;top:64px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;padding:14px clamp(24px,6vw,92px) 25px;background:#171a16;border-bottom:1px solid #ffffff30;box-shadow:0 16px 25px #0004}.experience-shell:not(.interior-shell) .mobile-nav a{min-height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;font:700 17px/1.15 var(--body);color:var(--ink)}.experience-shell:not(.interior-shell) .mobile-nav a svg{color:var(--signal-red)}.interior-nav .main-nav,.interior-nav .nav-cta{display:none}.interior-nav .menu-button{display:grid}.interior-hero{gap:36px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.interior-hero-copy h1{font-size:clamp(60px,8vw,86px)}.offer-feature{grid-template-columns:1fr}.offer-art{min-height:260px}.offer-art span{font-size:54px}.manifesto-stamp{width:116px;height:116px;font-size:24px}}@media(max-width:760px){.experience-shell:not(.interior-shell) .mobile-nav{grid-template-columns:1fr;max-height:calc(100dvh - 94px);overflow-y:auto;padding:13px var(--gutter) 22px}.experience-shell:not(.interior-shell) .mobile-nav a{font-size:20px}.interior-menu{grid-template-columns:1fr;max-height:calc(100dvh - 94px);overflow-y:auto}.interior-menu a{font-size:20px}.interior-hero{min-height:unset;grid-template-columns:1fr;gap:27px;padding:47px var(--gutter) 52px}.interior-hero-copy{padding:0}.interior-hero-copy h1{font-size:clamp(60px,15vw,92px);margin:18px 0 15px}.interior-hero-copy>p:last-child{font-size:16px}.interior-hero-image{min-height:clamp(250px,70vw,420px);margin:0 8px 10px 0}.interior-image-index,.interior-image-note{font-size:12px}.page-section{padding:68px var(--gutter) 76px}.page-heading-row{display:block}.page-heading-row>p{margin-top:17px}.book-planner{grid-template-columns:1fr;gap:28px}.book-planner>.page-heading{grid-row:auto}.city-choice-list{grid-column:1;grid-row:auto;grid-template-columns:1fr 1fr}.city-choice{min-height:113px;padding:13px;grid-template-columns:22px 1fr;gap:9px}.city-choice>svg:last-child{display:none}.city-choice strong{font-size:24px}.city-choice small{font-size:12px}.interior-form{grid-column:1;grid-row:auto}.interior-form .form-grid{grid-template-columns:1fr;gap:14px}.interior-form .form-message-label{grid-column:auto}.package-page-grid{grid-template-columns:1fr;gap:23px}.package-page-item:nth-child(2n){margin-top:0}.package-page-photo{height:clamp(240px,68vw,410px)}.package-page-copy{padding:20px}.package-page-copy h3{font-size:38px}.policy-band{grid-template-columns:1fr;gap:30px}.policy-notes{grid-template-columns:1fr;gap:22px}.policy-notes article{padding-top:12px}.offer-feature-grid{grid-template-columns:1fr;gap:22px}.offer-feature{grid-template-columns:.85fr 1.15fr}.offer-art{min-height:300px}.corporate-story{grid-template-columns:1fr;gap:43px;padding:69px var(--gutter)}.corporate-story-photo{min-height:clamp(270px,70vw,430px)}.corporate-enquiry{grid-template-columns:1fr;gap:14px}.corporate-enquiry .page-heading{margin-bottom:18px}.manifesto-stamp{width:78px;height:78px;top:23px;right:24px;transform:rotate(12deg);font-size:17px}.about-manifesto{padding-top:80px}.about-manifesto h2{max-width:620px;font-size:clamp(57px,13vw,84px)}.manifesto-copy{font-size:16px;max-width:50ch}.about-frames{grid-template-columns:1fr;gap:48px}.about-frame-tall{height:clamp(340px,105vw,580px)}.about-frame-copy{padding-top:0}.about-frame-copy .about-frame{height:clamp(260px,76vw,380px);margin-top:37px}.gallery-page-heading{display:block}.gallery-filter{margin-top:22px}.gallery-filter button{min-height:44px;padding-inline:11px;font-size:13px}.gallery-wall{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(140px,45vw,220px);gap:10px}.gallery-wall-item,.gallery-wall-item-2,.gallery-wall-item-3,.gallery-wall-item-4,.gallery-wall-item-5{grid-column:span 1;grid-row:span 2}.gallery-wall-item:nth-child(2n){grid-row:span 3}.gallery-wall-item>span{left:12px;right:10px;bottom:12px}.gallery-wall-item>span strong{font-size:20px}.gallery-wall-item>span small{font-size:12px}.gallery-lightbox{grid-template-columns:34px minmax(0,1fr) 34px;gap:7px;padding:16px}.gallery-lightbox figure{height:min(76vh,800px)}.lightbox-close{width:42px;height:42px;top:12px;right:12px}.lightbox-arrow{width:34px;height:44px}.faq-page-section{grid-template-columns:1fr;gap:30px}.faq-page-intro h2{font-size:61px}.faq-page-stack .faq-trigger{min-height:70px}.footer-pages{gap:13px 18px;padding-inline:var(--gutter)}.footer-pages a{font-size:14px}}@media(max-width:430px){.city-choice-list{grid-template-columns:1fr}.city-choice{min-height:82px;grid-template-columns:24px 1fr 18px}.city-choice>svg:last-child{display:block}.package-page-bottom{align-items:flex-start;flex-direction:column}.package-page-bottom a{width:100%}.package-page-specs{gap:15px;font-size:12px}.offer-feature{grid-template-columns:1fr}.offer-art{min-height:220px}.offer-art span{font-size:47px}.offer-feature-copy{padding:22px}.gallery-filter{gap:5px}.gallery-filter button{padding-inline:8px;font-size:12px}.gallery-wall{grid-auto-rows:44vw}}@media(prefers-reduced-motion:reduce){.package-page-photo img,.gallery-wall-item img,.city-choice,.package-page-bottom a,.offer-feature-copy>a{transition:none}}


/* ===== Included from: site-overrides.css ===== */
/* logo */
.brand-logo{display:block;height:60px;width:auto}

@media(max-width:650px){.brand-logo{height:50px}}

/* hero headline: slower, one line after the other */
.title-line{animation-duration:1.1s}
.title-one{animation-delay:.1s}
.title-two{animation-delay:.35s}
.title-three{animation-delay:.6s}

/* scroll reveal for the smaller pieces inside each section (added by home-motion.js).
   uses the standalone translate property so it never fights existing transforms */
.mx{opacity:0;translate:0 48px;transition:opacity .9s cubic-bezier(.22,1,.36,1),translate 1s cubic-bezier(.22,1,.36,1)}
.mx-l{translate:-60px 0}
.mx-r{translate:60px 0}
@media(max-width:800px){.mx-l,.mx-r{translate:0 44px}}
body{overflow-x:clip}
.mx.mx-in{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.mx{opacity:1;translate:none;transition:none}}

/* layout fixes after trimming the homepage */
.story-step{grid-template-columns:30px 1fr}
@media(max-width:700px){.story-step{grid-template-columns:25px 1fr}}
.package-left{align-self:center}
.level-line{margin:20px 0 0}
.photo-tile figcaption{justify-content:flex-start}
.package-foot{justify-content:flex-start}
.hero-bottom{gap:0}
.package-room-head p{margin-right:134px}
@media(max-width:1000px){.package-room-head p{margin-right:0}}

/* shared contact form on the homepage */
.bp-contact label{font-size:14px;font-weight:600;letter-spacing:0;color:#b3b6ad}
.bp-contact input,.bp-contact textarea{font-size:16px}
.bp-contact textarea{min-height:150px;resize:vertical}
.bp-contact .form-submit:disabled{opacity:.6;cursor:wait}
.bp-status.ok{color:#7fe3a1}
.bp-status.err{color:#ff6b78}
.bp-book-online{display:inline-flex;align-items:center;gap:10px;margin-top:22px;min-height:50px;padding:0 22px;background:var(--signal-red);color:#11130f;font:700 15px/1 var(--body);transition:transform .5s cubic-bezier(.22,1,.36,1),background .3s}@media (hover:hover) and (pointer:fine){.bp-book-online:hover{transform:translateY(-3px);background:#fff}}
@media(max-width:700px){.bp-book-online{width:100%;justify-content:center}}

/* no red-dot labels or small eyebrow text above headings (safety net) */
.section-label,.hero-kicker,.eyebrow{display:none!important}

/* google map inside the homepage location ticket */
.ticket-map{margin:18px 0 0;overflow:hidden;line-height:0;background:#0d0f0e;border:1px solid #ffffff22}
.ticket-map iframe{display:block;width:100%;height:230px;border:0}
.city-ticket{min-height:0}
@media(max-width:700px){.ticket-map iframe{height:200px}}



/* ================= Final polish pass (homepage) ================= */

/* 1. headings: smaller so they fit the screen, taller line box so g / p / y are not cut */
.hero-title{font-size:clamp(50px,6.4vw,92px)!important;line-height:.95!important;letter-spacing:-.02em!important}
.title-line{padding-bottom:.08em}
.section-title{font-size:clamp(36px,4.4vw,60px)!important;line-height:1.02!important;letter-spacing:-.015em!important}
.city-copy .section-title,.faq-intro .section-title,.booking-copy .section-title,.photo-roll-head .section-title{font-size:clamp(38px,4.8vw,64px)!important}
.ticket-city{font-size:clamp(38px,4.6vw,58px)!important;line-height:1!important}
.photo-roll-end>span{font-size:clamp(38px,4.6vw,58px)!important}
.last-call h2{font-size:clamp(38px,5.2vw,70px)!important;line-height:1!important}
.footer-big-link{font-size:clamp(26px,3.3vw,44px)!important;line-height:1.05!important}
.selected-package h3{font-size:clamp(26px,3vw,40px)!important;line-height:1.05!important}
@media(max-width:1050px){.hero-title{font-size:clamp(50px,8vw,80px)!important}}
@media(max-width:760px){
  .hero-title{font-size:clamp(42px,12.5vw,66px)!important;line-height:.98!important}
  .section-title,.city-copy .section-title,.faq-intro .section-title,.booking-copy .section-title,.photo-roll-head .section-title{font-size:clamp(34px,10vw,48px)!important}
  .ticket-city,.photo-roll-end>span{font-size:clamp(36px,10.5vw,50px)!important}
  .last-call h2{font-size:clamp(36px,10.5vw,54px)!important}
  .footer-big-link{font-size:clamp(26px,7.6vw,38px)!important}
  .selected-package h3{font-size:clamp(24px,6.4vw,32px)!important}
}
@media(max-width:390px){.hero-title{font-size:clamp(38px,11.8vw,48px)!important}.ticket-city{font-size:38px!important}.last-call h2{font-size:36px!important}}

/* the hero lines used a clip-path that sliced the bottom of letters like g; fade + rise instead */
@keyframes title-arrive{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.title-line{animation-duration:1.4s!important}
.title-one{animation-delay:.1s!important}
.title-two{animation-delay:.4s!important}
.title-three{animation-delay:.7s!important}

/* 2. fewer divider lines */
.bottom-rule{display:none}
.story-steps,.faq-stack,.package-specs{border-top:0!important}
.package-specs{border-bottom:0!important}
.footer-top,.footer-pages,.last-call,.safety-signal{border-top:0!important;border-bottom:0!important}
.booking-form-heading{border-bottom:0!important;padding-bottom:0!important}

/* 3. rounded buttons (form fields stay as they are) */
.hero-book,.package-cta,.ticket-book,.smash-button,.nav-cta,.bp-book-online,.poster-bottom a,
.city-tab,.package-arrows button,.mobile-book-ribbon,.form-submit,.menu-button,.inline-arrow{border-radius:14px}
.cta-arrow{border-radius:10px}
.hero-book,.package-cta,.ticket-book,.nav-cta,.bp-book-online,.poster-bottom a{overflow:hidden}

/* 4. a touch slower and softer */
.mx{transition:opacity 1.2s cubic-bezier(.22,1,.36,1),translate 1.4s cubic-bezier(.22,1,.36,1)}


/* ================= Universal buttons + performance (homepage) ================= */
:root{--signal-red:#e51c2c}

/* one style for every button: red, white text, rounded (packages card itself stays square) */
.nav-cta,.hero-book,.package-cta,.ticket-book,.form-submit,.bp-book-online,.poster-bottom a,
.smash-button,.city-tab,.package-arrows button,.mobile-book-ribbon,.lightbox-arrow,.lightbox-close{
  background:#e51c2c!important;border:1px solid #e51c2c!important;color:#fff!important;border-radius:14px}@media (hover:hover) and (pointer:fine){.nav-cta:hover,.hero-book:hover,.package-cta:hover,.ticket-book:hover,.form-submit:hover,.bp-book-online:hover,.poster-bottom a:hover,.smash-button:hover,.city-tab:hover,.package-arrows button:hover,.mobile-book-ribbon:hover{
  background:#ff3041!important;border-color:#ff3041!important;color:#fff!important}}
.smash-pulse{display:none}
.smash-button.is-smashing{background:#ff3041!important;color:#fff!important}
.city-tab span,.city-tab-active span{color:#fff!important}
.city-tab-active{box-shadow:inset 0 0 0 2px #fff}
.cta-arrow{background:rgba(255,255,255,.22);color:#fff}
.bp-book-online{color:#fff}
.nav-cta:active,.hero-book:active,.package-cta:active,.ticket-book:active,.form-submit:active,.smash-button:active,
.city-tab:active,.package-arrows button:active{transform:scale(.97)}

/* packages section heading */
.package-room-head{margin-bottom:28px}
.package-room-head .section-title{margin:0;color:var(--ink);max-width:22ch;text-wrap:balance}
.package-room-head .section-title em{color:#e51c2c;font-style:normal}

/* smoother: compositor-friendly reveal, easing out */
.mx{transition:opacity 1.3s cubic-bezier(.16,1,.3,1),translate 1.6s cubic-bezier(.16,1,.3,1);will-change:opacity,translate}

/* ================= Final tidy ================= */
/* story steps: no divider lines, no layout shift on hover (padding no longer animates) */
.story-steps{border:0}
.story-step{border:0!important;padding:14px 12px!important;border-radius:12px;transition:background .25s}.story-step-active{padding-left:12px!important;background:rgba(255,255,255,.06)}@media (hover:hover) and (pointer:fine){.story-step:hover{padding-left:12px!important;background:rgba(255,255,255,.06)}}
.story-step+.story-step{margin-top:4px}
/* safety band arrow is a button */
.safety-signal>a{background:#e51c2c!important;border:1px solid #e51c2c!important;color:#fff!important;border-radius:12px}@media (hover:hover) and (pointer:fine){.safety-signal>a:hover{background:#ff3041!important;border-color:#ff3041!important;color:#fff!important}}
.signal-icon{border-radius:12px}
/* gallery heading lines up with the photos below it */
.photo-roll-head{max-width:none}
/* packages heading a little smaller */
.package-room-head .section-title.package-title{font-size:clamp(30px,3.6vw,50px)!important}
@media(max-width:760px){.package-room-head .section-title.package-title{font-size:clamp(28px,8.4vw,38px)!important}}
/* ticket: fewer dashed dividers */
.ticket-hours{border-top:0!important;border-bottom:0!important}

/* hero button text never wraps; menu buttons match the rest */
.hero-book{width:auto;min-width:176px;white-space:nowrap}
.menu-button{background:#e51c2c!important;border-color:#e51c2c!important;color:#fff!important;border-radius:12px}

/* "Quick" in the FAQ heading was dark-on-dark and invisible */
.faq-intro .section-title{color:var(--ink)!important}

/* labels on red: white text for clear reading */
.scene-tape,.ticker-runner span,.story-photo-label,.selected-package-image>b{color:#fff!important}
.ticker-runner span{font-weight:700}
.hero-bottom>span:first-child{color:#ff5a66}
.level-point span{color:#e8eae1!important}


/* ================= Manrope + 1s motion + performance (homepage) ================= */
h1,h2,h3,h4,.hero-title,.section-title{font-family:var(--display);font-weight:800}
p,li{font-weight:400}
.hero-title{line-height:1.02!important;letter-spacing:-.015em!important}
.section-title{line-height:1.08!important;letter-spacing:-.01em!important}
@keyframes title-arrive{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.title-line{animation-duration:1s!important;animation-timing-function:cubic-bezier(.16,1,.3,1)!important}
.title-one{animation-delay:.05s!important}.title-two{animation-delay:.2s!important}.title-three{animation-delay:.35s!important}
.mx{translate:0 36px;transition:opacity 1s cubic-bezier(.16,1,.3,1),translate 1s cubic-bezier(.16,1,.3,1)!important}
.mx-l{translate:-48px 0}.mx-r{translate:48px 0}
@media(max-width:800px){.mx,.mx-l,.mx-r{translate:0 28px}}
.mx.mx-in{translate:0 0}

/* Final logo proportion adjustment: preserve full mark, reduce crop/zoom feel and align optically upward. */
.bp-brand img,.brand-logo{height:50px!important;width:auto!important;object-fit:contain;transform:translateY(-2px);}
@media(max-width:650px){.bp-brand img,.brand-logo{height:47px!important;transform:translateY(-2px);}}
@media(min-width:901px){.bp-brand img,.brand-logo{height:54px!important;transform:translateY(-2px);}}


/* ===== Included from: site-chrome.css ===== */
/* Shared header + footer + smooth scroll. Same markup and styles on every page. */
:root{--bp-red:#e51c2c;--bp-red-hover:#ff3041;--bp-bg:#101211;--bp-ink:#f5f3eb;--bp-muted:#a9aca3;--bp-line:rgba(245,243,235,.14);--bp-header-h:76px;--bp-gutter:clamp(20px,5vw,72px);--bp-display:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--bp-body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
@media(max-width:700px){:root{--bp-header-h:66px}}

/* lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:auto}

/* header */
.bp-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:var(--bp-header-h);background:rgba(16,18,17,.98);border-bottom:1px solid var(--bp-line);font-family:var(--bp-body)}
.bp-header-inner{height:100%;max-width:1440px;margin:0 auto;padding:0 var(--bp-gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.bp-brand{display:flex;align-items:center;justify-self:start}
.bp-brand img{display:block;height:48px;width:auto}
.bp-nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.9vw,30px)}
.bp-nav a{position:relative;padding:8px 0;font-size:14px;font-weight:600;color:#d8d9d2;white-space:nowrap;transition:color .25s}
.bp-nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--bp-red);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}.bp-nav a[aria-current=page]{color:#fff}@media (hover:hover) and (pointer:fine){.bp-nav a:hover{color:#fff}}.bp-nav a[aria-current=page]::after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.bp-nav a:hover::after{transform:scaleX(1)}}
.bp-cta{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;background:var(--bp-red);color:#fff;font:700 14px/1 var(--bp-body);border-radius:14px;transition:background .25s,transform .25s}@media (hover:hover) and (pointer:fine){.bp-cta:hover{background:var(--bp-red-hover);transform:translateY(-2px)}}
.bp-menu{display:none;justify-self:end;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);background:transparent;border-radius:14px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.bp-menu span{display:block;width:20px;height:2px;background:#f5f3eb;transition:transform .3s,opacity .2s}
.bp-menu[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.bp-menu[aria-expanded=true] span:nth-child(2){opacity:0}
.bp-menu[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.bp-mobile{display:none}
@media(max-width:1260px){
  .bp-header-inner{grid-template-columns:1fr auto auto}
  .bp-nav{display:none}
  .bp-menu{display:flex}
  .bp-mobile.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - var(--bp-header-h));overflow-y:auto;padding:8px var(--bp-gutter) 24px;background:#101211;border-bottom:1px solid var(--bp-line);box-shadow:0 18px 30px rgba(0,0,0,.45)}
  .bp-mobile a{display:flex;align-items:center;justify-content:space-between;min-height:54px;font-size:18px;font-weight:600;color:#e8e9e2;border-bottom:1px solid rgba(255,255,255,.08)}
  .bp-mobile a[aria-current=page]{color:var(--bp-red-hover)}
}
@media(max-width:520px){.bp-cta{display:none}.bp-header-inner{grid-template-columns:1fr auto}}

/* homepage sits under the fixed header */
.experience-shell{padding-top:var(--bp-header-h)}
html{scroll-padding-top:var(--bp-header-h)}

/* footer */
.bp-footer{background:#0d0f0e;border-top:1px solid var(--bp-line);color:var(--bp-muted);font-family:var(--bp-body);font-size:15px;line-height:1.55}
.bp-footer-inner{max-width:1440px;margin:0 auto;padding:64px var(--bp-gutter) 28px}
.bp-footer-top{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-bottom:12px}
.bp-footer-brand{display:flex;align-items:center;gap:24px}
.bp-footer-brand img{display:block;height:96px;width:auto}
.bp-footer-brand p{margin:0;max-width:300px;font:700 28px/1.1 var(--bp-display);color:var(--bp-ink)}
.bp-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:32px 0 24px}
.bp-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.bp-footer-col h4{margin:0 0 6px;font:700 17px/1.2 var(--bp-display);color:var(--bp-ink)}
.bp-footer-col a{color:#cfd1c8;transition:color .25s}@media (hover:hover) and (pointer:fine){.bp-footer-col a:hover{color:var(--bp-red-hover)}}
.bp-footer-col .bp-phone{font-size:20px;font-weight:700;color:var(--bp-ink)}
.bp-social{display:flex;gap:12px}
.bp-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:14px;color:var(--bp-ink);transition:background .3s,border-color .3s,transform .3s}@media (hover:hover) and (pointer:fine){.bp-social a:hover{background:var(--bp-red);border-color:var(--bp-red);color:#fff;transform:translateY(-2px)}}
.bp-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:8px;font-size:14px;color:#8c9085}
.bp-footer-bottom a{color:#cfd1c8}@media (hover:hover) and (pointer:fine){.bp-footer-bottom a:hover{color:var(--bp-red-hover)}}
@media(max-width:900px){.bp-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bp-footer-grid{grid-template-columns:1fr;gap:28px}.bp-footer-brand{flex-direction:column;align-items:flex-start}}
.bp-red{color:var(--bp-red)}
.bp-mobile-cta{color:var(--bp-red-hover)!important}
@media(min-width:521px){.bp-mobile-cta{display:none!important}}

.bp-cta{background:#e51c2c;color:#fff}@media (hover:hover) and (pointer:fine){.bp-cta:hover{background:#ff3041;color:#fff}}
.bp-footer-bottom,.bp-footer-top{border:0}
.bp-menu{background:#e51c2c;border-color:#e51c2c}
.bp-menu span{background:#fff}


/* Manrope in header + footer */
.bp-header,.bp-footer,.bp-nav a,.bp-mobile a,.bp-footer a{font-family:var(--bp-body)}
.bp-nav a{font-weight:600;letter-spacing:.005em}
.bp-footer h4,.bp-footer h3{font-family:var(--bp-display);font-weight:700;letter-spacing:0}
.bp-footer{content-visibility:auto;contain-intrinsic-size:auto 420px}

/* Final logo proportion adjustment: preserve full mark, reduce crop/zoom feel and align optically upward. */
.bp-brand img,.brand-logo{height:50px!important;width:auto!important;object-fit:contain;transform:translateY(-2px);}
@media(max-width:650px){.bp-brand img,.brand-logo{height:47px!important;transform:translateY(-2px);}}
@media(min-width:901px){.bp-brand img,.brand-logo{height:54px!important;transform:translateY(-2px);}}


/* ===== Included from: refine.css ===== */
/* =====================================================================
   refine.css  (loaded last on every page)
   1. Manrope typography system      2. 1.4s motion       3. Rounded forms
   4. Locations side by side         5. Footer credit     6. Performance
   ===================================================================== */

:root{
  --font-sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:var(--font-sans);--body:var(--font-sans);
  --bp-display:var(--font-sans);--bp-body:var(--font-sans);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --motion:1.4s;
  --r-card:24px;--r-field:14px;--r-btn:14px;
}

/* ---------------------------------------------------------------------
   1. TYPOGRAPHY
   Manrope tops out at weight 800, so every "900" becomes 800.
   Big headings: tight tracking, 1.08 line height, room for descenders (g, p, y).
   Body copy: 1.65 line height, neutral tracking.
   --------------------------------------------------------------------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-family:var(--font-sans);font-weight:400;line-height:1.65;letter-spacing:0;
  font-synthesis:none;font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
button,input,select,textarea,.btn,.bp-cta,.bp-nav a,.bp-mobile a{font-family:var(--font-sans)}
p,li,.lead,.muted{font-weight:400;letter-spacing:0;line-height:1.65}
b,strong{font-weight:700}

h1,h2,h3,h4,
.display,.hero-title,.section-title,.ticket-city,.footer-big-link,.last-call h2,
.photo-roll-end>span,.selected-package h3,.cb-name,.pkg-body h3,.loc-card h2,.info-card h3,
.interior-hero h1,.page-heading h2,.booking-form-heading span:first-child{
  font-family:var(--font-sans);font-weight:800;font-style:normal;
  line-height:1.1;letter-spacing:-.03em;text-transform:none;
  overflow-wrap:break-word;text-wrap:balance;
  padding-bottom:.06em;           /* descenders never clip */
}
h1 em,h2 em,h3 em,.section-title em,.footer-big-link em{font-style:normal}

/* page headings (inner pages) */
.display{line-height:1.08!important;letter-spacing:-.035em!important}
.display.xl{font-size:clamp(40px,5vw,80px)}
.display.lg{font-size:clamp(38px,4.5vw,68px)}
.display.md{font-size:clamp(32px,3.6vw,52px)}
h3,h4{line-height:1.2;letter-spacing:-.02em}
.pkg-body h3,.info-card h3{letter-spacing:-.02em;line-height:1.18}
.loc-card h2{font-size:clamp(28px,2.8vw,38px);letter-spacing:-.03em}
.content-block h2{line-height:1.12}

/* homepage headings */
.hero-title{font-size:clamp(44px,5.8vw,84px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
.title-line{padding-bottom:.1em}
.section-title{font-size:clamp(32px,4vw,54px)!important;line-height:1.1!important;letter-spacing:-.035em!important}
.city-copy .section-title,.faq-intro .section-title,.booking-copy .section-title,.photo-roll-head .section-title{font-size:clamp(34px,4.3vw,58px)!important}
.package-room-head .section-title.package-title{font-size:clamp(28px,3.3vw,46px)!important}
.ticket-city{font-size:clamp(36px,4vw,52px)!important;line-height:1.06!important;letter-spacing:-.035em!important;margin:30px 0 14px!important}
.photo-roll-end>span{font-size:clamp(34px,4vw,52px)!important;line-height:1.08!important}
.last-call h2{font-size:clamp(34px,4.6vw,62px)!important;line-height:1.06!important;letter-spacing:-.04em!important}
.footer-big-link{font-size:clamp(26px,3vw,40px)!important;line-height:1.12!important;letter-spacing:-.03em!important}
.selected-package h3{font-size:clamp(26px,2.8vw,38px)!important;line-height:1.1!important;letter-spacing:-.03em!important;margin:16px 0 10px!important}
.selected-price strong{font-weight:800;letter-spacing:-.02em}
.booking-form-heading span:first-child{font-size:26px;line-height:1.15}

@media(max-width:1050px){.hero-title{font-size:clamp(44px,7.4vw,74px)!important}}
@media(max-width:760px){
  .hero-title{font-size:clamp(38px,11vw,58px)!important;line-height:1.06!important}
  .section-title,.city-copy .section-title,.faq-intro .section-title,.booking-copy .section-title,.photo-roll-head .section-title{font-size:clamp(30px,8.6vw,42px)!important}
  .package-room-head .section-title.package-title{font-size:clamp(27px,7.6vw,36px)!important}
  .ticket-city,.photo-roll-end>span{font-size:clamp(32px,9vw,44px)!important}
  .last-call h2{font-size:clamp(32px,9vw,46px)!important}
  .footer-big-link{font-size:clamp(26px,7vw,34px)!important}
  .selected-package h3{font-size:clamp(23px,6vw,30px)!important}
  .display.xl,.display.lg{font-size:clamp(34px,9.6vw,48px)}
  .display.md{font-size:clamp(30px,8.6vw,42px)}
}
@media(max-width:390px){.hero-title{font-size:clamp(34px,10.4vw,42px)!important}.ticket-city{font-size:32px!important}.last-call h2{font-size:31px!important}}

/* small labels, nav, buttons, footer */
.section-label,.ticket-top,.ticket-hours,.footer-lower,.story-photo-label,.selected-head,.package-specs span{letter-spacing:0;line-height:1.4}
.bp-nav a{font-size:14px;font-weight:600;letter-spacing:0}
.bp-mobile a{font-weight:600;letter-spacing:-.005em}
.bp-cta,.btn,.nav-cta,.hero-book,.package-cta,.ticket-book,.form-submit,.poster-bottom a,.bp-book-online,button{font-weight:700;letter-spacing:0}
.bp-footer h4,.bp-footer h3{font-weight:800;letter-spacing:-.01em}
.bp-footer-brand p{font-weight:800;letter-spacing:-.025em;line-height:1.15}
.bp-footer-col .bp-phone{font-weight:800;letter-spacing:-.01em}

/* the word-by-word heading reveal clips its line box: give it room */
.js .wsplit .w{padding-bottom:.14em;margin-bottom:-.14em}

/* ---------------------------------------------------------------------
   2. MOTION: every reveal takes 1.4s, soft ease-out, opacity + transform only
   --------------------------------------------------------------------- */
.js .reveal,
.js figure.reveal{transition:opacity var(--motion) var(--ease-out),transform var(--motion) var(--ease-out)}
.js figure.reveal img{transition:transform var(--motion) var(--ease-out)}
.js .wsplit .w>span{transition-duration:var(--motion)!important;transition-timing-function:var(--ease-out)!important}
.js .reveal.reveal-done{transition:opacity .4s,transform .45s var(--ease-out),border-color .3s,background .3s,box-shadow .4s}
.is-entering{animation-duration:var(--motion)}
.mx{transition:opacity var(--motion) var(--ease-out),translate var(--motion) var(--ease-out)!important}
.title-line{animation-duration:var(--motion)!important;animation-timing-function:var(--ease-out)!important}
.title-one{animation-delay:.05s!important}.title-two{animation-delay:.25s!important}.title-three{animation-delay:.45s!important}
@media(prefers-reduced-motion:reduce){
  .js .reveal,.js .wsplit .w>span,.js figure.reveal img,.mx{transition:none!important}
  .title-line{animation:none!important}
}

/* ---------------------------------------------------------------------
   3. FORMS: soft rounded card, rounded fields, compact submit (all pages)
   --------------------------------------------------------------------- */
.form-card,.booking-form{
  border-radius:var(--r-card)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:#171a18!important;
  box-shadow:0 28px 60px -30px rgba(0,0,0,.7)!important;
}
.form-card input,.form-card select,.form-card textarea,
.booking-form input,.booking-form select,.booking-form textarea,
.field input,.field select,.field textarea{
  border-radius:var(--r-field)!important;
  border:1px solid rgba(255,255,255,.16);
  background:#0f1110;
  font-family:var(--font-sans);font-weight:500;
  transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out),background .3s var(--ease-out);
}
.form-card input:focus,.form-card textarea:focus,.form-card select:focus,
.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus,
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:#e51c2c!important;background:#121513!important;
  box-shadow:0 0 0 4px rgba(229,28,44,.16)!important;outline:0;
}
.form-card ::placeholder,.booking-form ::placeholder,.field ::placeholder{color:#8f948a;opacity:1;font-weight:500}
.form-card label,.booking-form label,.field label{font-size:14px!important;font-weight:700!important;letter-spacing:0!important;color:#cfd2c9!important}
.booking-form textarea,.field textarea{min-height:150px;resize:vertical;line-height:1.55}

/* submit: normal compact size, never full width */
.form-submit,.booking-form .form-submit,.contact-section .form-submit{
  width:auto!important;min-width:0!important;max-width:100%;
  min-height:52px;padding:0 36px!important;
  display:inline-flex!important;align-items:center;justify-content:center!important;gap:10px;
  border-radius:var(--r-btn)!important;font-size:16px;font-weight:700;line-height:1;
  margin-top:22px;cursor:pointer;
}
.field.full .form-submit{margin-top:6px}
.form-submit svg{display:none}
.form-status,.form-footnote{font-weight:500}

/* ---------------------------------------------------------------------
   4. HOMEPAGE LOCATIONS: Lahore + Karachi side by side
   --------------------------------------------------------------------- */
.city-layout{grid-template-columns:1fr!important;align-items:start!important;gap:clamp(34px,4.5vw,56px)!important;max-width:1240px}
.city-copy{max-width:660px}
.city-tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);align-items:stretch}
.city-ticket{min-width:0;min-height:0!important;display:flex;flex-direction:column;padding:26px 28px!important;box-shadow:none!important}
.city-ticket .ticket-map{flex:1 1 auto;display:flex}
.city-ticket .ticket-map iframe{flex:1;height:230px;min-height:230px}
.city-ticket .ticket-bottom{margin-top:auto}
.ticket-book{white-space:nowrap}
@media(max-width:900px){
  .city-tickets{grid-template-columns:1fr}
  .city-ticket{padding:22px 20px!important}
  .city-ticket .ticket-map iframe{height:210px;min-height:210px}
}
@media(max-width:520px){
  .ticket-bottom{flex-direction:column!important;align-items:stretch!important;gap:14px!important}
  .ticket-book{justify-content:center}
}

/* ---------------------------------------------------------------------
   5. CONTACT PAGE + FOOTER CREDIT
   --------------------------------------------------------------------- */
.contact-page{padding:calc(var(--bp-header-h,76px) + clamp(40px,7vw,88px)) 0 clamp(72px,10vw,120px)}
.contact-wrap{max-width:760px}
.contact-wrap h1{margin:0 0 clamp(22px,3vw,34px)}
.contact-page .form-card{padding:clamp(22px,3.4vw,38px)}

.bp-footer-credit{margin:22px 0 0;padding:0;border:0;text-align:center;font-size:12.5px;font-weight:500;letter-spacing:.01em;color:#8c9085}
.bp-footer-credit a{color:#cfd1c8;font-weight:700;transition:color .3s var(--ease-out)}.bp-footer-credit a:focus-visible{color:var(--bp-red-hover,#ff3041)}@media (hover:hover) and (pointer:fine){.bp-footer-credit a:hover{color:var(--bp-red-hover,#ff3041)}}

/* ---------------------------------------------------------------------
   6. PERFORMANCE
   content-visibility on big sections made scrolling jump and re-paint late: removed.
   --------------------------------------------------------------------- */
.section,.section-sm{content-visibility:visible;contain-intrinsic-size:none}
.js .reveal:not(.reveal-done),.mx{will-change:opacity,transform}
.js .reveal.reveal-done,.mx-in{will-change:auto}
img{height:auto}
iframe{background:#0d0f0e}
@media(max-width:800px){
  /* lighter, shorter travel on phones keeps the 1.4s fade smooth */
  .js .reveal,.js .reveal-left,.js .reveal-right,.js .reveal-zoom{transform:translateY(26px)}
}

/* =====================================================================
   Round 2
   ===================================================================== */

/* hero buttons: identical size, shape and type */
.hero-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;align-items:stretch!important;width:100%;max-width:440px}
.hero-controls .hero-book,.hero-controls .smash-button{
  width:100%!important;min-width:0!important;height:56px!important;min-height:56px;
  padding:0 18px!important;margin:0;display:inline-flex!important;align-items:center;justify-content:center!important;gap:10px;
  font:700 15px/1 var(--font-sans)!important;letter-spacing:0!important;white-space:nowrap;text-align:center;
  border-radius:var(--r-btn)!important;
}
.hero-controls .hero-book{justify-content:space-between!important}
.hero-controls .hero-book .cta-arrow{width:30px;height:30px;display:grid;place-items:center;flex:none}
.hero-controls .smash-button .hammer-icon{display:inline-grid;place-items:center;flex:none}
@media(max-width:480px){
  .hero-controls{gap:10px!important}
  .hero-controls .hero-book,.hero-controls .smash-button{padding:0 12px!important;font-size:14px!important;gap:6px}
  .hero-controls .smash-button .hammer-icon{display:none}
  .hero-controls .hero-book{justify-content:center!important}
  .hero-controls .hero-book .cta-arrow{display:none}
}

/* scroll reveals: shorter travel, one layer, no permanent GPU layers */
.mx{translate:0 28px;will-change:auto!important}
.mx-l{translate:-32px 0}.mx-r{translate:32px 0}
@media(max-width:800px){.mx,.mx-l,.mx-r{translate:0 24px}}
.mx.mx-in{translate:0 0}
.js .reveal:not(.reveal-done){will-change:auto}

/* form now sits last, right above the footer */
.booking-section{padding-bottom:clamp(72px,9vw,120px)}

/* ===================================================================
   v8 additions: icon fix, offers, partners, payment, WhatsApp, gallery
   =================================================================== */
:root{--wa:#25d366;--ease-out:cubic-bezier(.22,1,.36,1)}

/* Homepage packages: icon sits above its number, never over the text */
.package-specs>div{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-height:0!important;padding:14px 10px 14px 0!important}
.package-specs>div+div{padding-left:12px!important}
.package-specs>div svg{position:static!important;display:block!important;order:-1;width:18px!important;height:18px!important;margin:0 0 8px;color:var(--signal-red,#e51c2c)}
.package-specs b{order:0;font-size:clamp(20px,2.4vw,26px)!important;line-height:1}
.package-specs span{order:1;line-height:1.25}
@media(max-width:760px){.package-specs>div{padding:11px 6px 11px 0!important}.package-specs>div+div{padding-left:8px!important}.package-specs b{font-size:19px!important}.package-specs>div svg{width:16px!important;height:16px!important;margin-bottom:6px}}

/* Homepage hero: hammer no longer sits on top of the red tape text */
.swing-hammer{right:auto!important;left:-2%!important;top:-7%!important}

/* Homepage After the Smash: room for more pictures */
.photo-roll-end{flex:none}

/* Gallery: city headings */
.gallery-city{margin:0 0 26px}
.gallery-city:not(:first-child){margin-top:clamp(56px,8vw,96px)}

/* Discounts */
.offer-block{display:grid;gap:clamp(22px,3vw,34px);padding:clamp(22px,4vw,46px);border:1px solid var(--line,rgba(255,255,255,.14));background:#151816}
.offer-head h2{margin:0}
.offer-head p{margin:12px 0 0;max-width:52ch;color:var(--muted,#a7aaa0);line-height:1.55}
.offer-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.offer-tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.offer-tile{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.6vw,30px);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);transition:border-color .35s var(--ease-out),transform .35s var(--ease-out),background .35s var(--ease-out)}@media (hover:hover) and (pointer:fine){.offer-tile:hover{border-color:var(--red,#e51c2c);background:rgba(229,28,44,.07);transform:translateY(-3px)}}
.offer-tile b{font-size:clamp(30px,4.2vw,48px);line-height:1;letter-spacing:-.03em;font-weight:800}
.offer-tile p{margin:0;color:#c6c9c0;line-height:1.55}
.offer-tile .grade{align-self:flex-start;min-width:38px;padding:5px 11px;background:var(--red,#e51c2c);color:#fff;font-weight:800;font-size:15px;text-align:center}
.offer-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:clamp(18px,2.4vw,26px);border-top:1px solid rgba(255,255,255,.14)}
.offer-foot h3{margin:0;font-size:clamp(20px,2.2vw,26px)}
.offer-foot p{margin:6px 0 0;color:#c6c9c0}
.offer-actions{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:760px){.offer-tiles,.offer-tiles.three{grid-template-columns:1fr}.offer-foot{align-items:flex-start;flex-direction:column}.offer-actions{width:100%}.offer-actions .btn{flex:1 1 100%;justify-content:center}}

/* WhatsApp buttons */
.btn.wa{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:1px solid rgba(255,255,255,.34);color:#fff;transition:background .3s var(--ease-out),border-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out)}
.btn.wa svg{color:var(--wa);transition:color .3s var(--ease-out)}@media (hover:hover) and (pointer:fine){.btn.wa:hover{background:var(--wa);border-color:var(--wa);color:#08140c;transform:translateY(-2px)}}@media (hover:hover) and (pointer:fine){.btn.wa:hover svg{color:#08140c}}
.btn.wa:active{transform:translateY(0) scale(.98)}
.faq-more .btn.wa{margin-left:0}
.contact-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:6px}
.contact-head h1{margin:0}
.bp-wa-link{display:block;margin-top:2px}
.bp-wa-inline svg{color:var(--wa)}

/* Floating WhatsApp button (injected by site-chrome.js) */
.bp-wa{position:fixed;z-index:90;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:12px}
body:has(.mobile-book-ribbon) .bp-wa{bottom:calc(74px + env(safe-area-inset-bottom))}
.bp-wa-btn{position:relative;width:56px;height:56px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--wa);color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.45);cursor:pointer;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.bp-wa-btn svg{width:30px;height:30px;transition:transform .45s var(--ease-out)}@media (hover:hover) and (pointer:fine){.bp-wa-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 34px rgba(37,211,102,.4)}}
.bp-wa-btn:active{transform:scale(.95)}
.bp-wa-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.bp-wa.is-open .bp-wa-btn svg{transform:scale(.9)}
.bp-wa-btn:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);opacity:0;animation:bp-wa-ring 2.8s var(--ease-out) 2.5s 2}
@keyframes bp-wa-ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.bp-wa-menu{width:min(280px,calc(100vw - 32px));padding:16px;background:#151816;border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 44px rgba(0,0,0,.55);transform-origin:bottom right;opacity:0;transform:translateY(10px) scale(.94);visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease-out),transform .35s var(--ease-out),visibility 0s linear .35s}
.bp-wa.is-open .bp-wa-menu{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}
.bp-wa-menu p{margin:0 0 12px;color:#c6c9c0;font-size:14px;line-height:1.4}
.bp-wa-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;margin-top:8px;border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:700;font-size:15px;transition:border-color .25s var(--ease-out),background .25s var(--ease-out),transform .25s var(--ease-out)}
.bp-wa-menu a small{color:#a7aaa0;font-weight:500;font-size:13px}@media (hover:hover) and (pointer:fine){.bp-wa-menu a:hover{border-color:var(--wa);background:rgba(37,211,102,.1);transform:translateX(-3px)}}

/* Corporate partners (replaces the photo) */
.partners-block{max-width:620px}
.partners-title{margin:0 0 22px;font-size:clamp(30px,4vw,46px)!important}
.partner-name{font-size:clamp(20px,2.6vw,28px);font-weight:800;letter-spacing:-.02em;text-align:center;line-height:1.15}
/* Payment section (book now) */
.pay-card{display:grid;gap:clamp(20px,2.6vw,30px);max-width:880px;margin:0 auto;padding:clamp(24px,4.4vw,52px);border:1px solid var(--line,rgba(255,255,255,.14));background:#151816;box-shadow:12px 12px 0 #2b191b}
.pay-copy h2{margin:0 0 14px}
.pay-copy p{margin:0;max-width:56ch;color:#d3d5ce;line-height:1.6}
.pay-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.pay-details>div{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);min-width:0}
.pay-details dt{color:#a7aaa0;font-size:13px}
.pay-details dd{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:clamp(16px,1.9vw,19px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pay-details>div:last-child{grid-column:1/-1}
.copy-btn{flex:none;min-height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-family:inherit;font-weight:700;font-size:13px;line-height:1;cursor:pointer;transition:background .25s var(--ease-out),border-color .25s var(--ease-out),transform .25s var(--ease-out)}@media (hover:hover) and (pointer:fine){.copy-btn:hover{border-color:var(--red,#e51c2c);background:rgba(229,28,44,.14)}}
.copy-btn:active{transform:scale(.95)}
.copy-btn.is-copied{background:var(--red,#e51c2c);border-color:var(--red,#e51c2c)}
.pay-after{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.pay-after p{margin:0;flex:1 1 320px;color:#d3d5ce;line-height:1.55}
.pay-note{margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);color:#c6c9c0;font-size:14px;line-height:1.55}
@media(max-width:640px){.pay-details{grid-template-columns:1fr}.pay-after .btn{width:100%;justify-content:center}}
.package-specs span{align-self:flex-start!important}

/* After the Smash: let the mouse drag the row on desktop (images must not start a native image drag) */
.photo-track{-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:grab}
.photo-track:active{cursor:grabbing}
.photo-tile img{-webkit-user-drag:none;user-select:none;pointer-events:none}

/* Corporate partners: plain, static logos (no box, no animation) */
.partners-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.partner{display:grid;place-items:center;aspect-ratio:1/.64;padding:clamp(14px,2.4vw,24px);background:#f6f5f1;border:1px solid rgba(255,255,255,.12)}
.partner img{width:auto;height:auto;max-width:84%;max-height:70px;object-fit:contain}
.partner:nth-child(2) img{max-height:118px}
@media(max-width:640px){.partner img{max-height:54px}.partner:nth-child(2) img{max-height:92px}}

/* Book Now: "What's included" is one list under the price text (no separate chips, no toggle) */
.pkg-more{margin:0 0 20px;padding:2px 0 0;border-radius:14px;background:rgba(255,255,255,.04)}
.pkg-more-title{margin:0;padding:15px 16px 12px;font:700 14px/1 var(--body);color:#fff}
.pkg-more ul{padding:2px 16px 16px}

/* After the Smash: one sideways row, same-size frames, scrolls with trackpad / touch / mouse drag / arrows */
.photo-track{width:auto;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:auto;cursor:grab;padding:10px var(--gutter) 20px;gap:18px;align-items:center}
.photo-track::-webkit-scrollbar{display:none}
.photo-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.photo-track:focus-visible{outline:2px solid #e51c2c;outline-offset:-2px}
.photo-tile,.photo-tile-1,.photo-tile-2,.photo-tile-3,.photo-tile-4{flex:none;width:clamp(240px,26vw,340px)!important;height:auto!important;aspect-ratio:3/4;margin:0!important;scroll-snap-align:start}
.photo-roll-end{scroll-snap-align:end}
.roll-arrows{display:none}
@media(hover:hover) and (min-width:801px){.roll-arrows{display:flex;justify-content:flex-end;gap:10px;padding:0 var(--gutter);margin-top:4px}}
.roll-arrows button:disabled{opacity:.35;cursor:default;pointer-events:none}
@media(max-width:800px){.photo-tile,.photo-tile-1,.photo-tile-2,.photo-tile-3,.photo-tile-4{width:72vw!important;max-width:300px}}

/* ===== Buttons: pill shape, red border, dark background; hover = solid red + white text ===== */
:root{--btn-red:#e51c2c;--btn-bg:rgba(16,18,17,.55);--r-btn:999px}
.btn,.btn.primary,.btn.ghost,.btn.wa,.bp-cta,.bp-book-online,.nav-cta,.hero-book,.package-cta,.ticket-book,.form-submit,.pkg-book,.cal-close,.copy-btn,.smash-button,.package-arrows button,.lightbox-arrow,.lightbox-close,.roll-arrows button,.city-tab,.mobile-book-ribbon,.poster-bottom a,.menu-button,.bp-menu,.city-btn,.city-choice{
  border:1.5px solid var(--btn-red)!important;border-radius:999px!important;background:var(--btn-bg)!important;background-image:none!important;color:#f5f3eb!important;
  transition:background-color .22s var(--ease-out),border-color .22s var(--ease-out),color .22s var(--ease-out),transform .16s var(--ease-out)!important}
.roll-arrows button{width:46px;height:46px;display:grid;place-items:center;cursor:pointer}
.city-btn,.city-choice{padding-left:clamp(22px,3vw,34px)!important;padding-right:clamp(22px,3vw,34px)!important}
.city-btn::before{display:none!important}
@media(hover:hover){
  .btn:hover,.btn.primary:hover,.btn.ghost:hover,.btn.wa:hover,.bp-cta:hover,.bp-book-online:hover,.nav-cta:hover,.hero-book:hover,.package-cta:hover,.ticket-book:hover,.form-submit:hover,.pkg-book:hover,.cal-close:hover,.copy-btn:hover,.smash-button:hover,.package-arrows button:hover,.lightbox-arrow:hover,.lightbox-close:hover,.roll-arrows button:hover,.city-tab:hover,.mobile-book-ribbon:hover,.poster-bottom a:hover,.menu-button:hover,.bp-menu:hover,.city-btn:hover,.city-choice:hover{
    background:var(--btn-red)!important;border-color:var(--btn-red)!important;color:#fff!important}
}
@media(hover:none){
  .btn:hover,.btn.wa:hover,.bp-cta:hover,.bp-book-online:hover,.nav-cta:hover,.hero-book:hover,.package-cta:hover,.ticket-book:hover,.form-submit:hover,.pkg-book:hover,.cal-close:hover,.copy-btn:hover,.smash-button:hover,.package-arrows button:hover,.city-btn:hover,.city-choice:hover{background:var(--btn-bg)!important;color:#f5f3eb!important}
  .btn:active,.btn.wa:active,.bp-cta:active,.bp-book-online:active,.nav-cta:active,.hero-book:active,.package-cta:active,.ticket-book:active,.form-submit:active,.pkg-book:active,.cal-close:active,.copy-btn:active,.smash-button:active,.package-arrows button:active,.city-btn:active,.city-choice:active{background:var(--btn-red)!important;color:#fff!important}
}
.btn:active,.bp-cta:active,.nav-cta:active,.hero-book:active,.package-cta:active,.ticket-book:active,.form-submit:active,.pkg-book:active,.copy-btn:active,.smash-button:active,.roll-arrows button:active{transform:scale(.97)!important}
.btn:focus-visible,.bp-cta:focus-visible,.nav-cta:focus-visible,.hero-book:focus-visible,.package-cta:focus-visible,.ticket-book:focus-visible,.form-submit:focus-visible,.pkg-book:focus-visible,.copy-btn:focus-visible,.roll-arrows button:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* chosen states stay solid red */
.city-btn.is-active,.city-choice.is-selected,.copy-btn.is-copied,.smash-button.is-smashing{background:var(--btn-red)!important;border-color:var(--btn-red)!important;color:#fff!important;box-shadow:none!important}
.btn.wa svg{color:#25d366}@media (hover:hover) and (pointer:fine){.btn.wa:hover svg{color:#fff}}
@media(hover:hover){.btn.wa:hover svg{color:#fff}}
.cta-arrow,.cb-arrow{border-radius:50%!important}
.city-btn{flex:0 1 340px!important;padding-top:20px!important;padding-bottom:20px!important}
.city-btn .cb-foot{white-space:nowrap}
@media(max-width:640px){.city-btn .cb-foot{white-space:normal}.city-btn{padding-left:20px!important;padding-right:20px!important}}

/* ===== v11 ===== */
/* hamburger: no circle, just the three lines */
.bp-menu,.menu-button{border:0!important;background:transparent!important;border-radius:12px!important;box-shadow:none!important}@media (hover:hover) and (pointer:fine){.bp-menu:hover,.menu-button:hover{background:transparent!important}}
.bp-menu span{background:#f5f3eb!important}
/* mobile menu: covers the whole screen under the header, no arrows */
@media(max-width:1260px){
  .bp-mobile.is-open{position:fixed!important;top:var(--bp-header-h)!important;left:0;right:0;bottom:0;max-height:none!important;height:auto;z-index:60;box-shadow:none!important}
}
.bp-mobile a svg{display:none!important}
/* Book Now: city buttons (Lahore / Karachi) */
.city-buttons{display:flex!important;flex-wrap:wrap;gap:14px;max-width:780px}
.city-btn{flex:1 1 320px!important;min-height:0!important;height:auto;display:grid!important;grid-template-columns:1fr auto;column-gap:16px;row-gap:3px;align-items:center;padding:14px 16px 14px clamp(24px,5vw,34px)!important;text-align:left}
.cb-name{grid-column:1;grid-row:1;font-size:clamp(26px,7vw,32px)!important;line-height:1.1!important;font-weight:800}
.cb-foot{display:contents!important}
.cb-foot>span:first-child{grid-column:1;grid-row:2;font-size:13px;line-height:1.3;color:#b9bcb3;white-space:nowrap}
.cb-arrow{grid-column:2;grid-row:1/3;width:46px!important;height:46px!important;font-size:20px;border-radius:50%!important}
@media(max-width:640px){.city-btn{flex-basis:100%!important}}
/* Policies & Packages: small Book Now inside each package box */
.price-card .pkg-mini{margin-top:18px;min-height:40px;padding:0 22px;font-size:13px;align-self:flex-start;width:auto}
.price-card{display:flex;flex-direction:column}
/* motion: shorter, lighter reveals */
:root{--motion:.7s}
.js .reveal{transform:translateY(22px)!important;transition:opacity .6s var(--ease-out),transform .7s var(--ease-out)!important}
.js .reveal.visible{transform:none!important}
.js figure.reveal{transition:opacity .6s var(--ease-out),transform .7s var(--ease-out),clip-path .8s var(--ease-out)!important}
.mx{translate:0 22px!important;transition:opacity .6s var(--ease-out),translate .7s var(--ease-out)!important}
.mx-l{translate:-26px 0!important}.mx-r{translate:26px 0!important}
.mx.mx-in{translate:0 0!important}
@media(max-width:800px){.mx,.mx-l,.mx-r{translate:0 18px!important}.mx.mx-in{translate:0 0!important}}
.delay-1{transition-delay:.08s!important}.delay-2{transition-delay:.16s!important}.delay-3{transition-delay:.24s!important}
/* cheaper painting */
.page-hero::after{animation:none!important}

.bp-footer,.footer,.contact-section{content-visibility:visible!important;contain-intrinsic-size:none!important}

.contact-head{margin-bottom:26px}
.partners-block{margin-bottom:clamp(36px,6vw,64px)}

.photo-track{scroll-padding-inline:var(--gutter)}


/* ===== v9 fixes ===== */
/* Header: fully opaque so page text never ghosts through it */
.bp-header{background:#101211}

/* Corporate partners: every tile identical, logos centred inside a fixed box */
.partners-grid{grid-auto-rows:auto;align-items:stretch}
.partner{position:relative;display:block;aspect-ratio:1/.64;min-height:0;padding:0;overflow:hidden;border-radius:14px}
.partner img,.partner:nth-child(2) img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:72%;max-height:44%;object-fit:contain}
.partner:nth-child(2) img{max-height:68%;max-width:56%}
.partner:nth-child(3) img{max-width:74%;max-height:50%}

/* Package tag: compact pill, not a full-width bar */
.price-card .tag{align-self:flex-start;display:inline-flex;align-items:center;width:auto;padding:7px 13px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1}

/* Mobile feel: no tap flash, no 300ms delay, no sticky hover on touch screens */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
a,button,.btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn:active,.bp-cta:active,button:active{transform:scale(.97);transition-duration:.12s}
@media(hover:none){
  .info-card:hover,.price-card:hover,.pkg-card:hover{transform:none;border-color:inherit}
}
img{max-width:100%}

/* ===== v9: logo, about, footer, packages ===== */
/* Logo: full X visible, never stretched or cropped */
.bp-brand img{height:54px!important;width:auto!important;object-fit:contain}
.brand-logo{height:58px!important;width:auto!important;object-fit:contain}
@media(max-width:650px){.brand-logo,.bp-brand img{height:54px!important}}

/* About: text-only block */
.split.no-photo{display:block}
.split.no-photo .copy{max-width:760px}

/* Footer: social wrap, TikTok sizing, policy links */
.bp-social{flex-wrap:wrap}
.bp-social a[aria-label*="TikTok"] svg{width:20px;height:20px}
.bp-footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.bp-footer-legal a{position:relative;padding:4px 0}
.bp-footer-legal a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}.bp-footer-legal a:focus-visible:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.bp-footer-legal a:hover:after{transform:scaleX(1)}}
@media(max-width:700px){.bp-footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}

/* Homepage packages: arrows exactly centred, counter between them */
.level-point em{display:none;font-style:normal}
.package-arrows{display:flex;align-items:center;justify-content:center;gap:14px}
.package-arrows button{width:44px;height:44px;padding:0!important;display:flex!important;align-items:center;justify-content:center;border-radius:50%!important;line-height:0;flex:none}
.package-arrows button svg{display:block;width:20px;height:20px;margin:0!important;flex:none;transition:transform .35s var(--ease-out)}@media (hover:hover) and (pointer:fine){.package-arrows button:hover svg{transform:scale(1.12)}}
.package-count{min-width:56px;text-align:center;font:700 14px/1 var(--bp-body,inherit);letter-spacing:.06em;color:#c3c6bc;font-variant-numeric:tabular-nums}
.package-cta svg{transition:transform .4s var(--ease-out)}@media (hover:hover) and (pointer:fine){.package-cta:hover svg{transform:translate(3px,-3px)}}

@media(max-width:760px){
  .package-room .package-floor{gap:16px}
  .package-room .package-left{padding:0!important;align-self:stretch}
  /* four clear tabs instead of four tiny dots */
  .package-room .level-line{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;height:auto!important;margin:0!important;background:none!important}
  .package-room .level-point{position:static!important;top:auto!important;width:auto!important;height:auto!important;min-height:54px;padding:10px 14px;display:flex!important;align-items:center;justify-items:unset;gap:10px;text-align:left;border:1px solid rgba(255,255,255,.22)!important;border-radius:14px;background:rgba(255,255,255,.04)!important;transition:background .35s var(--ease-out),border-color .35s var(--ease-out),transform .2s var(--ease-out)}
  .package-room .level-point:active{transform:scale(.97)}
  .package-room .level-point i{display:none}
  .package-room .level-point span{flex:none;font:800 13px/1 var(--bp-body,inherit)!important;color:#ff4b59!important}
  .package-room .level-point em{display:block;font-size:13.5px;font-weight:700;line-height:1.2;color:#f5f3eb;text-align:left}
  .package-room .level-point.level-active{background:#e51c2c!important;border-color:#e51c2c!important}
  .package-room .level-point.level-active span,.package-room .level-point.level-active em{color:#fff!important}

  /* card: picture on top, details below, one clear column */
  .package-room .selected-package{display:flex!important;flex-direction:column;grid-template-columns:none!important;min-height:0!important;box-shadow:none!important;border-radius:18px;overflow:hidden}
  .package-room .selected-package:after{display:none}
  .package-room .selected-package-image{min-height:0!important;height:200px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12);padding:14px}
  .package-room .selected-package-info{padding:20px 18px 18px!important}
  .package-room .selected-package h3{font-size:clamp(25px,7vw,30px)!important;margin:14px 0 8px!important}
  .package-room .selected-vibe{min-height:0!important;font-size:14.5px!important;line-height:1.5}
  .package-room .package-specs{margin:18px 0 18px!important;border-top:1px solid rgba(255,255,255,.18)!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  .package-room .package-specs>div{padding:14px 8px 14px 0!important}
  .package-room .package-specs>div+div{padding-left:12px!important;border-left:1px solid rgba(255,255,255,.18)}
  .package-room .package-specs>div svg{display:block!important;width:18px!important;height:18px!important}
  .package-room .package-specs b{font-size:22px!important}
  .package-room .package-specs span{font-size:12.5px!important;line-height:1.3}
  .package-room .selected-bottom{flex-direction:column!important;align-items:stretch!important;gap:14px}
  .package-room .selected-price strong{font-size:32px}
  .package-room .package-cta{width:100%;height:50px;font-size:14px;border-radius:14px}
  .package-room .package-arrows{position:static!important;align-self:center;margin:2px 0 0!important}
}
.section:has(.split.no-photo){padding-bottom:0}
@media(min-width:901px){.bp-brand img{height:60px!important}.brand-logo{height:62px!important}}

/* =====================================================================
   v12 FINAL LAYER (keep last)
   motion system, hero fade, square location boxes, swipe, footer
   ===================================================================== */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--reveal-dur:.65s}

/* ---- scroll reveals: opacity + transform only, strong ease-out, short travel ---- */
.js .reveal{opacity:0;transform:translateY(22px)!important;transition:opacity var(--reveal-dur) var(--ease-out),transform var(--reveal-dur) var(--ease-out)!important}
.js .reveal-left{transform:translateX(-28px)!important}
.js .reveal-right{transform:translateX(28px)!important}
.js .reveal-zoom{transform:translateY(22px) scale(.96)!important}
.js .reveal.visible{opacity:1;transform:none!important}
.js figure.reveal{clip-path:none!important;transition:opacity var(--reveal-dur) var(--ease-out),transform var(--reveal-dur) var(--ease-out)!important}
.js figure.reveal img{transform:scale(1.05);transition:transform .9s var(--ease-out)!important}
.js figure.reveal.visible img{transform:none}
.js .reveal.reveal-done{transition:opacity .25s var(--ease-out),transform .25s var(--ease-out),border-color .25s var(--ease-out),background-color .25s var(--ease-out),box-shadow .25s var(--ease-out)!important}
@media(max-width:800px){.js .reveal-left,.js .reveal-right{transform:translateY(22px)!important}.js .reveal.visible{transform:none!important}}

/* ---- headings: words rise one after another (text pop-up) ---- */
.js .wsplit .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .05em .24em;margin:-.08em -.05em -.24em}
.js .wsplit .w>span{display:inline-block;opacity:0;transform:translateY(105%);transition:transform .7s var(--ease-out),opacity .45s var(--ease-out)!important}
.js .wsplit.visible .w>span{opacity:1;transform:none}

/* ---- homepage small pieces ---- */
.mx{translate:0 22px!important;transition:opacity .6s var(--ease-out),translate .65s var(--ease-out)!important}
.mx-l{translate:-26px 0!important}.mx-r{translate:26px 0!important}
.mx.mx-in{translate:0 0!important}
@media(max-width:800px){.mx,.mx-l,.mx-r{translate:0 20px!important}.mx.mx-in{translate:0 0!important}}
.is-entering{animation-duration:.6s}

@media(prefers-reduced-motion:reduce){
  .js .reveal,.js .wsplit .w>span,.js figure.reveal img,.mx{opacity:1!important;transform:none!important;translate:none!important;transition:none!important}
}

/* ---- page hero: red glow fades out smoothly, no hard edge at the bottom ---- */
.page-hero{background:radial-gradient(120% 100% at 85% 0%,rgba(229,28,44,.2) 0%,rgba(229,28,44,.08) 38%,rgba(229,28,44,0) 72%)!important}
.page-hero::after{display:none!important}

/* ---- location boxes: square everywhere (same as the homepage) ---- */
.loc-card,.loc-card .map-frame,.map-frame,.loc-card iframe{border-radius:0!important}

/* ---- packages card: horizontal swipe is ours, vertical scroll stays native ---- */
.selected-package{touch-action:pan-y!important;-webkit-user-select:none;user-select:none}
.selected-package a,.selected-package button{-webkit-user-drag:none}

/* ---- footer: policies left, back-to-top right, copyright + powered-by centred under ---- */
.bp-footer-bottom{justify-content:space-between}
.bp-footer-legal{justify-content:flex-start}
.bp-footer-credit{margin-top:22px;text-align:center;font-size:13px;color:#8c9085}
@media(max-width:700px){.bp-footer-bottom{flex-direction:row;flex-wrap:wrap;align-items:center}.bp-footer-credit{text-align:left}}


/* ---- v13: Book Now city buttons are full pills ---- */
.city-btn,.city-btn.reveal{border-radius:999px!important;overflow:hidden;padding:14px 22px 14px clamp(26px,5vw,34px)!important}
.city-btn .cb-arrow{border-radius:50%!important;width:34px;height:34px;display:inline-grid;place-items:center;flex:none}

/* ---- v13: Lahore gallery = identical 3:4 frames in a tidy grid (Karachi block untouched) ---- */
.gallery-page.gallery-uniform{columns:auto;column-count:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:900px){.gallery-page.gallery-uniform{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gallery-uniform figure{margin:0;aspect-ratio:3/4;overflow:hidden;break-inside:auto;background:#101211}
.gallery-uniform figure img{display:block;width:100%;height:100%;object-fit:cover}

/* ---- v13: package photo keeps the same crop on every card ---- */
.selected-package-image{background-size:cover!important;background-position:center 42%!important}

/* ---- v13: touch targets. Taps must register even if the page is still moving ---- */
a,button,summary,[role="button"],label,.level-point,.city-btn,.pkg-card .btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(pointer:coarse){
  .package-arrows button,.roll-arrows button,.lightbox-arrow,.lightbox-close,.copy-btn,.level-point,.bp-menu,.cal-close{position:relative}
  .package-arrows button::after,.roll-arrows button::after,.lightbox-arrow::after,.lightbox-close::after,.copy-btn::after,.level-point::after,.bp-menu::after,.cal-close::after{content:"";position:absolute;inset:-8px}
}

/* ---- v14: breathing room at the very bottom, lighter WhatsApp bubble on phones ---- */
.bp-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
@media(max-width:640px){.bp-wa-btn{width:50px;height:50px}.bp-wa-btn svg{width:26px;height:26px}.bp-wa{right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}}

/* Final logo proportion adjustment: preserve full mark, reduce crop/zoom feel and align optically upward. */
.bp-brand img,.brand-logo{height:50px!important;width:auto!important;object-fit:contain;transform:translateY(-2px);}
@media(max-width:650px){.bp-brand img,.brand-logo{height:47px!important;transform:translateY(-2px);}}
@media(min-width:901px){.bp-brand img,.brand-logo{height:54px!important;transform:translateY(-2px);}}


/* ===== Included from: final-fixes.css ===== */

/* ============================================================
   BREAKING POINT — FINAL MOBILE / UX / POLISH FIXES
   Keep this file last so these rules are authoritative.
   ============================================================ */

:root{
  --bp-final-red:#e51c2c;
  --bp-final-red-hover:#ff3041;
}

/* ---------- Universal interaction safety ---------- */
html{
  -webkit-tap-highlight-color:transparent;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
a,button,input,select,textarea,summary,[role="button"]{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
button,a{ -webkit-user-select:none; user-select:none; }

/* Never let decorative layers steal taps. */
.reveal::before,.reveal::after,
.hero-stage::before,.hero-stage::after,
.story-section::before,.story-section::after,
.package-room::before,.package-room::after,
.city-section::before,.city-section::after,
.last-call-poster::before,.last-call-poster::after{
  pointer-events:none;
}

/* ---------- Homepage: "This Is Your Go Time" ---------- */
.story-step{
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
  transition:background-color .18s ease!important;
}
.story-step .story-step-icon,
.story-step-active .story-step-icon,
.story-step:hover .story-step-icon,
.story-step:active .story-step-icon,
.story-step:focus .story-step-icon,
.story-step:focus-visible .story-step-icon{
  color:var(--bp-final-red)!important;
  opacity:1!important;
  filter:none!important;
}
.story-step:hover,
.story-step:active,
.story-step-active,
.story-step:focus,
.story-step:focus-visible{
  padding-left:4px!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
}
.story-step:active{
  transform:none!important;
}
.story-step .story-step-arrow{
  transition:opacity .18s ease,transform .18s ease!important;
}

/* Do not create sticky hover states on touch devices. */
@media (hover:none){
  .story-step:hover{
    padding-left:4px!important;
    background:transparent!important;
  }
}

/* ---------- Gallery CTA: stronger, modern, still directly under gallery ---------- */
.gallery-page + .gallery-cta-wrap{margin-top:clamp(30px,5vw,58px)}
.gallery-cta-banner,
.cta-banner{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(22px,5vw,70px);
  min-height:210px;
  padding:clamp(28px,5vw,58px);
  background:
    radial-gradient(circle at 82% 25%,rgba(229,28,44,.22),transparent 35%),
    linear-gradient(135deg,#1a1d1b 0%,#101211 58%,#0b0d0c 100%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 55px rgba(0,0,0,.22);
}
.gallery-cta-banner::before,
.cta-banner::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0 56%,rgba(229,28,44,.09) 56.1%,transparent 72%);
}
.gallery-cta-banner::after,
.cta-banner::after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-45px;top:-55px;
  border:1px solid rgba(229,28,44,.45);
  transform:rotate(45deg);
  pointer-events:none;
}
.gallery-cta-banner > *,
.cta-banner > *{position:relative;z-index:1}
.gallery-cta-banner h2,
.cta-banner h2{
  margin:0;
  font-family:var(--display);
  font-weight:900;
  line-height:.88;
  letter-spacing:-.045em;
  font-size:clamp(42px,6vw,78px);
}
.gallery-cta-banner p{
  margin:12px 0 0;
  max-width:520px;
  color:#bfc2b9;
  line-height:1.55;
  font-size:14px;
}
.gallery-cta-banner .btn,
.cta-banner .btn{
  flex:0 0 auto;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  touch-action:manipulation;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}
@media (hover:hover) and (pointer:fine){
  .gallery-cta-banner .btn:hover,
  .cta-banner .btn:hover{transform:translateY(-2px)}
}
@media(max-width:700px){
  .gallery-cta-banner,
  .cta-banner{
    min-height:0;
    flex-direction:column;
    align-items:stretch;
    gap:24px;
    padding:30px 22px;
  }
  .gallery-cta-banner h2,
  .cta-banner h2{font-size:clamp(42px,14vw,62px)}
  .gallery-cta-banner .btn,
  .cta-banner .btn{width:100%;min-height:56px}
}

/* ---------- Alignment / typography ---------- */
main{overflow:clip}
.container{width:min(100% - 40px,1240px);margin-inline:auto}
p{max-width:75ch}
h1,h2,h3,h4,p{overflow-wrap:break-word}
@media(max-width:700px){
  .container{width:min(100% - 40px,1240px)}
  .display.lg{line-height:.88}
  .lead{line-height:1.55}
}

/* Footer alignment is consistent across all breakpoints. */
.bp-footer-inner{
  width:min(100% - 40px,1440px);
  margin-inline:auto;
}
.bp-footer-top{align-items:flex-start}
.bp-footer-grid{align-items:start}
.bp-footer-col{min-width:0}
.bp-footer-col a,.bp-footer-col span{
  overflow-wrap:anywhere;
}
.bp-footer-bottom{align-items:center}
@media(max-width:560px){
  .bp-footer-inner{width:min(100% - 32px,1440px)}
  .bp-footer-top{align-items:flex-start}
  .bp-footer-brand{width:100%}
  .bp-footer-top > .bp-cta{width:100%}
  .bp-footer-grid{gap:26px}
  .bp-footer-bottom{justify-content:center;text-align:center}
  .bp-footer-legal{justify-content:center!important;flex-wrap:wrap}
}

/* ---------- Lightweight motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
@media(max-width:700px){
  /* Keep reveal animation, but reduce work on phones. */
  .js .reveal,.js .reveal-left,.js .reveal-right,.js .reveal-zoom{
    transition-duration:.38s!important;
  }
}

/* ---------- Fixed controls must always sit above page content ---------- */
.bp-header{z-index:1000!important}
.bp-menu{position:relative;z-index:1002!important}
.bp-mobile.is-open{z-index:1001!important}
.bp-wa{z-index:1100!important}
.bp-wa-btn,.bp-wa-menu a{touch-action:manipulation!important}

/* Avoid the old generic scale-on-press feeling for navigation/primary controls. */
@media(max-width:700px){
  .bp-cta:active,.bp-menu:active,.bp-wa-btn:active,
  .btn:active,.bp-mobile a:active{
    transform:none!important;
  }
}

/* ---------- Gallery grid stays stable on small screens ---------- */
@media(max-width:700px){
  .gallery-page.gallery-uniform{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .gallery-uniform figure{aspect-ratio:3/4}
}

/* ---------- Prevent accidental horizontal overflow ---------- */
body{overflow-x:hidden}
img,svg,video,iframe{max-width:100%}

/* ============================================================
   FINAL USER-REQUESTED POLISH
   ============================================================ */

/* 1) Homepage photo strip: swipe only — no redundant arrow controls. */
.photo-roll .roll-arrows,
.photo-roll .roll-mobile-cue + .roll-arrows,
.roll-arrows{display:none!important}

/* 2) Mobile package tabs: make the complete tab a reliable hit target. */
@media(max-width:760px){
  .package-room .level-line{position:relative;z-index:12}
  .package-room .level-point{
    position:relative!important;
    z-index:13!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    cursor:pointer;
  }
  .package-room .level-point::after{
    pointer-events:none!important;
  }
}

/* 3) Scroll text: visible, quick pop instead of the almost-invisible long fade. */
.mx{
  opacity:0;
  translate:0 18px;
  scale:.985;
  transition:
    opacity .62s cubic-bezier(.22,1,.36,1),
    translate .62s cubic-bezier(.22,1,.36,1),
    scale .62s cubic-bezier(.22,1,.36,1)!important;
}
.mx.mx-in{
  opacity:1;
  translate:0 0;
  scale:1;
}
@media(max-width:800px){
  .mx{translate:0 16px;scale:.988;transition-duration:.55s!important}
}

/* Keep the footer credit on one clean line on phones. */
.bp-footer-credit{
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:clip;
  line-height:1.25;
}
.bp-footer-credit a{display:inline!important;white-space:nowrap!important}
@media(max-width:560px){
  .bp-footer-credit{
    width:100%;
    font-size:clamp(10px,3.05vw,12px)!important;
    letter-spacing:-.01em;
    text-align:center!important;
  }
}
