:root{--ink:#171528;--cream:#f5f0e8;--violet:#443b8f;--purple:#7358ce;--pink:#e9a9c0;--gold:#f4cf7b;--night:#12122b;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{color:inherit}.cursor-glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,226,160,.1),transparent 68%);pointer-events:none;z-index:5;transform:translate(-50%,-50%)}
.site-header{position:fixed;top:0;left:0;width:100%;height:92px;padding:0 clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;z-index:20;color:#fff;transition:.4s}.site-header.scrolled{height:72px;background:rgba(20,18,45,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:var(--gold)}.brand strong,.brand small{display:block;line-height:1}.brand strong{font-family:var(--serif);font-size:19px}.brand small{font-size:8px;text-transform:uppercase;letter-spacing:.3em;margin-top:5px}.desktop-nav{display:flex;gap:36px;font-size:13px}.desktop-nav a{position:relative;opacity:.8}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:.3s}.desktop-nav a:hover:after{width:100%}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:17px 22px;background:#fff;color:var(--ink);font-weight:600;font-size:13px;cursor:pointer;transition:.3s}.button:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(0,0,0,.18)}.button-small{padding:13px 17px;gap:18px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25)}.menu-toggle{display:none;background:transparent;border:0}.hero{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 67% 30%,#57459a 0,#292553 32%,#17162f 65%,#0e1024 100%);color:#fff;display:flex;align-items:center;padding:130px clamp(24px,8vw,120px) 80px}.hero:after{content:"";position:absolute;inset:auto 0 0;height:25%;background:linear-gradient(transparent,rgba(9,10,27,.7))}.hero-copy{position:relative;z-index:3;width:min(650px,54vw)}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:10px;font-weight:700;display:flex;align-items:center;gap:12px;margin:0 0 25px}.eyebrow span{width:34px;height:1px;background:var(--gold)}.hero h1,.section h2{font-family:var(--serif);font-size:clamp(60px,7.4vw,112px);font-weight:600;line-height:.9;letter-spacing:-.055em;margin:0}.hero h1 em,.section h2 em{font-weight:600;color:var(--pink)}.hero-intro{width:min(520px,90%);font-size:15px;line-height:1.8;color:rgba(255,255,255,.7);margin:32px 0}.hero-actions{display:flex;align-items:center;gap:32px}.text-button{border:0;background:transparent;color:#fff;font-size:12px;cursor:pointer}.sound-icon{display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.3);border-radius:50%;margin-right:8px}.stars{position:absolute;inset:0;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:79px 83px;opacity:.25;animation:drift 18s linear infinite}.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.5}.orb-one{width:480px;height:480px;background:rgba(132,91,220,.18);top:-130px;right:-80px}.orb-two{width:280px;height:280px;background:rgba(255,164,194,.1);bottom:30px;left:42%}.castle-wrap{position:absolute;z-index:2;right:2%;bottom:-2%;width:min(52vw,700px);height:78%;display:flex;align-items:flex-end;justify-content:center}.castle{height:95%;max-width:100%;filter:drop-shadow(0 30px 55px rgba(0,0,0,.45));animation:float 6s ease-in-out infinite}.castle-haze{position:absolute;bottom:2%;width:100%;height:24%;background:linear-gradient(transparent,rgba(91,72,146,.45));filter:blur(15px)}.moon{position:absolute;width:140px;height:140px;border-radius:50%;background:#ffe9bc;top:13%;right:17%;box-shadow:0 0 60px rgba(255,220,162,.5)}.scroll-cue{position:absolute;z-index:4;right:5vw;bottom:42px;display:flex;align-items:center;gap:12px;font-size:9px;text-transform:uppercase;letter-spacing:.2em;transform:rotate(90deg);transform-origin:right}.scroll-cue i{display:block;width:45px;height:1px;background:#fff}.ticker{background:var(--gold);overflow:hidden;padding:19px 0}.ticker-track{width:max-content;display:flex;align-items:center;gap:35px;animation:ticker 25s linear infinite;text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.15em}.ticker-track b{font-size:15px;color:var(--violet)}
.section{padding:clamp(85px,10vw,150px) clamp(24px,7vw,105px)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:70px}.section-heading h2,.stay h2{font-size:clamp(48px,5.5vw,82px)}.section-heading h2 em,.stay h2 em{color:var(--purple)}.eyebrow.dark{color:#6f697a}.eyebrow.dark span{background:var(--purple)}.section-heading>p{max-width:390px;line-height:1.75;color:#696474;font-size:14px}.experience-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.experience-card{height:500px;position:relative;overflow:hidden;color:#fff;cursor:pointer}.experience-card:focus{outline:3px solid var(--gold);outline-offset:3px}.art{position:absolute;inset:0;transition:transform .7s cubic-bezier(.2,.7,.1,1)}.experience-card:hover .art{transform:scale(1.06)}.card-overlay{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(11,11,25,.92))}.card-content{position:absolute;inset:24px;display:flex;flex-direction:column;justify-content:space-between}.card-number{font-size:10px;opacity:.7}.card-content p{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin:0 0 10px}.card-content h3{font-family:var(--serif);font-size:29px;line-height:1.08;margin:0}.round-arrow{position:absolute;right:0;bottom:0;width:43px;height:43px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;transition:.3s}.experience-card:hover .round-arrow{background:#fff;color:var(--ink);transform:rotate(45deg)}.art-galaxy{background:radial-gradient(circle at 30% 25%,#fae2b3 0 2%,transparent 3%),radial-gradient(circle at 70% 40%,#a77ed6 0 3%,transparent 4%),linear-gradient(145deg,#373366,#171632 65%)}.planet{position:absolute;width:300px;height:300px;border-radius:50%;left:-60px;top:80px;background:linear-gradient(120deg,#d798aa,#7650a3);box-shadow:inset -40px -20px 50px rgba(24,17,58,.5)}.planet:after{content:"";position:absolute;width:390px;height:65px;border:17px solid #edca9f;border-radius:50%;transform:rotate(-18deg);left:-48px;top:105px}.rocket{position:absolute;right:20%;top:25%;font-size:45px;color:#fff;transform:rotate(-35deg);filter:drop-shadow(-20px 20px 10px #b98eea)}.art-jungle{background:linear-gradient(#d67e58 0 38%,#643d5c 39%,#263b43 100%)}.sun{position:absolute;width:130px;height:130px;border-radius:50%;background:#ffd28a;top:55px;right:40px}.mountain{position:absolute;bottom:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.m1{width:350px;height:350px;background:#63485e;left:-60px}.m2{width:380px;height:300px;background:#2d3e46;right:-120px}.art-dream{background:linear-gradient(#8a76c3,#d3a4bd 56%,#f4c8be)}.cloud{position:absolute;width:180px;height:50px;background:rgba(255,255,255,.4);border-radius:50%;filter:blur(5px)}.c1{left:-30px;top:30%}.c2{right:-60px;top:52%}.balloon{position:absolute;top:16%;left:34%;display:grid;place-items:center;width:125px;height:150px;border-radius:50% 50% 45% 45%;background:linear-gradient(120deg,#f6d5b5,#da759d);font-size:35px;color:#fff;box-shadow:inset -20px -15px 30px rgba(100,50,100,.2)}.balloon:after{content:"";position:absolute;top:147px;height:155px;width:1px;background:#fff}
.magic-night{background:var(--night);color:#fff;display:grid;grid-template-columns:1.15fr 1fr;gap:9vw;align-items:center;min-height:750px}.night-visual{height:530px;position:relative;background:radial-gradient(circle at 50% 60%,#5c4378,transparent 45%),linear-gradient(#0b153a,#1d183b);overflow:hidden}.mini-castle{position:absolute;bottom:-35px;left:50%;transform:translateX(-50%);font-size:290px;color:#423864;text-shadow:0 0 55px #7555a2}.firework{position:absolute;width:6px;height:6px;border-radius:50%;box-shadow:0 -55px #f6d387,39px -39px #f6d387,55px 0 #f6d387,39px 39px #f6d387,0 55px #f6d387,-39px 39px #f6d387,-55px 0 #f6d387,-39px -39px #f6d387;animation:pulse 2.3s infinite}.f1{left:27%;top:24%}.f2{right:23%;top:20%;transform:scale(.6);animation-delay:.8s}.f3{right:35%;top:44%;transform:scale(.35);animation-delay:1.4s}.night-copy h2{font-size:clamp(48px,5vw,76px)}.night-copy p{color:rgba(255,255,255,.65);line-height:1.8;max-width:510px}.show-time{display:grid;grid-template-columns:1fr auto;align-items:end;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);padding:18px 0;margin:38px 0 22px}.show-time span,.show-time small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55)}.show-time strong{grid-row:1/3;grid-column:2;font:600 43px var(--serif);color:var(--gold)}.link-arrow{font-size:12px;font-weight:700}.link-arrow span{margin-left:18px}
.stay{background:#e6ddd1}.stay-card{background:#f8f4ee;display:grid;grid-template-columns:1fr 1fr;min-height:600px}.stay-art{position:relative;overflow:hidden;background:linear-gradient(140deg,#ceb7bc,#927e9c);min-height:540px}.window{position:absolute;width:62%;height:72%;left:19%;top:14%;border:20px solid #e4d0c2;border-radius:50% 50% 0 0;background:linear-gradient(#252651,#5d5284 65%,#e6a99b);box-shadow:0 20px 50px rgba(50,30,60,.35)}.window:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 60% 24%,#fff 0 1px,transparent 2px);background-size:34px 35px}.window i{position:absolute;width:150px;height:150px;border-radius:50%;background:#ffe6ad;right:12%;top:12%;box-shadow:0 0 30px #ffe1ae}.lamp{position:absolute;width:110px;height:220px;background:linear-gradient(90deg,#80605c,#c49a83,#80605c);clip-path:polygon(28% 0,72% 0,100% 35%,65% 37%,65% 100%,35% 100%,35% 37%,0 35%);bottom:0;left:14%}.spark{position:absolute;color:#fff5c6;font-size:30px;animation:pulse 2s infinite}.s1{right:14%;top:17%}.s2{left:13%;top:24%;animation-delay:1s}.stay-copy{padding:clamp(50px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.stay-copy>p{line-height:1.8;color:#686271}.perks{display:flex;gap:24px;padding:26px 0;border-top:1px solid #d7cfc5;margin:22px 0}.perks span{font-size:10px;text-transform:uppercase;color:#77717c}.perks b{display:block;font:600 26px var(--serif);color:var(--purple)}.button-dark{align-self:flex-start;background:var(--ink);color:#fff}
.booking{background:linear-gradient(125deg,#3d3379,#7954a4);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:9vw}.booking h2{font-size:clamp(51px,5.5vw,84px)}.booking-form{background:#fff;padding:12px;color:var(--ink);display:grid;grid-template-columns:1fr 1fr}.booking-form label{padding:15px 18px;border-right:1px solid #e4e0e7}.booking-form label span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#827b89;margin-bottom:7px}.booking-form input,.booking-form select{border:0;background:transparent;width:100%;color:var(--ink);outline:0;font-weight:600;font-size:12px}.button-gold{grid-column:1/-1;background:var(--gold);margin-top:12px}.booking-form.shake{animation:shake .35s}
footer{padding:50px clamp(24px,7vw,105px);background:#0d0d20;color:#fff;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:30px}.footer-brand{justify-self:start}footer p{text-align:center;color:rgba(255,255,255,.4);font-size:10px;line-height:1.7}footer>div{display:flex;justify-content:flex-end;gap:20px;font-size:10px}.toast{position:fixed;z-index:30;right:25px;bottom:25px;background:#fff;color:var(--ink);padding:17px 22px;display:flex;gap:13px;align-items:center;box-shadow:0 18px 55px rgba(0,0,0,.25);transform:translateY(160%);transition:.5s}.toast.show{transform:translateY(0)}.toast>span{color:var(--purple);font-size:20px}.toast strong,.toast small{display:block}.toast strong{font-size:12px}.toast small{font-size:10px;color:#777;margin-top:4px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
.hero{background:#17162f}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(10,10,30,.94) 0%,rgba(15,12,40,.72) 46%,rgba(15,12,40,.18) 80%),linear-gradient(0deg,rgba(8,8,25,.72),transparent 45%),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1600');background-position:center;background-size:cover;transform:scale(1.03);animation:heroZoom 18s ease-in-out infinite alternate}.hero-copy{width:min(650px,56vw)}.castle-wrap{display:none}.art-galaxy{background-image:linear-gradient(0deg,rgba(18,15,42,.25),rgba(18,15,42,.05)),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036714_2022sep28_world_discoveryland-master-visual_5-2_tcm808-233836.jpg?f=webp&w=1200');background-size:cover;background-position:center}.art-jungle{background-image:linear-gradient(0deg,rgba(18,15,42,.25),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036879_2022sep28_frontierland-master-visual_5-2_tcm808-234128.jpg?f=webp&w=1200');background-size:cover;background-position:center}.art-dream{background-image:linear-gradient(0deg,rgba(18,15,42,.25),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1200');background-size:cover;background-position:center}.art-galaxy .planet,.art-galaxy .rocket,.art-jungle .sun,.art-jungle .mountain,.art-dream .cloud,.art-dream .balloon{display:none}

.park-map{background:#eee9e1}.map-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:55px}.map-heading h2{font-size:clamp(48px,5.5vw,82px)}.map-heading h2 em{color:var(--purple)}.map-filters{display:flex;gap:7px;padding:6px;background:#e1d9cf;border-radius:40px}.map-filter{border:0;background:transparent;border-radius:30px;padding:12px 17px;font-size:10px;font-weight:700;cursor:pointer;transition:.25s}.map-filter.active{background:var(--ink);color:#fff}.map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.6fr);min-height:610px;box-shadow:0 30px 70px rgba(34,27,54,.12)}.map-canvas{position:relative;min-height:610px;overflow:hidden;background:#d4dccb;isolation:isolate}.land{position:absolute;display:grid;place-items:center;filter:drop-shadow(0 8px 10px rgba(55,62,50,.08))}.land span{font:600 clamp(10px,1vw,14px) var(--serif);letter-spacing:.02em;color:rgba(37,40,44,.5);text-shadow:0 1px rgba(255,255,255,.5)}.land-frontier{inset:5% 59% 35% 2%;background:#d9a67e;clip-path:polygon(5% 14%,71% 0,100% 35%,83% 92%,25% 100%,0 61%)}.land-adventure{inset:5% 39% 45% 27%;background:#9eba8c;clip-path:polygon(14% 4%,84% 0,100% 50%,72% 100%,10% 84%,0 34%)}.land-fantasy{inset:1% 13% 49% 47%;background:#d7b8ca;clip-path:polygon(8% 19%,64% 0,100% 35%,85% 93%,28% 100%,0 67%)}.land-discovery{inset:16% 1% 25% 67%;background:#91b6bd;clip-path:polygon(26% 0,85% 9%,100% 56%,72% 100%,4% 84%,0 31%)}.land-main{inset:49% 31% 0 38%;background:#e4c6a8;clip-path:polygon(28% 0,70% 0,100% 100%,0 100%)}.map-water{position:absolute;background:#b4d5d5;opacity:.82;z-index:1}.water-one{width:190px;height:160px;left:8%;top:19%;border-radius:48% 52% 43% 57%}.water-two{width:115px;height:80px;right:9%;top:33%;border-radius:58% 42% 55% 45%}.map-path{position:absolute;z-index:2;border:11px solid rgba(249,245,234,.68);pointer-events:none}.path-ring{width:65%;height:65%;left:17%;top:10%;border-radius:50%}.path-main{width:12%;height:50%;left:46%;bottom:-4%;border-width:0 11px;background:rgba(249,245,234,.7);transform:perspective(300px) rotateX(4deg)}.map-castle{position:absolute;left:48%;top:43%;z-index:5;font-size:62px;color:#72518c;transform:translate(-50%,-50%);filter:drop-shadow(0 6px 4px rgba(40,28,55,.2))}.map-poi{position:absolute;z-index:7;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;padding:0;transition:.3s}.map-poi i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink);font-style:normal;font-size:10px;font-weight:800;box-shadow:0 7px 20px rgba(31,27,50,.24);border:3px solid #fff;transition:.25s}.map-poi span{position:absolute;top:41px;left:50%;transform:translateX(-50%);width:max-content;max-width:115px;padding:5px 8px;background:rgba(255,255,255,.88);font-size:8px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}.map-poi:hover i,.map-poi.active i{background:var(--purple);color:#fff;transform:scale(1.18)}.map-poi:hover span,.map-poi.active span{opacity:1}.map-poi.hidden{opacity:.12;pointer-events:none;transform:translate(-50%,-50%) scale(.7)}.map-entrance{position:absolute;bottom:3%;left:49%;z-index:6;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;font-size:8px;text-transform:uppercase;letter-spacing:.15em}.map-entrance i{font-style:normal;font-size:19px}.map-compass{position:absolute;right:19px;bottom:18px;z-index:6;display:flex;flex-direction:column;align-items:center;font-size:9px}.map-compass span{font-size:22px;color:var(--violet)}.map-detail{background:#fff;min-width:0}.detail-photo{height:265px;position:relative;background-size:cover;background-position:center;transition:opacity .25s}.detail-thunder{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/n025425_2023jan31_world_big-thunder-mountain-on-board-view_5-1_tcm808-226555.jpg?f=webp&w=1000')}.detail-phantom,.detail-pirates{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036879_2022sep28_frontierland-master-visual_5-2_tcm808-234128.jpg?f=webp&w=1000')}.detail-peterpan,.detail-smallworld{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1000')}.detail-hyperspace,.detail-buzz{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036714_2022sep28_world_discoveryland-master-visual_5-2_tcm808-233836.jpg?f=webp&w=1000')}.detail-index,.detail-badge{position:absolute;top:18px;color:#fff;font-size:9px}.detail-index{left:19px}.detail-badge{right:18px;background:rgba(18,17,39,.7);backdrop-filter:blur(8px);padding:7px 10px;text-transform:uppercase;letter-spacing:.12em}.detail-body{padding:30px}.detail-land{font-size:9px!important;text-transform:uppercase;letter-spacing:.18em;color:var(--purple)!important;margin:0 0 10px!important;font-weight:700}.detail-body h3{font:600 31px/1 var(--serif);margin:0 0 16px}.detail-body>p{font-size:12px;line-height:1.65;color:#74707b}.detail-meta{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 15px;border-top:1px solid #e8e3dd;border-bottom:1px solid #e8e3dd}.detail-meta span{padding:15px 0}.detail-meta span+span{padding-left:18px;border-left:1px solid #e8e3dd}.detail-meta small,.detail-meta strong{display:block}.detail-meta small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#97919b;margin-bottom:6px}.detail-meta strong{font-size:11px}.map-note{font-size:8px!important;color:#999!important;margin:0!important}

.map-canvas{min-height:0;align-self:start;overflow:hidden;background:#f7f4ef;cursor:grab;touch-action:none;user-select:none}.map-canvas.dragging{cursor:grabbing}.real-map-stage{position:relative;width:100%;aspect-ratio:1157/950;overflow:hidden;transform-origin:center center;transition:transform .18s ease-out;will-change:transform}.map-canvas.dragging .real-map-stage{transition:none}.real-map-stage>img{position:absolute;inset:0;width:100%;height:auto;display:block;pointer-events:none}.map-toolbar{position:absolute;z-index:15;top:16px;left:16px;display:grid;gap:5px;padding:5px;background:rgba(255,255,255,.9);border-radius:12px;box-shadow:0 8px 25px rgba(28,26,46,.18);backdrop-filter:blur(10px)}.map-toolbar button{width:38px;height:38px;border:0;background:#fff;border-radius:8px;font-size:20px;cursor:pointer;transition:.2s}.map-toolbar button:hover{background:var(--ink);color:#fff}.map-zoom-label{position:absolute;z-index:14;top:16px;right:16px;padding:9px 12px;background:rgba(23,21,40,.82);border-radius:20px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em;backdrop-filter:blur(8px)}.map-drag-hint{position:absolute;z-index:14;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;width:max-content;padding:9px 13px;border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 5px 18px rgba(30,25,46,.12);font-size:8px;text-transform:uppercase;letter-spacing:.12em;pointer-events:none}.map-drag-hint span{font-size:15px;color:var(--purple)}.real-map-stage .map-poi i{width:29px;height:29px;background:rgba(255,255,255,.88);border:2px solid #b92d78;color:#9c1c64;box-shadow:0 4px 13px rgba(40,24,50,.25)}.real-map-stage .map-poi-show i{border-color:#7757bd;color:#6042a4}.real-map-stage .map-poi-food i{border-color:#e07c33;color:#b5561b}.real-map-stage .map-poi:hover i,.real-map-stage .map-poi.active i{background:var(--ink);border-color:#fff;color:#fff;transform:scale(1.22)}.real-map-stage .map-poi span{top:35px;background:rgba(23,21,40,.91);color:#fff;border-radius:4px;box-shadow:0 5px 15px rgba(23,21,40,.2)}.real-map-stage .map-poi.hidden{opacity:0;transform:translate(-50%,-50%) scale(.4)}.detail-robinson,.detail-captain,.detail-hakuna,.detail-pirates{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036879_2022sep28_frontierland-master-visual_5-2_tcm808-234128.jpg?f=webp&w=1000')}.detail-teacups,.detail-mickey,.detail-night,.detail-peterpan{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1000')}.detail-startours,.detail-buzz{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036714_2022sep28_world_discoveryland-master-visual_5-2_tcm808-233836.jpg?f=webp&w=1000')}.detail-lion{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036879_2022sep28_frontierland-master-visual_5-2_tcm808-234128.jpg?f=webp&w=1000')}.detail-plaza{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1000')}

@keyframes heroZoom{to{transform:scale(1.09)}}@keyframes float{50%{transform:translateY(-10px)}}@keyframes drift{to{background-position:79px 83px}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes pulse{50%{opacity:.3;transform:scale(.7)}}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(max-width:900px){.desktop-nav,.button-small{display:none}.menu-toggle{display:block;width:38px;height:38px}.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:7px}.site-header.menu-open{height:auto;padding-bottom:30px;background:#17162f;flex-wrap:wrap}.site-header.menu-open .desktop-nav{display:flex;order:4;width:100%;flex-direction:column;padding-top:28px}.hero{align-items:flex-start;padding-top:155px;min-height:900px}.hero-copy{width:100%}.hero h1{font-size:clamp(54px,14vw,88px)}.castle-wrap{width:86vw;height:52%;right:-13%;opacity:.72}.moon{width:105px;height:105px}.experience-grid{grid-template-columns:1fr 1fr}.card-large{grid-column:1/-1}.section-heading{display:block}.section-heading>p{margin-top:30px}.magic-night,.stay-card,.booking{grid-template-columns:1fr}.night-visual{height:430px}.stay-art{min-height:450px}.booking{align-items:start}.booking-form{max-width:600px}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-self:center}footer>div{justify-content:center}}
@media(max-width:560px){.cursor-glow{display:none}.site-header{height:74px;padding:0 20px}.hero{padding-left:20px;padding-right:20px;min-height:820px}.hero-intro{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.castle-wrap{height:43%;width:100vw;right:-20%;bottom:-1%}.scroll-cue{display:none}.section{padding:78px 20px}.experience-grid{grid-template-columns:1fr}.card-large{grid-column:auto}.experience-card{height:440px}.section-heading{margin-bottom:45px}.section-heading h2,.stay h2,.night-copy h2{font-size:47px}.magic-night{gap:50px}.night-visual{height:360px}.mini-castle{font-size:220px}.stay-copy{padding:48px 25px}.perks{gap:12px}.booking-form{grid-template-columns:1fr}.booking-form label{border-right:0;border-bottom:1px solid #eee}.button-gold{grid-column:auto}footer{padding:45px 20px}.toast{left:15px;right:15px;bottom:15px}}
@media(max-width:1000px){.map-layout{grid-template-columns:1fr}.map-canvas{min-height:0}.map-detail{display:grid;grid-template-columns:1fr 1fr}.detail-photo{height:auto;min-height:330px}.map-heading{display:block}.map-filters{width:max-content;margin-top:30px}}
@media(max-width:620px){.hero:before{background-position:62% center}.hero-copy{width:100%}.map-canvas{min-height:0;height:430px}.real-map-stage{width:155%;margin-left:-27.5%;height:auto}.map-detail{display:block}.detail-photo{height:250px;min-height:0}.land span{font-size:8px}.map-heading h2{font-size:47px}.map-filters{width:100%;justify-content:flex-start;overflow-x:auto;padding:5px}.map-filter{padding:11px 12px;white-space:nowrap}.map-poi span{display:none}.real-map-stage .map-poi i{width:27px;height:27px}.map-castle{font-size:48px}.map-toolbar{top:10px;left:10px}.map-toolbar button{width:34px;height:34px}.map-drag-hint{bottom:10px}}
.map-heading{align-items:flex-start}.map-layers{min-width:430px;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:14px;background:#fff;border:1px solid rgba(47,40,69,.08);border-radius:16px;box-shadow:0 14px 40px rgba(41,32,64,.1)}.map-layers>p{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin:0 0 4px;padding:0 3px 10px;border-bottom:1px solid #eee7df;font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#736d79}.map-layers>p span{font-size:15px;color:var(--purple)}.map-layers label{display:grid;grid-template-columns:19px 27px 1fr auto;align-items:center;gap:8px;padding:9px;border-radius:10px;background:#f7f3ed;cursor:pointer;transition:.2s}.map-layers label:hover{background:#eee8df}.map-layers label:has(input:not(:checked)){opacity:.48}.map-layers input{width:16px;height:16px;margin:0;accent-color:var(--purple);cursor:pointer}.map-layers label>i{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-style:normal;font-size:10px;background:#6d55bd;color:#fff}.map-layers .layer-show>i{background:#8066ca}.map-layers .layer-food>i{background:#d36e32}.map-layers .layer-wc>i{background:#2689a1;font-size:7px}.map-layers label>span{font-size:10px;font-weight:700}.map-layers label>b{font-size:9px;color:#958e98}.real-map-stage .map-poi-wc i{border-color:#2689a1;color:#19788e;font-size:7px}.real-map-stage .map-poi-food i{font-size:9px}.detail-hyperspace,.detail-autopia,.detail-orbitron{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036714_2022sep28_world_discoveryland-master-visual_5-2_tcm808-233836.jpg?f=webp&w=1000')}.detail-smallworld,.detail-alice,.detail-dumbo,.detail-carrousel,.detail-pinocchio,.detail-auberge,.detail-toadhall{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1000')}.detail-indiana,.detail-riverboat,.detail-cowboy{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036879_2022sep28_frontierland-master-visual_5-2_tcm808-234128.jpg?f=webp&w=1000')}.detail-railroad,.detail-caseys{background-image:linear-gradient(0deg,rgba(15,12,34,.38),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1000')}.detail-hyperion{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036714_2022sep28_world_discoveryland-master-visual_5-2_tcm808-233836.jpg?f=webp&w=1000')}.detail-photo[class*="detail-wc-"]{background-image:linear-gradient(135deg,rgba(27,129,151,.94),rgba(66,59,139,.88)),url('assets/plan-disneyland-2026-clean.png');background-position:center;background-size:cover}.real-map-stage{aspect-ratio:1098/941}
.detail-snowwhite,.detail-caseyjr,.detail-storybook{background-image:linear-gradient(0deg,rgba(15,12,34,.35),transparent),url('https://media.disneylandparis.com/d4th/fr-fr/images/N036715_2022jun10_fantasyland-master-visual_5-2_tcm808-233838.jpg?f=webp&w=1000')}
.map-filters{scrollbar-width:none}.map-filters::-webkit-scrollbar{display:none}
.park-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.park-switcher a{padding:10px 15px;border:1px solid rgba(35,30,55,.14);border-radius:999px;color:var(--ink);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:.25s}.park-switcher a:hover,.park-switcher a.active{background:var(--ink);border-color:var(--ink);color:#fff}.adventure-world-map{background:#e8edf5;border-top:1px solid rgba(35,30,55,.08)}.adventure-world-map .real-map-stage{aspect-ratio:1/1;background:#12276b}.adventure-world-map .real-map-stage>img{height:100%;object-fit:cover}.adventure-world-map .map-canvas{background:#12276b}.adventure-world-map .map-layout{box-shadow:0 30px 75px rgba(20,38,92,.2)}
.adventure-world-map .detail-photo{height:auto;min-height:0;aspect-ratio:16/9}.adventure-world-map .detail-daw-spider,.adventure-world-map .detail-daw-flight{background-color:#9f000b;background-size:cover,contain;background-position:center,center;background-repeat:no-repeat,no-repeat}
.detail-photo[class*="detail-wc-"]{--wc-start:#16849b;--wc-end:#423b8b;overflow:hidden;background-image:radial-gradient(circle at 18% 18%,rgba(255,255,255,.22),transparent 27%),radial-gradient(circle at 82% 75%,rgba(255,255,255,.12),transparent 25%),linear-gradient(135deg,var(--wc-start),var(--wc-end));background-position:center;background-size:cover}
.detail-wc-main{--wc-start:#c56d43;--wc-end:#7a3e65}.detail-wc-discovery{--wc-start:#16849b;--wc-end:#3f4b9c}.detail-wc-fantasy{--wc-start:#c54e91;--wc-end:#6747a8}.detail-wc-adventure{--wc-start:#2f946c;--wc-end:#315f75}.detail-wc-frontier{--wc-start:#b66a35;--wc-end:#70443f}.detail-wc-central{--wc-start:#7957b7;--wc-end:#bb477f}
.detail-photo[class*="detail-wc-"]::before{content:"WC";position:absolute;z-index:1;left:50%;top:49%;display:grid;place-items:center;width:116px;height:116px;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.84);border-radius:50%;background:rgba(255,255,255,.12);box-shadow:0 18px 45px rgba(20,23,55,.2);color:#fff;font:700 39px/1 var(--sans);letter-spacing:.08em;backdrop-filter:blur(4px)}
.detail-photo[class*="detail-wc-"]::after{content:"TOILETTES · ACCESSIBLE";position:absolute;z-index:1;left:50%;bottom:24px;transform:translateX(-50%);width:max-content;color:rgba(255,255,255,.9);font:700 8px/1 var(--sans);letter-spacing:.18em}.detail-photo[class*="detail-wc-"] .detail-index,.detail-photo[class*="detail-wc-"] .detail-badge{z-index:2}
@media(max-width:1000px){.map-layers{width:100%;min-width:0;margin-top:28px}}
@media(max-width:620px){.map-layers{grid-template-columns:1fr 1fr;padding:9px;gap:5px}.map-layers label{grid-template-columns:16px 23px 1fr;padding:7px 6px;gap:5px}.map-layers label>i{width:23px;height:23px}.map-layers label>b{display:none}.map-layers label>span{font-size:9px}.map-layers>p{padding-bottom:8px}.real-map-stage .map-poi i{width:24px;height:24px;font-size:9px}.real-map-stage .map-poi-wc i{font-size:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Professional UI refinement */
:root{--surface:#fbf9f6;--line:rgba(32,28,49,.1);--shadow-soft:0 22px 60px rgba(28,23,46,.1);--shadow-hover:0 28px 70px rgba(28,23,46,.16)}
body{background:var(--surface);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body::selection{background:var(--gold);color:var(--ink)}
.site-header{gap:28px}.site-header.scrolled{background:rgba(17,15,38,.9);box-shadow:0 12px 45px rgba(8,7,22,.22)}.brand{flex:0 0 auto}.desktop-nav{padding:10px 18px;border:1px solid transparent;border-radius:999px;transition:.35s}.scrolled .desktop-nav{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08)}.desktop-nav a{font-size:11px;font-weight:600;letter-spacing:.035em;opacity:.68}.desktop-nav a:hover,.desktop-nav a.active{opacity:1}.desktop-nav a.active::after{width:100%}
.button{border-radius:3px;box-shadow:0 8px 24px rgba(13,11,32,.09)}.button:focus-visible,.text-button:focus-visible,.menu-toggle:focus-visible,.map-toolbar button:focus-visible,.map-poi:focus-visible i,.park-switcher a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.button-small{border-radius:999px;box-shadow:none}
.hero-copy{max-width:680px}.hero h1{max-width:720px}.hero-intro{font-size:16px;line-height:1.75}.hero-facts{display:flex;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);width:min(570px,100%)}.hero-facts span{min-width:130px;padding-right:30px;margin-right:30px;border-right:1px solid rgba(255,255,255,.14)}.hero-facts span:last-child{border-right:0;margin-right:0;padding-right:0}.hero-facts strong,.hero-facts small{display:block}.hero-facts strong{font:600 24px/1 var(--serif);color:var(--gold)}.hero-facts small{margin-top:7px;color:rgba(255,255,255,.58);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.ticker{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(54,42,23,.12)}
.section-heading{padding-bottom:32px;border-bottom:1px solid var(--line)}.experience-grid{gap:22px}.experience-card{border-radius:4px;box-shadow:var(--shadow-soft);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.experience-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-hover)}.card-content{inset:30px}.card-number{font-weight:700;letter-spacing:.12em}
.park-map{position:relative}.park-map::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.map-heading{gap:50px}.map-heading>div:first-child{max-width:700px}.map-intro{max-width:560px;margin:24px 0 0;color:#6d6876;font-size:13px;line-height:1.7}.park-switcher{display:inline-flex;padding:5px;background:rgba(29,25,47,.06);border:1px solid var(--line);border-radius:999px}.park-switcher a{border:0;padding:11px 17px}.map-layers{border-color:var(--line);box-shadow:0 18px 50px rgba(35,29,55,.08)}.map-layers label{border:1px solid transparent}.map-layers label:has(input:checked){background:#fff;border-color:rgba(115,88,206,.18);box-shadow:0 5px 16px rgba(38,30,61,.06)}
.map-layout{border:1px solid rgba(35,29,55,.09);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-soft)}.map-toolbar{border:1px solid rgba(35,29,55,.08)}.map-toolbar button{font-weight:600}.map-detail{border-left:1px solid var(--line)}.detail-body{padding:36px}.detail-body h3{font-size:34px;line-height:1.03}.detail-badge{border:1px solid rgba(255,255,255,.22);border-radius:999px}.detail-photo::after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(14,12,31,.25));pointer-events:none}.detail-photo[class*="detail-wc-"]::after{content:"TOILETTES · ACCESSIBLE";inset:auto auto 24px 50%;height:auto}.map-note{padding-top:14px;border-top:1px solid #eee8e1;line-height:1.6!important}
.magic-night{position:relative}.magic-night::before{content:"PROGRAMME DU SOIR";position:absolute;top:34px;right:clamp(24px,7vw,105px);color:rgba(255,255,255,.35);font-size:8px;font-weight:700;letter-spacing:.22em}.night-visual,.stay-card{border-radius:5px;box-shadow:var(--shadow-soft)}.stay-card{overflow:hidden}.booking-form{border-radius:5px;box-shadow:0 28px 70px rgba(16,12,44,.22)}footer{border-top:1px solid rgba(255,255,255,.08)}footer a{opacity:.66;transition:.2s}footer a:hover{opacity:1;color:var(--gold)}.toast{border-radius:4px}
@media(max-width:1000px){.map-detail{border-left:0;border-top:1px solid var(--line)}.hero-facts{margin-top:36px}}
@media(max-width:900px){.site-header{gap:12px}.site-header.menu-open .desktop-nav{border:0;border-radius:0;background:transparent}.desktop-nav a{font-size:13px;padding:8px 0}.hero-facts{width:100%}}
@media(max-width:620px){.hero{padding-top:125px}.hero-intro{font-size:14px}.hero-facts{margin-top:32px;padding-top:20px}.hero-facts span{min-width:0;flex:1;margin-right:14px;padding-right:14px}.hero-facts strong{font-size:20px}.hero-facts small{font-size:7px;line-height:1.4}.map-heading{gap:26px}.map-intro{margin-top:18px}.park-switcher{display:flex;border-radius:14px}.park-switcher a{flex:1;text-align:center;line-height:1.35}.map-layout{border-radius:3px}.detail-body{padding:28px 24px}.detail-body h3{font-size:30px}.magic-night::before{display:none}}

/* Search, planner and visitor tools */
.site-loader{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#121128;color:#fff;transition:opacity .6s,visibility .6s}.site-loader.finished{opacity:0;visibility:hidden}.site-loader strong{margin-top:20px;font:600 28px var(--serif)}.site-loader small{margin-top:8px;color:rgba(255,255,255,.55);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.loader-star{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:var(--gold);font-size:25px;animation:loaderPulse 1.2s ease-in-out infinite}@keyframes loaderPulse{50%{transform:scale(1.12) rotate(45deg);box-shadow:0 0 45px rgba(244,207,123,.25)}}
.header-tools{display:flex;align-items:center;gap:9px}.header-icon{width:42px;height:42px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.planner-open{height:42px;display:flex;align-items:center;gap:9px;padding:0 15px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:10px;font-weight:700;cursor:pointer}.planner-open b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:9px}
.explorer{background:#f8f4ee;padding-top:clamp(80px,8vw,120px);padding-bottom:clamp(70px,8vw,110px)}.explorer-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:46px}.explorer-heading h2{font-size:clamp(48px,5.5vw,82px)}.explorer-heading h2 em{color:var(--purple)}.explorer-heading>p{max-width:410px;color:#6c6673;font-size:14px;line-height:1.75}.explorer-tools{display:grid;grid-template-columns:minmax(280px,1.6fr) 1fr 1fr auto;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:var(--shadow-soft);overflow:hidden}.explorer-tools label{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:82px;padding:16px 21px;border-right:1px solid var(--line)}.explorer-tools label>span{margin-bottom:8px;color:#8b8591;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.explorer-tools input,.explorer-tools select{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px;font-weight:600}.search-field i{position:absolute;right:19px;bottom:24px;font-size:20px;font-style:normal;color:var(--purple)}.search-field input{padding-right:32px}.filter-reset{border:0;background:var(--ink);color:#fff;padding:0 22px;font-size:10px;font-weight:700;cursor:pointer}.search-results>p{margin:22px 0 0;color:#8a8490;font-size:11px}.result-summary{margin:24px 0 12px;color:#77717d;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.result-summary strong{color:var(--purple)}.result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-list button{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:15px;min-width:0;padding:8px;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;transition:.25s}.result-list button:hover{border-color:rgba(115,88,206,.45);transform:translateY(-2px);box-shadow:0 10px 30px rgba(28,23,46,.08)}.result-list button>span{height:58px;background-size:cover;background-position:center}.result-list i{min-width:0;font-style:normal}.result-list i strong,.result-list i small{display:block}.result-list i strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 15px var(--serif)}.result-list i small{margin-top:5px;color:#827c88;font-size:8px}.result-list button>b{padding-right:10px;color:var(--purple);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.map-poi.planner-hidden{opacity:0!important;pointer-events:none!important;transform:translate(-50%,-50%) scale(.4)!important}.real-map-stage .map-poi.planned i::after{content:attr(data-order);position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:17px;height:17px;border:2px solid #fff;border-radius:50%;background:var(--gold);color:var(--ink);font:700 8px var(--sans)}.real-map-stage .map-poi.favorite i{box-shadow:0 0 0 3px rgba(244,207,123,.75),0 5px 16px rgba(32,24,51,.28)}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:22px}.detail-actions button{min-height:40px;border:1px solid #ded7cf;background:#fff;color:var(--ink);font-size:9px;font-weight:700;cursor:pointer}.detail-actions button.selected{background:#f6e8bd;border-color:#e4c670}.detail-actions .primary{grid-column:1/-1;background:var(--ink);border-color:var(--ink);color:#fff}
.day-planner{position:fixed;z-index:61;top:0;right:0;width:min(440px,100%);height:100dvh;display:flex;flex-direction:column;padding:32px;background:#fbf9f6;color:var(--ink);box-shadow:-30px 0 80px rgba(12,10,29,.24);transform:translateX(105%);transition:transform .4s cubic-bezier(.2,.75,.2,1)}.day-planner.open{transform:none}.planner-backdrop{position:fixed;inset:0;z-index:60;background:rgba(10,8,25,.56);opacity:0;transition:.3s}.planner-backdrop.show{opacity:1}.planner-head{display:flex;align-items:center;justify-content:space-between}.planner-head small{color:var(--purple);font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.planner-head h2{margin:6px 0 0;font:600 38px/1 var(--serif)}.planner-head button,.modal-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:23px;cursor:pointer}.planner-tabs{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 18px;border-bottom:1px solid var(--line)}.planner-tabs button{padding:13px;border:0;border-bottom:2px solid transparent;background:transparent;color:#8a8491;font-size:10px;font-weight:700;cursor:pointer}.planner-tabs button.active{border-color:var(--purple);color:var(--ink)}.planner-tabs b{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;border-radius:50%;background:#ebe5dd;font-size:8px}.planner-content{flex:1;overflow-y:auto}.planner-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.planner-empty>span{color:var(--gold);font-size:32px}.planner-empty h3{font:600 23px var(--serif);margin:16px 0 8px}.planner-empty p{max-width:230px;color:#827c88;font-size:11px;line-height:1.6}.planner-list{margin:0;padding:0;list-style:none}.planner-list li{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--line)}.planner-list li>button:first-child{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;padding:15px 6px;border:0;background:transparent;text-align:left;cursor:pointer}.planner-list li>button:first-child>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px}.planner-list i{font-style:normal}.planner-list strong,.planner-list small{display:block}.planner-list strong{font:600 14px var(--serif)}.planner-list small{margin-top:4px;color:#8a8490;font-size:8px}.planner-list li>button:last-child{border:0;background:transparent;color:#aaa;font-size:20px;cursor:pointer}.planner-clear{margin-top:18px;padding:14px;border:1px solid var(--line);background:transparent;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.experience-modal{width:min(980px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 40px 100px rgba(10,8,26,.45);overflow:hidden}.experience-modal::backdrop{background:rgba(10,8,25,.72);backdrop-filter:blur(6px)}.modal-close{position:absolute;z-index:2;top:18px;right:18px;background:rgba(18,16,38,.75);border-color:rgba(255,255,255,.2);color:#fff}.experience-modal[open]{display:grid;grid-template-columns:1.1fr .9fr}.modal-gallery{min-height:590px;display:grid;grid-template-rows:1fr 120px;gap:4px;background:#171528}.modal-gallery>img{width:100%;height:100%;min-height:0;object-fit:cover}.modal-gallery>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.modal-thumb{display:block;background-size:cover;background-position:30% center}.modal-thumb.alt{background-position:75% center}.modal-copy{display:flex;flex-direction:column;justify-content:center;padding:55px}.modal-copy>p:first-child{margin:0 0 14px;color:var(--purple);font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.modal-copy h2{margin:0;font:600 clamp(36px,4vw,56px)/.95 var(--serif)}.modal-copy>p:nth-of-type(2){margin:25px 0;color:#716b77;font-size:13px;line-height:1.8}.modal-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.modal-meta span{padding:18px 0}.modal-meta span+span{padding-left:20px;border-left:1px solid var(--line)}.modal-meta small,.modal-meta strong{display:block}.modal-meta small{margin-bottom:7px;color:#918b95;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.modal-meta strong{font-size:11px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.modal-actions button{min-height:47px;border:1px solid var(--ink);background:#fff;color:var(--ink);font-size:9px;font-weight:700;cursor:pointer}.modal-actions button:last-child{background:var(--ink);color:#fff}
.practical{background:#eee8df}.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.practical-card{position:relative;min-height:330px;padding:28px;background:#f9f6f1;border:1px solid rgba(33,28,50,.08);transition:.35s}.practical-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}.practical-card>span{position:absolute;top:22px;right:22px;color:#aaa3ac;font-size:9px}.practical-card>i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:50px;border-radius:50%;background:var(--ink);color:var(--gold);font-style:normal}.practical-card h3{font:600 24px var(--serif);margin:0 0 14px}.practical-card p{color:#77717e;font-size:11px;line-height:1.7}.practical-card a{position:absolute;left:28px;bottom:28px;color:var(--purple);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.official-note{margin:25px 0 0;padding-top:20px;border-top:1px solid rgba(33,28,50,.1);color:#827c88;font-size:9px;line-height:1.7}
.theme-dark body{background:#151426;color:#f6f2ea}.theme-dark .experiences,.theme-dark .explorer,.theme-dark .park-map,.theme-dark .stay,.theme-dark .practical{background:#19182b;color:#f6f2ea}.theme-dark .adventure-world-map{background:#1c2033}.theme-dark .explorer-heading>p,.theme-dark .section-heading>p,.theme-dark .map-intro,.theme-dark .stay-copy>p,.theme-dark .practical-card p{color:#aaa5b1}.theme-dark .eyebrow.dark{color:#b8b2c0}.theme-dark .explorer-tools,.theme-dark .result-list button,.theme-dark .map-layers,.theme-dark .map-detail,.theme-dark .detail-actions button,.theme-dark .stay-card,.theme-dark .booking-form,.theme-dark .practical-card{background:#242238;color:#f7f3eb;border-color:rgba(255,255,255,.1)}.theme-dark .explorer-tools input,.theme-dark .explorer-tools select{color:#f7f3eb}.theme-dark .map-layers label{background:#2d2a43}.theme-dark .map-layers label:has(input:checked){background:#37334f}.theme-dark .detail-meta,.theme-dark .map-note{border-color:rgba(255,255,255,.1)}.theme-dark .detail-actions .primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}.theme-dark .day-planner{background:#1b192d;color:#f7f3eb}.theme-dark .experience-modal{background:#211f34;color:#f7f3eb}.theme-dark .modal-copy>p:nth-of-type(2){color:#aaa5b1}.theme-dark .modal-actions button{background:#211f34;color:#fff;border-color:rgba(255,255,255,.2)}.theme-dark .modal-actions button:last-child{background:var(--gold);color:var(--ink)}
@media(max-width:1100px){.header-tools .button-small{display:none}.explorer-tools{grid-template-columns:1.4fr 1fr 1fr}.filter-reset{grid-column:1/-1;min-height:46px}.practical-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.header-tools{margin-left:auto}.header-tools .planner-open span{display:none}.planner-open{padding:0 10px}.explorer-heading{display:block}.explorer-heading>p{margin-top:25px}.explorer-tools{grid-template-columns:1fr 1fr}.explorer-tools .search-field{grid-column:1/-1}.result-list{grid-template-columns:1fr}.experience-modal[open]{grid-template-columns:1fr;overflow-y:auto}.modal-gallery{min-height:420px;grid-template-rows:320px 95px}.modal-copy{padding:38px}}
@media(max-width:620px){.header-icon{width:37px;height:37px}.planner-open{height:37px}.explorer-tools{grid-template-columns:1fr}.explorer-tools .search-field{grid-column:auto}.explorer-tools label{min-height:72px;border-right:0;border-bottom:1px solid var(--line)}.result-list button{grid-template-columns:58px 1fr}.result-list button>span{height:52px}.result-list button>b{display:none}.practical-grid{grid-template-columns:1fr}.practical-card{min-height:280px}.day-planner{padding:24px}.experience-modal{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.modal-gallery{min-height:300px;grid-template-rows:230px 70px}.modal-copy{padding:30px 23px}.modal-actions{grid-template-columns:1fr}.explorer-heading h2{font-size:47px}}

/* Functional booking flow */
section[id]{scroll-margin-top:76px}
.booking{align-items:center}.booking-form{grid-template-columns:repeat(3,1fr);transition:opacity .3s,transform .3s}.booking-form label:nth-child(3){border-right:0}.booking-form.booking-complete{opacity:.5;transform:scale(.985)}.booking-result{grid-column:1/-1;margin-top:34px;padding:32px;background:#fff;color:var(--ink);border-radius:5px;box-shadow:0 28px 70px rgba(16,12,44,.22);opacity:0;transform:translateY(18px);transition:.35s}.booking-result.show{opacity:1;transform:none}.booking-result-head{display:flex;align-items:center;justify-content:space-between}.booking-result-head>span{display:flex;align-items:center;gap:9px;color:#5b4aa3;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.booking-result-head>span::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8e2ff}.booking-result-head button{width:34px;height:34px;border:1px solid #e5dfd8;border-radius:50%;background:transparent;font-size:19px;cursor:pointer}.booking-result h3{margin:22px 0 25px;font:600 clamp(30px,3.2vw,46px)/1 var(--serif)}.booking-summary{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;border-top:1px solid #e8e2db;border-bottom:1px solid #e8e2db}.booking-summary>span{padding:18px 16px 18px 0}.booking-summary>span+span{padding-left:18px;border-left:1px solid #e8e2db}.booking-summary small,.booking-summary strong{display:block}.booking-summary small{margin-bottom:7px;color:#918a94;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.booking-summary strong{font-size:11px;text-transform:capitalize}.booking-result>p{margin:18px 0;color:#77717e;font-size:10px;line-height:1.65}.booking-result-actions{display:grid;grid-template-columns:auto 1fr;gap:8px}.booking-result-actions button,.booking-result-actions a{min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);padding:0 19px;font-size:10px;font-weight:700;cursor:pointer}.booking-result-actions button{background:#fff;color:var(--ink)}.booking-result-actions a{justify-content:space-between;gap:30px;background:var(--ink);color:#fff}.theme-dark .booking-result{background:#242238;color:#f7f3eb}.theme-dark .booking-result>p{color:#aaa5b1}.theme-dark .booking-summary,.theme-dark .booking-summary>span+span{border-color:rgba(255,255,255,.12)}.theme-dark .booking-result-actions button{background:#242238;color:#fff;border-color:rgba(255,255,255,.25)}.theme-dark .booking-result-actions a{background:var(--gold);color:var(--ink);border-color:var(--gold)}
@media(max-width:1050px){.booking-form{grid-template-columns:1fr 1fr}.booking-form label:nth-child(3){grid-column:1/-1;border-top:1px solid #eee}.booking-form .button-gold{grid-column:1/-1}}
@media(max-width:560px){.booking-form{grid-template-columns:1fr}.booking-form label:nth-child(3){grid-column:auto}.booking-result{padding:24px 20px}.booking-summary{grid-template-columns:1fr}.booking-summary>span{padding:14px 0}.booking-summary>span+span{padding-left:0;border-left:0;border-top:1px solid #e8e2db}.booking-result-actions{grid-template-columns:1fr}.booking-result-actions a{gap:15px}}

/* Live visitor services, languages and fullscreen maps */
.language-select{width:44px;height:42px;padding:0 7px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:9px;font-weight:700;cursor:pointer}.language-select option{color:var(--ink)}.restaurant-filter-field{display:none!important}.restaurant-filter-field.visible{display:flex!important}
body.map-open{overflow:hidden}.park-map.map-fullscreen{position:fixed;inset:0;z-index:80;display:block;padding:12px;background:#ebe6de;overflow:hidden}.park-map.map-fullscreen .map-heading{display:none}.park-map.map-fullscreen .map-layout{height:calc(100dvh - 24px);min-height:0;grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.park-map.map-fullscreen .map-canvas{height:100%;align-self:stretch}.park-map.map-fullscreen .real-map-stage{height:100%;width:auto;min-width:100%;margin:0 auto}.park-map.map-fullscreen .real-map-stage>img{height:100%;width:100%;object-fit:contain}.park-map.map-fullscreen .map-toolbar{top:20px;left:20px}.park-map.map-fullscreen [data-map-action="fullscreen"]{background:var(--ink);color:#fff}.theme-dark .park-map.map-fullscreen{background:#121122}
.visitor-tools{display:grid;grid-template-columns:1.45fr .8fr .8fr;gap:12px;margin-top:32px}.weather-widget,.utility-card{position:relative;min-height:260px;padding:28px;background:#f9f6f1;border:1px solid rgba(33,28,50,.08)}.weather-widget>div:first-child{display:flex;align-items:center;gap:20px}.weather-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--ink);color:var(--gold);font-size:29px}.weather-widget p{margin:0}.weather-widget p small,.weather-widget p strong,.weather-widget p em{display:block}.weather-widget p small,.utility-card>span{color:var(--purple);font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.weather-widget p strong{margin-top:5px;font:600 32px var(--serif)}.weather-widget p em{margin-top:5px;color:#77717e;font-size:10px;font-style:normal}.weather-days{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:26px}.weather-days span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:10px;background:#eee8df}.weather-days small{text-transform:capitalize;color:#77717e;font-size:8px}.weather-days b{font-size:18px}.weather-days strong{font-size:11px}.weather-days em{grid-column:1/-1;color:#4d7a9b;font-size:8px;font-style:normal}.weather-widget>button{position:absolute;right:20px;top:20px;border:0;background:transparent;color:var(--purple);font-size:8px;font-weight:700;text-transform:uppercase;cursor:pointer}.weather-credit{position:absolute;left:28px;bottom:16px;color:#aaa3ac;font-size:7px}.utility-card{display:flex;flex-direction:column}.utility-card h3{margin:16px 0 12px;font:600 25px/1.05 var(--serif)}.utility-card p{margin:0;color:#77717e;font-size:10px;line-height:1.65}.utility-card button{margin-top:auto;min-height:43px;border:0;background:var(--ink);color:#fff;font-size:9px;font-weight:700;cursor:pointer}.utility-card>small{margin-top:10px;color:#8b8590;font-size:8px;line-height:1.5}.install-card button{background:var(--purple)}
.install-modal{width:min(520px,calc(100% - 30px));padding:44px;border:0;border-radius:7px;background:#fff;color:var(--ink);box-shadow:0 40px 100px rgba(10,8,26,.5)}.install-modal::backdrop{background:rgba(10,8,25,.74);backdrop-filter:blur(7px)}.install-modal .modal-close{top:16px;right:16px}.install-star{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--ink);color:var(--gold);font-size:24px}.install-modal>p:not(.install-note){margin:22px 0 8px;color:var(--purple);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.install-modal h2{margin:0 0 28px;font:600 38px/1 var(--serif)}.install-modal ol{margin:0;padding:0;list-style:none}.install-modal li{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--line);font-size:11px}.install-modal li>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eee8ff;color:var(--purple);font-size:9px}.install-note{margin:22px 0 0;padding-top:17px;border-top:1px solid var(--line);color:#7d7783;font-size:9px;line-height:1.6}.theme-dark .weather-widget,.theme-dark .utility-card,.theme-dark .install-modal{background:#242238;color:#f7f3eb;border-color:rgba(255,255,255,.1)}.theme-dark .weather-days span{background:#302d47}.theme-dark .weather-widget p em,.theme-dark .utility-card p,.theme-dark .install-note{color:#aaa5b1}
@media(max-width:1100px){.visitor-tools{grid-template-columns:1fr 1fr}.weather-widget{grid-column:1/-1}.park-map.map-fullscreen .map-layout{grid-template-columns:1fr 330px}}
@media(max-width:760px){.visitor-tools{grid-template-columns:1fr}.weather-widget{grid-column:auto}.park-map.map-fullscreen{padding:0}.park-map.map-fullscreen .map-layout{height:100dvh;grid-template-columns:1fr;border:0}.park-map.map-fullscreen .map-detail{display:none}.park-map.map-fullscreen .map-canvas{height:100dvh;display:flex;align-items:center}.park-map.map-fullscreen .real-map-stage{width:170%;height:auto;min-width:0;margin-left:-35%}.weather-days{gap:4px}.weather-widget,.utility-card{min-height:245px}}
@media(max-width:560px){.language-select{width:38px;height:37px}.weather-widget{padding:22px}.weather-credit{left:22px}.install-modal{padding:34px 24px}.install-modal h2{font-size:33px}}

/* Mobile map controls: keep page scrolling natural until the visitor zooms in. */
.map-canvas{touch-action:pan-y}
.map-canvas.is-zoomed,.park-map.map-fullscreen .map-canvas{touch-action:none}
@media(max-width:620px){.real-map-stage .map-poi{display:grid;place-items:center;min-width:44px;min-height:44px}.real-map-stage .map-poi i{width:28px;height:28px}}

/* Fit the complete park plan inside the phone screen at the initial 100% view. */
@media(max-width:620px){.map-canvas{height:auto;min-height:0}.map-canvas>.real-map-stage{width:100%;height:auto;margin-left:0}.map-drag-hint{bottom:7px;padding:7px 10px;font-size:7px}.park-map.map-fullscreen .map-canvas>.real-map-stage{width:170%;margin-left:-35%}}
