
:root{--paper:#f3ede4;--cream:#fffaf1;--navy:#0b3763;--orange:#e25309;--burnt:#a83708;--wine:#8b0d14;--teal:#1d8d9b;--gold:#d9a443;--ink:#233644;--muted:#5c6670;--line:#d8cdbd;--serif:'Fraunces',Georgia,serif;--sans:'Source Sans 3',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--sans)}body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:10}a{color:var(--navy);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;color:var(--navy);margin:0 0 18px}h1{font-size:clamp(36px,4.8vw,66px);letter-spacing:-1.6px}h2{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.8px}h3{font-size:25px}p{margin:0 0 20px}a,button,input,select,summary,textarea{outline-offset:5px}:focus-visible{outline:3px solid var(--wine)}.wrap{max-width:1240px;margin:auto;padding:0 32px}.section{padding:78px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.1px;text-transform:uppercase;color:var(--wine);margin-bottom:18px}.small{font-size:14px}.muted{color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--navy);color:white;padding:10px}.skip:focus{top:8px}.masthead{position:relative;z-index:30;border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;width:220px;flex-shrink:0}.brand img{width:58px;height:58px;object-fit:contain}.brand span{font:600 17px/1.16 var(--serif);color:var(--navy);letter-spacing:-.2px}.brand small{font:600 11px/1.5 var(--sans);letter-spacing:1px;text-transform:uppercase;display:block}.menu-toggle{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--navy);font-size:12px;letter-spacing:1.4px;font-weight:700;padding:8px 0;min-height:44px}.menu-toggle img{width:40px;height:40px;object-fit:contain;mix-blend-mode:multiply}.header-actions{display:flex;align-items:center;gap:22px}.langs{display:flex;align-items:center;font-size:14px;gap:9px}.langs a{padding:9px 2px;text-decoration:none}.langs .current{border-bottom:2px solid var(--orange);font-weight:700}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;background:var(--orange);color:#141414;text-decoration:none;border:1px solid var(--orange);font-weight:700;border-radius:4px;gap:10px;transition:background .18s,transform .18s}.btn:hover{background:#ef6b25;transform:translateY(-1px)}.btn.secondary{background:transparent;border-color:var(--navy);color:var(--navy)}.textlink{font-weight:600;display:inline-flex;gap:10px;min-height:44px;align-items:center}.nav-panel{position:absolute;left:32px;top:94px;width:340px;max-width:calc(100vw - 40px);background:var(--cream);border:1px solid var(--line);box-shadow:0 12px 40px #0b376326;padding:20px;z-index:40;border-radius:5px}.nav-panel[hidden]{display:none}.nav-panel a{display:flex;justify-content:space-between;padding:10px 6px;text-decoration:none;border-bottom:1px solid #e9dfd2;font-size:16px}.nav-panel a:last-child{border:0}.section-intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:32px}.section-intro>div{max-width:710px}.section-intro p:last-child{margin-bottom:0}.section-intro .textlink{flex-shrink:0}.hero{padding:52px 0 28px;position:relative}.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:56px;align-items:start}.hero-copy>p{max-width:620px}.hero-copy h1 em{font-weight:500;color:var(--wine);font-style:italic}.hero-art{margin:24px -12px 0}.hero-art img{width:100%;aspect-ratio:3/2;object-fit:cover;mix-blend-mode:multiply;border-radius:55% 40% 5% 5% / 6% 5% 6% 5%}.hero-art figcaption{font-size:11px;color:var(--muted);text-align:right;margin-top:4px}.booking-card{background:var(--cream);padding:25px 24px 18px;border:1px solid var(--line);box-shadow:8px 8px 0 #d9a44322;border-radius:6px}.booking-card h2{font-size:29px;margin:0 0 10px}.booking-card .eyebrow{margin-bottom:10px}.booking-card iframe{width:100%;min-height:555px;border:0;background:transparent;display:block;margin:15px 0 4px}.booking-note{border-top:1px solid var(--line);padding-top:15px;font-size:14px}.independent{font-size:13px;color:var(--muted);margin:18px 0 0;max-width:720px}.trust-line{display:flex;justify-content:center;gap:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:38px;font-size:14px;color:var(--navy)}.trust-line span::before{content:'✦';color:var(--orange);margin-right:12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border-top:1px solid var(--line);padding-top:19px;min-width:0}.card-art{aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:21px;border-radius:3px;mix-blend-mode:multiply}.card h3{font-size:25px}.card p{font-size:16px}.card .tag{display:block;font-size:11px;letter-spacing:1.3px;font-weight:700;text-transform:uppercase;color:var(--wine);margin:0 0 10px}.card .textlink{font-size:15px}.card .icon{width:65px;height:65px;object-fit:contain;mix-blend-mode:multiply;margin:0 0 15px}.art-note{font-size:12px;color:var(--muted);margin:18px 0 0}.steps{background:var(--navy);color:#f3ede4}.steps h2,.steps h3{color:#fffaf1}.steps .eyebrow{color:#f7b45d}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.step-no{display:block;font:500 38px var(--serif);color:#f5b25e;margin-bottom:18px}.steps p{font-size:16px;color:#d9e3ec}.steps h3{font-size:23px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.feature img{mix-blend-mode:multiply}.wash{background:#e8e9dd;border-top:1px solid #d5dacb;border-bottom:1px solid #d5dacb}.notice{padding:18px 22px;background:#f6e4c9;border-left:3px solid var(--wine);font-size:16px;margin:24px 0}.notice p:last-child{margin:0}.hotel-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:24px;border-top:1px solid var(--line);padding:24px 0}.hotel-row img{width:160px;aspect-ratio:3/2;object-fit:cover;border-radius:3px}.hotel-row .icon{width:90px;margin:auto;object-fit:contain;mix-blend-mode:multiply}.hotel-row h3{font-size:24px;margin-bottom:10px}.hotel-row p{margin:0;font-size:16px;max-width:650px}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:0 0 30px}.filters label{font-size:14px;display:grid;gap:6px}.filters input,.filters select{min-height:46px;padding:8px 12px;background:#fffaf3;border:1px solid #b7b0a4;border-radius:3px;max-width:100%}.filters input{min-width:250px}.result-count{font-size:14px;margin-left:auto;color:var(--muted)}.breadcrumb{font-size:14px;padding-top:24px}.page-heading{padding:40px 0 25px;max-width:880px}.page-heading h1{font-size:clamp(35px,4.5vw,58px)}.lead{font-size:21px;max-width:830px}.content-section{margin-bottom:56px}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:start}.aside{padding:25px;border:1px solid var(--line);background:var(--cream);position:sticky;top:20px}.aside h2{font-size:25px}.aside p,.aside li{font-size:16px}.article{max-width:850px}.article p,.article li{font-size:18px}.article h2{font-size:33px;margin-top:42px}.source-links{font-size:13px;display:flex;flex-wrap:wrap;gap:6px 15px;margin:15px 0;color:var(--muted)}.source-links a{font-size:13px}.facts{width:100%;border-collapse:collapse;margin:24px 0;font-size:16px}.facts th,.facts td{padding:14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.facts th{font-weight:600;color:var(--navy)}.table-scroll{overflow-x:auto}.faq{max-width:900px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{font:500 21px var(--serif);color:var(--navy);cursor:pointer;min-height:38px}.faq details p{padding:12px 25px 0 0;font-size:17px}.planner{padding:30px;background:var(--cream);border:1px solid var(--line);border-radius:5px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.form-grid label{display:grid;gap:6px;font-size:15px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:48px;padding:10px;border:1px solid #a8b2b8;border-radius:3px;background:#fff;color:var(--ink)}.form-grid .span2{grid-column:span 2}.form-grid .span3{grid-column:span 3}.check-group{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.check-group label{display:flex;align-items:center;font-size:16px;gap:8px;min-height:44px}.check-group input{width:18px;height:18px;accent-color:var(--wine)}fieldset{padding:0;border:0;margin:20px 0}legend{font-weight:600}.plan-result{margin-top:30px;padding:25px;border:1px solid var(--teal);background:#eef3ee}.plan-result h3{font-size:26px}.plan-result textarea{width:100%;min-height:240px;padding:15px;font:16px/1.55 var(--sans);background:white;border:1px solid var(--line)}.actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:20px 0}.fleet-grid .card-art{mix-blend-mode:normal;background:#e6e6e6;aspect-ratio:3/2;object-fit:contain}.photo-credit{font-size:12px;color:var(--muted)}.site-footer{background:#e8dfd2;border-top:1px solid #cfc0ad;padding:60px 0 25px;margin-top:40px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:55px}.site-footer h2{font-size:28px}.site-footer h3{font-family:var(--sans);font-size:13px;letter-spacing:1px;text-transform:uppercase}.site-footer p{font-size:15px}.footer-links a{display:block;margin:8px 0;font-size:15px;text-decoration:none}.operator-logo{width:200px;height:auto;mix-blend-mode:multiply;margin:20px 0}.footer-bottom{border-top:1px solid #cfc0ad;padding-top:20px;margin-top:35px;font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.empty{padding:30px;border:1px dashed var(--line);width:100%;font-size:17px}.event-dates{font-size:14px;font-weight:700;color:var(--wine)}[hidden]{display:none!important}
@media(max-width:1000px){.hero-grid{gap:30px;grid-template-columns:1fr .9fr}.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy h1{font-size:48px}.hero-art{margin-top:30px}.trust-line{gap:20px}.split{gap:30px}.cards{gap:20px}.header-inner{gap:20px}.header-actions{gap:14px}.section{padding:60px 0}}
@media(max-width:760px){.wrap{padding:0 22px}.header-inner{min-height:84px;gap:12px}.brand{width:192px;gap:6px}.brand img{width:46px;height:46px}.brand span{font-size:14px}.brand small{font-size:9px}.menu-toggle{gap:4px;font-size:10px;flex-direction:column;line-height:1}.menu-toggle img{width:30px;height:30px}.header-actions>.btn{display:none}.header-actions{gap:8px}.langs{gap:6px;font-size:12px}.nav-panel{top:78px;left:20px;width:320px}.hero{padding-top:32px}.hero-grid,.feature,.split{grid-template-columns:1fr;gap:34px}.hero-copy h1{font-size:43px;letter-spacing:-1.1px}.hero-copy .lead{font-size:19px}.hero-art{margin:20px -5px 0}.hero-art img{max-height:360px}.booking-card{padding:23px 18px}.booking-card iframe{min-height:555px}.trust-line{gap:12px;flex-wrap:wrap;font-size:12px;margin-top:32px;padding:15px 0}.trust-line span::before{margin-right:5px}.section{padding:48px 0}.section-intro{display:block}.section-intro>.textlink{margin-top:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card h3{font-size:23px}.steps-grid{grid-template-columns:1fr 1fr;gap:30px}.hotel-row{grid-template-columns:80px 1fr;gap:18px}.hotel-row>div+div{grid-column:2}.hotel-row img{width:80px;aspect-ratio:1;object-fit:cover}.hotel-row .icon{width:65px}.hotel-row h3{font-size:21px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .span3{grid-column:span 2}.planner{padding:22px 18px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:span 2}.aside{position:static}.page-heading{padding-top:25px}.result-count{margin-left:0;width:100%}.filters input{min-width:0;width:100%}.filters label{flex:1;min-width:150px}.facts{font-size:14px}.facts th,.facts td{padding:10px 8px}}
@media(max-width:420px){.wrap{padding:0 18px}.brand{width:178px}.brand img{width:42px;height:42px}.brand span{font-size:13px}.header-inner{gap:7px}.hero-copy h1{font-size:38px}.cards,.cards.four{grid-template-columns:1fr}.cards.four .card-art{max-height:260px}.steps-grid{gap:20px}.steps h3{font-size:21px}.form-grid{grid-template-columns:1fr}.form-grid .span2,.form-grid .span3{grid-column:auto}.btn{padding:11px 17px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.hero-art img{max-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Approved illustrated brand and destination collages. */
.brand{width:280px}.brand .brand-lockup{width:280px;height:auto;object-fit:contain}.header-inner{min-height:108px}.menu-toggle img{width:48px;height:48px}.nav-panel{width:370px;max-height:75vh;overflow:auto}.nav-panel a{justify-content:start;gap:14px;align-items:center}.nav-panel .icon{width:42px;height:42px;margin:0;object-fit:contain}.hero-poster{isolation:isolate;overflow:hidden;padding:65px 0 55px;min-height:700px;border-bottom:1px solid #d8cdbd}.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero-poster::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,250,241,.98) 0%,rgba(255,250,241,.94) 19%,rgba(255,250,241,.55) 46%,rgba(255,250,241,.12) 65%,rgba(255,250,241,.22) 100%)}.hero-poster .hero-copy{padding:25px 0;max-width:600px}.hero-poster .hero-copy h1{font-size:clamp(38px,4.1vw,60px)}.hero-poster .booking-card{background:rgba(255,250,241,.97);box-shadow:0 18px 60px #0b376329}.hero-poster .hero-grid{gap:55px;grid-template-columns:1.25fr .85fr}.icon-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;padding:32px 0}.icon-nav a{display:grid;justify-items:center;text-align:center;font-size:15px;font-weight:700;text-decoration:none;color:var(--navy)}.icon-nav .icon{width:90px;height:90px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:9px;transition:transform .2s}.icon-nav a:hover img{transform:translateY(-4px)}.wash{background:linear-gradient(130deg,#d9ece5,#eaf1e8 55%,#f6e1c9)}.steps{background:linear-gradient(115deg,#0b3763,#153752 50%,#611c35)}.section-cta{margin-top:35px;padding-top:22px;border-top:1px solid #ffffff44;display:flex;align-items:center;justify-content:space-between;gap:25px}.section-cta p{font-size:16px;max-width:800px;margin:0}.section-cta .btn{flex-shrink:0}.park-hero{background:var(--park-art) center/cover no-repeat;min-height:520px;display:flex;align-items:end;position:relative;padding:60px 0}.park-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffaf1f7,#fffaf1d9 35%,#fffaf105 75%)}.park-hero>.wrap{width:100%;position:relative}.park-title{max-width:550px}.hotel-poster{width:100%;max-height:650px;object-fit:contain;mix-blend-mode:multiply}.booking-page{max-width:760px}.route-band{background:linear-gradient(120deg,#761a2c,#3b2846);color:#fffaf1}.route-band h2,.route-band h3,.route-band a{color:#fffaf1}.route-band .card{border-color:#ffffff44}.route-band .btn{color:#141414}.route-band .card p{color:#fffaf1}.hotel-feature{margin-bottom:25px}
@media(max-width:1000px){.brand,.brand .brand-lockup{width:250px}.hero-poster .hero-grid{gap:30px;grid-template-columns:1fr 1fr}.hero-poster .hero-copy h1{font-size:44px}.icon-nav{gap:12px}.icon-nav .icon{width:75px;height:75px}}
@media(max-width:760px){.brand,.brand .brand-lockup{width:215px}.header-inner{min-height:89px}.menu-toggle img{width:36px;height:36px}.hero-poster{padding:30px 0}.hero-poster .hero-grid{grid-template-columns:1fr;gap:25px}.hero-poster::before{background:linear-gradient(180deg,#fffaf1e8,#fffaf1b8 35%,#fffaf1c9 60%,#fffaf1e8)}.hero-backdrop{height:650px;object-position:45% top}.hero-poster .hero-copy{padding:0 0 60px;max-width:520px}.hero-poster .hero-copy h1{font-size:44px}.icon-nav{grid-template-columns:repeat(3,1fr);row-gap:24px}.icon-nav .icon{width:82px;height:82px}.section-cta{flex-direction:column;align-items:start}.park-hero{min-height:450px;padding:35px 0}.park-hero::before{background:linear-gradient(90deg,#fffaf1ed,#fffaf1b3)}.park-title{max-width:470px}.brand{flex-shrink:1}.header-actions{flex-shrink:0}.header-inner{gap:10px}}
@media(max-width:420px){.brand,.brand .brand-lockup{width:200px}.menu-toggle img{width:32px;height:32px}.hero-poster .hero-copy h1{font-size:38px}.hero-poster .hero-copy{padding-bottom:40px}.icon-nav .icon{width:72px;height:72px}.icon-nav a{font-size:13px}.header-inner{gap:6px}.langs{font-size:11px;gap:4px}.nav-panel{left:15px}}
.route-band h1{color:#fffaf1}.route-band .eyebrow{color:#ffbc7b}.route-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.route-links a{border-bottom:1px solid var(--line);padding:10px 0}.edc-hero{background:radial-gradient(ellipse at 90% 20%,#1d6b7c 0%,transparent 48%),linear-gradient(120deg,#0b2749,#73152c);position:relative}.edc-hero h1{max-width:950px}.edc-hero .lead{color:#fffaf1}.route-band .section-cta{border-color:#ffffff44}.steps .section-cta p{color:#fffaf1}.article+.booking-card{position:sticky;top:20px}.site-footer .footer-links a{padding:4px 0}.route-band .icon{mix-blend-mode:normal}.source-links{overflow-wrap:anywhere}.brand-lockup{mix-blend-mode:multiply}
@media(max-width:760px){.route-links{grid-template-columns:1fr}.article+.booking-card{position:static}}

/* Ivory / gunmetal identity. Exo 2 headings and Manrope reading text.
   Block Paper Regular awaits a licensed webfont asset; no substitute is mislabeled. */
:root{--paper:#F3EDE4;--cream:#faf6f0;--navy:#073478;--orange:#073478;--burnt:#032a80;--wine:#032a80;--teal:#073478;--ink:#2F343A;--muted:#585d63;--line:#d0c9bf;--serif:'Exo 2',Arial,sans-serif;--sans:'Manrope',Arial,sans-serif;--display:'Exo 2',Arial,sans-serif;--gunmetal:#2F343A}
body,main{background:var(--paper)}body::before{display:none}
h1,h2,h3,h4{font-weight:650}h1{font-family:var(--display)}.hero-copy h1 em{font-family:var(--serif);font-style:normal;font-weight:500}
.masthead{background:var(--gunmetal);border-color:#ffffff25}.masthead .langs,.masthead .langs a,.menu-toggle{color:var(--paper)}.langs .current{border-color:var(--paper)}.masthead .btn{border-color:#7488a7}
.brand{width:auto;min-width:0;justify-content:center}.brand .brand-wordmark{display:block;color:var(--paper);font-family:var(--display);line-height:1;text-align:center;letter-spacing:-.7px}.brand-wordmark>small{font:500 14px/1.4 var(--sans);letter-spacing:3.3px;text-transform:uppercase}.brand .brand-destination{display:block;color:var(--paper);font:700 37px/1.15 var(--display);letter-spacing:-1.3px}.brand .brand-to{font:400 20px var(--serif);color:var(--paper);letter-spacing:0}.menu-toggle img{mix-blend-mode:normal;background:none}.menu-toggle{min-width:56px}.header-inner{min-height:112px}
.btn,.route-band .btn{background:var(--navy);border-color:var(--navy);color:var(--paper)}.btn:hover{background:var(--burnt);border-color:var(--burnt)}.btn.secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
:focus-visible{outline:3px solid #638bd0}.masthead :focus-visible{outline-color:var(--paper)}
.hero-poster::before{background:linear-gradient(90deg,#f3ede4fc 0%,#f3ede4f5 23%,#f3ede4b8 47%,#f3ede430 74%,#2f343a40)}.hero-poster .hero-copy{padding:20px 0}.hero-poster .booking-card,.booking-card{background:#faf6f0;box-shadow:0 14px 48px #2f343a18;border:1px solid var(--line)}
.hero-poster .hero-copy .lead,.hero-poster .independent{color:var(--ink)}.hero-poster .hero-copy h1{font-weight:650}.hero-poster{border-color:var(--line)}
.steps,.route-band,.edc-hero{background:linear-gradient(125deg,#2F343A 0%,#353b43 65%,#414853 100%);color:var(--paper)}
.steps h2,.steps h3,.route-band h1,.route-band h2,.route-band h3,.route-band a:not(.btn),.steps p,.steps .section-cta p,.route-band .card p,.edc-hero .lead,.steps .eyebrow,.route-band .eyebrow,.step-no,.route-band .muted{color:var(--paper)}
.steps .btn,.route-band .btn{border-color:#8d9bb2}.steps .section-cta,.route-band .section-cta,.route-band .card{border-color:#f3ede440}.steps .section-cta p{color:var(--paper)}
.wash{background:linear-gradient(125deg,#f3ede4,#e8e3db 70%,#d4d2cd);border-color:var(--line)}
.notice,.plan-result{background:#e8e5df;border-color:var(--navy)}.plan-result textarea{background:#faf6f0}.filters input,.filters select{background:#faf6f0;color:var(--ink)}.booking-card,.aside,.planner{border-radius:8px}.booking-card iframe{background:transparent}.booking-note{color:var(--muted)}
.park-hero::before{background:linear-gradient(90deg,#f3ede4fa,#f3ede4e6 35%,#f3ede410 80%)}.site-footer{background:linear-gradient(120deg,#2F343A,#3a4047);color:var(--paper);border-color:#2F343A}.site-footer h2,.site-footer h3,.site-footer a,.site-footer .art-note{color:var(--paper)}.footer-bottom{border-color:#f3ede440}.operator-logo{mix-blend-mode:normal;background:var(--paper);padding:12px;border-radius:4px}.nav-panel{background:var(--paper);border-color:var(--line)}.nav-panel a{border-color:var(--line)}
@media(max-width:760px){.header-inner{min-height:96px}.brand{width:auto}.brand .brand-destination{font-size:30px}.brand-wordmark>small{font-size:10px;letter-spacing:2.4px}.brand .brand-to{font-size:17px}.hero-poster::before{background:linear-gradient(180deg,#f3ede4f5,#f3ede4de 38%,#f3ede4f5 70%,#f3ede4)}.park-hero::before{background:linear-gradient(90deg,#f3ede4f5,#f3ede4d9)}.hero-poster .hero-copy{padding:0 0 30px}.nav-panel{top:88px}.hero-poster .hero-copy h1{font-size:42px}.hero-poster .hero-grid{gap:20px}}
@media(max-width:420px){.brand .brand-destination{font-size:25px}.brand-wordmark>small{font-size:9px;letter-spacing:1.8px}.brand .brand-to{font-size:15px}.hero-poster .hero-copy h1{font-size:35px}.menu-toggle{min-width:42px}.header-inner{gap:8px}.brand{flex-shrink:1}.langs a{padding:12px 3px}.hero-copy .lead{font-size:18px}}

.brand .brand-emblem{width:58px;height:58px;object-fit:contain;mix-blend-mode:normal}@media(max-width:760px){.brand .brand-emblem{width:40px;height:40px}.brand .brand-destination{font-size:26px}}@media(max-width:420px){.brand .brand-emblem{display:none}.brand .brand-destination{font-size:25px}}

/* Follow-on refinement: quiet ivory opening, precise vector hexagons. */
.masthead { background: #F3EDE4; border-bottom: 1px solid #d0c9bf; }
.masthead .langs, .masthead .langs a, .menu-toggle,
.brand .brand-wordmark, .brand .brand-destination, .brand .brand-to { color: #073478; }
.langs .current { border-color: #073478; }
.masthead :focus-visible { outline-color: #073478; }
.menu-toggle img { filter: brightness(0) saturate(100%) invert(15%) sepia(85%) saturate(1925%) hue-rotate(202deg) brightness(87%) contrast(99%); }
.nav-panel { background: #073478; border: 1px solid #073478; border-radius: 8px; }
.nav-panel a { color: #F3EDE4; border-color: #f3ede433; padding: 10px 16px; }
.nav-panel a:hover, .nav-panel a:focus-visible { background: #032a80; color: #F3EDE4; }
.nav-panel .semantic-icon { width: 38px; height: 43px; flex: 0 0 38px; }
.hero-poster { background: #F3EDE4; min-height: 0; padding: 38px 0 40px; }
.hero-poster::before { display: none; }
.hero-backdrop { display: none; }
.hero-poster .hero-grid { grid-template-columns: 1.2fr .8fr; gap: 44px; align-items: center; }
.hero-poster .hero-copy { padding: 12px 0; }
.hero-poster .booking-card, .booking-card { background: rgba(250,246,240,.70); padding: 20px; box-shadow: 0 8px 30px #2f343a12; }
.booking-card h2 { font-size: 27px; margin-bottom: 10px; }
.booking-card .eyebrow { margin-bottom: 8px; }
.booking-card .small, .booking-note { font-size: 13px; margin-bottom: 9px; }
.booking-card iframe { min-height: 480px; width: 100%; }
.guide-shortcuts { background: #F3EDE4; border-bottom: 1px solid #d0c9bf; }
.icon-nav { padding: 24px 0 30px; gap: 22px; }
.icon-nav a { gap: 10px; }
.semantic-icon { display: block; width: 82px; height: 92px; flex-shrink: 0; overflow: visible; }
.icon-nav .semantic-icon { width: 92px; height: 104px; margin: 0; mix-blend-mode: normal; }
.icon-nav a:hover .semantic-icon { transform: translateY(-3px); }
.card .semantic-icon { width: 76px; height: 86px; margin: 0 0 18px; mix-blend-mode: normal; }
.page-heading .semantic-icon { float: right; margin: 0 0 20px 26px; }
.article > .semantic-icon { margin-bottom: 20px; }
.secondary-page .icon { mix-blend-mode: normal; }
.card-art[src*='-960.webp'], .card-art[src*='-480.webp'], .hotel-poster { border: 3px solid #073478; border-radius: 8px; mix-blend-mode: normal; }
.hotel-poster { background: #F3EDE4; padding: 8px; }
.dining-recognition { border-left: 3px solid #073478; padding-left: 18px; margin-bottom: 30px; }
.dining-recognition .tag { font-weight: 700; color: #073478; }
@media (max-width: 760px) {
  .hero-poster { padding: 25px 0 28px; }
  .hero-poster .hero-grid { grid-template-columns: 1fr; gap: 22px; }
  .hero-poster .hero-copy { padding: 0; }
  .hero-poster .booking-card, .booking-card { padding: 18px 15px; }
  .booking-card iframe { min-height: 480px; }
  .icon-nav { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px 12px; }
  .icon-nav .semantic-icon { width: 76px; height: 86px; }
  .page-heading .semantic-icon { width: 64px; height: 72px; margin-left: 16px; }
}

.menu-toggle img { filter: none; }
.nav-panel .semantic-icon > path { stroke: #F3EDE4; stroke-width: 1.2; }
.semantic-icon { max-width: 100%; }
.page-heading::after { content: ''; display: block; clear: both; }

/* Latest approved identity: gunmetal header, ivory navigation panel. */
.masthead { background: #2F343A; border-bottom-color: #ffffff25; }
.masthead .langs, .masthead .langs a, .menu-toggle,
.brand .brand-wordmark, .brand .brand-destination, .brand .brand-to { color: #F3EDE4; }
.masthead .langs .current { border-color: #F3EDE4; }
.masthead :focus-visible { outline-color: #F3EDE4; }
.menu-toggle img { filter: brightness(0) invert(94%) sepia(9%) saturate(263%) hue-rotate(350deg); }
.nav-panel { background: #F3EDE4; border-color: #d0c9bf; }
.nav-panel a { color: #073478; border-color: #d0c9bf; }
.nav-panel a:hover, .nav-panel a:focus-visible { background: #e5dfd6; color: #032a80; outline-color: #032a80; }
.nav-panel .semantic-icon > path { stroke: none; }
.card-visual-link { display: block; width: fit-content; max-width: 100%; border-radius: 6px; }
.card-visual-link:has(img) { width: 100%; }
.card-visual-link:hover img { filter: saturate(1.08); }
.card h3 a { color: inherit; text-decoration: none; }
.card h3 a:hover { text-decoration: underline; }
.card .textlink { line-height: 1.5; }
.breadcrumb { display: flex; flex-wrap: wrap; column-gap: 8px; row-gap: 4px; }
.operator-logo { width: 220px; height: auto; padding: 14px; }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto} *,*::before,*::after {transition:none!important} }

.site-footer .operator-logo { width: 300px; max-width: 100%; height: auto; background: transparent; padding: 0; margin-top: 26px; border-radius: 0; }

/* Bright destination art, burgundy / gunmetal type, and warm orange accents. */
main { --wine: #7A1E2D; --ink: #3D3D3D; --gunmetal: #3D3D3D; --orange: #E25309; color: var(--ink); }
body, main, main .section, main .guide-shortcuts { background: #fff; }
main h1, main h2, main h3, main h4, main .facts th { color: var(--gunmetal); }
main a:not(.btn), main .eyebrow, main .card .tag, main .event-dates { color: var(--wine); }
main .section:nth-of-type(even) .section-intro h2, main .cards > .card:nth-child(odd) h3,
main .article h2:nth-of-type(odd), main .faq details:nth-child(odd) summary { color: var(--wine); }
main .faq summary { color: var(--gunmetal); }
main .section-intro h2::after { content: ''; display: block; width: 66px; height: 5px; margin-top: 18px; background: var(--orange); border-radius: 5px; }
main .btn { background: var(--wine); border-color: var(--wine); color: #fff; box-shadow: 0 4px 0 #e253092b; }
main .btn:hover { background: #5f1723; border-color: #5f1723; }
.masthead .btn { background: #7A1E2D; border-color: #c27d87; color: #fff; }
.masthead .btn:hover { background: #5f1723; }
main .btn.secondary { background: #fff; color: var(--wine); border-color: var(--wine); }
main :focus-visible { outline-color: var(--wine); }
.hero-poster { background: #fff; padding: 32px 0 40px; border-bottom: 0; }
.hero-backdrop { display: block; position: absolute; inset: 0 auto auto 0; width: calc(50% + 210px); height: 620px; object-fit: cover; object-position: center top; z-index: -2; }
.hero-poster::before { display: block; background: linear-gradient(180deg, transparent 370px, #fff 660px); }
.hero-poster .hero-grid { grid-template-columns: minmax(0,1.3fr) minmax(360px,.85fr); align-items: start; gap: 40px; }
.hero-poster .hero-copy { margin-top: 320px; padding: 25px 28px 16px; max-width: 640px; background: #fffffff5; border-radius: 12px; border-top: 5px solid var(--orange); box-shadow: 0 12px 36px #3d3d3d0c; }
.hero-poster .hero-copy h1 { font-size: clamp(36px,3.55vw,50px); letter-spacing: -1.4px; margin-bottom: 16px; }
.hero-copy h1 > span, .hero-copy h1 > em { display: block; }
.hero-copy .headline-gunmetal { color: var(--gunmetal); }
.hero-copy .headline-burgundy { color: var(--wine); }
.hero-poster .hero-copy h1 em { color: var(--gunmetal); font-size: .72em; margin-top: 9px; font-weight: 500; }
.hero-poster .hero-copy .eyebrow { letter-spacing: 1.5px; margin-bottom: 13px; }
.hero-poster .hero-copy .lead { font-size: 18px; margin-bottom: 16px; }
.hero-poster .hero-copy .independent { color: var(--muted); font-size: 12px; }
.hero-poster .booking-card, main .booking-card { background: rgba(255,255,255,.60); border: 1px solid #7a1e2d26; border-top: 5px solid var(--wine); box-shadow: 0 16px 40px #3d3d3d12; }
main .booking-card h2 { color: var(--wine); }
main .guide-shortcuts { border-top: 1px solid #eee6df; border-bottom: 1px solid #eee6df; }
main .icon-nav a { color: var(--gunmetal); border-bottom: 3px solid transparent; padding: 8px 6px 14px; border-radius: 10px; transition: background .18s, border-color .18s; }
main .icon-nav a:nth-child(odd) { color: var(--wine); }
main .semantic-icon { --badge-face: #7A1E2D; }
main .icon-nav a:nth-child(even) .semantic-icon,
main .card:nth-child(even) .semantic-icon { --badge-face: #3D3D3D; }
main .semantic-icon > path:nth-child(1) { fill: #E25309; }
main .semantic-icon > path:nth-child(2) { fill: var(--badge-face); }
main .semantic-icon > path:nth-child(3) { fill: #fff; }
main .semantic-icon > g { stroke: #fff3e5; }
main .semantic-icon > g:last-child { color: #fff3e5; }
main .icon-nav a:hover { background: #fff5ed; border-color: var(--orange); }
main .card { border-top: 3px solid #e2530959; padding-top: 20px; }
main .card:nth-child(even) { border-top-color: #7a1e2d47; }
main .card h3 a { color: inherit; }
main .card-art { border: 0; border-radius: 10px; mix-blend-mode: normal; }
main .card-art[src*='-960.webp'], main .card-art[src*='-480.webp'], main .hotel-poster { border-color: #e253094d; }
main .section-cta { border-top: 1px solid #e2530940; border-bottom: 1px solid #e2530940; padding: 20px 24px; background: linear-gradient(100deg,#fff5ed,#fff 65%); border-radius: 8px; }
main .steps, main .route-band, main .edc-hero { background: #fff; color: var(--ink); }
main .steps h2, main .steps h3, main .route-band h1, main .route-band h2, main .route-band h3 { color: var(--gunmetal); }
main .route-band a:not(.btn) { color: var(--wine); }
main .steps p, main .steps .section-cta p, main .route-band .card p, main .edc-hero .lead { color: var(--ink); }
main .steps .eyebrow, main .route-band .eyebrow, main .step-no { color: var(--wine); }
main .steps-grid > div { border-left: 3px solid #e2530966; padding-left: 20px; }
main .steps-grid > div:nth-child(even) { border-color: #7a1e2d66; }
main .steps-grid > div:nth-child(odd) h3 { color: var(--wine); }
main .step-no { display: grid; place-items: center; width: 58px; height: 64px; background: #fff0e5; font: 650 27px var(--sans); clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
main .steps-grid > div:nth-child(even) .step-no { color: var(--gunmetal); background: #f3eef0; }
main .aside, main .planner, main .plan-result { background: #fff; border-top: 4px solid var(--wine); }
main .notice { background: #fff5ed; border-left-color: var(--orange); }
main .dining-recognition { border-color: var(--orange); }
main .dining-recognition .tag { color: var(--wine); }
.park-hero::before { background: linear-gradient(90deg,#ffffffed 0%,#ffffffd9 30%,#ffffff00 60%); }
.park-title { padding: 24px; background: #ffffffee; border-top: 4px solid #e25309; border-radius: 10px; }
@media (max-width: 1000px) {
  .hero-poster .hero-grid { grid-template-columns: minmax(0,1fr) minmax(330px,.9fr); gap: 24px; }
  .hero-poster .hero-copy { margin-top: 260px; padding: 22px; }
  .hero-backdrop { width: 68%; height: 550px; }
  .hero-poster .hero-copy h1 { font-size: 38px; }
}
@media (max-width: 760px) {
  .hero-poster { padding: 0 0 30px; }
  .hero-backdrop { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; }
  .hero-poster::before { display: none; }
  .hero-poster .hero-grid { grid-template-columns: 1fr; gap: 25px; padding-top: min(56vw,400px); }
  .hero-poster .hero-copy { margin-top: 0; padding: 22px 20px 18px; max-width: none; background: #fff; }
  .hero-poster .hero-copy h1 { font-size: clamp(32px,6.5vw,43px); letter-spacing: -1px; }
  .hero-poster .hero-copy .eyebrow { font-size: 10px; line-height: 1.6; }
  .hero-poster .booking-card { padding: 20px 15px; }
  main .section-cta { padding: 20px; }
  main .steps-grid > div { padding-left: 12px; }
  .park-hero { padding-top: 240px; }
  .park-hero::before { background: linear-gradient(180deg,transparent 180px,#fff 90%); }
  .park-title { background: #fffffff5; padding: 20px; }
}

/* Vivid hero imagery; copy retains its own readable surface. */
.hero-backdrop,.park-hero > img,.hero-art img{filter:saturate(1.12) contrast(1.04);mix-blend-mode:normal}

/* Proximity guide and time-limited third destination offer. */
.dining-order { padding:24px; border-left:4px solid var(--orange); background:#fff; margin-bottom:24px; }
.dining-order h2 { margin-top:0; }
.dining-group + .dining-group { margin-top:48px; }
.dining-location { color:#7a1e2d; font-weight:700; }
.timed-offer { min-width:0; }
.timed-offer > .card { height:100%; box-sizing:border-box; }
[data-filter-section][hidden] { display:none; }
