/* Real dimensions remain tied to the course while the camera moves around it. */
#booking-story{position:fixed;inset:0;z-index:3;pointer-events:none;color:#f7efe2;visibility:hidden;contain:layout style}
#booking-story.active{visibility:visible}
.booking-atmosphere{position:absolute;inset:0;background:linear-gradient(110deg,rgba(15,19,22,.92),rgba(15,19,22,.72) 27%,rgba(15,19,22,.14) 53%,transparent 77%);opacity:var(--booking-alpha,0)}
.booking-copy{position:absolute;left:5.8vw;top:8%;width:34vw;max-width:570px;will-change:transform,opacity;text-shadow:0 2px 18px #0006}
.booking-eyebrow{font:600 10px/1.4 Arial,sans-serif;letter-spacing:.2em;display:flex;align-items:center;gap:14px;margin-bottom:24px;color:#f4cb8d}
.booking-eyebrow:before{content:'';width:30px;height:1px;background:currentColor;box-shadow:0 0 12px #f4cb8d70}
.booking-copy h2{font:500 clamp(29px,3.2vw,49px)/1.04 'Arial Narrow',Arial,sans-serif;letter-spacing:-.045em;margin:0 0 22px}
.booking-title,.booking-accent{display:block}
.booking-accent{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;margin-top:.08em}
.booking-measure{display:flex;align-items:baseline;gap:13px;margin:0 0 18px;white-space:nowrap;color:#f4cb8d}
.booking-measure strong{font:500 clamp(76px,9.4vw,145px)/.92 'Arial Narrow',Arial,sans-serif;letter-spacing:-.075em;font-variant-numeric:lining-nums tabular-nums}
.booking-measure>span{font:italic 400 clamp(17px,1.75vw,25px)/1 Georgia,serif;letter-spacing:-.04em}
.booking-label{font:600 9px/1.5 Arial,sans-serif;letter-spacing:.14em;margin:0 0 12px;max-width:390px;color:#f6d5a5}
.booking-detail{font:400 clamp(13px,1.07vw,16px)/1.6 Arial,sans-serif;margin:0;max-width:350px;color:#e0e4df;letter-spacing:-.01em}
.booking-widths{font:500 10px/1.6 Arial,sans-serif;margin:15px 0 0;padding-top:13px;border-top:1px solid #9bd4d32e;letter-spacing:.035em;color:#9bd4d3;max-width:350px}.booking-widths:empty{display:none}
.booking-progress{position:absolute;left:5.8vw;right:5.8vw;bottom:5%;display:flex;align-items:center;gap:18px;font:500 8px/1.4 Arial,sans-serif;letter-spacing:.13em;opacity:var(--booking-alpha,0);color:#e5dccb}
#booking-story.summary .booking-progress{visibility:hidden}
.booking-track{width:110px;height:1px;background:#f4cb8d25}.booking-track i{display:block;height:1px;background:#f4cb8d;transform:scaleX(var(--booking-progress,0));transform-origin:left}
.booking-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.booking-leaders path{stroke:#f4cb8d;stroke-width:1;fill:none}.booking-leaders path.width{stroke:#83d5d0}
.booking-ground-label{position:absolute;text-align:left;white-space:nowrap;opacity:0;color:#ffddb0;transition:none;padding:6px 8px;background:#10191dc9;border-left:2px solid #f4cb8d;box-shadow:0 3px 15px #0003;backdrop-filter:blur(9px)}
.booking-ground-label.width{color:#a0eeea;border-color:#83d5d0;background:#112226d9}
.booking-ground-label span{display:block;font:500 8px/1.4 Arial,sans-serif;letter-spacing:.07em}.booking-ground-label strong{display:block;font:500 22px/1.12 'Arial Narrow',Arial,sans-serif;letter-spacing:-.035em;margin-top:2px}
.booking-ground-label.portrait span{font-size:7px;letter-spacing:.025em}.booking-ground-label.portrait strong{font-size:19px}
@media(max-width:699px),(max-aspect-ratio:17/20){
 .booking-atmosphere{background:linear-gradient(180deg,rgba(15,19,22,.97),rgba(15,19,22,.83) 26%,rgba(15,19,22,.15) 49%,transparent 65%)}
 .booking-copy{left:7vw;top:5.4%;width:86vw;max-width:none}
 .booking-eyebrow{font-size:8px;letter-spacing:.16em;gap:10px;margin-bottom:13px}
 .booking-copy h2{font-size:clamp(24px,6.5vw,36px);margin-bottom:12px;line-height:1.03}
 .booking-measure{gap:9px;margin-bottom:10px}.booking-measure strong{font-size:clamp(58px,16.6vw,100px);line-height:.9}.booking-measure>span{font-size:18px}
 .booking-label{font-size:8px;margin-bottom:7px;letter-spacing:.09em}.booking-detail{font-size:12px;line-height:1.5;max-width:350px}
 .booking-widths{font-size:9px;margin-top:10px;padding-top:9px}
 .booking-progress{left:7vw;right:7vw;bottom:3.8%;gap:10px;font-size:7px;letter-spacing:.06em}.booking-track{width:44px}
}
@media(max-width:699px) and (min-aspect-ratio:17/20){
 .booking-atmosphere{background:linear-gradient(110deg,rgba(15,19,22,.96),rgba(15,19,22,.74) 32%,transparent 70%)}
 .booking-copy{width:35vw;left:5.8vw;top:5%}.booking-copy h2{font-size:22px;margin-bottom:7px}.booking-measure strong{font-size:49px}.booking-measure>span{font-size:15px}.booking-detail{font-size:10px;line-height:1.4}.booking-widths{font-size:8px;margin-top:7px;padding-top:7px}.booking-eyebrow{margin-bottom:9px}
}
@media(max-height:700px) and (max-width:699px){
 .booking-copy{top:4.5%}.booking-eyebrow{margin-bottom:9px}.booking-copy h2{font-size:23px;margin-bottom:8px}.booking-measure strong{font-size:54px}.booking-measure{margin-bottom:7px}.booking-label{margin-bottom:5px}.booking-detail{font-size:11px;line-height:1.4}.booking-widths{font-size:8px;margin-top:7px;padding-top:7px}
}
@media(max-height:560px) and (min-width:700px){
 .booking-copy{top:5%;width:34vw}.booking-eyebrow{margin-bottom:10px}.booking-copy h2{font-size:27px;margin-bottom:11px}.booking-measure strong{font-size:68px}.booking-detail{font-size:12px}.booking-label{font-size:8px;margin-bottom:7px}.booking-widths{font-size:8px;margin-top:9px;padding-top:8px}
}
@media(prefers-reduced-motion:reduce){.booking-copy{will-change:opacity}}

/* Optional dimensions keep the first impression focused on one setup. */
.booking-details{pointer-events:auto;margin-top:24px;max-width:410px;font:13px/1.5 'Segoe UI',Arial,sans-serif}
.booking-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;border-top:1px solid #efddbd55;padding:14px 0;color:#f3dfc1}
.booking-details summary::-webkit-details-marker{display:none}.booking-details summary span{font-size:22px}.booking-details[open] summary span{transform:rotate(45deg)}
.booking-zone-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-zone-options button,.booking-overview{color:#f8eddd;background:#152027;border:1px solid #dac29855;font:12px/1.4 'Segoe UI',Arial;padding:10px;text-align:left;cursor:pointer}
.booking-zone-options button:hover,.booking-zone-options button:focus-visible{background:#29343b;border-color:#f4cb8d}.booking-overview{border:0;padding:12px 0;background:transparent;text-decoration:underline;text-underline-offset:4px}
#booking-story .booking-copy{pointer-events:none}#booking-story .booking-details{pointer-events:auto}#booking-story .booking-label{letter-spacing:.09em}
@media(max-aspect-ratio:17/20){.booking-details{margin-top:15px}.booking-details summary{padding:9px 0}.booking-zone-options button{font-size:11px;padding:8px}}
