/* Release 22: independent components. Explicit choices take priority over presets. */
.ex-site :is(.ex-card,.ex-facts,.ex-booking,.ex-gallery,.ex-hero,.ex-about,.ex-taxonomy,.ex-proof,.ex-home-faq,.ex-contact,.ex-detail-section,.ex-included,.ex-excluded,.ex-tour-price,.catalogue-filterbar,.site-announcement,.site-utility){--c-background:initial;--c-text:initial;--c-muted:initial;--c-accent:initial;--c-border:initial;--c-button:initial;--c-button-text:initial}
.ex-site .ex-button,.ex-site .booking-submit{background:var(--site-button,var(--accent));color:var(--site-button-text,var(--on-accent))!important}
.ex-site :is(.ex-hero,.ex-card,.ex-facts,.ex-booking,.ex-about,.ex-taxonomy,.ex-proof,.ex-home-faq,.ex-contact,.ex-detail-section)[style*="--c-background"]{background:var(--c-background)!important}
.ex-site :is(.ex-hero,.ex-card,.ex-facts,.ex-booking,.ex-about,.ex-taxonomy,.ex-proof,.ex-home-faq,.ex-contact,.ex-detail-section)[style*="--c-text"]{color:var(--c-text)!important}
.ex-site :is(.ex-hero,.ex-card,.ex-facts,.ex-booking,.ex-about,.ex-taxonomy,.ex-proof,.ex-home-faq,.ex-contact,.ex-detail-section)[style*="--c-text"] :is(h1,h2,h3,dt,dd,strong,label){color:var(--c-text)!important}
.ex-site [style*="--c-muted"] :is(.ex-card-copy,.ex-hero-intro,.ex-booking-head>p,.form-footnote,.ex-detail-heading>p,.ex-tour-deck){color:var(--c-muted)!important}
.ex-site [style*="--c-accent"] :is(.ex-kicker,.ex-card-number,.ex-card-price strong,.ex-step-marker,.ex-fact-index,.ex-booking-price strong){color:var(--c-accent)!important}
.ex-site :is(.ex-card,.ex-booking,.ex-facts,.ex-detail-section)[style*="--c-border"]{border-color:var(--c-border)!important}
.ex-site [style*="--c-button"] :is(.ex-button,.booking-submit,.ex-card-link,.ex-addons button){background:var(--c-button,var(--site-button,var(--accent)))!important}
.ex-site [style*="--c-button-text"] :is(.ex-button,.booking-submit,.ex-card-link,.ex-addons button){color:var(--c-button-text,var(--site-button-text,var(--on-accent)))!important}
.ex-site .site-announcement{background:var(--c-background,#087b85);color:var(--c-text,#fff)}
.ex-site .site-announcement a{color:inherit}
.ex-site .site-utility[style*="--c-background"]{background:var(--c-background)}
.ex-site .site-utility[style*="--c-text"]{color:var(--c-text)}
.ex-site .catalogue-filterbar{background:var(--c-background,var(--surface));border-color:var(--c-border,var(--line));color:var(--c-text,var(--ink))}
.ex-site .catalogue-filterbar .catalogue-filter{background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));border-color:var(--c-border,var(--line))}
.ex-site .catalogue-filterbar .catalogue-filter.is-active{background:var(--c-button,var(--c-accent,var(--accent)));color:var(--c-button-text,var(--on-accent))}
/* Three cards: portrait collection, horizontal summary, rate sheet. */
.ex-site .ex-card-custom{display:flex;flex-direction:column;padding:0;transform:none;grid-column:auto;min-width:0;border:1px solid var(--c-border,var(--line));border-radius:16px;background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));overflow:hidden;box-shadow:0 5px 22px #142e3a0b;text-align:left}
.ex-site .ex-card-custom .ex-card-photo{position:relative;display:block;min-height:0;height:100%;width:100%;margin:0;border-radius:0;transform:none;overflow:hidden;background:var(--wash)}
.ex-site .ex-card-custom .ex-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ex-site .ex-card-custom:hover .ex-card-photo img{transform:scale(1.035)}
.ex-site .ex-card-custom .ex-card-heading{position:static;display:block;padding:0;margin:0;transform:none;color:inherit;background:transparent}
.ex-site .ex-card-custom .ex-card-heading h3{font:750 clamp(1.15rem,1.8vw,1.55rem)/1.25 system-ui,sans-serif;margin:8px 0 0;letter-spacing:-.025em}
.ex-site .ex-card-custom .ex-card-heading h3 a{text-decoration:none}
.ex-site .ex-card-custom .ex-card-number{display:none}
.ex-site .ex-card-custom .ex-badge{display:inline-block;background:var(--c-accent,var(--accent));color:var(--on-accent);border-radius:4px;padding:5px 9px;font:750 .65rem/1.3 system-ui;text-transform:uppercase;letter-spacing:.05em}
.ex-site .ex-card-custom .ex-card-copy{font-size:.85rem;line-height:1.65;color:var(--c-muted,var(--muted));margin:0;padding:0}
.ex-site .ex-card-custom .ex-card-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;margin:20px 0 0;padding:0;background:transparent}
.ex-site .ex-card-custom .ex-card-facts>div{display:block;border:0;padding:0}
.ex-site .ex-card-custom .ex-card-facts dt{font-size:.63rem;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted,var(--muted))}
.ex-site .ex-card-custom .ex-card-facts dd{font-size:.77rem;font-weight:650;margin:5px 0 0}
.ex-site .ex-card-custom .ex-card-purchase{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:22px 24px;border-top:1px solid var(--c-border,var(--line));background:transparent;color:inherit;border-radius:0}
.ex-site .ex-card-custom .ex-card-price{display:block}
.ex-site .ex-card-custom .ex-card-price>span,.ex-site .ex-card-custom .ex-card-price>small{display:block;font-size:.65rem;color:var(--c-muted,var(--muted))}
.ex-site .ex-card-custom .ex-card-price>strong{display:block;font:800 1.6rem/1.2 system-ui;letter-spacing:-.045em;color:var(--c-accent,var(--accent));margin:4px 0}
.ex-site .ex-card-custom .ex-card-link{display:flex;gap:16px;padding:11px 14px;border:1px solid var(--c-button,var(--c-accent,var(--accent)));border-radius:7px;background:var(--c-button,var(--c-accent,var(--accent)));color:var(--c-button-text,var(--on-accent));font-size:.7rem;text-decoration:none}
.ex-site .ex-grid-portrait-plus{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ex-site .cx-portrait-media{height:360px;position:relative}
.ex-site .ex-card-portrait-plus .cx-portrait-media .ex-card-heading{position:absolute;bottom:0;left:0;right:0;padding:64px 24px 22px;background:linear-gradient(transparent,#071c31e8);color:#fff}
.ex-site .ex-card-portrait-plus .cx-portrait-media .ex-badge{position:absolute;top:20px;left:24px;transform:translateY(-100%)}
.ex-site .cx-portrait-body{padding:24px;flex:1}
.ex-site .ex-grid-split-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ex-site .ex-card-split-summary{display:grid;grid-template-columns:40% minmax(0,1fr);min-height:330px;border-radius:8px}
.ex-site .cx-split-summary{display:flex;flex-direction:column;padding:25px 23px}
.ex-site .cx-split-summary>.ex-card-copy{margin-top:12px}
.ex-site .cx-split-summary>.ex-card-purchase{margin-top:auto;padding:20px 0 0;border:0}
.ex-site .ex-card-split-summary .ex-card-facts{grid-template-columns:1fr;gap:9px;margin-bottom:18px}
.ex-site .ex-card-split-summary .ex-card-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px}
.ex-site .ex-card-split-summary .ex-card-facts dd{margin:0;text-align:right}
.ex-site .ex-grid-rate-sheet{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ex-site .ex-card-rate-sheet{border-radius:3px;border-top:3px solid var(--c-accent,var(--accent))}
.ex-site .cx-rate-heading{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;padding:23px;align-items:start}
.ex-site .cx-rate-heading>.ex-card-photo{height:102px;border-radius:4px}
.ex-site .ex-card-rate-sheet .ex-card-facts{margin:0 23px;gap:0;grid-template-columns:1fr;border-block:1px solid var(--c-border,var(--line))}
.ex-site .ex-card-rate-sheet .ex-card-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:10px 0;border-bottom:1px solid var(--c-border,var(--line))}
.ex-site .ex-card-rate-sheet .ex-card-facts>div:last-child{border:0}
.ex-site .ex-card-rate-sheet .ex-card-facts dd{margin:0;text-align:right}
.ex-site .cx-rate-copy{padding:20px 23px;flex:1}
/* Additional slideshow arrangements, shared timing and keyboard behaviour. */
.ex-site :is(.ex-gallery-immersive,.ex-gallery-duo,.ex-gallery-stack)>.ex-thumbs{inset:auto;width:auto;max-height:none;transform:none;grid-column:auto;grid-row:auto}
.ex-site :is(.ex-gallery-immersive,.ex-gallery-duo,.ex-gallery-stack)>.ex-gallery-stage{border-radius:0;min-height:280px}
.ex-site .cx-gallery-override .ex-slide{transform:none}
.ex-site .cx-gallery-override .ex-collage-visual{transform:none}

.ex-site .ex-gallery:is(.ex-gallery-immersive,.ex-gallery-duo,.ex-gallery-stack){position:relative;transform:none!important;border-radius:0!important;background:var(--c-background,var(--wash));color:var(--c-text,var(--ink));padding:0;margin:0;width:100%;overflow:hidden}
.ex-site .ex-gallery-immersive>.ex-gallery-stage{height:clamp(410px,60vw,740px)}
.ex-site .ex-gallery-immersive>.ex-thumbs{position:absolute!important;left:50%;right:auto;bottom:24px;transform:translateX(-50%);z-index:3;display:flex!important;flex-direction:row;justify-content:flex-start;max-width:calc(100% - 40px);gap:8px;padding:10px;background:#091d32ae;backdrop-filter:blur(14px);border:1px solid #ffffff50;border-radius:14px;overflow:auto}
.ex-site .ex-gallery-immersive>.ex-thumbs button{flex:0 0 78px;width:78px;height:57px;border-radius:6px;opacity:.7}
.ex-site .ex-gallery-immersive .ex-gallery-control{bottom:auto;top:22px;right:22px}
.ex-site .ex-gallery-duo{display:grid!important;grid-template-columns:minmax(0,2.3fr) minmax(145px,1fr);gap:12px;padding:12px!important}
.ex-site .ex-gallery-duo>.ex-gallery-stage{height:clamp(400px,45vw,650px);border-radius:8px}
.ex-site .ex-gallery-duo>.ex-thumbs{position:static!important;display:grid!important;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(80px,1fr);gap:10px;padding:0!important;transform:none;max-height:650px;overflow:auto;align-content:stretch}
.ex-site .ex-gallery-duo>.ex-thumbs button{width:100%;height:100%;min-height:80px;flex:auto;border-radius:5px;opacity:1}
.ex-site .ex-gallery-duo>.ex-thumbs button:first-child{grid-column:1/-1}
.ex-site .ex-gallery-stack{display:block!important;padding:30px 5% 0!important;border:1px solid var(--c-border,var(--line));isolation:isolate}
.ex-site .ex-gallery-stack:before{content:"";position:absolute;width:75%;height:75%;top:15px;left:12%;background:var(--surface);border:1px solid var(--c-border,var(--line));transform:rotate(2deg);z-index:-1}
.ex-site .ex-gallery-stack>.ex-gallery-stage{height:clamp(340px,45vw,570px);box-shadow:0 15px 40px #102b3925;border:8px solid var(--surface)}
.ex-site .ex-gallery-stack>.ex-thumbs{position:static!important;display:flex!important;transform:none;gap:12px;justify-content:center;padding:22px 0!important;overflow:auto}
.ex-site .ex-gallery-stack>.ex-thumbs button{height:72px;flex:0 0 96px;border:4px solid var(--surface);box-shadow:0 3px 10px #0c203322;opacity:1;transform:rotate(-2deg)}
.ex-site .ex-gallery-stack>.ex-thumbs button:nth-child(even){transform:rotate(2deg)}
.ex-site .ex-gallery :is(.ex-thumbs button.is-active){outline-color:var(--c-accent,var(--accent))}
.ex-site .ex-gallery [data-ex-pause]{background:var(--c-button,#112b3d);color:var(--c-button-text,#fff)}
.ex-site .cx-gallery-override .ex-gallery{border-radius:0!important;transform:none!important}
/* Independent facts and highlights. */
.ex-site .ex-facts:not(.cx-facts-auto){display:block;padding:32px;margin:30px 0 44px;border:1px solid var(--c-border,var(--line));border-radius:8px;background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));box-shadow:none}
.ex-site .ex-facts:not(.cx-facts-auto)>header{width:auto;margin:0 0 26px;border:0;padding:0}
.ex-site .ex-facts:not(.cx-facts-auto)>header h2{font:750 clamp(1.3rem,2vw,1.8rem)/1.25 system-ui;letter-spacing:-.035em}
.ex-site .ex-facts:not(.cx-facts-auto)>dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:0}
.ex-site .ex-facts:not(.cx-facts-auto) dl>div{border:0;display:block;padding:20px 25px;min-width:0;background:transparent;color:inherit}
.ex-site .cx-facts-metrics dl>div{border-left:1px solid var(--c-border,var(--line))!important}
.ex-site .cx-facts-metrics .ex-fact-index{display:none}
.ex-site .cx-facts-metrics dt{font-size:.7rem;color:var(--c-muted,var(--muted));text-transform:uppercase;letter-spacing:.06em}
.ex-site .cx-facts-metrics dd{font:750 clamp(1.25rem,2.5vw,1.9rem)/1.2 system-ui;margin:12px 0 0;letter-spacing:-.04em}
.ex-site .cx-facts-ledger{display:grid!important;grid-template-columns:.7fr 1.8fr;gap:30px;border-block:2px solid var(--c-accent,var(--accent))!important;border-inline:0!important;border-radius:0!important;background:var(--c-background,transparent)!important}
.ex-site .cx-facts-ledger>dl{grid-template-columns:1fr!important}
.ex-site .cx-facts-ledger dl>div{display:grid!important;grid-template-columns:30px 1fr 1.4fr;gap:15px;align-items:baseline;border-bottom:1px solid var(--c-border,var(--line))!important;padding:16px 0!important}
.ex-site .cx-facts-ledger .ex-fact-index{font:650 .72rem system-ui;color:var(--c-accent,var(--accent))}
.ex-site .cx-facts-ledger dt{font-size:.8rem;font-weight:500}
.ex-site .cx-facts-ledger dd{margin:0;font:700 .95rem/1.45 system-ui}
.ex-site .cx-facts-band{background:var(--c-background,var(--accent))!important;color:var(--c-text,var(--on-accent))!important;display:grid!important;grid-template-columns:210px minmax(0,1fr);gap:20px;border:0!important;border-radius:0!important}
.ex-site .cx-facts-band>header{margin:0!important;padding:20px!important;border-right:1px solid currentColor!important}
.ex-site .cx-facts-band .ex-kicker,.ex-site .cx-facts-band .ex-fact-index{color:inherit;opacity:.75}
.ex-site .cx-facts-band dt{font-size:.72rem;opacity:.8}
.ex-site .cx-facts-band dd{font:700 1.15rem/1.4 system-ui;margin:8px 0 0}
.ex-site .cx-facts-band .ex-fact-index{display:none}
.ex-site :is(.cx-highlights-tiles,.cx-highlights-briefing,.cx-highlights-numbered) .ex-highlights{display:grid;gap:16px;padding:0;background:none;border:0}
.ex-site :is(.cx-highlights-tiles,.cx-highlights-briefing,.cx-highlights-numbered) .ex-highlights article{display:flex;gap:18px;background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));border:0;margin:0;padding:26px;border-radius:0;box-shadow:none}
.ex-site :is(.cx-highlights-tiles,.cx-highlights-briefing,.cx-highlights-numbered) .ex-highlights h3{font:750 1.05rem/1.35 system-ui;color:inherit}
.ex-site :is(.cx-highlights-tiles,.cx-highlights-briefing,.cx-highlights-numbered) .ex-highlights p{font-size:.88rem;color:var(--c-muted,var(--muted));margin-top:9px}
.ex-site .cx-highlights-tiles .ex-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}
.ex-site .cx-highlights-tiles .ex-highlights article{display:block;border:1px solid var(--c-border,var(--line));border-radius:12px}
.ex-site .cx-highlights-tiles .ex-highlights article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--c-accent,var(--accent));color:var(--on-accent);font:700 .8rem system-ui;margin-bottom:20px}
.ex-site .cx-highlights-briefing .ex-highlights{grid-template-columns:1fr;gap:0}
.ex-site .cx-highlights-briefing .ex-highlights article{padding:22px 0;border-bottom:1px solid var(--c-border,var(--line));background:none}
.ex-site .cx-highlights-briefing .ex-highlights article>span{font:600 .8rem system-ui;color:var(--c-accent,var(--accent));padding-top:5px}
.ex-site .cx-highlights-numbered .ex-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.ex-site .cx-highlights-numbered .ex-highlights article{padding:24px 0;background:none;border-top:2px solid var(--c-accent,var(--accent))}
.ex-site .cx-highlights-numbered .ex-highlights article>span{font:300 3.4rem/1 system-ui;color:var(--c-accent,var(--accent));letter-spacing:-.075em;flex:none}
/* Included and excluded panels have separate palettes. */
.ex-site .ex-inclusions :is(.ex-included,.ex-excluded){background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));border-color:var(--c-border,var(--line))}
.ex-site .ex-inclusions [style*="--c-text"] :is(h3,li){color:var(--c-text)}
.ex-site .ex-inclusions [style*="--c-accent"] h3 span{color:var(--c-accent)}
.ex-site :is(.cx-inclusions-contrast,.cx-inclusions-checklist,.cx-inclusions-accordion) .ex-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:0;background:none;padding:0}
.ex-site :is(.cx-inclusions-contrast,.cx-inclusions-checklist,.cx-inclusions-accordion) .ex-inclusions>section{padding:26px;border:1px solid var(--c-border,var(--line));border-radius:10px;margin:0}
.ex-site .cx-inclusions-contrast .ex-included{border-top:5px solid var(--c-accent,#087457)!important}
.ex-site .cx-inclusions-contrast .ex-excluded{border-top:5px solid var(--c-accent,#a64d34)!important}
.ex-site :is(.cx-inclusions-contrast,.cx-inclusions-checklist,.cx-inclusions-accordion) .ex-inclusions h3{font:750 1.05rem/1.3 system-ui;display:flex;align-items:center;gap:12px}
.ex-site :is(.cx-inclusions-contrast,.cx-inclusions-checklist,.cx-inclusions-accordion) .ex-inclusions ul{padding:0;margin:20px 0 0;list-style:none}
.ex-site :is(.cx-inclusions-contrast,.cx-inclusions-checklist,.cx-inclusions-accordion) .ex-inclusions li{position:relative;padding:12px 0 12px 22px;font-size:.85rem;border-bottom:1px solid var(--c-border,var(--line));line-height:1.65}
.ex-site :is(.cx-inclusions-contrast,.cx-inclusions-checklist,.cx-inclusions-accordion) .ex-included li:before{content:'✓';position:absolute;left:0;color:var(--c-accent,#087457);font-weight:700}
.ex-site :is(.cx-inclusions-contrast,.cx-inclusions-checklist,.cx-inclusions-accordion) .ex-excluded li:before{content:'−';position:absolute;left:0;color:var(--c-accent,#a64d34);font-weight:700}
.ex-site .cx-inclusions-checklist .ex-inclusions{grid-template-columns:1fr;gap:0;border-block:1px solid var(--line)}
.ex-site .cx-inclusions-checklist .ex-inclusions>section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;border:0;border-bottom:1px solid var(--c-border,var(--line));border-radius:0;padding:25px 0;background:var(--c-background,transparent)}
.ex-site .cx-inclusions-checklist .ex-inclusions ul{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.ex-site .cx-inclusions-accordion .ex-inclusions{grid-template-columns:1fr;gap:12px}
.ex-site .cx-inclusions-accordion details{border:1px solid var(--c-border,var(--line));border-radius:9px;padding:0 24px}
.ex-site .cx-inclusions-accordion summary{padding:22px 0;display:flex;justify-content:space-between;gap:18px;cursor:pointer;list-style:none}
.ex-site .cx-inclusions-accordion summary::-webkit-details-marker{display:none}
.ex-site .cx-inclusions-accordion .ex-inclusions ul{margin:0 0 20px}
/* Three itinerary arrangements. */
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-itinerary{display:block;border:0;background:none;padding:0;list-style:none}
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-itinerary>li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:28px;padding:0 0 35px;border:0;position:relative;margin:0}
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-step-marker{position:relative;display:flex;flex-direction:column;gap:13px;align-items:flex-start;border:0;background:none;color:var(--c-accent,var(--accent));padding:0;transform:none;z-index:1}
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-step-marker>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font:750 .9rem system-ui;background:var(--c-accent,var(--accent));color:var(--on-accent)}
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-step-marker>strong{font:700 .75rem/1.4 system-ui;letter-spacing:0}
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-step-copy{padding:26px;border:1px solid var(--c-border,var(--line));background:var(--c-background,var(--surface));border-radius:10px;color:var(--c-text,var(--ink))}
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-step-copy h3{font:750 1.16rem/1.3 system-ui;color:inherit}
.ex-site :is(.cx-itinerary-timeline,.cx-itinerary-schedule) .ex-step-copy p{font-size:.9rem;line-height:1.85;color:var(--c-muted,var(--muted));margin-top:12px}
.ex-site .cx-itinerary-timeline .ex-itinerary>li:not(:last-child):before{content:'';position:absolute;left:21px;top:44px;bottom:0;border-left:1px solid var(--c-border,var(--line))}
.ex-site .cx-itinerary-timeline .ex-step-marker>strong{padding:5px;background:var(--paper);max-width:105px}
.ex-site .cx-itinerary-schedule .ex-itinerary>li{grid-template-columns:150px minmax(0,1fr);gap:0;padding:0;border-bottom:1px solid var(--c-border,var(--line))}
.ex-site .cx-itinerary-schedule .ex-step-marker{background:var(--c-background,var(--wash));padding:26px;flex-direction:column-reverse;justify-content:flex-end}
.ex-site .cx-itinerary-schedule .ex-step-marker>span{background:none;color:var(--c-accent,var(--accent));width:auto;height:auto;font:600 .7rem system-ui}
.ex-site .cx-itinerary-schedule .ex-step-marker>strong{font:750 1.2rem/1.4 system-ui}
.ex-site .cx-itinerary-schedule .ex-step-copy{border:0;border-radius:0;background:var(--c-background,transparent)}
.ex-site .cx-itinerary-chapters details{border:1px solid var(--c-border,var(--line));border-radius:9px;background:var(--c-background,var(--surface));margin:13px 0;overflow:hidden}
.ex-site .cx-itinerary-chapters summary{display:flex;align-items:center;gap:22px;padding:23px;cursor:pointer;list-style:none;color:var(--c-text,var(--ink))}
.ex-site .cx-itinerary-chapters summary::-webkit-details-marker{display:none}
.ex-site .cx-chapter-number{font:300 2.5rem/1 system-ui;letter-spacing:-.05em;color:var(--c-accent,var(--accent))}
.ex-site .cx-itinerary-chapters summary small{display:block;font-size:.72rem;font-weight:650;color:var(--c-muted,var(--muted));margin-bottom:4px}
.ex-site .cx-itinerary-chapters summary strong{font-size:1.03rem}
.ex-site .cx-itinerary-chapters summary b{margin-left:auto;font-size:1.3rem;font-weight:400}
.ex-site .cx-itinerary-chapters details[open] summary b{transform:rotate(45deg)}
.ex-site .cx-itinerary-chapters details>div{padding:0 26px 26px 85px;font-size:.9rem;line-height:1.85;color:var(--c-muted,var(--muted))}
.ex-site :is(.cx-itinerary-chapters,.cx-itinerary-timeline,.cx-itinerary-schedule) aside{display:block;padding:15px 18px;margin-top:18px;border-left:3px solid var(--c-accent,var(--accent));background:var(--wash);font-size:.8rem;color:var(--c-muted,var(--muted))}
.ex-site :is(.cx-itinerary-chapters,.cx-itinerary-timeline,.cx-itinerary-schedule) aside strong{display:block;margin-bottom:5px;color:var(--c-text,var(--ink))}
/* Starting price can sit opposite the title. */
.ex-site .cx-price-auto>.cx-title-copy{display:contents}
.ex-site .ex-tour-title:not(.cx-price-auto){container-type:inline-size;text-align:left;gap:32px}
.ex-site :is(.cx-price-title-side,.cx-price-signature){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(200px,.38fr);align-items:center}
.ex-site :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price{display:block;margin:0;padding:26px;border:1px solid var(--c-border,var(--line));border-top:4px solid var(--c-accent,var(--accent));background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));border-radius:8px}
.ex-site :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price .ex-button{width:100%;margin-top:22px}
.ex-site .cx-price-banner{display:block!important}
.ex-site .cx-price-banner>.ex-tour-price{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 30px;margin:30px 0 0;background:var(--c-background,var(--accent));color:var(--c-text,var(--on-accent));border:0;border-radius:6px}
.ex-site .cx-price-banner>.ex-tour-price>div{display:grid;grid-template-columns:auto auto;gap:2px 24px;align-items:center}
.ex-site .cx-price-banner>.ex-tour-price strong{grid-column:2;grid-row:1/3;color:inherit}
.ex-site .cx-price-banner>.ex-tour-price .ex-button{background:var(--c-button,var(--surface));color:var(--c-button-text,var(--ink))!important}
.ex-site .cx-price-compact{display:grid!important;grid-template-columns:minmax(0,1fr) 230px;align-items:end}
.ex-site .cx-price-compact>.ex-tour-price{display:block;padding:20px 0 20px 24px;margin:0;border:0;border-left:2px solid var(--c-accent,var(--accent));border-radius:0;background:var(--c-background,transparent)}
.ex-site .cx-price-compact>.ex-tour-price .ex-button{margin-top:16px;font-size:.75rem}
.ex-site .ex-tour-price[style*="--c-text"] :is(strong,span,small){color:var(--c-text)!important}
.ex-site .ex-tour-price:not([style*="--c-text"]) strong{color:inherit}
.ex-site .ex-tour-price[style*="--c-accent"] strong{color:var(--c-accent)!important}
/* Shared dynamic form controls and the three new booking compositions. */
.ex-site .cx-form-group{display:contents;border:0;margin:0;padding:0;min-width:0}
.ex-site .cx-form-group>legend{font:750 .85rem system-ui;grid-column:1/-1;width:100%;margin:10px 0 0;padding:0}
.ex-site .cx-form-auto .cx-form-group>legend{display:none}
.ex-site .cx-capacity{grid-column:1/-1;font-size:.72rem;color:var(--c-muted,var(--muted));padding:10px 0;border-block:1px solid var(--c-border,var(--line))}
.ex-site .cx-ages{border:0;margin:0;padding:0;min-width:0}
.ex-site .cx-ages legend{font:700 .75rem system-ui;margin:0 0 10px;padding:0;color:var(--c-text,var(--ink))}
.ex-site [data-age-fields]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ex-site .form-field label>small{display:block;font-size:.65rem;font-weight:500;margin-top:3px;color:var(--c-muted,var(--muted))}
.ex-site .cx-age-note,.ex-site .cx-meeting-detail{font-size:.73rem;color:var(--c-muted,var(--muted));line-height:1.65;margin-top:7px}
.ex-site .cx-form-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}
.ex-site .cx-form-actions .booking-submit{flex:1;margin:0}
.ex-site .cx-step-back{border:1px solid var(--c-border,var(--line));background:none;color:var(--c-text,var(--ink));padding:12px;font-size:.75rem;cursor:pointer}
.ex-site .cx-form-error,.ex-site .cx-client-error{grid-column:1/-1;background:#fff0eb;color:#8b311b;border:1px solid #e5b2a4;padding:15px;font-size:.8rem;border-radius:6px}
.ex-site .cx-form-error p{margin-top:5px}
.ex-site .booking-fields [aria-invalid=true]{border-color:#b8472b!important}
.ex-site .cx-form-progress{grid-column:1/-1;display:flex;gap:12px;border-bottom:1px solid var(--c-border,var(--line));padding-bottom:18px}
.ex-site .cx-form-progress button{display:flex;gap:8px;align-items:center;background:none;border:0;font:650 .72rem system-ui;color:var(--c-muted,var(--muted));cursor:pointer;padding:0;text-align:left}
.ex-site .cx-form-progress button>span{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;border:1px solid var(--c-border,var(--line))}
.ex-site .cx-form-progress [aria-current=step]{color:var(--c-accent,var(--accent))}
.ex-site .cx-form-progress [aria-current=step]>span{background:var(--c-accent,var(--accent));color:var(--on-accent);border-color:var(--c-accent,var(--accent))}
.ex-site .ex-booking:not(.cx-booking-auto){display:block;border:1px solid var(--c-border,var(--line));border-radius:12px;overflow:hidden;background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));box-shadow:0 12px 40px #17303c0c}
.ex-site .ex-booking:not(.cx-booking-auto) .ex-booking-head{padding:28px;text-align:left;background:var(--c-background,var(--surface));border:0;border-bottom:1px solid var(--c-border,var(--line));color:inherit}
.ex-site .ex-booking:not(.cx-booking-auto) .ex-booking-head :is(h2,strong){color:var(--c-text,var(--ink))}
.ex-site .ex-booking:not(.cx-booking-auto) .ex-booking-price>strong{color:var(--c-accent,var(--accent));font:800 2.4rem/1.2 system-ui;letter-spacing:-.055em}
.ex-site .ex-booking:not(.cx-booking-auto) .ex-booking-head :is(p,small,.ex-booking-price>span){color:var(--c-muted,var(--muted))}
.ex-site .ex-booking:not(.cx-booking-auto) .booking-fields{padding:26px;gap:18px 14px;display:grid;grid-template-columns:1fr 1fr;background:transparent}
.ex-site .ex-booking:not(.cx-booking-auto) .form-tour-label{padding:0 0 16px;border:0;border-bottom:1px solid var(--c-border,var(--line));background:transparent}
.ex-site .ex-booking:not(.cx-booking-auto) .form-tour-label>span{font-size:.65rem;color:var(--c-muted,var(--muted))}
.ex-site .ex-booking:not(.cx-booking-auto) .form-tour-label strong{font-size:.82rem;color:var(--c-text,var(--ink))}
.ex-site .ex-booking:not(.cx-booking-auto) .form-tour-label em{display:none}
.ex-site .ex-booking:not(.cx-booking-auto) .form-field :is(input,select,textarea){border:1px solid var(--c-border,var(--line));border-radius:6px;background:var(--c-background,var(--surface));color:var(--c-text,var(--ink));width:100%;min-width:0;padding:12px;font-size:.83rem;box-shadow:none}
.ex-site .ex-booking:not(.cx-booking-auto) .form-field :is(input,select,textarea):focus{outline:2px solid var(--c-accent,var(--accent));outline-offset:2px}
.ex-site .ex-booking:not(.cx-booking-auto) .booking-submit{background:var(--c-button,var(--site-button,var(--accent)));color:var(--c-button-text,var(--site-button-text,var(--on-accent)))!important;border-radius:6px;min-height:50px;font:700 .85rem system-ui}
.ex-site .cx-booking-concierge{border-top:4px solid var(--c-accent,var(--accent))!important}
.ex-site .ex-home-landing>.cx-booking-concierge{display:grid;grid-template-columns:.7fr 1.3fr}
.ex-site .ex-home-landing>.cx-booking-concierge>.ex-booking-head{padding:40px;border:0;border-right:1px solid var(--c-border,var(--line))}
.ex-site .cx-booking-reservation{border-radius:0!important;border-inline:0!important;border-top:3px solid var(--c-accent,var(--accent))!important;box-shadow:none!important}
.ex-site .cx-booking-reservation .ex-booking-head{display:grid;grid-template-columns:1fr auto;column-gap:20px;padding-bottom:22px!important;border-bottom:1px dashed var(--c-border,var(--line))!important}
.ex-site .cx-booking-reservation .ex-booking-head>.ex-kicker{grid-column:1;align-self:center}
.ex-site .cx-booking-reservation .ex-booking-price{grid-column:2;grid-row:1/3;padding:0;text-align:right}
.ex-site .cx-booking-reservation .ex-booking-head>h2{grid-column:1;margin:0;font-size:1.1rem}
.ex-site .cx-booking-reservation .ex-booking-head>:is(.ex-traveller-prices,p:last-child){grid-column:1/-1}
.ex-site .cx-booking-reservation .cx-form-group>legend{border-left:3px solid var(--c-accent,var(--accent));padding:7px 10px;background:var(--wash)}
.ex-site .cx-booking-guided{border:2px solid var(--c-border,var(--line))!important;border-radius:16px!important}
.ex-site .cx-booking-guided .ex-booking-head{padding-bottom:24px!important}
.ex-site .cx-booking-guided .cx-form-group{display:grid;grid-template-columns:1fr 1fr;gap:16px;grid-column:1/-1}
.ex-site .cx-booking-guided .cx-form-group>legend{display:block;margin:0 0 16px}
.ex-site .cx-booking-guided .cx-form-progress{padding-bottom:22px}
.ex-site .cx-booking-guided .cx-form-progress button{flex:1}
.ex-site .cx-booking-guided .cx-form-progress button>span{width:32px;height:32px}
/* Three reusable headers. */
.ex-site .cx-header{border-bottom:1px solid color-mix(in srgb,var(--site-header-text) 14%,transparent);box-shadow:none;z-index:50}
.ex-site .cx-header>.site-shell{display:block;max-width:none;width:min(1400px,calc(100% - 64px));padding:0}
.ex-site .cx-header .site-logo{max-width:370px;min-width:0;display:flex;align-items:center}
.ex-site .cx-header .site-logo span{font:800 clamp(1.15rem,2vw,1.5rem)/1.15 system-ui;letter-spacing:-.035em;color:var(--site-header-text);white-space:normal}
.ex-site .cx-header .site-logo img{max-width:100%;object-fit:contain;object-position:left}
.ex-site .cx-header .site-desktop-nav{position:static;display:flex;gap:24px;align-items:center;min-width:0;flex-wrap:wrap}
.ex-site .cx-header .site-desktop-nav>a:not(.site-header-cta),.ex-site .cx-header .site-mega-nav>summary{font-size:.8rem;font-weight:650;padding:12px 0;color:var(--site-header-text)}
.ex-site .cx-header .site-header-cta{display:inline-flex;gap:20px;align-items:center;text-decoration:none;border-radius:5px;white-space:nowrap}
.ex-site .cx-header .site-mega-panel{z-index:90;background:var(--site-header-bg);color:var(--site-header-text);border-color:var(--site-header-accent);box-shadow:0 15px 50px #112b3926}
.ex-site .cx-header .site-mega-column a,.ex-site .cx-header .site-mega-column strong{color:var(--site-header-text)}
.ex-site .cx-masthead{display:flex;flex-direction:column;align-items:center;gap:5px;padding:22px 0 18px}
.ex-site .cx-masthead>p{font-size:.67rem;text-transform:uppercase;letter-spacing:.17em;color:var(--site-header-accent)}
.ex-site .cx-header-centred .cx-navigation-row{display:flex;justify-content:center;align-items:center;gap:34px;border-top:1px solid color-mix(in srgb,var(--site-header-text) 14%,transparent);padding:8px 0}
.ex-site .cx-header-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}
.ex-site .cx-header-direct{display:flex;align-items:center;gap:28px;font-size:.8rem}
.ex-site .cx-header-direct>a:not(.site-header-cta){color:var(--site-header-text);text-decoration:none}
.ex-site .cx-header-split .cx-navigation-row{padding:7px 0;border-top:1px solid color-mix(in srgb,var(--site-header-text) 14%,transparent)}
.ex-site .cx-header-split .site-desktop-nav{justify-content:flex-start}
.ex-site .cx-header-contained{padding:13px 0;background:var(--site-header-bg);border:0}
.ex-site .cx-header-frame{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:15px 22px;border:1px solid color-mix(in srgb,var(--site-header-text) 22%,transparent);border-radius:12px}
.ex-site .cx-header-contained .site-desktop-nav{justify-content:center}
.ex-site .cx-header-action{border-left:1px solid color-mix(in srgb,var(--site-header-text) 20%,transparent);padding-left:20px}
/* Three reusable footers, preserving every configured column. */
.ex-site .cx-footer{background:var(--site-footer-bg);color:var(--site-footer-text);padding:0;border-radius:0;font-size:.85rem}
.ex-site .cx-footer>.site-shell{padding:58px 0 0}
.ex-site .cx-footer-main{display:block}
.ex-site .cx-footer-eyebrow{font:650 .68rem system-ui;text-transform:uppercase;letter-spacing:.16em;color:var(--site-footer-accent);margin-bottom:15px}
.ex-site .cx-footer .site-footer-brand{font:750 clamp(1.65rem,3.4vw,3rem)/1.15 system-ui;letter-spacing:-.045em;color:var(--site-footer-text)}
.ex-site .cx-footer .site-footer-intro{max-width:520px;font-size:.85rem;line-height:1.85;margin-top:15px;color:var(--site-footer-text);opacity:.8}
.ex-site .cx-footer .site-footer-plan{display:inline-flex;align-items:center;gap:35px;color:var(--site-footer-accent);border:1px solid currentColor;padding:12px 17px;text-decoration:none;margin-top:22px;border-radius:5px}
.ex-site .cx-footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:30px;padding:32px 0}
.ex-site .cx-footer-columns :is(h2,summary){font:750 .78rem/1.5 system-ui;color:var(--site-footer-accent);letter-spacing:0;margin:0 0 16px}
.ex-site .cx-footer-columns ul{list-style:none;margin:0;padding:0}
.ex-site .cx-footer-columns li{margin:0 0 10px}
.ex-site .cx-footer-columns a{color:var(--site-footer-text);font-size:.75rem;text-decoration:none;line-height:1.65}
.ex-site .cx-footer-columns a:hover{text-decoration:underline;text-underline-offset:4px}
.ex-site .cx-footer-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;padding:25px 0;border-block:1px solid color-mix(in srgb,var(--site-footer-text) 22%,transparent);font-style:normal}
.ex-site .cx-footer-contact>a{text-decoration:none;color:inherit}
.ex-site .cx-footer-contact :is(span,strong){display:block;overflow-wrap:anywhere}
.ex-site .cx-footer-contact span{font-size:.65rem;color:var(--site-footer-accent);margin-bottom:7px}
.ex-site .cx-footer-contact strong{font-size:.77rem;font-weight:550}
.ex-site .cx-footer .site-footer-bottom{border:0;max-width:none;padding:22px 0;color:var(--site-footer-text);opacity:.75;font-size:.65rem}
.ex-site .cx-footer .site-verification{padding:18px 0;display:flex;gap:20px;flex-wrap:wrap;color:var(--site-footer-text);font-size:.7rem}
.ex-site .cx-footer-directory .cx-footer-brand{display:grid;grid-template-columns:1fr auto;gap:8px 45px;border-bottom:1px solid color-mix(in srgb,var(--site-footer-text) 22%,transparent);padding-bottom:32px}
.ex-site .cx-footer-directory .site-footer-intro{grid-column:1;margin:0}
.ex-site .cx-footer-directory .site-footer-plan{grid-column:2;grid-row:1/4;align-self:center}
.ex-site .cx-footer-editorial .cx-footer-main{display:grid;grid-template-columns:.8fr 1.5fr;gap:70px;padding-bottom:40px}
.ex-site .cx-footer-editorial .cx-footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}
.ex-site .cx-footer-editorial .cx-footer-brand{padding-right:35px;border-right:1px solid color-mix(in srgb,var(--site-footer-text) 22%,transparent)}
.ex-site .cx-footer-editorial .site-footer-brand{font-family:var(--display);font-size:clamp(2rem,4vw,4rem);font-weight:500}
.ex-site .cx-footer-compact>.site-shell{padding-top:30px}
.ex-site .cx-footer-compact .cx-footer-brand{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:24px;border-bottom:1px solid color-mix(in srgb,var(--site-footer-text) 22%,transparent)}
.ex-site .cx-footer-compact .cx-footer-eyebrow{display:none}
.ex-site .cx-footer-compact .site-footer-brand{font-size:1.5rem;max-width:250px}
.ex-site .cx-footer-compact .site-footer-intro{margin:0;max-width:430px;font-size:.75rem}
.ex-site .cx-footer-compact .site-footer-plan{margin:0;font-size:.7rem;flex:none}
.ex-site .cx-footer-compact summary{cursor:pointer;display:flex;gap:20px;justify-content:space-between;list-style:none}
.ex-site .cx-footer-compact summary::-webkit-details-marker{display:none}
.ex-site .cx-footer-compact details[open] summary>span{transform:rotate(45deg)}
/* Clear focus, resilient small screens and reduced motion. */
.ex-site :is(.cx-footer,.cx-header,.ex-card-custom) :focus-visible{outline:3px solid var(--c-accent,var(--accent));outline-offset:4px}
@media(min-width:1101px){.ex-site .cx-header .site-mobile-nav{display:none}}
@media(max-width:1100px){
 .ex-site .ex-grid-split-summary{grid-template-columns:1fr!important}
 .ex-site .ex-grid-portrait-plus,.ex-site .ex-grid-rate-sheet{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ex-site .cx-header .site-desktop-nav,.ex-site .cx-header .cx-navigation-row,.ex-site .cx-header .cx-header-direct,.ex-site .cx-header .cx-header-action{display:none}
 .ex-site .cx-header .site-mobile-nav{display:block;position:static}
 .ex-site .cx-header .site-mobile-nav>nav{top:100%;background:var(--site-header-bg);color:var(--site-header-text);border-color:var(--site-header-accent);z-index:100;max-height:70vh;overflow:auto}
 .ex-site .cx-header .site-mobile-nav a,.ex-site .cx-header .site-mobile-nav strong{color:var(--site-header-text)}
 .ex-site .cx-header .site-mobile-nav .site-header-cta{color:var(--site-cta-text)}
 .ex-site .cx-header .cx-masthead,.ex-site .cx-header .cx-header-top,.ex-site .cx-header .cx-header-frame{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-block:15px}
 .ex-site .cx-masthead>p{display:none}
 .ex-site .cx-facts-band{grid-template-columns:1fr}
 .ex-site .cx-facts-band>header{border-right:0!important;border-bottom:1px solid currentColor!important;padding:0 0 18px!important}
 .ex-site .cx-footer-editorial .cx-footer-main{grid-template-columns:1fr;gap:30px}
 .ex-site .cx-footer-editorial .cx-footer-brand{border:0;padding:0}
}
@media(max-width:820px){
 .ex-site :is(:is(.cx-price-title-side,.cx-price-signature),.cx-price-compact){display:block!important}
 .ex-site :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price,.ex-site .cx-price-compact>.ex-tour-price{margin-top:25px;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:22px}
 .ex-site :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price .ex-button,.ex-site .cx-price-compact>.ex-tour-price .ex-button{width:auto;margin:0}
 .ex-site .cx-price-banner>.ex-tour-price>div{display:block}
 .ex-site .cx-facts-ledger{grid-template-columns:1fr;gap:0}
 .ex-site .ex-home-landing>.cx-booking-concierge{display:block}
 .ex-site .cx-inclusions-checklist .ex-inclusions>section{grid-template-columns:1fr;gap:10px}
 .ex-site .cx-gallery-override .ex-gallery,.ex-site .ex-gallery-duo{width:100%!important;margin:0!important}
 .ex-site .ex-gallery-duo>.ex-thumbs{grid-template-columns:1fr}
 .ex-site .cx-footer-compact .cx-footer-brand{flex-wrap:wrap;gap:18px}
}
@media(max-width:560px){
 .ex-site .ex-grid-portrait-plus,.ex-site .ex-grid-rate-sheet{grid-template-columns:1fr!important}
 .ex-site .ex-card-split-summary{grid-template-columns:1fr}
 .ex-site .ex-card-split-summary>.ex-card-photo{height:220px}
 .ex-site .cx-portrait-media{height:330px}
 .ex-site .ex-gallery-duo{display:block!important;padding:8px!important}
 .ex-site .ex-gallery-duo>.ex-gallery-stage{height:340px}
 .ex-site .ex-gallery-duo>.ex-thumbs{display:flex!important;flex-direction:row;gap:8px;padding:10px 0 0!important;overflow:auto}
 .ex-site .ex-gallery-duo>.ex-thumbs button{flex:0 0 78px;height:65px;min-height:65px}
 .ex-site .ex-gallery-stack{padding:16px 12px 0!important}
 .ex-site .ex-gallery-stack>.ex-gallery-stage{height:320px}
 .ex-site .ex-gallery-stack>.ex-thumbs{justify-content:flex-start}
 .ex-site .ex-facts:not(.cx-facts-auto){padding:23px}
 .ex-site .ex-facts:not(.cx-facts-auto)>dl{grid-template-columns:1fr 1fr}
 .ex-site .ex-facts:not(.cx-facts-auto) dl>div{padding:15px 10px}
 .ex-site .cx-facts-ledger dl>div{grid-template-columns:24px 1fr;gap:7px 12px}
 .ex-site .cx-facts-ledger dd{grid-column:2}
 .ex-site .cx-highlights-tiles .ex-highlights,.ex-site .cx-highlights-numbered .ex-highlights,.ex-site .cx-inclusions-contrast .ex-inclusions{grid-template-columns:1fr}
 .ex-site .cx-inclusions-checklist .ex-inclusions ul{grid-template-columns:1fr}
 .ex-site .cx-itinerary-timeline .ex-itinerary>li{grid-template-columns:65px minmax(0,1fr);gap:10px}
 .ex-site .cx-itinerary-timeline .ex-step-copy{padding:18px}
 .ex-site .cx-itinerary-schedule .ex-itinerary>li{grid-template-columns:85px minmax(0,1fr)}
 .ex-site .cx-itinerary-schedule .ex-step-marker{padding:20px 10px}
 .ex-site .cx-itinerary-schedule .ex-step-marker>strong{font-size:.9rem}
 .ex-site .cx-itinerary-schedule .ex-step-copy{padding:20px 16px}
 .ex-site .cx-itinerary-chapters summary{padding:20px 16px;gap:14px}
 .ex-site .cx-itinerary-chapters details>div{padding:0 20px 22px}
 .ex-site :is(:is(.cx-price-title-side,.cx-price-signature),.cx-price-compact,.cx-price-banner)>.ex-tour-price{display:block}
 .ex-site :is(:is(.cx-price-title-side,.cx-price-signature),.cx-price-compact,.cx-price-banner)>.ex-tour-price .ex-button{width:100%;margin-top:18px}
 .ex-site .cx-header>.site-shell{width:calc(100% - 28px)}
 .ex-site .cx-header .site-logo{max-width:65%}
 .ex-site .cx-header-frame{padding-inline:14px}
 .ex-site .cx-footer-columns,.ex-site .cx-footer-editorial .cx-footer-columns{grid-template-columns:1fr 1fr;gap:22px}
 .ex-site .cx-footer-directory .cx-footer-brand{display:block}
 .ex-site .cx-footer-directory .site-footer-intro{margin-top:15px}
 .ex-site .cx-footer-compact .cx-footer-columns{grid-template-columns:1fr;gap:0}
 .ex-site .cx-footer-compact details{padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--site-footer-text) 20%,transparent)}
 .ex-site .cx-footer-contact{grid-template-columns:1fr 1fr}
 .ex-site .cx-booking-reservation .ex-booking-head{display:block}
 .ex-site .cx-booking-reservation .ex-booking-price{text-align:left;margin-top:12px}
 .ex-site .ex-booking:not(.cx-booking-auto) .booking-fields{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){.ex-site .ex-card-custom .ex-card-photo img{transition:none}}
/* Full-width editorial structure, inspired by the river-tour reference. */
.ex-site .cx-body-editorial{display:block!important}
.ex-site .cx-body-editorial>.ex-tour-story{display:grid;grid-template-columns:1fr 1fr;gap:25px 50px}
.ex-site .cx-body-editorial .ex-tour-story>.ex-section-description{grid-column:1/-1;max-width:940px}
.ex-site .cx-body-editorial .ex-tour-story>.ex-section-highlights{grid-column:1;margin:0}
.ex-site .cx-body-editorial .ex-tour-story>.ex-section-inclusions{grid-column:2;margin:0}
.ex-site .cx-body-editorial .ex-tour-story>:is(.ex-section-itinerary,.ex-section-addons,.ex-section-faq,.ex-policies,.ex-map){grid-column:1/-1}
.ex-site .cx-body-editorial .ex-tour-booking{position:static;width:100%;max-width:none;margin:40px 0}
.ex-site .cx-body-editorial .ex-booking{display:grid;grid-template-columns:.65fr 1.35fr}
.ex-site .cx-body-editorial .ex-booking>.ex-booking-head{padding:40px;border-right:1px solid var(--line)}
.ex-site .cx-body-editorial .ex-policies{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.ex-site .cx-photo-plan{list-style:none;padding:0;margin:28px 0;display:grid;gap:65px}
.ex-site .cx-photo-plan>li{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:0;border:0}
.ex-site .cx-photo-plan>li:nth-child(even)>.cx-photo-plan-copy{grid-column:2;grid-row:1}
.ex-site .cx-photo-plan>li:nth-child(even)>figure{grid-column:1;grid-row:1}
.ex-site .cx-photo-plan>li.text-only{grid-template-columns:1fr;border-top:1px solid var(--c-border,var(--line));padding-top:30px}
.ex-site .cx-photo-plan>li.text-only>.cx-photo-plan-copy{grid-column:1;grid-row:auto;max-width:900px}
.ex-site .cx-photo-plan-number{display:block;font:350 clamp(3rem,6vw,5rem)/1 system-ui;color:var(--c-accent,var(--accent));letter-spacing:-.065em;margin-bottom:20px}
.ex-site .cx-photo-plan h3{font:650 clamp(1.4rem,2.7vw,2.25rem)/1.2 var(--display);color:var(--c-text,var(--ink));margin:8px 0 18px;letter-spacing:-.03em}
.ex-site .cx-photo-plan-copy>p:not(.ex-kicker){font-size:.95rem;line-height:1.9;color:var(--c-muted,var(--muted))}
.ex-site .cx-photo-plan figure{aspect-ratio:1.2;overflow:hidden}
.ex-site .cx-photo-plan figure img{width:100%;height:100%;object-fit:cover;display:block}
.ex-site .cx-photo-plan aside{font-size:.8rem;margin-top:22px;padding:16px 18px;border-left:3px solid var(--c-accent,var(--accent));background:var(--wash);color:var(--c-muted,var(--muted))}
.ex-site .cx-photo-plan aside strong{display:block;color:var(--c-text,var(--ink));margin-bottom:5px}
@media(max-width:820px){.ex-site .cx-body-editorial>.ex-tour-story,.ex-site .cx-body-editorial .ex-booking,.ex-site .cx-body-editorial .ex-policies{display:block}.ex-site .cx-body-editorial .ex-tour-story>.ex-detail-section{margin-bottom:38px}.ex-site .cx-body-editorial .ex-booking>.ex-booking-head{border-right:0}.ex-site .cx-photo-plan{gap:45px}.ex-site .cx-photo-plan>li{grid-template-columns:1fr;gap:25px}.ex-site .cx-photo-plan>li:nth-child(even)>.cx-photo-plan-copy,.ex-site .cx-photo-plan>li:nth-child(even)>figure{grid-column:1;grid-row:auto}.ex-site .cx-photo-plan figure{aspect-ratio:1.35}}

.ex-site .site-footer .site-footer-plan{background:var(--site-footer-button,var(--site-footer-accent));color:var(--site-footer-button-text,var(--site-footer-bg));border-color:var(--site-footer-button,var(--site-footer-accent))}

/* Keep custom palettes visible inside components that previously painted their own surface. */
.ex-site .ex-booking[style*="--c-background"] :is(.ex-booking-head,.booking-fields,.form-tour-label){background:var(--c-background)!important}
.ex-site .ex-card[style*="--c-background"] .ex-card-purchase{background:var(--c-background)!important}
.ex-site .ex-booking[style*="--c-text"] :is(input,select,textarea,.ex-traveller-prices dd){color:var(--c-text)!important}
.ex-site .ex-booking[style*="--c-border"] :is(input,select,textarea,.form-tour-label){border-color:var(--c-border)!important}
.ex-site .ex-booking[style*="--c-background"] :is(input,select,textarea){background:var(--c-background)!important}
.ex-site .ex-tour-price[style*="--c-background"]{background:var(--c-background)!important}
.ex-site .ex-tour-price[style*="--c-muted"] :is(small,span){color:var(--c-muted)!important}
.ex-site .ex-hero[style*="--c-text"] :is(.ex-hero-copy,.ex-hero-intro,.ex-hero-note){color:var(--c-text)!important}
.ex-site .ex-hero[style*="--c-muted"] .ex-hero-intro{color:var(--c-muted)!important}
.ex-site .ex-detail-section[style*="--c-text"] :is(summary,.ex-prose){color:var(--c-text)!important}
.ex-site .ex-detail-section[style*="--c-border"] :is(details,article){border-color:var(--c-border)!important}
.ex-site .ex-tour-title:not(.cx-price-auto) h1{font-size:clamp(2rem,3.5vw,3.8rem);overflow-wrap:break-word}
.ex-site .ex-placement-beside_title .ex-tour-title:not(.cx-price-auto){display:block!important}
.ex-site .ex-placement-beside_title .ex-tour-title:not(.cx-price-auto)>.ex-tour-price{margin-top:25px}
.ex-site .ex-placement-beside_title :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price,.ex-site .ex-placement-beside_title .cx-price-compact>.ex-tour-price{display:flex;flex-direction:row;align-items:center;gap:20px}
.ex-site .ex-placement-beside_title :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price .ex-button,.ex-site .ex-placement-beside_title .cx-price-compact>.ex-tour-price .ex-button{width:auto;margin:0;flex:none}
@media(max-width:560px){.ex-site .ex-placement-beside_title :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price,.ex-site .ex-placement-beside_title .cx-price-compact>.ex-tour-price{display:block}.ex-site .ex-placement-beside_title :is(.cx-price-title-side,.cx-price-signature)>.ex-tour-price .ex-button,.ex-site .ex-placement-beside_title .cx-price-compact>.ex-tour-price .ex-button{margin-top:18px;width:100%}}
