@layer experience {
@font-face{font-family:SolenneSerif;src:local('Baskerville')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;background:#14212a;color:#f5eee0;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #e9c99b;outline-offset:5px}button,a{touch-action:manipulation}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2{font-family:SolenneSerif,Baskerville,'Times New Roman',serif;font-weight:400}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#landing{position:fixed;inset:0;z-index:5;overflow:hidden}.cover,.shade{position:absolute;inset:0}.cover{background:#283d42 url('./assets/hero.jpg') center/cover no-repeat;transform:scale(1.025)}.shade{background:linear-gradient(90deg,rgba(10,22,27,.89),rgba(10,22,27,.58) 35%,rgba(10,22,27,.03) 68%),linear-gradient(0deg,rgba(7,19,23,.72),transparent 30%,transparent 75%,rgba(9,22,28,.45))}.masthead{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(34px + env(safe-area-inset-top)) 5vw 24px;z-index:8;pointer-events:none}.masthead>*{pointer-events:auto}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:8px;line-height:1.1;padding:0;text-align:center}.brand span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:3.7px;margin-top:10px}.edition{font-size:9px;letter-spacing:2.4px;display:flex;gap:30px;align-items:center}.edition i{font-style:normal;opacity:.55}.invitation{position:absolute;left:9vw;top:50%;transform:translateY(-45%)}.eyebrow{font-size:9px;letter-spacing:2.8px;color:#dec09a;line-height:1.7}.eyebrow>span{display:inline-block;width:28px;height:1px;vertical-align:middle;background:#d6b589;margin-right:12px}h1{font-size:clamp(68px,7.8vw,120px);line-height:.96;letter-spacing:-4px;margin:28px 0}h1 em{font-weight:400;color:#e2c6a2}.intro{font-size:14px;font-weight:300;line-height:1.85;color:#deddd2}.entry-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:30px}.primary{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;min-height:49px;background:#ead9bd;color:#1d3336;padding:15px 24px;font-size:12px;letter-spacing:.25px;border:1px solid #ead9bd;transition:background .2s,transform .2s}.primary:hover{background:#fff0d7;transform:translateY(-1px)}.primary span{font-size:20px;line-height:12px}.secondary{min-height:44px;font-size:11px;line-height:1.5;border-bottom:1px solid #b89a7066;padding:10px 0;color:#e8ddcb}.secondary span{margin-left:14px}.text-button{font-size:11px;line-height:1.7;border-bottom:1px solid #d9bd8e60;padding:10px 0}.steps{font-size:10px;margin-top:24px;color:#c4c4b6}.steps b{color:#c6a473;padding:0 10px}.passport{position:absolute;right:5vw;bottom:100px;border-top:1px solid #ddc9a960;display:flex;gap:25px;padding-top:22px}.pass-symbol{font-family:Georgia,serif;font-size:44px;color:#ddc8a8}.passport span{font-size:8px;letter-spacing:2px;color:#e1cfb7}.passport p{font-family:Georgia,serif;line-height:1.4;font-size:22px;margin:12px 0}.landing-footer{position:absolute;left:5vw;right:5vw;bottom:calc(26px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;color:#b9bbae;font-size:8px;letter-spacing:1.6px}#experience-ui{position:fixed;inset:0;pointer-events:none;z-index:3}#experience-ui button,#experience-ui a,.panel{pointer-events:auto}.utility{display:flex;gap:12px}.utility button{font-size:10px;padding:12px 15px;background:#10232b80;border:1px solid #dfc59a45;backdrop-filter:blur(12px)}.utility span{padding-left:10px}.chapter{position:absolute;top:26%;left:5vw;max-width:260px;transition:opacity .5s}.chapter h2{font-size:38px;line-height:1.1;margin:18px 0}.chapter p{font-size:12px;line-height:1.85;color:#c7c9bf;max-width:225px}.bottom-ui{position:absolute;bottom:calc(28px + env(safe-area-inset-bottom));width:100%;text-align:center}.gesture{margin-top:18px;font-size:10px;color:#d4d1c4;letter-spacing:.2px}.destinations{display:inline-flex;gap:0;background:#12252bbc;border:1px solid #c7b08650;backdrop-filter:blur(16px)}.destinations button{font-size:9px;padding:16px 23px;color:#d3b48b;min-height:46px}.destinations button+button{border-left:1px solid #c7b08640}.destinations span{font-size:11px;color:#f0e5d2;margin-left:12px}.destinations button[aria-pressed=true]{background:#dbc59e25}.view-actions{display:flex;gap:23px;justify-content:center;margin-top:17px}.view-actions button{font-size:10px;min-height:30px;color:#ddd2be}.view-actions button[aria-pressed=true]{color:#dcb582}.anchor{position:absolute;transform:translate(-50%,-50%);border:1px solid #f7dcaa99;background:#192c3699;backdrop-filter:blur(6px);width:38px;height:38px;border-radius:50%;color:#f6e3c1;font-size:10px;box-shadow:0 0 0 5px #eed5ac12}.anchor:hover{background:#c5a578;color:#10232b}.panel{background:#14272ded;backdrop-filter:blur(24px);border:1px solid #d3b58a40}.detail{position:absolute;right:4vw;top:25%;width:320px;padding:32px}.detail h2{font-size:36px;margin:18px 0}.detail p{color:#c4ccc6;line-height:1.85;font-size:12px}.detail-note{border-top:1px solid #d5bd932e;padding-top:18px;margin-top:24px;color:#d2b68f;font-size:10px;line-height:1.8}.detail .primary{width:100%;margin-top:25px;gap:10px;font-size:11px}.close{position:absolute;right:14px;top:10px;width:38px;height:38px;font-size:25px;color:#cdbb9e}.scanner,.placement{position:absolute;left:50%;bottom:calc(40px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(360px,90vw);padding:25px;text-align:center}.scanner img{width:76px;height:100px;object-fit:cover;margin-bottom:12px}.scanner h2,.placement h2{font-size:27px;line-height:1.15;margin:14px 0}.scanner p,.placement p{font-size:12px;line-height:1.7;color:#c3cabe}.reticle{font-size:50px;font-weight:200;color:#e0bb89}.overlay{position:fixed;inset:0;background:#0f2029e8;backdrop-filter:blur(20px);display:grid;place-items:center;z-index:25}.system-card{width:min(340px,85vw);text-align:center}.system-card h2{font-size:35px;margin:20px 0}.system-card p{font-size:12px;line-height:1.8;color:#bdc8c4}.system-card button{margin-top:22px}.system-card .text-button{display:block;margin:16px auto}.loading-mark{font:70px Georgia;color:#dec096;animation:breathe 3s ease-in-out infinite}@keyframes breathe{50%{opacity:.35;transform:translateY(-4px)}}dialog{background:#14282e;color:#f3ead8;border:1px solid #d5bb9455;padding:45px;width:min(470px,92vw);max-height:90dvh;overflow:auto;box-shadow:0 30px 150px #0008}dialog::backdrop{background:#081820cc;backdrop-filter:blur(9px)}dialog h2{font-size:38px;line-height:1.15;margin:16px 0}dialog p{font-size:12px;line-height:1.9;color:#c6cbbf}dialog .qr{display:block;background:#f8edda;width:180px;height:180px;margin:25px auto;padding:12px}#qr-dialog{text-align:center}#photo-dialog{width:min(560px,94vw);padding:0}#photo-image{width:100%;max-height:54dvh;object-fit:contain;background:#10212a;display:block}.photo-footer{padding:24px}.photo-footer h2{font-size:26px;margin:7px 0 20px}.dialog-actions{display:flex;gap:20px}.dialog-actions .primary{font-size:11px}#share-status{margin-top:10px}.concierge-card{padding:23px;border:1px solid #d4b58940;margin:24px 0}.concierge-card span{font:18px Georgia;letter-spacing:5px}.concierge-card strong{display:block;font-size:12px;font-weight:400;margin:18px 0}.concierge-card small{font-size:10px;color:#a7b1a9;line-height:1.7}body[data-open=true] .chapter{opacity:.7}body[data-detail=true] .chapter{opacity:0}body[data-mode=ar] .chapter{background:#10212a80;padding:15px;backdrop-filter:blur(8px)}
@media(max-width:900px){.chapter{top:17%;max-width:180px;left:4vw}.chapter h2{font-size:27px}.chapter p{font-size:11px}.passport{right:5vw;bottom:90px}.invitation{left:7vw}.detail{top:23%;right:3vw;width:285px}.utility button{padding:10px;font-size:9px}}
@media(max-width:600px){.masthead{padding:calc(23px + env(safe-area-inset-top)) 24px 18px}.brand{font-size:23px;letter-spacing:6px}.brand span{font-size:6px;letter-spacing:2.9px;margin-top:8px}.edition{font-size:7px;letter-spacing:1.3px;max-width:105px;text-align:right;line-height:1.8}.edition i{display:none}.shade{background:linear-gradient(0deg,#102129e8 0%,#10212970 50%,#10212922 80%,#10212988 100%)}.cover{background-position:64% center}.invitation{left:28px;right:28px;top:auto;bottom:85px;transform:none}.eyebrow{font-size:8px;letter-spacing:2px}h1{font-size:70px;letter-spacing:-2.4px;margin:22px 0}.intro{font-size:12px;line-height:1.8}.entry-actions{margin-top:23px;gap:7px}.primary{min-height:47px;padding:14px 21px}.secondary{font-size:10px;min-height:40px}.steps{font-size:9px;margin-top:18px}.passport{display:none}.landing-footer{left:28px;right:28px;bottom:calc(22px + env(safe-area-inset-bottom));font-size:7px;letter-spacing:1px}.landing-footer>span:first-child{max-width:170px;line-height:1.8}.landing-footer>span:last-child{max-width:80px;line-height:1.8;text-align:right}.chapter{top:calc(101px + env(safe-area-inset-top));left:24px;right:24px;max-width:none;text-align:center}.chapter h2{font-size:25px;margin:8px 0}.chapter h2 br{display:none}.chapter p{max-width:none;font-size:10px}.utility{gap:7px}.utility button{font-size:0;padding:10px;border-radius:50%;width:38px;height:38px}.utility span{font-size:17px;padding:0}.bottom-ui{bottom:calc(22px + env(safe-area-inset-bottom))}.destinations{width:calc(100% - 36px);justify-content:center}.destinations button{padding:14px 11px;flex:1;font-size:8px}.destinations span{font-size:10px;display:block;margin:5px 0 0}.view-actions{gap:13px;margin-top:10px}.view-actions button{font-size:9px}.gesture{font-size:8px;margin:10px 22px 0}.detail{top:auto;bottom:calc(140px + env(safe-area-inset-bottom));right:18px;left:18px;width:auto;padding:23px;max-height:47dvh;overflow:auto}.detail h2{font-size:28px;margin:12px 0}.detail p{font-size:11px}.detail-note{margin-top:14px;padding-top:12px}.detail .primary{margin-top:16px;min-height:42px}.anchor{width:32px;height:32px;font-size:9px}dialog{padding:32px 25px}dialog h2{font-size:32px}body[data-open=true] .chapter{opacity:.8}}
@media(max-height:680px) and (max-width:600px){.invitation{bottom:66px}h1{font-size:55px;margin:15px 0}.intro{font-size:11px}.entry-actions{margin-top:17px;gap:2px}.steps{margin-top:12px;font-size:8px}.masthead{padding-top:19px}.chapter{top:83px}.chapter h2{font-size:22px}.chapter p{display:none}.bottom-ui{bottom:12px}.detail{bottom:120px}.landing-footer{bottom:16px}.eyebrow{font-size:7px}.primary{min-height:44px}.secondary{min-height:35px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.cover{transform:none}}

body[data-inside=true] .chapter{opacity:0}#experience-ui:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#06192465,transparent 23%,transparent 82%,#071b2940);pointer-events:none}

/* Space is the primary content. Captions yield after each story beat. */
#experience-ui .masthead{padding:calc(24px + env(safe-area-inset-top)) 32px 12px}
#experience-ui .brand{font-size:22px;letter-spacing:6px;text-shadow:0 2px 14px #07191dc0}
#experience-ui .brand span{font-size:6px;margin-top:7px}
.chapter,body[data-mode=ar] .chapter{top:calc(92px + env(safe-area-inset-top));left:24px;right:24px;max-width:none;text-align:center;background:none;padding:0;backdrop-filter:none;pointer-events:none;text-shadow:0 2px 20px #07191dc0;transition:opacity .7s}
.chapter h2{font-size:27px;margin:8px 0;line-height:1.2}.chapter .eyebrow{font-size:8px}.chapter p:empty{display:none}
body[data-caption=false] .chapter,body[data-detail=true] .chapter{opacity:0}
body[data-caption=true] .chapter{opacity:1}
.utility button{min-width:44px;height:44px;border-radius:50%;font-size:0;padding:0;background:#11272b88}
.utility span{font-size:19px;padding:0}
.bottom-ui{bottom:calc(17px + env(safe-area-inset-bottom));padding:0 16px;pointer-events:none}
.viewpoints{display:flex;width:min(480px,100%);margin:0 auto;padding:5px;border:1px solid #ecd9b543;background:#0c2229c9;backdrop-filter:blur(22px);border-radius:9px;box-shadow:0 8px 36px #00101630}
.viewpoints button{flex:1;min-height:44px;padding:9px 10px;font-size:12px;white-space:nowrap;border-radius:5px;color:#ebdfca}
.viewpoints button[aria-pressed=true]{background:#ead8b9;color:#193037}
.view-actions{gap:8px;margin-top:4px;align-items:center}
.view-actions button{font-size:11px;min-height:44px;padding:8px 13px;text-shadow:0 2px 10px #061821}
.view-actions button[aria-expanded=true]{color:#ffdda5}
.destinations{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(360px,calc(100% - 32px));border-radius:8px;box-shadow:0 12px 44px #07191d55}
.destinations button{min-height:52px;padding:12px;flex:1}
.destinations span{display:inline;font-size:12px;margin:0}
.gesture{font-size:10px;line-height:1.4;letter-spacing:0;margin:0;color:#eee4d1;text-shadow:0 2px 10px #061821;min-height:14px}
.anchor{width:44px;height:44px;font-size:11px;box-shadow:0 0 0 6px #eed5ac12;transition:background .2s;backdrop-filter:blur(10px)}
.anchor[aria-pressed=true]{background:#e7cba1;color:#14272d}
.detail{top:auto;bottom:calc(142px + env(safe-area-inset-bottom));right:24px;left:auto;width:340px;padding:18px 22px;border-radius:8px;background:#10272bdd;box-shadow:0 10px 40px #00111630;max-height:32dvh;overflow:auto}
.detail h2{font-size:24px;margin:6px 24px 7px 0}.detail p{font-size:12px;line-height:1.6}.detail .eyebrow{font-size:7px}.detail-note{display:none}.detail .text-button{font-size:11px;padding:8px 0 2px}.detail .close{right:7px;top:5px;width:44px;height:44px}
.placement{width:min(370px,calc(100% - 32px));bottom:calc(25px + env(safe-area-inset-bottom));padding:18px 22px;border-radius:9px}
.placement h2{font-size:24px;margin:0 0 6px}.placement p{font-size:11px}.placement-controls{display:flex;gap:20px;margin:16px 0 12px;text-align:left}.placement-controls label{flex:1;font-size:10px;line-height:1.8;color:#e9dbc4}.placement-controls output{float:right;color:#c2cec7}.placement-controls input{display:block;width:100%;height:28px;accent-color:#dac09a;touch-action:none}.placement .primary{width:100%;justify-content:center}
.scanner{padding:18px 24px;border-radius:10px}.scanner img{width:49px;height:64px;margin:0 14px 0 0;float:left}.scanner .eyebrow{margin-top:4px}.scanner h2{font-size:22px;margin:5px 0 12px}.scanner h2 br{display:none}.scanner p{clear:both;font-size:11px}.scanner .secondary{font-size:12px;min-height:44px}
@media(max-width:600px){#experience-ui .masthead{padding:calc(18px + env(safe-area-inset-top)) 20px 10px}#experience-ui .brand{font-size:20px;letter-spacing:5px}.chapter{top:calc(83px + env(safe-area-inset-top))!important}.chapter h2{font-size:24px}.detail{left:16px;right:16px;width:auto;bottom:calc(141px + env(safe-area-inset-bottom));padding:15px 18px}.detail h2{font-size:22px}.detail p{font-size:11px}.utility{gap:7px}.viewpoints button{font-size:11px}.view-actions button{font-size:11px}.gesture{font-size:9px}}
@media(max-height:650px){.chapter h2{font-size:21px}.chapter .eyebrow{display:none}.detail{max-height:29dvh}.bottom-ui{bottom:calc(8px + env(safe-area-inset-bottom))}.placement{bottom:12px;padding:14px 18px}.placement-controls{margin:8px 0}.placement p{display:none}}
/* AR and VR share the same three-position navigation height. */
.anchor{left:0;top:0}

.placement p{display:none}.placement-controls{gap:12px;margin:10px 0}.placement-controls label{min-width:0}.placement-controls output{float:none;display:block;line-height:1.4}.placement-controls input{height:25px}

.height-direction{display:flex;justify-content:space-between;font-size:9px;line-height:1.2;color:#e9dbc4}

/* Keep floor alignment visible: tools occupy the top, with sliders opt-in. */
.placement{top:calc(82px + env(safe-area-inset-top));bottom:auto;width:min(410px,calc(100% - 32px));padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;text-align:left;max-height:calc(100dvh - 110px - env(safe-area-inset-top));overflow:auto}
.placement h2{font-size:18px;line-height:1.3;margin:0;grid-column:1;align-self:center}
.placement-toggle{grid-column:1;grid-row:2;justify-self:start;min-height:44px;padding:8px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.placement .primary{grid-column:2;grid-row:1 / 3;width:auto;max-width:130px;min-height:44px;padding:10px 14px;gap:0;font-size:12px}
.placement-controls{grid-column:1 / -1;grid-row:3;margin:2px 0 0;padding-top:8px;border-top:1px solid #d3b58a40}
.placement-controls input{height:44px}

}