body[data-palette]{--p-bg:#172b3c;--p-panel:#20394d;--p-deep:#1b3042;--p-raised:#2c4a60;--p-text:#f4f3ee;--p-muted:#c0d0db;--p-accent:#b9def2;--p-ink:#122d42;--p-map:none;background:var(--p-bg);color:var(--p-text);padding-bottom:88px}
body[data-palette=amber]{--p-bg:#30241c;--p-panel:#443327;--p-deep:#38291e;--p-raised:#5d4430;--p-text:#fff5e5;--p-muted:#deccb6;--p-accent:#efbb72;--p-ink:#352315;--p-map:sepia(1) saturate(1.3) hue-rotate(350deg)}
body[data-palette=forest]{--p-bg:#172e28;--p-panel:#234137;--p-deep:#1c352c;--p-raised:#365448;--p-text:#f5f4e9;--p-muted:#c4d1c3;--p-accent:#c3d8a7;--p-ink:#20362a;--p-map:sepia(.8) saturate(.85) hue-rotate(80deg)}
body[data-palette=ivory]{--p-bg:#f5f0e5;--p-panel:#e9e2d4;--p-deep:#f3ede2;--p-raised:#ded5c3;--p-text:#302e26;--p-muted:#625e50;--p-accent:#504f3b;--p-ink:#faf7ef;--p-map:grayscale(1) invert(.85) sepia(.3)}
body[data-palette] .hero,body[data-palette] .miles-city-map{background:var(--p-bg)}body[data-palette] .miles-city-map>svg{filter:var(--p-map)}body[data-palette] .miles-city-map .cinema-shade{background:linear-gradient(180deg,transparent,var(--p-bg) 38%,transparent 65%);opacity:.55}body[data-palette] .cinema-title,body[data-palette] .cinema-bottom,body[data-palette] .cinema-action>a{color:var(--p-text);text-shadow:none}body[data-palette] .hero h1{text-shadow:none}body[data-palette] .journey-editorial,body[data-palette] .faq{background:var(--p-deep)}body[data-palette] .intelligence,body[data-palette] .contact,body[data-palette] .site-footer,body[data-palette] .mobile-menu{background:var(--p-panel)}body[data-palette] .journey-console{background:linear-gradient(145deg,var(--p-raised),var(--p-panel));border-color:var(--line)}body[data-palette] .console-map{filter:var(--p-map)}body[data-palette] .button,body[data-palette] .cinema-action .button,body[data-palette] .booking-bottom #next-step{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-ink)}body[data-palette] .button:hover{filter:brightness(1.08)}body[data-palette] .journey-intro>p,body[data-palette] .journey-choices small,body[data-palette] .journey-location,body[data-palette] .intelligence-copy>p,body[data-palette] .ea-tools p,body[data-palette] .workday-integrations p,body[data-palette] .integration-kicker,body[data-palette] .concept-tag,body[data-palette] .console-status,body[data-palette] .console-bottom>span,body[data-palette] .contact-intro>p,body[data-palette] .contact-channels>a>span,body[data-palette] .site-footer p,body[data-palette] .site-footer button,body[data-palette] .faq-list p{color:var(--p-muted)}body[data-palette] .contact-channels strong,body[data-palette] .console-journey h3,body[data-palette] .faq-list summary{color:var(--p-text)}body[data-palette] .intelligence h2 em,body[data-palette] .journey-choices button:hover strong,body[data-palette] .journey-choices b{color:var(--p-accent)}body[data-palette] .console-tabs button{color:var(--p-muted)}body[data-palette] .console-tabs button.selected{background:var(--p-raised);color:var(--p-text)}body[data-palette] .film-progress span{background:var(--p-accent);box-shadow:none}body[data-palette] dialog,body[data-palette] .booking-dialog{background:var(--p-panel);color:var(--p-text)}body[data-palette] .reserve-route,body[data-palette] .reserve-summary,body[data-palette] .form-step input:not([type=radio],[type=checkbox]),body[data-palette] .form-step select,body[data-palette] .form-step textarea,body[data-palette] .vehicle-choice label>span{background-color:var(--p-deep);color:var(--p-text);border-color:var(--p-muted)}body[data-palette] .vehicle-choice input:checked+span{background:var(--p-raised);border-color:var(--p-accent)}body[data-palette] .service-guidance,body[data-palette] .form-step small,body[data-palette] .form-step label,body[data-palette] .reserve-route>label,body[data-palette] .booking-bottom #back-step,body[data-palette] .review-intro p,body[data-palette] .preview-note{color:var(--p-muted)}
body[data-palette=ivory]{--line:#302e2633;color-scheme:light}body[data-palette=ivory] .cinema-brand img,body[data-palette=ivory] .site-footer .brand img{filter:brightness(0);opacity:.8}body[data-palette=ivory] .preview-bar{background:#e4ded0;color:#625e50}body[data-palette=ivory] .cinema-action>a{text-shadow:none}body[data-palette=ivory] .journey-choices,body[data-palette=ivory] .journey-choices button,body[data-palette=ivory] .faq-list details{border-color:#302e2633}
.palette-bar{position:fixed;z-index:80;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;background:#faf9f5;color:#272722;padding:7px;border:1px solid #d5d3cb;border-radius:40px;box-shadow:0 8px 35px #0004;max-width:calc(100% - 24px)}.palette-bar button{font-size:13px;min-height:42px;display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:30px;white-space:nowrap}.palette-bar button[aria-pressed=true]{background:#e6e3db;box-shadow:inset 0 0 0 1px #bcb7ab}.palette-bar i{width:13px;height:13px;background:var(--swatch);border:1px solid #0002;border-radius:50%;display:block}.palette-bar button:focus-visible{outline:2px solid #444;outline-offset:1px}body.modal-open .palette-bar{display:none}@media(max-width:760px){.palette-bar button{font-size:12px;gap:6px;padding:9px 11px}.palette-bar{bottom:10px;gap:2px}.cinema-action{bottom:145px}.cinema-bottom{bottom:85px}}
.experience-picks{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:30px 0}.experience-picks button{font-size:16px;padding:16px 23px;border:1px solid var(--p-muted);border-radius:30px;transition:background .2s,color .2s}.experience-picks button[aria-pressed=true]{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-ink)}.interactive-hint{font-size:11px;letter-spacing:1.5px;color:var(--p-muted)}body[data-palette] .journey-choices button{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:20px;transition:transform .2s,background .2s}body[data-palette] .journey-choices{border-top:0}body[data-palette] .journey-choices button:hover{background:var(--p-raised);transform:translateY(-3px)}body[data-palette] .journey-choices strong{font-size:23px}body[data-palette] .journey-choices small{font-size:14px}body[data-palette] .journey-intro>p{font-size:17px}body[data-palette] .console-tabs{display:none}body[data-palette] .intelligence-copy>p{font-size:18px}body[data-palette] .journey-location{font-size:11px}body[data-palette] .cinema-title>span{font-size:12px}body[data-palette] .cinema-bottom>span{font-size:11px}body[data-palette] .cinema-action .button{font-size:16px}body[data-palette] .cinema-action>a{font-size:13px}@media(max-width:760px){.experience-picks{flex-direction:row;gap:8px;flex-wrap:wrap}.experience-picks button{font-size:14px;padding:13px 15px}body[data-palette] .cinema-title>span{font-size:10px}body[data-palette] .cinema-bottom>span{font-size:10px}}
body[data-palette] .eyebrow,body[data-palette] .console-journey .eyebrow,body[data-palette] .console-bottom .motion-control{color:var(--p-muted)}body[data-palette] .console-bottom .motion-control{border-color:var(--p-muted)}body[data-palette] .console-head .miles-word{color:var(--p-text)}
/* Carry the selected palette through dialogs, fields and interactive states. */
body[data-palette]{--bg:var(--p-bg);--surface:var(--p-panel);--surface2:var(--p-raised);--text:var(--p-text);--muted:var(--p-muted);--accent:var(--p-accent)}
body[data-palette=ivory] dialog,body[data-palette=ivory] .mobile-menu{color:#302e26;border-color:#bcb5a6;color-scheme:light;box-shadow:0 25px 80px #302e2630}body[data-palette=ivory] dialog h2,body[data-palette=ivory] dialog h3,body[data-palette=ivory] dialog b,body[data-palette=ivory] dialog strong,body[data-palette=ivory] .booking-head h2,body[data-palette=ivory] .reserve-brand,body[data-palette=ivory] .detail-body .eyebrow{color:#302e26}body[data-palette=ivory] .detail-body p,body[data-palette=ivory] .detail-list,body[data-palette=ivory] .detail-footer p,body[data-palette=ivory] .reserve-brand small,body[data-palette=ivory] .vehicle-choice small,body[data-palette=ivory] .review-block small,body[data-palette=ivory] .completion-note{color:#625e50}body[data-palette=ivory] .icon-button{color:#302e26;border-color:#a9a293;background:#f5f0e5}body[data-palette=ivory] .booking-head,body[data-palette=ivory] .booking-bottom,body[data-palette=ivory] .review-block,body[data-palette=ivory] .detail-list span{border-color:#c5beaf;background:transparent}body[data-palette=ivory] .booking-progress span{background:#ded7c9;color:#625e50;border-color:#c5beaf}body[data-palette=ivory] .booking-progress span.active,body[data-palette=ivory] .booking-progress span.done{background:#504f3b;color:#fff8e9}body[data-palette=ivory] .booking-progress span.active b,body[data-palette=ivory] .booking-progress span.done b{color:#fff8e9}body[data-palette=ivory] .booking-progress span:before{background:#d3caba;color:#302e26}body[data-palette=ivory] .booking-progress span.active:before,body[data-palette=ivory] .booking-progress span.done:before{background:#504f3b;color:#fff8e9}body[data-palette=ivory] input::placeholder,body[data-palette=ivory] textarea::placeholder{color:#767063;opacity:1}body[data-palette=ivory] .form-step select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23504f3b' stroke-width='1.5'/%3E%3C/svg%3E")}body[data-palette=ivory] .airport-shortcuts button,body[data-palette=ivory] .reserve-route .add-stop,body[data-palette=ivory] .review-edit{color:#454633;border-color:#b9b3a2;background:#e2ddcf}body[data-palette=ivory] .airport-shortcuts>span{color:#625e50}body[data-palette=ivory] .form-error{background:#f2ddd5;color:#843d2b;border-color:#d5a896}body[data-palette=ivory] .complete-icon{color:#504f3b;background:#dedcc5}body[data-palette=ivory] input[type=checkbox],body[data-palette=ivory] input[type=radio]{accent-color:#504f3b}body[data-palette=ivory] .console-status,body[data-palette=ivory] .console-tabs{border-color:#b9b3a2}
body[data-palette] .booking-progress span{border-radius:6px;padding:8px 10px;font-size:12px}body[data-palette] .booking-progress b{font-size:12px}body[data-palette=ivory] .reserve-route .add-stop{padding:9px 12px;border-radius:6px}
