/* Full-width welcome banner and its overlapping search panel. */
.home-intro{background:radial-gradient(ellipse at 85% 30%,#f4b94f12,transparent 55%),var(--bg);padding:32px 0 38px;text-align:left}
.home-intro__inner{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px}
.home-intro__eyebrow{display:flex;align-items:center;gap:12px;font:700 10px/1.5 var(--font-body);letter-spacing:.23em;color:var(--heading);margin-bottom:12px}
.home-intro__eyebrow::before{content:'';width:32px;height:2px;background:#c68b25}
.home-intro h1{font-family:'DM Serif Display',serif;font-size:clamp(34px,3.8vw,64px);line-height:1.03;letter-spacing:-.035em;color:var(--heading);margin:0}
.home-intro h1 em{color:#b57b19;font-weight:400}
[data-theme="dark"] .home-intro h1 em{color:#f4b94f}
.home-intro__aside{position:relative;border-left:1px solid #c68b2550;padding:14px 0 14px 30px}
.home-intro__compass{position:absolute;right:0;top:-20px;color:#c68b25;font-size:34px}
.home-intro p{font-size:14px;line-height:1.9;margin:0 0 16px;color:var(--text-soft)}
.home-intro p strong{font-weight:400;color:var(--heading)}
.home-intro__aside a{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:700;color:var(--heading);border-bottom:1px solid #c68b25;padding-bottom:5px}
.home-banner{position:relative;padding-bottom:48px;background:var(--bg)}
.home-banner .mv-slideshow{position:relative;margin:0;border:0;border-radius:0;box-shadow:none;width:100%}
.home-banner .mv-slideshow__stage{width:100%!important;max-width:none!important;aspect-ratio:auto;height:clamp(320px,29vw,550px);max-height:none;background:#09263e}
.home-banner .mv-slideshow__slide{width:100%!important;max-width:none!important;left:0;right:0}
.home-banner .mv-slideshow__slide img{position:relative;width:100%!important;max-width:none!important;height:100%!important;object-fit:contain;object-position:center}
.home-banner .mv-slideshow__slide .mv-slideshow__backdrop{position:absolute;inset:0;object-fit:cover!important;filter:blur(24px) brightness(.65);transform:scale(1.08);pointer-events:none}
.home-banner .mv-slideshow__controls{position:absolute;top:18px;right:24px;padding:8px 12px;border-radius:30px;background:#061f38db;gap:16px}
.home-banner__search{position:relative;z-index:4;margin-top:-68px;max-width:1320px}
.home-banner .home-search{max-width:none;box-shadow:0 16px 40px #061f3820}
.home-banner .home-search__panel{padding:20px}
.home-banner .home-search__tabs{padding:7px}
.home-banner .home-search__tab{min-height:48px}
/* Gallery controls are real buttons, outside any link. */
.offer-gallery{position:relative;display:block;width:100%;height:100%;min-width:0;overflow:hidden;isolation:isolate;aspect-ratio:1;border-radius:inherit;background:#09263e}
.offer-gallery__link{display:block;width:100%;height:100%}
.offer-gallery img{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;position:static!important;transform:none!important;aspect-ratio:auto!important}
.offer-gallery__arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#061f38d9;color:white;font:28px/1 sans-serif;cursor:pointer;display:grid;place-items:center;touch-action:manipulation}
.offer-gallery__arrow.is-prev{left:9px}.offer-gallery__arrow.is-next{right:9px}
.offer-gallery__count{position:absolute;z-index:5;left:50%;bottom:10px;transform:translateX(-50%);border-radius:20px;background:#061f38e6;color:#fff;padding:4px 12px;font:600 12px/1.6 var(--font-body);pointer-events:none}
.offer-gallery button:focus-visible{outline:3px solid #f4b94f;outline-offset:2px}
.offer-gallery__pause{position:absolute;z-index:5;bottom:8px;right:8px;width:36px;height:36px;border:1px solid #ffffff60;border-radius:50%;background:#061f38d9;color:#fff;font-size:16px;cursor:pointer}
.promo-card__media:has(.offer-gallery) .promo-card__shade,.trip-card__media:has(.offer-gallery) .trip-card__shade{display:none}
.trip-card__shade,.promo-card__shade,.hotel-card__shade{pointer-events:none}
.trip-card__media:has(.offer-gallery),.promo-card__media:has(.offer-gallery),.hotel-card__media:has(.offer-gallery){isolation:isolate}
.formation-card>.offer-gallery{height:auto;aspect-ratio:1}
@media(max-width:767px){
 .home-intro{padding:23px 0 26px}.home-intro__inner{grid-template-columns:1fr;gap:18px}.home-intro h1{font-size:36px}.home-intro p{font-size:12px;line-height:1.7;margin-bottom:10px}.home-intro__aside{padding:0;border:0}.home-intro__compass{right:10px;top:-56px;font-size:26px}.home-intro__eyebrow{font-size:9px;margin-bottom:10px}.home-intro__aside a{font-size:11px}
 .home-banner .mv-slideshow__stage{aspect-ratio:16/9;height:auto;max-height:none}
 .home-banner .mv-slideshow__slide img{object-fit:contain}
 .home-banner .mv-slideshow__controls{position:static;border-radius:0;padding:10px 16px 35px;gap:8px;flex-wrap:nowrap}
 .home-banner .mv-slideshow__caption{gap:8px;font-size:10px;min-width:0}.home-banner .mv-slideshow__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .home-banner .mv-slideshow__buttons{gap:4px}.home-banner .mv-slideshow__buttons button{min-width:36px;min-height:36px;padding:7px 9px}
 .home-banner__search{margin-top:-22px;width:calc(100% - 24px);padding:0}
 .home-banner .home-search__tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .home-banner .home-search__tab{font-size:12px;min-height:42px;padding:8px}
 .home-banner .home-search__panel{padding:14px}.home-banner .home-search__fields{grid-template-columns:minmax(0,1fr);gap:10px}
 .home-banner .home-search__field{min-width:0}.home-banner .home-search__swap{display:none}
 .home-banner{padding-bottom:28px}
 body :is(.flight-hero,.hotel-hero,.trips-hero,.promo-hero,.visa-hero,.services-hero,.contact-hero,.journal-hero,.formation-hero){min-height:0!important;height:auto!important;padding:36px 0 30px!important;overflow:hidden}
 body :is(.flight-hero,.hotel-hero,.trips-hero,.promo-hero,.visa-hero,.services-hero,.contact-hero,.journal-hero,.formation-hero) h1{font-size:clamp(30px,8vw,40px)!important;line-height:1.14!important;letter-spacing:-.025em!important;overflow-wrap:break-word;margin-top:14px!important}
 body :is(.flight-hero,.hotel-hero,.trips-hero,.promo-hero,.visa-hero,.services-hero,.contact-hero,.journal-hero,.formation-hero) h1 :is(span,em){font-size:inherit!important;line-height:inherit!important}
 body [class*="hero__container"]{min-height:0!important;padding-top:0!important;padding-bottom:0!important;gap:24px!important}
 body [class*="hero__inner"]{min-height:0!important;padding-top:0!important;padding-bottom:0!important;gap:24px!important}
 body :is(.contact-hero-inner,.journal-hero-inner,.formation-hero-inner){padding-top:0!important;padding-bottom:0!important;min-height:0!important;gap:24px!important}
 body .contact-address-card{padding:20px!important;min-height:0!important}
 body .contact-address-card h2{font-size:28px!important;margin:12px 0!important}
 body .contact-address-card svg{width:30px;margin-bottom:0}
 body .journal-art{min-height:220px}.journal-hero .journal-book{width:160px;padding:18px}.journal-hero .journal-book strong{font-size:20px}.journal-hero .journal-book svg{width:34px;margin:8px 0}.journal-hero .journal-orbit{width:220px}
 body :is(.contact-eyebrow,.journal-eyebrow){font-size:10px!important;letter-spacing:.12em!important}
 body :is(.flight-hero,.hotel-hero,.trips-hero,.promo-hero,.visa-hero,.services-hero,.contact-hero,.journal-hero,.formation-hero) p{font-size:14px!important;line-height:1.7!important;margin-top:16px!important;margin-bottom:16px!important}
 body [class*="hero__content"]{min-width:0;width:100%;padding:0!important}
 body [class*="hero__lead"]{font-size:14px!important;line-height:1.7!important;margin-top:16px!important}
 body [class*="hero__actions"]{margin-top:20px!important;gap:10px!important}
 body [class*="hero__kicker"]{font-size:10px!important;letter-spacing:.1em!important;white-space:normal!important}
 body [class*="hero__scroll"]{display:none!important}
 .trip-detail-layout{grid-template-columns:minmax(0,1fr)!important}
 div[style*="grid-template-columns: minmax(0, 1.5fr)"]{grid-template-columns:minmax(0,1fr)!important}
}

/* Large selected photo with a scrollable strip of all announcement photos. */
.offer-gallery{display:flex;flex-direction:column;aspect-ratio:auto;height:auto;border-radius:12px;background:var(--bg);overflow:hidden}
.offer-gallery__stage{position:relative;width:100%;min-height:0;aspect-ratio:16/10;background:#09263e;overflow:hidden}
.offer-gallery__stage>img,.offer-gallery__link>img{border-radius:0!important}
.offer-gallery__thumbs{position:relative;display:flex;gap:4px;padding:4px 0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;width:100%;min-width:0;background:var(--bg)}
.offer-gallery__thumb{flex:0 0 calc((100% - 20px)/6);min-width:60px;aspect-ratio:3/2;padding:0;border:2px solid transparent;border-radius:3px;overflow:hidden;background:#09263e;cursor:pointer;opacity:.7}
.offer-gallery__thumb[aria-pressed="true"]{border-color:#f4b94f;opacity:1}
.offer-gallery__thumb:hover{opacity:1}
.offer-gallery .offer-gallery__thumb img{object-fit:cover!important;border-radius:0!important}
:is(.trip-card__media,.promo-card__media,.hotel-card__media,.card-media):has(.offer-gallery){height:auto!important;aspect-ratio:auto!important}
.formation-card>.offer-gallery{aspect-ratio:auto}
@media(max-width:600px){.offer-gallery__thumb{flex-basis:calc((100% - 12px)/4)}.offer-gallery__arrow{width:34px;height:34px}}

.home-banner .home-banner__search{margin-top:0;padding-top:20px;padding-bottom:20px}.home-passengers{position:relative}.home-passengers details{width:100%}.home-passengers summary{cursor:pointer;font-weight:600;padding:10px 0}.home-passengers__options{position:absolute;top:100%;right:0;min-width:270px;padding:18px;background:var(--bg,#fff);color:var(--text,#08233c);box-shadow:0 12px 30px #0003;border:1px solid #8295a9;border-radius:12px;z-index:20}.home-passengers__options label{display:flex!important;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.home-passengers__options input{width:65px!important;border:1px solid #8295a9!important;padding:8px!important;border-radius:6px}@media(max-width:600px){.home-passengers__options{left:0;right:auto;min-width:250px}}

.home-banner .home-search,.home-banner .home-search__panel,.home-banner .home-search__fields{overflow:visible}

/* Desktop preserves the editorial hero; phones start with the search fields. */
.home-banner{display:flex;flex-direction:column}
.home-banner>.home-intro{order:1;width:100%}
.home-banner>.mv-slideshow{order:2;width:100%}
.home-banner>.home-banner__search{order:3;margin-top:-68px;padding-top:0;padding-bottom:24px;width:100%}
@media(max-width:767px){
 .home-banner>.home-banner__search{order:1;margin-top:0;padding-top:16px;padding-bottom:16px;width:calc(100% - 24px)}
 .home-banner>.mv-slideshow{order:2}
 .home-banner>.home-intro{order:3}
}
@media(prefers-reduced-motion:no-preference){
 .mv-motion-ready{opacity:0;translate:0 24px;transition:opacity .7s ease,translate .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
 .mv-motion-ready.mv-motion-visible{opacity:1;translate:0 0}
 :is(.trip-card,.hotel-card,.promo-card,.formation-card){transition:transform .3s ease,box-shadow .3s ease}
 :is(.trip-card,.hotel-card,.promo-card,.formation-card):hover{transform:translateY(-6px);box-shadow:0 18px 40px #071e3826}
 .service-feature__image{transition:transform .7s ease}
 .service-feature__visual:hover .service-feature__image{transform:scale(1.035)}
 .page-pub__slide:not([hidden]){animation:pub-arrive .65s ease both}
 @keyframes pub-arrive{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}

.flight-options{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 0}.flight-options fieldset{display:flex;flex-wrap:wrap;gap:12px;border:0;padding:0;margin:0}.flight-options legend{font-weight:600;margin-bottom:8px}.flight-options label,.flight-baggage-choice{display:flex;align-items:center;gap:7px;font-size:14px}.flight-options select,.flight-extra-route input{padding:10px;border:1px solid #8295a955;border-radius:8px;background:var(--bg,#fff);color:var(--text,#08233c);max-width:100%}.flight-options input[type=radio],.flight-options input[type=checkbox],.flight-baggage-choice input{width:16px!important;height:16px!important;appearance:auto!important}.flight-extra-route{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.flight-extra-route label{display:grid;gap:5px;flex:1;min-width:160px}.flight-extra-route button,[data-add-leg]{padding:10px 14px;border:1px solid #8295a966;border-radius:8px;background:var(--bg,#fff);color:var(--text,#08233c);cursor:pointer}.flight-extra-routes[hidden],.flight-extra-route[hidden],[hidden].flight-field,[hidden].home-search__field{display:none!important}.flight-baggage-choice{margin-bottom:14px}

/* A consistent hierarchy for flight search: preferences, routes, then actions. */
.flight-search-form .flight-options{display:grid;grid-template-columns:minmax(330px,1fr) 160px 150px auto auto;align-items:end;gap:16px;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #8295a929}
.flight-search-form .flight-options fieldset{gap:4px;min-width:0}
.flight-search-form .flight-options legend{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#607d98);margin-bottom:9px}
.flight-search-form .flight-options fieldset label{padding:10px 12px;border-radius:9px;white-space:nowrap;font-size:13px;background:var(--bg,#f7f9fc);cursor:pointer;border:1px solid transparent}
.flight-search-form .flight-options fieldset label:has(:checked){color:#fff;background:#0a579b;border-color:#0a579b}
.flight-search-form .flight-options>label:has(select){display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.flight-search-form .flight-options>label:has([name=flexibility]){grid-column:2;grid-row:1}
.flight-search-form .flight-options>label:has([name=cabin]){grid-column:3;grid-row:1}
.flight-search-form .flight-options>label:has([name=direct_only]){grid-column:4;grid-row:1}
.flight-search-form .flight-options .flight-baggage-choice{grid-column:5;grid-row:1;margin:0}
.flight-search-form .flight-options select{width:100%;font-size:13px;min-height:42px}
.flight-search-form .flight-options>label:has(input){min-height:42px;white-space:nowrap;font-size:13px}
.home-banner .flight-search-form .home-search__fields{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) minmax(145px,.7fr) minmax(145px,.7fr);gap:12px}
.home-banner .flight-search-form:not([data-journey=return]) .home-search__fields{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) minmax(160px,.75fr)}
.flight-search-form .flight-extra-routes{padding-top:16px}
.flight-search-form .flight-extra-routes>p{font-size:12px;color:var(--muted,#607d98);margin:0 0 10px}
.flight-search-form .flight-extra-route{display:grid;grid-template-columns:65px minmax(0,1fr) minmax(0,1fr) minmax(150px,.7fr) 70px;gap:12px;padding:14px;background:var(--bg,#f8fafc);border:1px solid #8295a929;border-radius:14px;align-items:end}
.flight-search-form .flight-extra-route label{min-width:0;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#607d98)}
.flight-search-form .flight-extra-route input{width:100%;min-width:0;font-size:14px;height:44px}
.flight-search-form .flight-extra-route strong{align-self:center;font-size:12px}
.flight-search-form [data-remove-leg]{font-size:11px;padding:12px 6px;background:transparent}
.flight-search-form [data-add-leg]{font-size:13px;color:#0a579b;background:transparent;border-style:dashed;padding:9px 14px}
.flight-search-actions{display:flex;justify-content:flex-end;gap:14px;align-items:start;margin-top:20px;padding-top:18px;border-top:1px solid #8295a929}
.flight-search-actions .home-passengers{width:260px;min-height:54px;padding:0 16px}
.flight-search-actions .home-search__submit{min-height:54px;min-width:190px;border-radius:12px}
.flight-search-actions .home-passengers__options{top:auto;bottom:100%;margin-bottom:8px;box-shadow:0 -8px 30px #071e3820}
@media(max-width:1100px){.flight-search-form .flight-options{display:flex;gap:12px}.flight-search-form .flight-options fieldset{flex-basis:100%}.flight-search-form .flight-options>label:has(select){min-width:140px}}
@media(max-width:767px){
 .home-banner .flight-search-form .home-search__fields,.home-banner .flight-search-form:not([data-journey=return]) .home-search__fields{grid-template-columns:1fr 1fr}
 .flight-search-form .home-search__swap{display:none}
 .flight-search-form .flight-options fieldset label{padding:9px 7px;font-size:11px}
 .flight-search-form .flight-options>label:has(select){min-width:0;flex:1 1 40%}
 .flight-search-form .flight-extra-route{grid-template-columns:1fr 1fr;padding:12px}
 .flight-search-form .flight-extra-route strong{grid-column:1/-1}.flight-search-form .flight-extra-route label{min-width:0}
 .flight-search-actions{flex-direction:column}.flight-search-actions .home-passengers,.flight-search-actions .home-search__submit{width:100%}
}
