@font-face{font-family:"PopUp Rounded";src:url("/fonts/baloo-2-variable.ttf") format("truetype");font-style:normal;font-weight:400 800;font-display:swap}
:root{--ink:#201b1b;--paper:#f6f1e9;--pink:#eeb8c6;--gold:#b49668;--muted:#6d625c;--header:100px;color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid #ac4b6a;outline-offset:5px}::selection{background:var(--pink);color:var(--ink)}
.header{height:var(--header);position:sticky;top:0;z-index:20;background:#141212;display:flex;align-items:center;justify-content:space-between;padding:10px 4vw;border-bottom:1px solid #ffffff20;color:var(--paper)}.brand{display:flex;align-items:center}.brand img{width:150px;height:78px;object-fit:contain}.contact-link{text-decoration:none;font-size:14px;padding:14px 0;border-bottom:1px solid var(--gold);display:flex;gap:35px;align-items:center}.contact-link span{font-size:22px;color:var(--pink)}.skip-link{position:fixed;top:-100px;left:20px;padding:14px;background:white;z-index:50}.skip-link:focus{top:10px}
h1,h2,.travel-title{font-family:"PopUp Rounded",system-ui,sans-serif;font-weight:400;letter-spacing:-.045em;line-height:1.06;margin:0}h1{font-size:clamp(36px,3.45vw,62px)}h2{font-size:clamp(34px,3.2vw,57px)}p{line-height:1.65}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 28px;display:flex;align-items:center;gap:12px;line-height:1.5}.small-line{display:inline-block;width:25px;height:1px;background:var(--gold);flex-shrink:0}.body-copy{font-size:15px;color:var(--muted);line-height:1.8;margin:25px 0 0}.scroll-cue{font-size:11px;letter-spacing:.07em;margin-top:32px;display:flex;align-items:center;gap:32px}.scroll-cue span{font-size:24px;color:#9c744e}
#journey{position:relative}.theater{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:540px;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(340px,1fr);grid-template-rows:minmax(0,1fr) 50px;background:#141212}.visual{position:relative;min-width:0;min-height:0;background:#100f0f;display:flex;align-items:center;justify-content:center;overflow:hidden}#cinema,#poster{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.image-caption{position:absolute;bottom:22px;left:28px;right:28px;display:flex;justify-content:space-between;gap:15px;color:#ece5de;font-size:9px;letter-spacing:.13em;line-height:1.5;text-shadow:0 1px 4px #000}.view-label{color:#bbada0}#loading{position:absolute;top:20px;left:20px;padding:8px 12px;background:#141212e8;color:#eee;font-size:12px}.editorial{background:var(--paper);padding:clamp(26px,3.4vw,65px);display:flex;align-items:center;position:relative;overflow:auto;border-left:1px solid #b4966840}.copy{width:100%;padding:24px 0}.copy ul,.static-scene ul{padding:0;list-style:none;margin:30px 0 0}.copy li,.static-scene li{font-size:14px;line-height:1.6;padding:13px 0;border-top:1px solid #b496684a;color:#554a45}.qualification{font-size:11px;color:var(--muted);margin-top:22px}.travel-title{font-size:clamp(32px,3vw,50px);color:#746456}.travel-rule{display:block;width:70px;height:1px;margin-top:30px;background:var(--gold)}.theater-tools{grid-column:1/-1;padding:0 28px;display:flex;align-items:center;justify-content:space-between;color:#d4c8bc;font-size:11px;letter-spacing:.02em;border-top:1px solid #ffffff1b}.theater-tools a{padding:14px 0;text-underline-offset:5px}.theater-tools span{font-size:9px;letter-spacing:.12em}.progress-track{position:absolute;bottom:0;height:2px;background:#ffffff12;width:100%}#progress-fill{height:100%;background:var(--pink);width:0}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 24px;min-height:56px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);text-decoration:none;font-size:13px;margin-top:32px}.cta span{font-size:21px;color:var(--pink)}.cta:hover{background:#3c2b31}.cta:disabled{opacity:.6;cursor:wait}footer{background:#141212;color:#b4a79a;display:flex;justify-content:space-between;padding:23px 4vw;border-top:1px solid #ffffff1c;font-size:10px;letter-spacing:.06em}
.static-intro,.static-scene{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:6vw;padding:80px 6vw}.static-intro{min-height:calc(100svh - var(--header))}.static-intro img,.static-scene img{width:100%;height:auto}.static-intro h1{max-width:620px}.static-scene{border-top:1px solid #b496684a;min-height:650px}.static-scene>div{max-width:520px}.static-intro .scroll-cue{display:none}.text-button{background:none;border:0;border-bottom:1px solid var(--gold);padding:14px 0;margin-top:20px;font-size:13px}.back-link{font-size:12px;text-decoration:none;padding:14px 0;display:inline-block;margin-bottom:45px}.contact-layout{max-width:1550px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8vw;padding:44px 6vw 100px}.contact-intro h1{font-size:clamp(44px,4.5vw,76px)}.contact-intro .body-copy{max-width:450px}.contact-image{width:100%;height:auto;margin-top:48px;display:block}.image-note{font-size:10px;color:var(--muted);margin:8px 0}.form-section{padding-top:20px}.form-section h2{font-size:35px}.form-section .eyebrow{margin-bottom:16px}.form-status{font-size:12px;background:#ece3d5;border-left:2px solid #9d7e51;padding:14px 18px;margin:25px 0 20px}.form-status strong{display:block;font-weight:600}.required-note{font-size:11px;color:var(--muted);margin:0 0 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field>label,legend{font-size:12px;line-height:1.4}.field>input,.field>select,.field>textarea{width:100%;padding:13px 11px;border:1px solid #c8bdae;border-radius:0;background:#fcf9f4;color:var(--ink);min-height:46px;font-size:14px}.field>textarea{resize:vertical;min-height:140px}.field>input:disabled{background:#eae4da;color:#74695f}.field>small{font-size:10px;color:var(--muted)}.full{grid-column:1/-1}fieldset{border:0;padding:8px 0 0;margin:0;min-width:0}legend{padding:0;margin-bottom:14px}.check-inline,.check-option{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:35px;font-size:12px}.check-option{padding:9px 0;min-height:44px}input[type=checkbox]{width:18px;height:18px;accent-color:#8c435d;flex-shrink:0;margin:0}.experience-options{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.booking-note{font-size:11px;color:var(--muted);margin:16px 0}.submit{margin-top:26px}.honeypot{position:absolute;left:-10000px}#form-result{font-size:13px;padding:16px;border:1px solid #b47b87;background:#f3e5e6;line-height:1.7}.form-section:has(:invalid) #form-result:empty{display:none}
@media(min-width:1600px){.editorial{padding:4.2vw}.copy li{font-size:16px}.body-copy{font-size:17px}}
@media(max-width:1000px){:root{--header:84px}.brand img{width:130px;height:65px}.theater{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.editorial{padding:27px}.image-caption{left:15px;right:15px}.view-label{display:none}.copy h1,.copy h2{font-size:38px}.contact-layout{gap:5vw;padding:30px 5vw 70px}.form-grid{column-gap:15px}}
@media(max-width:700px){:root{--header:78px}.header{padding:6px 22px}.brand img{width:124px;height:62px}.contact-link{font-size:12px;gap:20px;padding:10px 0}.theater{grid-template-columns:1fr;grid-template-rows:min(56.25vw,30svh) minmax(0,1fr) 43px;min-height:0;height:calc(100svh - var(--header))}.visual{grid-row:1}.editorial{grid-row:2;padding:20px 26px;align-items:center;border-left:0;border-top:1px solid #b4966840}.copy{padding:0}.copy h1,.copy h2{font-size:clamp(29px,8.3vw,40px);line-height:1.03}.eyebrow{font-size:9px;margin-bottom:16px;letter-spacing:.12em}.copy .body-copy{font-size:12px;line-height:1.7;margin-top:17px}.copy ul{margin-top:16px}.copy li{font-size:12px;line-height:1.5;padding:9px 0}.qualification{font-size:10px;margin:12px 0 0}.image-caption{bottom:9px;left:12px;font-size:7px}.theater-tools{grid-row:3;padding:0 18px;font-size:10px}.theater-tools span{font-size:8px}.scroll-cue{margin:20px 0 0;font-size:10px}.scroll-cue span{font-size:19px}.cta{margin-top:24px;padding:14px 20px;min-height:48px;font-size:12px}.static-intro,.static-scene{grid-template-columns:1fr;gap:28px;padding:45px 24px;min-height:0}.static-intro img{grid-row:1}.static-intro h1{font-size:43px}.static-scene{padding:40px 24px}.static-scene h2{font-size:39px}.static-scene li{font-size:14px}footer{padding:22px;font-size:9px;gap:20px}.contact-layout{grid-template-columns:1fr;padding:20px 24px 60px;gap:24px}.back-link{margin-bottom:28px}.contact-intro h1{font-size:49px;max-width:500px}.contact-intro .body-copy{font-size:14px}.contact-image,.image-note{display:none}.form-section{border-top:1px solid #b496684a;padding-top:34px}.form-section h2{font-size:32px}.form-grid{gap:23px 14px}.field>input,.field>select,.field>textarea{font-size:16px}.field>label,legend{font-size:12px}.experience-options{grid-template-columns:1fr}.check-option{font-size:13px}.form-status{margin-top:20px}.submit{width:100%}}
@media(max-height:620px) and (min-width:701px){.theater{min-height:0}.editorial{padding:16px 28px}.copy h1,.copy h2{font-size:30px}.eyebrow{margin-bottom:14px}.copy ul{margin-top:15px}.copy li{font-size:12px;padding:7px 0}.body-copy{font-size:12px;margin-top:14px}.copy{padding:0}.scroll-cue{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.editorial{align-items:safe center}
@media(max-height:650px) and (max-width:700px){.theater{grid-template-rows:min(56.25vw,24svh) minmax(0,1fr) 38px}.editorial{padding:14px 20px}.copy h1,.copy h2{font-size:27px}.copy .eyebrow{margin-bottom:12px}.copy ul{margin-top:12px}.copy li{font-size:11px;line-height:1.4;padding:7px 0}.copy .qualification{font-size:9px;margin-top:10px}.copy .body-copy{font-size:11px;line-height:1.5;margin-top:12px}.copy .scroll-cue{margin-top:12px}.copy .cta{margin-top:15px}}

/* User-directed immersive revision: full-page event, 30%-opaque panels. */
h1,h2,.travel-title{font-weight:700}
.cinematic .header{position:fixed;width:100%;background:rgba(10,8,9,.3);border-color:#ffffff24;text-shadow:0 1px 4px #000}
.theater{display:block;top:0;height:100svh;min-height:0}
.visual{position:absolute;inset:0}
#cinema,#poster{object-fit:cover;object-position:center}
.editorial{position:absolute;right:4vw;top:50%;transform:translateY(-50%);width:min(440px,34vw);max-height:calc(100% - var(--header) - 110px);background:rgba(10,8,9,.3);border:1px solid #ffffff25;padding:32px;color:#fff;text-shadow:0 1px 3px #000,0 2px 10px #0009}
.copy{padding:0}.copy h1,.copy h2{font-size:clamp(34px,3.25vw,49px);letter-spacing:-.035em;line-height:1.06}
.copy .body-copy,.copy li,.copy .qualification,.copy .scroll-cue,.copy .scroll-cue span,.travel-title{color:#fff}
.copy li{border-color:#ffffff50;font-weight:500}.copy .eyebrow{font-weight:700;color:#f9d8e2}.copy .small-line{background:#f0c993}
.copy .cta{background:#171214e8;border-color:#efc6d280;text-shadow:none}
.editorial:has(.travel-copy:not([hidden])){visibility:hidden;pointer-events:none}
.theater-tools{position:absolute;bottom:0;left:0;right:0;height:50px;background:rgba(10,8,9,.3);color:#fff;text-shadow:0 1px 4px #000}
.image-caption{bottom:75px;left:4vw;right:4vw}.view-label{color:#fff}.progress-track{z-index:2}
.static-intro,.static-scene{position:relative;display:flex;min-height:100svh;padding:100px 4vw 70px;overflow:hidden;background:#141212;color:white}
.static-intro>img,.static-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.static-intro>div,.static-scene>div{position:relative;z-index:1;width:min(440px,42vw);margin-left:auto;padding:32px;background:rgba(10,8,9,.3);border:1px solid #ffffff25;text-shadow:0 1px 3px #000,0 2px 10px #0009}
.static-intro h1,.static-scene h2{font-size:46px}.static-intro .body-copy,.static-scene .body-copy,.static-scene li,.static-scene .qualification{color:#fff}.static-scene li{border-color:#ffffff50}.text-button{color:inherit}
@media(max-width:1000px) and (min-width:701px){.editorial{right:3vw;width:39vw;padding:26px}.copy h1,.copy h2{font-size:36px}.copy .body-copy{font-size:14px}.copy li{font-size:13px}}
@media(max-width:700px){.editorial{top:auto;bottom:68px;transform:none;right:18px;left:18px;width:auto;max-height:calc(100% - var(--header) - 108px);padding:24px}.copy h1,.copy h2{font-size:34px}.copy .body-copy{font-size:13px}.copy li{font-size:13px}.copy .qualification{font-size:11px}.theater-tools{height:43px;background:rgba(10,8,9,.3)}.image-caption{top:calc(var(--header) + 18px);bottom:auto;left:20px;font-size:8px;right:20px}.view-label{display:block;font-size:7px}.static-intro,.static-scene{padding:150px 18px 32px;min-height:100svh;align-items:flex-end}.static-intro>div,.static-scene>div{width:100%;padding:24px}.static-intro h1,.static-scene h2{font-size:35px}}
@media(max-height:650px){.editorial{padding:20px;max-height:calc(100% - var(--header) - 70px);bottom:52px;top:auto;transform:none}.copy h1,.copy h2{font-size:27px}.copy .eyebrow{margin-bottom:12px}.copy ul{margin-top:12px}.copy li{font-size:11px;padding:7px 0}.copy .qualification{font-size:9px}.copy .body-copy{font-size:11px}.copy .scroll-cue{margin-top:12px}}

/* Readable luxury typography: generous body sizes, a confident humanist sans. */
:root{font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-size:18px;font-weight:500}
.editorial{width:min(520px,38vw);padding:32px}.copy{flex:0 0 auto}
.body-copy,.copy .body-copy,.contact-intro .body-copy,.static-intro .body-copy,.static-scene .body-copy{font-size:18px;line-height:1.65;font-weight:600}
.copy li,.static-scene li{font-size:18px;line-height:1.55;font-weight:600;padding:13px 0}
.qualification,.copy .qualification,.static-scene .qualification{font-size:15px;line-height:1.6;font-weight:500}
.eyebrow,.copy .eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em}
.scroll-cue,.copy .scroll-cue,.text-button,.back-link{font-size:15px;font-weight:600}
.contact-link,.cta{font-size:16px;font-weight:700}
.theater-tools,.theater-tools span{font-size:12px;font-weight:600}
.image-caption,.view-label{font-size:11px;font-weight:600}
footer,.image-note{font-size:12px;font-weight:500}
.field>label,legend,.check-inline,.check-option{font-size:16px;font-weight:600;line-height:1.5}
.field>input,.field>select,.field>textarea{font-size:17px;line-height:1.5}
.form-status,.required-note,.booking-note,.field>small,#form-result{font-size:14px;line-height:1.65}
.static-intro>div,.static-scene>div{width:min(520px,44vw)}
@media(max-width:1000px) and (min-width:701px){.editorial{width:44vw;padding:26px}.copy li,.copy .body-copy{font-size:17px}}
@media(max-width:700px){.editorial{width:auto;padding:22px}.body-copy,.copy .body-copy,.contact-intro .body-copy,.static-intro .body-copy,.static-scene .body-copy,.copy li,.static-scene li{font-size:16px;line-height:1.55}.copy li{padding:10px 0}.qualification,.copy .qualification,.static-scene .qualification{font-size:14px}.copy .eyebrow,.eyebrow{font-size:11px}.contact-link,.cta{font-size:15px}.theater-tools{font-size:11px}.theater-tools span{font-size:10px}.image-caption,.view-label{font-size:9px}.field>label,legend,.check-option{font-size:15px}.static-intro>div,.static-scene>div{width:100%}}
@media(max-height:650px){.editorial{padding:18px;overflow-y:auto}.copy li,.copy .body-copy{font-size:16px;line-height:1.45}.copy li{padding:8px 0}.copy .qualification{font-size:13px}.copy .eyebrow{font-size:11px}}
.editorial:focus-visible{outline:2px solid #f4cad7;outline-offset:4px}
.theater-tools a{min-height:44px;display:inline-flex;align-items:center}
.check-inline{min-height:44px}
@media(max-width:700px){.theater-tools{height:44px}}

/* Google Forms owns validation, acceptance, and response storage. */
.contact-intro{align-self:start}.form-section{min-width:0}.inquiry-details{border-top:1px solid #b4966860;margin-top:36px;padding-top:28px}.inquiry-details h3{font-size:26px;font-weight:700}.inquiry-details ul{padding-left:22px;font-size:17px;line-height:1.8}.inquiry-details li{padding:6px 0}

.scene-navigation{display:flex;gap:12px;align-items:center}.scene-navigation button{background:#14121299;border:1px solid #ffffff50;border-radius:4px;color:#fff;font:inherit;font-weight:700;min-height:44px;padding:6px 14px;cursor:pointer}.scene-navigation button:disabled{opacity:.35;cursor:default}.scene-navigation button:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:700px){.scene-navigation{gap:6px}.scene-navigation button{padding:6px 10px}.theater-tools{gap:8px}.theater-tools #chapter-count{display:none}.theater-tools .scene-navigation span{font-size:11px}}

/* A still vignette replaces only the fifth reading hold. */
#lounge-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
@media(max-width:700px){#lounge-still,#static-stage>img{object-position:center}}
/* Preserve both supplied booth views without cropping the artwork. */
#lounge-still,#static-stage>img{object-fit:contain;background:#171214}
@media(max-width:700px){#lounge-still,#static-stage>img{object-position:center 90px}}

/* Brand typography echoes the rounded POP-UP lettering. */
:root{font-family:"PopUp Rounded","Avenir Next",Arial,sans-serif}
/* More breathing room between heading words. */
h1,h2,h3,.travel-title,.copy h1,.copy h2{word-spacing:.14em;letter-spacing:0;line-height:1.14}
/* Customization labels appear only once the updated camera reaches a stop. */
.activation-hotspots{position:absolute;inset:0;pointer-events:none;z-index:6}.activation-marker{position:absolute;pointer-events:auto;background:#251222e8;border:1px solid #f6aed5;border-radius:20px;color:white;padding:10px 15px;font:700 14px "PopUp Rounded",system-ui;min-height:44px;max-width:250px;text-align:left;cursor:pointer;animation:activation-rise .35s both}.activation-marker:focus-visible{outline:3px solid #93d5ff;outline-offset:3px}@keyframes activation-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.activation-detail{background:#241622;color:white;border:1px solid #f6aed5;border-radius:14px;max-width:540px;width:calc(100vw - 32px);padding:30px;font:600 18px/1.6 "PopUp Rounded",system-ui}.activation-detail::backdrop{background:#000a}.activation-detail button{float:right;background:none;color:white;border:0;font-size:28px;min-width:44px;min-height:44px;cursor:pointer}.activation-detail h2{font-size:29px;line-height:1.2}.activation-detail a{color:#ffb8dd}@media(prefers-reduced-motion:reduce){.activation-marker{animation:none}}
@media(max-width:700px){.revised-tour .activation-marker{font-size:11px;max-width:150px;padding:7px}.revised-tour .activation-hotspots{top:20px}.revised-tour .editorial{display:none}}
.activation-marker{font-size:16px;font-weight:800;border-width:2px;background:#251222f2;text-shadow:0 1px 2px #000}.activation-hotspots svg>path{filter:drop-shadow(0 1px 2px #000)}
.activation-marker{background:rgba(25,12,24,.30);max-width:160px;padding:8px 12px;line-height:1.2;text-shadow:0 1px 3px #000,0 2px 5px #000}@media(max-width:700px){.revised-tour .activation-marker{max-width:120px}}
.activation-hotspots svg text{paint-order:stroke;stroke:#21121d;stroke-width:3px}
.activation-marker{background:rgba(25,12,24,.22)}.activation-hotspots svg>path{opacity:1;stroke:#fff;stroke-width:4;filter:drop-shadow(0 1px 2px #000)}
.activation-hotspots svg{display:none}.activation-marker:hover,.activation-marker:focus-visible{background:rgba(215,55,139,.35);box-shadow:0 0 16px #ff5eba55}
.feature-highlight{position:absolute;width:48px;height:48px;transform:translate(-50%,-50%);border:2px solid #ffb9e1;border-radius:50%;box-shadow:0 0 25px 10px #ff55af66;pointer-events:none;background:#ff80c422}
.activation-marker{background:rgba(24,12,22,.82);border-color:#ffc2e3;box-shadow:0 3px 12px #0008}

.camera-preview-badge{position:fixed;z-index:30;top:105px;left:50%;transform:translateX(-50%);padding:7px 14px;border:1px solid #ffc2e3;border-radius:20px;background:#23111eed;color:white;font:700 12px "PopUp Rounded",system-ui;white-space:nowrap;pointer-events:none}@media(max-width:700px){.camera-preview-badge{top:84px;font-size:10px}}

.camera-rehearsal .feature-highlight{display:none}

/* Feature dots stay on their camera-projected points, with adjacent readable labels. */
.activation-hotspots{top:0!important}
.point-marker,.revised-tour .point-marker,#labels .point-marker{position:absolute;width:44px;height:44px;min-height:44px;max-width:none;padding:0;border:0;background:none;box-shadow:none;transform:translate(-50%,-50%);overflow:visible;pointer-events:auto;animation:none;color:white}
.point-marker:hover,.point-marker:focus-visible,#labels .point-marker:hover{background:none;box-shadow:none}
.marker-ring{position:absolute;left:10px;top:10px;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:#31122266;box-shadow:0 0 0 2px #26132277,0 1px 8px #0008}
.marker-ring:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#ff8bc5;left:6px;top:6px}
.marker-label{position:absolute;display:block;width:max-content;max-width:140px;padding:7px 10px;border:1px solid #ffc2e3;border-radius:9px;background:rgba(24,12,22,.84);color:white;font:800 13px/1.2 "PopUp Rounded",system-ui;text-shadow:0 1px 2px #000;white-space:normal;box-shadow:0 2px 7px #0006;text-align:left}
.point-marker:hover .marker-label,.point-marker:focus-visible .marker-label{background:#76234e}
@media(max-width:700px){.marker-label{font-size:10px;max-width:90px;padding:5px 6px}.marker-ring{width:20px;height:20px;left:12px;top:12px}.marker-ring:after{left:4px;top:4px}}

.point-marker,.revised-tour .point-marker,#labels .point-marker{pointer-events:none}.marker-ring,.marker-label{pointer-events:auto}

/* Baloo 2 follows the supplied brand kit: bold rounded headings, readable body. */
:root{font-family:"PopUp Rounded",system-ui,sans-serif;font-weight:500}
h1,h2,h3,.travel-title,.copy h1,.copy h2,.inquiry-details h3{font-family:"PopUp Rounded",system-ui,sans-serif;font-weight:800;letter-spacing:0;word-spacing:.06em;line-height:1.12}
.activation-detail{font-weight:500;line-height:1.6}
.marker-label{font-weight:700;line-height:1.25}
.body-copy,.copy li,.static-scene li,.inquiry-details{font-weight:500}

/* Original artwork appears beside the event in the opening frame only. */
.hero-brand-logo{position:absolute;left:3vw;top:42%;transform:translateY(-50%);width:clamp(210px,27vw,410px);height:auto;z-index:5;pointer-events:none;filter:drop-shadow(0 5px 16px #0009)}
/* Rounded, full-weight bubble lettering with a restrained pink highlight. */
.marker-label{font-weight:800;font-size:14px;line-height:1.2;letter-spacing:.015em;color:#ffd2e9;text-shadow:0 1px 0 #b74a80,0 2px 1px #681337,0 3px 3px #0009;border-radius:12px}
@media(max-width:700px){.hero-brand-logo{width:clamp(140px,43vw,210px);left:4vw;top:20%}.marker-label{font-size:11px;max-width:96px}}
@media(prefers-reduced-motion:reduce){.hero-brand-logo{transition:none}}

/* Pink liquid hits the viewport, then slides down to reveal the full page. */
.hero-brand-logo{aspect-ratio:1}
.hero-logo-art{position:relative;display:block;width:100%;height:auto;z-index:1}
.screen-splash{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden;contain:strict;animation:screen-splash-impact .65s cubic-bezier(.12,.7,.2,1) both}
.screen-splash svg{display:block;width:100%;height:100%}
@keyframes screen-splash-impact{0%{clip-path:ellipse(0% 0% at 24% 43%)}45%{clip-path:ellipse(65% 55% at 35% 45%)}75%{clip-path:ellipse(100% 95% at 45% 48%)}100%{clip-path:ellipse(150% 150% at 50% 50%)}}
@media(prefers-reduced-motion:reduce){.screen-splash{display:none!important;animation:none!important}}

/* Logo-pink outline on the opening hero description only. */
#intro-panel .body-copy{color:#fff;-webkit-text-stroke:.65px #ed347f;paint-order:stroke fill;text-shadow:0 1px 3px #000b}

/* Consistent brand outline for body copy across the journey and contact page. */
.body-copy,.copy li,.static-scene li,.qualification,.booking-note,.required-note,.form-status,.image-note,.field>small,.inquiry-details li,.activation-detail p,.static-intro p:not(.eyebrow),.static-scene p:not(.eyebrow){-webkit-text-stroke:.65px #ed347f;paint-order:stroke fill}

/* Keep the decoder attached for reliable presentation callbacks without intercepting input. */
.motion-decoder{position:fixed;bottom:0;left:0;width:1px;height:1px;opacity:.001;pointer-events:none;z-index:-1}
