/* Hide scrollbar chrome without disabling touch, wheel or keyboard scrolling. */
html, body.ms-public { scrollbar-width: none; }
html::-webkit-scrollbar, body.ms-public::-webkit-scrollbar { display: none; width: 0; }
.ms-public :is(.ms-ld-scroll,.fusion-floating-menu,.fusion-choice-options,.nav-links) { scrollbar-width: none; }
.ms-public :is(.ms-ld-scroll,.fusion-floating-menu,.fusion-choice-options,.nav-links)::-webkit-scrollbar { display: none; width: 0; }

/* Public editorial theme. The admin keeps its own layout and tokens. */
body.ms-public {
  --brand: #de3b25;
  --brand-deep: #b82c1a;
  --brand-soft: #f8e1d8;
  --brand-accent: #de3b25;
  --ink: #ffffff;
  --ink-2: #e2e2e2;
  --ink-3: #c5c5c5;
  --ink-4: #c5c5c5;
  --fusion-canvas: var(--brand);
  --fusion-surface: #1a1a1a;
  --paper: #ffffff;
  --paper-2: #292929;
  --bg-page: #ffffff;
  --section-cream: #ffffff;
  --line: #ffffff26;
  --fusion-gold: var(--brand);
  --fusion-radius-panel: 24px;
  --fusion-radius-control: 12px;
  --fusion-feature-image-width: clamp(364px, 31.5vw, 560px);
  color-scheme: dark;
  margin: 0;
  background: var(--paper) !important;
  color: var(--ink);
  font-family: 'IBM Plex Sans Condensed', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
.ms-public *, .ms-public *::before, .ms-public *::after { box-sizing: border-box; }
.ms-public :is(h1,h2,h3,h4,.serif,.nav-logo,.ms-rev-h) { font-family: 'IBM Plex Sans Condensed', sans-serif !important; font-style: normal !important; }
.ms-public :is(button,input,select,textarea) { font-family: inherit; }
.ms-public :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--fusion-gold) !important; outline-offset: 4px; }
.ms-public :is(section,main,[id]) { scroll-margin-top: 100px; }
.ms-public .fusion-skip { position: fixed; z-index: 100001; left: 20px; top: -100px; background: var(--fusion-surface); color: var(--paper); padding: 14px 20px; }
.ms-public .fusion-skip:focus { top: 16px; }
.ms-public { --fusion-page-gutter: clamp(18px,3vw,48px); }
.ms-public .wrap, .ms-public .wrap-wide { width: calc(100% - var(--fusion-page-gutter) * 2) !important; max-width: none !important; margin-inline: auto; padding-inline: 0 !important; }
.ms-public .section { background: var(--paper) !important; padding-block: 64px !important; }
.ms-public :is(.btn,.cat-showmore,.cat-showall,.ms-gal-more,.trip-feature-cta) { border-radius: 2px !important; box-shadow: none !important; font-weight: 600; }
.ms-public .btn { min-height: 50px; padding: 14px 22px; display: inline-flex; align-items: center; gap: 14px; justify-content: center; font-size: 17px; text-decoration: none; }
.ms-public .btn-primary { background: var(--brand) !important; color: #fff !important; border: 1px solid var(--brand) !important; }
.ms-public .btn-primary:hover { background: var(--brand-deep) !important; }
.ms-public .fusion-eyebrow, .ms-public .eyebrow { font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; font-weight: 500; text-transform: uppercase; letter-spacing: .12em; }
.ms-public .fusion-nav { position: fixed !important; inset: 0 0 auto; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: #fff; padding: 0 !important; height: 82px; z-index: 1000; }
.ms-public .fusion-nav.scrolled { background: var(--fusion-surface) !important; }
.ms-public .fusion-nav .nav-inner { min-height: 82px; display: flex; gap: 24px; align-items: center; justify-content: space-between; }
.ms-public .fusion-nav .nav-logo { flex-shrink: 0; gap: 10px; color: #fff !important; font-size: 21px !important; font-weight: 600; }
.ms-public .fusion-nav .logo-img { width: 34px !important; height: 38px !important; border-radius: 0 !important; object-fit: contain; }
.ms-public .fusion-nav .nav-links { display: flex; align-items: center; gap: 22px; position: static; transform: none; }
.ms-public .fusion-nav .nav-links > a, .ms-public .fusion-more summary { font-size: 17px !important; color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 500; text-decoration: none; white-space: nowrap; }
.ms-public .fusion-nav .nav-links > a:hover { text-decoration: underline; text-underline-offset: 6px; }
.ms-public .fusion-nav .nav-cta { gap: 10px; display: flex; align-items: center; }
.ms-public .fusion-nav-plan { padding: 13px 15px; background: var(--brand); color: #fff !important; font-weight: 600; display: inline-flex; gap: 10px; align-items: center; white-space: nowrap; font-size: 16px; text-decoration: none; }
.ms-public .fusion-more { position: relative; }
.ms-public .fusion-more summary { cursor: pointer; padding: 10px 0; }
.ms-public .fusion-more > div { position: absolute; right: 0; top: 100%; min-width: 220px; background: var(--paper); border: 1px solid var(--line); padding: 8px; box-shadow: 0 12px 28px #0002; }
.ms-public .fusion-more a { color: var(--ink) !important; display: block; padding: 12px; font-size: 17px; text-decoration: none; }
.ms-public .fusion-more a:hover { background: var(--paper-2); }
.ms-public .fusion-menu-toggle, .ms-public .fusion-mobile-plan { display: none !important; }
.ms-public .fusion-nav .ms-lc-pill { color: #fff !important; background: #1a1a1a50 !important; border-color: #ffffff70 !important; min-width: 42px; min-height: 42px; }
.ms-public .fusion-nav .auth-nav-btn { color: #fff !important; }
.ms-public .fusion-nav .auth-widget-btn { color: #fff !important; border-color: #ffffff70 !important; }
.ms-public .fusion-nav .nav-links > a { border-radius: 0 !important; }
.ms-public .fusion-hero.ms-hero.ms-hero-static { height: min(92svh, 900px) !important; min-height: 700px !important; max-height: none !important; margin: 0 !important; border-radius: 0 !important; display: flex !important; align-items: flex-end !important; background: #26352d !important; overflow: visible !important; }
.ms-public .fusion-hero .ms-hero-bg { inset: 0 !important; height: 100% !important; border-radius: 0 !important; overflow: hidden; background: none !important; }
.ms-public .fusion-hero .ms-hero-bg > img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; display: block; }
.ms-public .fusion-hero-photo { position: absolute; inset: 0; display: block; opacity: 0; transition: opacity 700ms ease; pointer-events: none; }
.ms-public .fusion-hero-photo.is-active { opacity: 1; }
.ms-public .fusion-hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-public .fusion-hero-photo-nav { display: flex; align-items: center; gap: 20px; }
.ms-public .fusion-hero-slide-controls { display: flex; align-items: center; gap: 2px; }
.ms-public .fusion-hero-slide-controls button { display: grid; place-items: center; width: 34px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: white; font-size: 16px; cursor: pointer; }
.ms-public .fusion-hero-slide-controls button:first-child { background: #0004; margin-right: 6px; }
.ms-public .fusion-hero-slide-controls button span { width: 6px; height: 6px; background: #ffffff80; border-radius: 50%; transition: width 250ms ease, background 250ms ease; }
.ms-public .fusion-hero-slide-controls button.is-active span { width: 20px; border-radius: 6px; background: #fff; }
.ms-public .fusion-hero-slide-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 700px) {
  .ms-public .fusion-hero-photo-nav { gap: 0; flex-direction: column; align-items: flex-start; width: 100%; min-width: 0; }
  .ms-public .fusion-hero-slide-controls { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .ms-public .fusion-hero-slide-controls button { flex: 0 0 44px; }
  .ms-public .fusion-hero .ms-hero-bottom { flex-wrap: wrap; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { .ms-public .fusion-hero-photo { transition: none; } }
.ms-public .fusion-hero .ms-slide-grad-1 { display: block !important; position: absolute; inset: 0; background: linear-gradient(90deg, #102019b8 0%, #16251f60 50%, #16251f10 100%) !important; opacity: 1 !important; }
.ms-public .fusion-hero .ms-slide-grad-2 { display: block !important; position: absolute; inset: 0; background: linear-gradient(180deg, #14241c65 0%, transparent 35%, #101d1840 100%) !important; opacity: 1 !important; }
.ms-public .fusion-hero .ms-slide-vignette { display: none !important; }
.ms-public .fusion-hero .fusion-hero-content { position: relative !important; top: auto !important; left: auto !important; bottom: auto !important; transform: none !important; padding: 150px 0 110px !important; margin: 0 auto !important; width: min(100% - 80px, 1440px) !important; max-width: 1440px !important; text-align: left !important; display: block !important; z-index: 3; }
.ms-public .fusion-hero .fusion-hero-content > .fusion-eyebrow { color: #fff !important; }
.ms-public .fusion-hero h1 { color: var(--paper) !important; font-size: clamp(80px, 10.3vw, 152px) !important; line-height: .98 !important; letter-spacing: -.04em !important; font-weight: 600 !important; margin: 20px 0 12px !important; text-shadow: none !important; }
.ms-public .fusion-hero-title { color: #fff !important; font-size: clamp(27px, 3vw, 42px); font-weight: 500; margin: 0 0 14px; line-height: 1.15; }
.ms-public .fusion-hero-intro { max-width: 510px; font-size: 20px; line-height: 1.5; margin: 0 0 26px; color: #fff !important; }
.ms-public .fusion-hero .ms-hero-cta-row { display: flex !important; gap: 12px; justify-content: flex-start !important; margin: 0 0 24px !important; }
.ms-public .fusion-hero .btn-outline { background: #14231c50 !important; color: #fff !important; border: 1px solid #ffffffa0 !important; }
.ms-public .fusion-hero .ms-hero-searchrow { margin: 0 !important; width: min(100%, 510px); }
.ms-public .fusion-hero .ms-hero-search-wrap { margin: 0 !important; width: 100% !important; max-width: 100% !important; }
.ms-public .fusion-hero .ms-hero-search { background: #fff !important; border: 1px solid #fff !important; color: var(--ink) !important; border-radius: 2px !important; min-height: 54px; box-shadow: none !important; }
.ms-public .fusion-hero .ms-hero-search input { color: var(--ink) !important; background: transparent !important; font-size: 17px !important; }
.ms-public .fusion-hero .ms-hero-search input::placeholder { color: #5b554c !important; opacity: 1; }
.ms-public .fusion-hero .ms-hero-search-icon { color: var(--ink) !important; opacity: 1; }
.ms-public .ms-hero-search-dropdown { background: var(--paper) !important; color: var(--ink) !important; border-radius: 2px !important; border: 1px solid var(--line); }
.ms-public .ms-hero-search-result { color: var(--ink) !important; }
.ms-public .ms-hero-search-result.is-active { background: var(--paper-2) !important; }
.ms-public .ms-hero-search-result-sub, .ms-public .ms-hero-search-result-tag { color: #5b554c !important; }
.ms-public .ms-hero-search-icon-cell { display: none; }
.ms-public .fusion-hero .ms-hero-bottom { position: absolute !important; inset: auto 40px 26px !important; transform: none !important; width: auto !important; display: flex !important; justify-content: space-between; align-items: center; padding: 0 !important; }
.ms-public .fusion-photo-caption { font-family: 'IBM Plex Mono', monospace; text-transform: uppercase; letter-spacing: .08em; color: #fff; font-size: 10px; }
.ms-public .fusion-hero .ms-hero-socials-bar { position: static !important; margin: 0 !important; gap: 16px !important; }
.ms-public .fusion-hero .ms-social-item { color: #fff !important; background: none !important; border: 0 !important; padding: 0 !important; }
.ms-public .fusion-hero .ms-social-item strong { display: none; }
.ms-public .fusion-hero .ms-social-item span { color: #fff !important; font-size: 11px; }
.ms-public .fusion-trust { display: flex; justify-content: space-between; gap: 20px; padding: 24px 40px; border-bottom: 1px solid var(--line); font-size: 15px; color: var(--ink); }
.ms-public .fusion-discovery { max-width: 1520px; margin: auto; padding: 72px 40px 0; }
.ms-public .fusion-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 36px; }
.ms-public .fusion-section-heading h2 { font-size: clamp(38px, 4.4vw, 66px); line-height: 1.05; letter-spacing: -.03em; margin: 12px 0 0; color: var(--ink); }
.ms-public .fusion-section-heading > p { max-width: 340px; margin: 0; font-size: 19px; line-height: 1.5; }
.ms-public .fusion-discovery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.ms-public .fusion-discovery-card { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); min-width: 0; }
.ms-public .fusion-card-image { aspect-ratio: 4 / 4.5; border: 1px solid var(--fusion-gold); border-radius: 48% 48% 2px 2px; overflow: hidden; }
.ms-public .fusion-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ms-public .fusion-discovery-card:hover .fusion-card-image img { transform: scale(1.035); }
.ms-public .fusion-card-meta { display: flex; justify-content: space-between; gap: 12px; font-family: 'IBM Plex Mono', monospace; text-transform: uppercase; letter-spacing: .08em; font-size: 10px; margin: 20px 0 10px; }
.ms-public .fusion-discovery-card h3 { font-size: 31px; line-height: 1.1; margin: 0 0 12px; color: var(--ink); }
.ms-public .fusion-discovery-card p { font-size: 18px; line-height: 1.5; margin: 0 0 22px; }
.ms-public .fusion-card-link { border-top: 1px solid var(--line); padding-top: 14px; margin-top: auto; display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: 16px; }
.ms-public .fusion-extras { margin: 44px 0 0; padding: 24px 0 30px; border-block: 1px solid var(--line); }
.ms-public .fusion-extras > div { display: flex; gap: 12px 30px; flex-wrap: wrap; margin-top: 17px; }
.ms-public .fusion-extras a { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-size: 18px; text-decoration: none; }
.ms-public .fusion-extras a:hover { text-decoration: underline; }
.ms-public #itineraries .section-head { display: block; text-align: left !important; max-width: none; margin: 0 0 30px !important; }
.ms-public .section-head h2 { color: var(--ink) !important; font-size: clamp(36px,4vw,60px) !important; font-weight: 600 !important; letter-spacing: -.025em !important; line-height: 1.1 !important; margin: 12px 0 !important; }
.ms-public .section-head h2 em { font-style: normal !important; color: inherit !important; }
.ms-public #itineraries .section-head > p { margin: 0 !important; font-size: 19px; }
.ms-public .trip-bar { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.ms-public .trip-maintabs-v2 { display: flex !important; flex-wrap: wrap !important; justify-content: flex-start !important; gap: 6px !important; padding: 0 0 18px !important; background: transparent !important; border-radius: 0 !important; border-bottom: 1px solid var(--line) !important; overflow: visible !important; }
.ms-public .cat-tab-v2 { border: 1px solid transparent !important; background: transparent !important; border-radius: 2px !important; padding: 11px 14px !important; font-size: 16px !important; color: var(--ink) !important; box-shadow: none !important; }
.ms-public .cat-tab-v2.active { background: var(--brand-deep) !important; color: #fff !important; }
.ms-public .cat-tab-v2 .count { background: #f5f5f5 !important; color: var(--ink) !important; }
.ms-public :is(.season-vac-pill,.season-subtab,.filter-chip,.trip-filter-chip) { border-radius: 2px !important; color: var(--ink) !important; background: transparent !important; border: 1px solid var(--line) !important; box-shadow: none !important; }
.ms-public :is(.season-vac-pill.active,.season-subtab.active,.filter-chip.active,.trip-filter-chip.active) { background: var(--brand-deep) !important; color: #fff !important; border-color: var(--brand-deep) !important; }
.ms-public .trip-bar-ctx { padding: 18px 0 !important; background: transparent !important; border: 0 !important; }
.ms-public :is(.trip-feature,.cat-card,.cat-card-theme) { border-radius: 2px !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
.ms-public .trip-feature { gap: 36px !important; overflow: visible !important; }
.ms-public .trip-feature-img { border-radius: 2px !important; min-height: 350px; overflow: hidden; }
.ms-public .trip-feature-body { background: var(--paper) !important; padding: 24px 0 !important; }
.ms-public .trip-feature-title { font-size: clamp(30px,3.4vw,48px) !important; letter-spacing: -.025em !important; line-height: 1.08 !important; color: var(--ink) !important; }
.ms-public .trip-feature-teaser { font-size: 19px !important; color: var(--ink-2) !important; line-height: 1.5 !important; }
.ms-public .trip-feature-highlights { font-size: 17px !important; color: var(--ink-2) !important; }
.ms-public .cat-grid { gap: 28px !important; }
.ms-public .cat-img { border-radius: 46% 46% 2px 2px !important; border: 1px solid var(--fusion-gold) !important; overflow: hidden; }
.ms-public .cat-body { padding: 20px 0 !important; }
.ms-public .cat-title { font-size: 25px !important; color: var(--ink) !important; line-height: 1.15 !important; }
.ms-public .cat-desc { font-size: 17px !important; color: var(--ink-2) !important; }
.ms-public .cat-foot { border-top: 1px solid var(--line) !important; }
.ms-public .cat-arrow { background: var(--fusion-surface) !important; color: var(--paper) !important; border-radius: 2px !important; }
.ms-public .cat-price { color: var(--ink) !important; }
.ms-public .fusion-about { display: grid; grid-template-columns: 1fr 1fr; background: #fff; margin: 64px 40px; border-block: 1px solid var(--line); }
.ms-public .fusion-about-image { min-height: 420px; height: clamp(420px, 42vw, 600px); overflow: hidden; }
.ms-public .fusion-about-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 68%; display: block; }
.ms-public .fusion-about-copy { padding: clamp(30px,5vw,80px); align-self: center; }
.ms-public .fusion-about h2 { font-size: clamp(38px,4vw,64px); line-height: 1.05; margin: 18px 0 22px; letter-spacing: -.025em; }
.ms-public .fusion-about p { font-size: 20px; line-height: 1.55; margin: 0 0 28px; }
.ms-public .contact-card { border-radius: 2px !important; border: 0 !important; box-shadow: none !important; background: var(--fusion-surface) !important; }
.ms-public .contact-info { background: var(--fusion-surface) !important; }
.ms-public .contact-info h2 { font-size: 44px !important; font-weight: 600 !important; color: var(--paper) !important; }
.ms-public .ms-rev-section { background: var(--paper) !important; padding: 64px 40px !important; }
.ms-public .ms-rev-h { font-size: clamp(36px,4vw,58px) !important; text-align: left !important; color: var(--ink) !important; }
.ms-public .ms-rev-sub { text-align: left !important; color: var(--ink-3) !important; }
.ms-public .ms-rev-grid { gap: 24px !important; }
.ms-public .ms-rev-card { border: 1px solid var(--line) !important; border-radius: 2px !important; box-shadow: none !important; background: #fff !important; padding: 24px !important; }
.ms-public .ms-rev-text { color: var(--ink) !important; font-size: 17px !important; }
.ms-public .ms-rev-stars { color: var(--brand) !important; }
.ms-public .ms-gal-item { border-radius: 46% 46% 2px 2px !important; }
.ms-public .footer { background: var(--fusion-surface) !important; color: var(--paper) !important; border-radius: 0 !important; }
.ms-public .footer :is(a,h4,.footer-tag) { color: var(--paper) !important; }
.ms-public .footer :is(h4,.footer-collab-eyebrow,.footer-bottom) { font-family: 'IBM Plex Mono', monospace; }
.ms-public .footer :is(input,textarea,select) { color: var(--paper) !important; border-radius: 2px !important; background: #272621 !important; }
.ms-public .itin-shell { border-radius: 2px !important; box-shadow: none !important; border: 1px solid var(--line); }
.ms-public :is(.itin-form,.itin-sidebar) { background: #fff !important; }
.ms-public :is(.fld input,.fld select,.fld textarea,.opt-card,.itin-step-pill,.ms-ld-card,.ms-ld-book,.ms-ld-wrap) { border-radius: 3px !important; }
.ms-public .ms-ld-wrap { background: var(--fusion-surface) !important; color: var(--ink); }
.ms-public :is(.ms-ld-h2,.ms-ld-h3,.ms-ld-title,.itin-q) { color: var(--ink) !important; }
.ms-public .ms-ld-book-cta, .ms-public .ms-ld-mbar-cta { background: var(--brand) !important; color: #fff !important; border-radius: 2px !important; }
.ms-public .ms-tabbar { background: var(--paper) !important; border-top: 1px solid var(--line) !important; }
.ms-public .ms-tab { color: var(--ink-3) !important; }
.ms-public .ms-tab.active { color: var(--brand-deep) !important; }
.ms-public :is(.fusion-eyebrow,.fusion-card-meta,.fusion-card-link) { color: var(--brand-deep); }
.ms-public .fusion-extras a > svg { color: var(--brand); }
.ms-public .fusion-trust > span { display: inline-flex; align-items: center; gap: 10px; }
.ms-public .fusion-trust > span::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); flex-shrink: 0; }
/* The full photo is the opening screen; remove the old animated cover. */
.ms-public #ms-intro { display: none !important; }
.ms-public .reveal { opacity: 1 !important; transform: none !important; }
.ms-public .ig-scroll-ring { display: none !important; }
.ms-public .wa-pulse { display: none !important; }
.ms-public .fusion-hero::before, .ms-public .fusion-hero::after { display: none !important; }
.ms-public #home.fusion-hero { padding: 0 !important; border-radius: 0 !important; border: 0 !important; }
.ms-public #home.fusion-hero .fusion-hero-content > .fusion-eyebrow { color: #fff !important; }
.ms-public #home .fusion-hero-title { font-size: clamp(27px, 3vw, 42px) !important; line-height: 1.15 !important; }
.ms-public #home .fusion-hero-intro { font-size: 20px !important; line-height: 1.5 !important; }
.ms-public #home .ms-hero-cta { min-width: 0 !important; width: auto !important; flex: 0 1 auto !important; }
@media (min-width: 1600px) { .ms-public .fusion-discovery { padding-inline: 0; max-width: 1440px; } }
@media (max-width: 1340px) {
  .ms-public .fusion-nav .nav-links { gap: 16px; }
  .ms-public .fusion-nav-plan { display: none; }
  .ms-public .fusion-nav .nav-inner { gap: 18px; }
}
@media (max-width: 1100px) {
  .ms-public .wrap, .ms-public .wrap-wide { width: calc(100% - 48px) !important; }
  .ms-public .fusion-nav .nav-inner { min-height: 72px; }
  .ms-public .fusion-nav { height: 72px; }
  .ms-public .fusion-menu-toggle { display: inline-flex !important; margin-left: auto; color: #fff; padding: 10px 14px; background: #1a1a1a80; border: 1px solid #ffffff70; font-size: 16px; border-radius: 2px; }
  .ms-public .fusion-nav .nav-links { display: none !important; position: absolute; top: 72px; left: 0; right: 0; max-height: calc(100svh - 145px); overflow-y: auto !important; transform: none !important; background: var(--fusion-surface); padding: 20px 24px 28px; flex-direction: column; align-items: stretch; gap: 0; }
  .ms-public .fusion-nav .nav-links.is-open { display: flex !important; }
  .ms-public .fusion-nav .nav-links > a { padding: 13px 0; font-size: 21px !important; border-bottom: 1px solid #ffffff25; }
  .ms-public .fusion-more summary { font-size: 21px !important; padding: 13px 0; }
  .ms-public .fusion-more > div { position: static; min-width: 0; box-shadow: none; }
  .ms-public .fusion-mobile-plan { display: block !important; color: #fff !important; }
  .ms-public .fusion-hero .fusion-hero-content { width: calc(100% - 48px) !important; }
  .ms-public .fusion-discovery { padding: 56px 24px 0; }
  .ms-public .fusion-discovery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 24px; }
  .ms-public .fusion-card-image { aspect-ratio: 4 / 3.6; }
  .ms-public .fusion-trust { padding-inline: 24px; font-size: 13px; }
  .ms-public .fusion-about { margin-inline: 24px; }
  .ms-public .fusion-about-copy { padding: 30px; }
  .ms-public .ms-rev-section { padding-inline: 24px !important; }
}
@media (max-width: 600px) {
  .ms-public .wrap, .ms-public .wrap-wide { width: calc(100% - 36px) !important; }
  .ms-public :is(section,main,[id]) { scroll-margin-top: 84px; }
  .ms-public .fusion-nav .nav-logo { font-size: 19px !important; gap: 7px; }
  .ms-public .fusion-nav .logo-img { width: 28px !important; height: 32px !important; }
  .ms-public .fusion-nav .nav-inner { gap: 10px; }
  .ms-public .fusion-nav .nav-cta { gap: 6px; }
  .ms-public .fusion-nav .nav-cta > .fusion-nav-plan { display: none; }
  .ms-public .fusion-menu-toggle { padding: 10px; }
  .ms-public .fusion-hero.ms-hero.ms-hero-static { height: auto !important; min-height: 740px !important; }
  .ms-public .fusion-hero .fusion-hero-content { width: calc(100% - 36px) !important; padding: 125px 0 100px !important; }
  .ms-public .fusion-hero h1 { font-size: clamp(58px,15.5vw,92px) !important; margin: 18px 0 16px !important; }
  .ms-public .fusion-hero-title { font-size: 28px; max-width: 300px; }
  .ms-public #home .fusion-hero-title { font-size: 28px !important; }
  .ms-public .fusion-hero-intro { font-size: 18px; margin-bottom: 24px; max-width: 350px; }
  .ms-public #home .fusion-hero-intro { font-size: 18px !important; }
  .ms-public .fusion-hero .ms-hero-bg > img { object-position: 56% center; }
  .ms-public .fusion-hero .ms-hero-cta-row { flex-wrap: wrap; gap: 9px; }
  .ms-public .fusion-hero .btn { font-size: 15px; padding: 12px 15px; min-height: 48px; }
  .ms-public .fusion-hero .ms-hero-bottom { inset: auto 18px 26px !important; }
  .ms-public .fusion-hero .ms-hero-socials-bar { display: none !important; }
  .ms-public .fusion-trust { flex-direction: column; align-items: flex-start; padding: 20px 18px; gap: 9px; font-size: 14px; }
  .ms-public .fusion-section-heading { display: block; margin-bottom: 28px; }
  .ms-public .fusion-section-heading > p { margin-top: 18px; font-size: 18px; }
  .ms-public .fusion-discovery { padding: 44px 18px 0; }
  .ms-public .fusion-discovery-grid { gap: 30px 16px; }
  .ms-public .fusion-card-image { aspect-ratio: 3 / 4; }
  .ms-public .fusion-card-meta { font-size: 10px; gap: 4px; letter-spacing: 0; margin-top: 14px; }
  .ms-public .fusion-discovery-card h3 { font-size: 25px; }
  .ms-public .fusion-discovery-card p { font-size: 16px; line-height: 1.45; margin-bottom: 16px; }
  .ms-public .fusion-card-link { font-size: 15px; }
  .ms-public .fusion-extras { margin-top: 32px; }
  .ms-public .fusion-extras > div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .ms-public .fusion-extras a { justify-content: space-between; font-size: 16px; }
  .ms-public .section { padding-block: 42px !important; }
  .ms-public .trip-maintabs-v2 { flex-wrap: nowrap !important; overflow-x: auto !important; padding-bottom: 12px !important; max-width: 100%; }
  .ms-public .cat-tab-v2 { flex: 0 0 auto; font-size: 14px !important; padding: 10px !important; }
  .ms-public .trip-feature { gap: 18px !important; }
  .ms-public .trip-feature-img { min-height: 270px; }
  .ms-public .trip-feature-body { padding-top: 6px !important; }
  .ms-public .cat-grid { gap: 22px 14px !important; }
  .ms-public .cat-title { font-size: 23px !important; }
  .ms-public .fusion-about { grid-template-columns: 1fr; margin: 16px 18px 36px; }
  .ms-public .fusion-about-image { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
  .ms-public .fusion-about-copy { padding: 28px 24px; }
  .ms-public .fusion-about p { font-size: 18px; }
  .ms-public .contact-info h2 { font-size: 36px !important; }
  .ms-public .ms-rev-section { padding: 42px 18px !important; }
  .ms-public .footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important; }
  .ms-public #home .ms-hero-cta-row { flex-direction: row !important; }
  .ms-public #home .ms-hero-cta { font-size: 15px !important; padding: 12px 14px !important; }
  .ms-public .ig-scroll-widget, .ms-public .ms-weather-fab { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ms-public *, .ms-public *::before, .ms-public *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .ms-public .reveal { opacity: 1 !important; transform: none !important; }
}
@media (max-height: 800px) and (min-width: 1101px) {
  .ms-public .fusion-hero .fusion-hero-content { padding-top: 110px !important; padding-bottom: 85px !important; }
  .ms-public .fusion-hero h1 { font-size: 100px !important; }
}
@media (max-width: 360px) { .ms-public .fusion-nav .nav-logo > span { display: none; } }

/* Brand-led homepage: the original vector silhouette frames photographs. */
.ms-public .fusion-hero h1 { font-size: clamp(70px, 9vw, 132px) !important; white-space: nowrap; }
.ms-public .fusion-hero h1 .fusion-story { color: var(--brand) !important; font-family: 'Playfair Display', serif !important; font-style: italic !important; font-weight: 500; letter-spacing: -.06em; }
.ms-public .fusion-hero-signature { display: flex; align-items: center; gap: 14px; }
.ms-public .fusion-hero-signature > img { width: 42px; height: 47px; object-fit: contain; }
.ms-public .fusion-hero-signature .fusion-eyebrow { color: #fff !important; }
.ms-public .fusion-hero .ms-social-item > div { display: flex; align-items: baseline; gap: 8px; }
.ms-public #home .ms-social-item strong { display: inline !important; color: #fff !important; font-size: 14px !important; font-weight: 600; }
.ms-public #home .ms-social-item span { font-size: 14px !important; }
.ms-public #itineraries .section-head, .ms-public .section-head, .ms-public .ms-rev-h, .ms-public .ms-rev-sub { text-align: center !important; }
.ms-public #itineraries .section-head > p { margin-inline: auto !important; }
.ms-public .section-head .eyebrow { justify-content: center; }
.ms-public .fusion-about-copy, .ms-public .contact-info > .eyebrow, .ms-public .contact-info h2 { text-align: center !important; }
.ms-public .fusion-hub-controls { display: flex; align-items: flex-end; justify-content: center; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.ms-public .fusion-hub-controls .trip-maintabs-v2 { margin: 0 !important; padding: 0 !important; border: 0 !important; flex-wrap: nowrap !important; overflow: visible !important; }
.ms-public .fusion-catalogue-select { position: relative; display: flex; flex-direction: column; gap: 7px; min-width: 270px; }
.ms-public .fusion-catalogue-select > span { color: var(--ink-2); font-size: 12px; letter-spacing: .035em; }
.ms-public .fusion-catalogue-trigger { display: flex; align-items: center; gap: 11px; min-height: 48px; width: 100%; padding: 12px 16px; border: 1px solid #dedbd8; border-radius: 12px !important; background: #fff; color: var(--ink); font: inherit; font-size: 16px; cursor: pointer; box-shadow: 0 2px 5px #1a1a1a04; transition: border-color .2s, box-shadow .2s; }
.ms-public .fusion-catalogue-trigger > svg:first-child { color: var(--brand); flex-shrink: 0; }
.ms-public .fusion-catalogue-trigger > span { flex: 1; text-align: left; }
.ms-public .fusion-catalogue-trigger:hover, .ms-public .fusion-catalogue-select.is-open .fusion-catalogue-trigger { border-color: var(--brand); box-shadow: 0 3px 14px #de3b2510; }
.ms-public .fusion-menu-chevron { transition: transform .2s; }
.ms-public .fusion-catalogue-select.is-open .fusion-menu-chevron { transform: rotate(180deg); }
.ms-public .fusion-catalogue-menu { position: absolute; top: calc(100% + 10px); right: 0; width: 500px; max-width: calc(100vw - 36px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 9px; gap: 3px; z-index: 40; border: 1px solid #e9e5e1; border-radius: 16px; background: #fff; box-shadow: 0 18px 50px #2418111a, 0 4px 12px #24181108; }
.ms-public .fusion-catalogue-menu > button { min-width: 0; min-height: 54px; display: flex; align-items: center; gap: 10px; padding: 10px; border: 0; border-radius: 9px !important; background: #fff; color: var(--ink); font: inherit; font-size: 16px; text-align: left; cursor: pointer; }
.ms-public .fusion-catalogue-menu > button:hover, .ms-public .fusion-catalogue-menu > button:focus-visible, .ms-public .fusion-catalogue-menu > button[aria-checked="true"] { background: #fff4f0 !important; }
.ms-public .fusion-menu-icon { display: grid; place-items: center; color: var(--brand); flex-shrink: 0; }
.ms-public .fusion-menu-name { flex: 1; }
.ms-public .fusion-menu-count { color: var(--ink-2); font-family: var(--font-mono); font-size: 11px; }
.ms-public .fusion-catalogue-menu > button > svg { color: var(--brand); }
.ms-public .cat-img, .ms-public .cat-img.cat-img-resolved { aspect-ratio: .9; border: 0 !important; border-radius: 0 !important; background: transparent !important; overflow: visible !important; }
.ms-public .cat-img::after { display: none !important; }
.ms-public .cat-card:hover .cat-img, .ms-public .cat-card:hover .cat-img > * { transform: none !important; }
.ms-public .cat-img > .ms-img-wrap { position: absolute !important; inset: 0 !important; width: 100%; height: 100%; }
.ms-public .cat-img .cat-fav { position: absolute !important; top: 12px !important; right: 12px !important; bottom: auto !important; left: auto !important; z-index: 3; }
.ms-public .cat-img > .fusion-trip-card-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ms-public :is(.cat-img > .fusion-trip-card-photo,.cat-img > .ms-img-wrap,.ms-gal-item > img) { -webkit-mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; border-radius: 0 !important; }
.ms-public .ms-gal-item { aspect-ratio: .9; border-radius: 0 !important; background: transparent !important; }
.ms-public .cat-img :is(.cat-img-content,.reiseplan-badge) { bottom: 14%; }
.ms-public .cat-img .reiseplan-badge { top: auto; }
.ms-public .fusion-cat-label { color: var(--brand-deep); font-family: 'IBM Plex Mono', monospace; font-size: 10px; line-height: 1.5; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 8px; }
.ms-public .fusion-cat-label:empty { display: none; }
@media (max-width: 1100px) {
  .ms-public .fusion-hero .ms-social-item > div { flex-direction: column; align-items: flex-start; gap: 3px; }
}
@media (max-width: 600px) {
  .ms-public .fusion-hero h1 { font-size: clamp(36px, 11.8vw, 70px) !important; }
  .ms-public .fusion-hero-signature > img { width: 32px; height: 36px; }
  .ms-public .fusion-hero .fusion-hero-content { padding-bottom: 150px !important; }
  .ms-public .fusion-hero .ms-hero-socials-bar { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px !important; width: 100%; }
  .ms-public .fusion-hero .ms-social-item { gap: 6px !important; min-height: 44px; }
  .ms-public #home .ms-social-item :is(span,strong) { font-size: 11px !important; }
  .ms-public .fusion-hero .ms-social-icon svg { width: 18px; height: 18px; }
  .ms-public .fusion-photo-caption { display: none; }
  .ms-public .fusion-hub-controls { flex-direction: column; align-items: stretch; gap: 16px; }
  .ms-public .fusion-hub-controls .trip-maintabs-v2 { justify-content: center !important; gap: 4px !important; }
  .ms-public .fusion-hub-controls .cat-tab-v2 { flex: 1 1 0; padding: 10px 8px !important; font-size: 14px !important; white-space: nowrap; }
  .ms-public .fusion-catalogue-select { min-width: 0; }
}

/* Quiet original-logo monogram; photos and controls stay visually dominant. */
body.ms-public { --fusion-pattern-size: 192px; background-color: var(--fusion-canvas) !important; background-image: url('assets/fusion/logo-pattern-connected-white.png') !important; background-repeat: repeat !important; background-size: var(--fusion-pattern-size) auto !important; }
.ms-public .catalog::before { display: none !important; }
.ms-public :is(.section,.fusion-about,.ms-rev-section) { background-color: transparent !important; background-image: none !important; }
body.ms-public :is(#itineraries,#catalog,#plan,#contact) { background: transparent !important; }
.ms-public #home.fusion-hero { overflow: hidden !important; }
.ms-public :is(.ms-ld-card,.ms-ld-book) { background: #fff !important; }
.ms-public :is(.footer,.contact-card,.contact-info,.fusion-nav.scrolled) { background-image: url('assets/fusion/logo-pattern-connected-white.png') !important; background-repeat: repeat !important; background-size: var(--fusion-pattern-size) auto !important; }
.ms-public #home.fusion-hero .ms-hero-search { background: transparent !important; border: 1px solid #ffffffa0 !important; color: #fff !important; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.ms-public #home.fusion-hero .ms-hero-search input { background: transparent !important; color: #fff !important; caret-color: #fff; }
.ms-public #home.fusion-hero .ms-hero-search input::placeholder { color: #ffffffed !important; opacity: 1; }
.ms-public #home.fusion-hero .ms-hero-search-icon { color: #fff !important; }
.ms-public .trip-feature-img { width: min(100%, var(--fusion-feature-image-width)); justify-self: center; height: auto !important; min-height: 0 !important; aspect-ratio: .9; overflow: visible !important; border-radius: 0 !important; background: transparent !important; margin-bottom: 30px; }
.ms-public .trip-feature-img .itin-carousel { overflow: visible !important; }
.ms-public .trip-feature-img .itin-carousel-track { -webkit-mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; }
.ms-public .trip-feature-img .itin-carousel-slide { animation: none !important; transform: none !important; }
.ms-public .trip-feature-img .itin-carousel-dots { bottom: -24px !important; }
.ms-public .trip-feature-img .itin-carousel-dot { width: 22px; height: 22px; padding: 0; border: 7px solid transparent; background: #c4b197 !important; background-clip: content-box !important; border-radius: 50%; }
.ms-public .trip-feature-img .itin-carousel-dot.is-active { width: 28px; background: var(--brand) !important; border-radius: 10px; }
.ms-public .trip-feature-img .itin-carousel-arrow { z-index: 4; width: 44px; height: 44px; background: #1a1a1abd !important; color: #fff !important; }
.ms-public .fusion-about-image { height: auto; min-height: 0; aspect-ratio: .9; width: 100%; max-width: 540px; justify-self: center; -webkit-mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; }
/* Listing details share the original Airbnb-style mosaic, not card masks. */
.ms-public .ms-ld-mosaic-grid { border-radius: 20px !important; gap: 8px; overflow: hidden; }
.ms-public .ms-ld-mo { border: 0; border-radius: 0 !important; padding: 0; min-width: 0; min-height: 0; -webkit-mask: none; mask: none; }
.ms-public .ms-ld-mo > img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.ms-public .ms-ld-showall { position: absolute; right: 16px; bottom: 16px; display: inline-flex; margin: 0; width: auto; }
.ms-public .ms-ld-mcar { background: transparent; }
.ms-public .ms-ld-mcar-img { display: block; width: 100%; object-fit: cover; -webkit-mask: none; mask: none; }
.ms-public .fusion-listing-photo-note { margin: 0 40px; padding: 20px; border: 1px solid #ffffff30; border-radius: 16px; color: #fff; }
.ms-public .fusion-mcar-showall { position: absolute; right: 12px; bottom: 16px; min-height: 44px; padding: 8px 14px; border: 1px solid #ffffff70; border-radius: 12px !important; background: #202020e8 !important; color: #fff !important; font: inherit; font-size: 14px; cursor: pointer; }
.ms-public .fusion-mcar-showall:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.ms-public .ms-ld-mcar-dot { background: #c4b197; }
.ms-public .ms-ld-mcar-dot.on { background: var(--brand); }
@media (min-width: 901px) { .ms-public .trip-feature { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr) !important; align-items: center !important; } }
@media (max-width: 600px) { .ms-public .fusion-about-image { aspect-ratio: .9; } }

/* The home introduction and full story share the same text-left/photo-right rhythm. */
.ms-public .fusion-about-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px 24px; }
.ms-public .fusion-story-link { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; font-size: 17px; color: var(--brand-deep); font-weight: 600; text-decoration: none; border-bottom: 1px solid #de3b2540; }
.ms-public .fusion-story-link:hover { border-color: var(--brand); }
.ms-public .fusion-contact-story { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 20px; color: #fff; font-size: 17px; text-decoration: underline; text-decoration-color: var(--brand); text-underline-offset: 6px; }
.ms-story .fusion-nav { background-color: var(--fusion-surface) !important; }
.ms-story { padding-bottom: 0 !important; }
.ms-public .fusion-story-page { max-width: 1240px; margin: 0 auto; padding: 148px 40px 64px; }
.ms-public .fusion-story-heading { text-align: center; max-width: 900px; margin: 0 auto 56px; }
.ms-public .fusion-story-heading h1 { font-size: clamp(40px,4.5vw,68px) !important; font-weight: 500 !important; line-height: 1.08 !important; letter-spacing: -.035em; margin: 18px 0 0; }
.ms-public .fusion-story-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(32px,6vw,88px); align-items: start; }
.ms-public .fusion-story-copy { padding-top: 16px; }
.ms-public .fusion-story-copy p { color: var(--ink); font-size: 18px !important; line-height: 1.65; margin: 0 0 22px; }
.ms-public .fusion-story-copy .fusion-story-intro { font-size: clamp(22px,2.2vw,28px) !important; line-height: 1.45; margin-bottom: 34px; }
.ms-public .fusion-story-copy h2 { font-size: 28px !important; font-weight: 500 !important; line-height: 1.2 !important; margin: 0 0 18px; letter-spacing: -.02em; }
.ms-public .fusion-story-values { list-style: none; margin: 30px 0; padding: 22px 0; border-block: 1px solid var(--line); display: grid; gap: 12px; }
.ms-public .fusion-story-values li { display: flex; gap: 12px; align-items: center; font-size: 17px; color: var(--ink); }
.ms-public .fusion-story-values svg { color: var(--brand); flex-shrink: 0; }
.ms-public .fusion-story-contact { scroll-margin-top: 110px; }
.ms-public .fusion-story-contact .fusion-about-actions { justify-content: flex-start; }
.ms-public .fusion-story-photos { display: grid; gap: 22px; min-width: 0; }
.ms-public .fusion-story-portrait { margin: 0; }
.ms-public .fusion-story-portrait > img { display: block; width: 100%; aspect-ratio: .9; height: auto; object-fit: cover; object-position: 50% 68%; -webkit-mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; }
.ms-public .fusion-story-portrait figcaption { text-align: center; color: var(--ink-2); font-size: 13px; margin-top: 14px; }
.ms-public .fusion-story-moments { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ms-public .fusion-story-moments img { display: block; width: 100%; height: auto; aspect-ratio: .9; object-fit: cover; object-position: 50% 68%; -webkit-mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; }
.ms-public .fusion-story-back { display: inline-flex; min-height: 44px; align-items: center; gap: 10px; color: var(--brand-deep); margin-top: 34px; text-decoration: none; font-size: 17px; }
.ms-public .fusion-catalogue-trigger:focus-visible, .ms-public .fusion-catalogue-menu > button:focus-visible, .ms-public .fusion-story-link:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
@media (max-width: 800px) {
  .ms-public .fusion-story-page { padding: 120px 24px 40px; }
  .ms-public .fusion-story-heading { margin-bottom: 30px; }
  .ms-public .fusion-story-grid { grid-template-columns: 1fr; gap: 32px; }
  .ms-public .fusion-story-photos { max-width: 480px; width: 100%; justify-self: center; }
}
@media (max-width: 600px) {
  .ms-public .fusion-catalogue-menu { position: fixed; top: auto; bottom: calc(84px + env(safe-area-inset-bottom)); left: 18px; right: 18px; width: auto; grid-template-columns: 1fr; max-height: calc(100svh - 180px - env(safe-area-inset-bottom)); overflow-y: auto; z-index: 100002; }
  .ms-public .fusion-catalogue-menu > button { min-height: 48px; }
  .ms-public .fusion-story-page { padding-inline: 20px; }
  .ms-public .fusion-story-copy p { font-size: 17px !important; }
}

/* Dark canvas; translucent reading surfaces keep the monogram visible. */
.ms-public .section-head, .ms-public .fusion-story-heading { background: #fff; padding: 24px; border-radius: 16px; }
.ms-public .fusion-hub-controls { background: #fff; padding: 18px !important; border: 0; border-radius: 14px; }
.ms-public .trip-bar-ctx { background: #fff !important; padding: 16px !important; margin-top: 14px; border-radius: 14px; }
.ms-public .trip-filter-bar, .ms-public .cat-filters { background: #fff !important; padding: 12px !important; border-radius: 14px; }
.ms-public .trip-feature-badge { background: var(--brand-deep) !important; color: #fff !important; }
.ms-public .trip-feature-body { padding: 28px !important; border-radius: 16px; }
.ms-public .cat-body { background: #fff; padding: 20px !important; border-radius: 0 0 14px 14px; }
.ms-public .fusion-about-copy, .ms-public .fusion-story-copy { background: #fff; padding: clamp(24px,3vw,44px); border-radius: 16px; }
.ms-public .fusion-about { padding-block: 24px; gap: 24px; border: 0; }
.ms-public .fusion-story-portrait figcaption { background: #fff; padding: 8px 12px; border-radius: 10px; color: var(--ink); }
.ms-public .fusion-story-back { background: #fff; padding: 10px 18px; border-radius: 10px; }
.ms-public .ms-rev-h, .ms-public .ms-rev-sub { background: #fff; padding: 18px; margin-block: 0 !important; }
.ms-public .ms-rev-grid { margin-top: 24px; }
.ms-public .trip-feature-img .itin-carousel-dot { background: #ffffff80 !important; }
.ms-public .trip-feature-img .itin-carousel-dot.is-active { background: #fff !important; }
.ms-public .ms-ld-map-shell { position: relative; }
.ms-public .ms-ld-map { background: #f5f5f5; }
.ms-public .ms-ld-map-status, .ms-public .ms-ld-map-note { color: var(--ink-2); font-size: 13px !important; line-height: 1.5; margin: 10px 0 0; }
.ms-public .ms-ld-map-message { position: absolute; inset: 60px 16px auto; background: #fff; border: 1px solid var(--line); padding: 14px; border-radius: 10px; z-index: 500; color: var(--ink); }
.ms-public .ms-ld-map-message a { color: var(--brand-deep); font-weight: 600; }
.ms-public .ms-ld-pin { color: #fff !important; }
/* Tint only the background, never the text, photos, form fields or map tiles. */
.ms-public :is(.section-head,.fusion-story-heading,.fusion-hub-controls,.trip-bar-ctx,.trip-filter-bar,.cat-filters,.trip-feature-body,.cat-body,.fusion-about-copy,.fusion-story-copy,.fusion-story-portrait figcaption,.fusion-story-back,.ms-rev-h,.ms-rev-sub,.ms-rev-card,.itin-form,.itin-sidebar,.ms-ld-card,.ms-ld-book) {
  background-color: rgba(26,26,26,.5) !important;
  background-image: none !important;
  box-shadow: inset 0 0 0 1px #ffffff1a;
}
/* Shared box geometry; preserve round icons, carousel dots and logo photo masks. */
.ms-public :is(.section-head,.fusion-story-heading,.fusion-hub-controls,.trip-bar-ctx,.trip-filter-bar,.cat-filters,.trip-feature-body,.cat-body,.fusion-about-copy,.fusion-story-copy,.ms-rev-card,.itin-shell,.itin-form,.itin-sidebar,.ms-ld-card,.ms-ld-book,.ms-ld-wrap,.ms-ld-map,.contact-card,.contact-info,.fusion-catalogue-menu,.fusion-more > div,.ms-hero-search-dropdown,.auth-modal,.wa-panel,.ig-scroll-popup,.footer) {
  border-radius: var(--fusion-radius-panel) !important;
}
.ms-public :is(.btn,.cat-showmore,.cat-showall,.ms-gal-more,.ms-rev-more,.trip-feature-cta,.fusion-nav-plan,.fusion-menu-toggle,.fusion-catalogue-trigger,.fusion-catalogue-menu > button,.cat-tab-v2,.season-vac-pill,.season-subtab,.filter-chip,.trip-filter-chip,.cat-arrow,.opt-card,.itin-step-pill,.ms-ld-book-cta,.ms-ld-mbar-cta,.fusion-story-back,.fusion-story-portrait figcaption,input,select,textarea),
.ms-public #home.fusion-hero .ms-hero-search {
  border-radius: var(--fusion-radius-control) !important;
}
.ms-public .ms-rev-h { border-radius: var(--fusion-radius-panel) var(--fusion-radius-panel) 0 0 !important; }
.ms-public .ms-rev-sub { border-radius: 0 0 var(--fusion-radius-panel) var(--fusion-radius-panel) !important; color: var(--ink-2) !important; }
.ms-public :is(.section-head,.fusion-story-heading,.fusion-about-copy,.fusion-story-copy,.trip-feature-body,.cat-body,.ms-rev-card) :is(.eyebrow,.fusion-eyebrow,.ms-rev-stars,.fusion-story-link,.fusion-story-back) { color: #ffffff !important; }
.ms-public .section-head > p { color: var(--ink-2) !important; }
.ms-public :is(.ms-gal-more,.cat-showmore,.cat-showall,.fusion-catalogue-trigger,.ms-ld-outline) { background-color: rgba(26,26,26,.5) !important; color: var(--ink) !important; }
.ms-public :is(.ms-ld-outline,.ms-ld-pass,.ms-ld-room,.auth-form button,.wa-panel input) { border-radius: var(--fusion-radius-control) !important; }
/* Utility surfaces stay solid so menus, forms and dialogs remain readable. */
.ms-public :is(.fusion-catalogue-menu,.fusion-catalogue-menu > button,.fusion-more > div,.ms-hero-search-dropdown,.ms-tabbar,.auth-modal,.auth-modal-main,.auth-modal-form,.wa-panel,.wa-panel-body,.ig-scroll-popup,.ms-ld-map-message,.ms-ld-mbar,.ms-ld-field,.ms-ld-pass,.ms-ld-room,.itin-shell,.opt-card,input,select,textarea) { background-color: #202020 !important; color: #fff !important; border-color: var(--line) !important; }
.ms-public .fusion-catalogue-menu > button:hover, .ms-public .fusion-catalogue-menu > button:focus-visible, .ms-public .fusion-catalogue-menu > button[aria-checked="true"] { background: #38302e !important; }
.ms-public :is(input,textarea)::placeholder { color: #c5c5c5 !important; opacity: 1; }
.ms-public :is(.fusion-catalogue-label,.fusion-catalogue-count,.trip-feature-eyebrow,.trip-feature-season-dates,.trip-feature-fit,.trip-feature-urgency,.trip-card-tag,.cat-area,.cat-duration,.cat-rating,.cat-reviews,.cat-count,.ms-rev-name,.ms-ld-desc,.ms-ld-amen,.ms-ld-price,.ms-ld-muted,.itin-sub,.itin-help,.itin-step-label,.opt-card,.fld label,.auth-modal p,.auth-modal label) { color: var(--ink-2) !important; }
.ms-public :is(.trip-feature-fit,.trip-feature-urgency,.trip-card-tag,.cat-tab-v2 .count) { background: #292929 !important; color: #fff !important; }
.ms-public .fusion-story-link,.ms-public .fusion-story-back,.ms-public .ms-ld-map-message a { color: #fff !important; }
.ms-public .ms-rev-source { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: 14px; text-underline-offset: 4px; }
.ms-public .ms-rev-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 18px; }
.ms-public .ms-rev-checked { color: var(--ink-3); font-size: 13px; }
.ms-public :is(.trip-feature-body,.cat-body,.section-head,.fusion-story-copy,.fusion-about-copy,.ms-rev-card,.itin-shell,.ms-ld-card,.auth-modal,.wa-panel,.ms-weather-panel,.ms-weather-fab) :is(p,li,label,legend,span,small,strong,h1,h2,h3,h4,h5,h6):not(.leaflet-container *) { color: #fff !important; }
.ms-public :is(.trip-feature-ideal,.ms-ld-topbar,.ms-ld-badgecard,.ms-ld-book-note,.ms-ld-iconbtn,.ms-ld-close,.ms-ld-book-2nd,.ms-weather-fab,.ms-weather-panel) { background: #202020 !important; color: #fff !important; border-color: var(--line) !important; }
.ms-public :is(.cat-price-amount,.cat-price-label,.trip-filter-count,.fusion-catalogue-menu-count,.ms-ld-book-note,.ms-ld-badgecard-sub,.ms-ld-dots,.ms-ld-book-2nd) { color: #fff !important; }
.ms-public :is(.trip-filter-bar,.cat-filters,.cat-tabs-v2)::after { background: linear-gradient(to right,transparent,#202020) !important; }
.ms-public .ms-ld-card :not(.leaflet-container):not(.leaflet-container *) { color: #fff !important; }
.ms-public :is(.ms-ld-showall,.ms-ld-book-cell,.ms-ld-cal-d:hover:not(:disabled),.ms-ld-cal-arrow:hover:not(:disabled),.ms-ld-map-fallback,.ms-lc-menu,.ms-lc-opt,.ms-weather-detailed) { background: #202020 !important; color: #fff !important; border-color: var(--line) !important; }
.ms-public .ms-ld-book-pill,.ms-public .ms-ld-cal-d.sel { background: var(--brand-deep) !important; color: #fff !important; }
.ms-public .ms-ld-cal-d.range { background: #b82c1a60 !important; }
.ms-public .ms-ld-cal-d.past,.ms-public .ms-ld-cal-arrow:disabled { opacity: .35; }
.ms-public .ms-ld-book-error { background: #69251c !important; border-color: #de3b25 !important; }
.ms-public :is(.ms-lc-menu,.ms-weather-detailed) :is(span,div,p,h3,h4,button) { color: #fff !important; }
.ms-public .ms-lc-opt:hover,.ms-public .ms-lc-opt.is-active { background: #38302e !important; }
.ms-public .btn-outline:hover,.ms-public .btn-ink,.ms-public .cat-fav { background: #292929 !important; color: #fff !important; }
.ms-public .ms-ld-showall { border-radius: var(--fusion-radius-control) !important; }

/* Pair each nested reading surface with its foreground, including hover states. */
.ms-public .ms-ld-card .itin-timeline-card,
.ms-public .ms-ld-card .itin-timeline-card:hover {
  background: #202020 !important;
  color: #fff !important;
  border: 1px solid #ffffff30 !important;
  border-radius: var(--fusion-radius-control) !important;
}
.ms-public .ms-ld-card .ms-ld-htag {
  background: #292929 !important;
  color: #fff !important;
  border: 1px solid #ffffff50 !important;
  border-radius: var(--fusion-radius-control) !important;
}
.ms-public .ms-ld-card .ms-ld-htag:hover,
.ms-public .ms-ld-card .ms-ld-htag:focus-visible { background: var(--brand-deep) !important; }
.ms-public .ms-ld-card :is(.itin-tl-row,.ms-ld-divtop) { border-color: #ffffff30 !important; }
.ms-public #itineraries .trip-bar .season-subtabs-track { background: transparent !important; }
.ms-public #itineraries .trip-bar .season-subtab,
.ms-public #itineraries .trip-bar .season-subtab:hover,
.ms-public #itineraries .trip-bar .season-subtab:focus-visible { color: #fff !important; background: #202020 !important; }
.ms-public #itineraries .trip-bar .season-subtab.active { color: #fff !important; background: var(--brand-deep) !important; }
.ms-public :is(.btn-primary,.fusion-nav-plan,.trip-feature-cta,.ms-ld-book-cta,.ms-ld-mbar-cta,.itin-tl-badge,.ms-ld-maplegend-item b) { background-color: var(--brand-deep) !important; color: #fff !important; }
.ms-public .contact-info > .eyebrow { color: #fff !important; }
.ms-public :is(.ip-post-dot,.ip-post-more,.ip-post-time) { color: #656565 !important; }
.ms-public .ip-post-follow { color: #006fae !important; }
.ms-public .ip-post :is(.ip-post-likes,.ip-post-actions) { color: #b82c1a !important; }
.ms-public .ip-post-act em { color: #b82c1a !important; }
.ms-public #catalog .cat-body :is(.cat-price-from,.cat-price-amount,.fusion-cat-label) { color: #fff !important; }
.ms-public #catalog .cat-rental-banner { background: #202020 !important; color: #fff !important; border-color: #ffffff30 !important; }
.ms-public #catalog .cat-rental-banner :is(div,span,strong) { color: #fff !important; }
.ms-public #itineraries .trip-maintabs-v2 .cat-tab-v2,
.ms-public #itineraries .trip-maintabs-v2 .cat-tab-v2 span { color: #fff !important; }
.ms-public .fusion-nav .ms-lc-pill { display: inline-flex !important; align-items: center; gap: 7px; width: auto !important; padding-inline: 10px !important; }
.ms-public .fusion-nav .ms-lc-pill { width: 42px !important; padding: 0 !important; justify-content: center; }
.ms-public .ms-rev-stars,.ms-public .ms-rev-checked,.ms-public .footer-collab-eyebrow { color: #fff !important; }
.ms-public .footer .nav-logo em { color: #fff !important; opacity: 1 !important; }
.ms-public .ms-rev-actions { background: #202020; border-radius: var(--fusion-radius-control); padding: 12px 16px; }
.ms-public .footer-collab button[type="submit"] { background: var(--brand-deep) !important; color: #fff !important; }
.ms-public .itin-shell :is(.rcal,.form-counter,.mc-stop,.rental-card,.itin-tl-card,.itin-contact-card,.already-booked-group,.itin-ctx-banner) {
  background: #202020 !important; color: #fff !important; border-color: #ffffff30 !important;
}
.ms-public .itin-shell :is(.rcal-nav,.rcal-cell,.mc-toggle,.mc-add,.mc-remove,.counter-btns button,.mc-night-ctrl button,.day-nav-arrow,.day-nav-pill,.taste-chip,.taste-more,.itin-step-pill,.dur-preset,.itin-ctx-clear) {
  background: #292929 !important; color: #fff !important; border-color: #ffffff50 !important;
}
.ms-public .itin-shell :is(.rcal-cell,.mc-toggle,.day-nav-pill,.taste-chip,.itin-step-pill,.dur-preset):is(.active,.start,.end) {
  background: var(--brand-deep) !important; color: #fff !important; border-color: #fff !important;
}
.ms-public .itin-shell :is(.rcal-cell.in,.rcal-cell.in-hover) { background: #653129 !important; color: #fff !important; }
.ms-public .itin-shell :is(.rcal-nav,.rcal-cell,.mc-toggle,.day-nav-pill,.taste-chip,.itin-step-pill,.counter-btns button):hover:not(:disabled) { background: #49302b !important; color: #fff !important; }
.ms-public .itin-shell .rcal-cell.past { color: #aaa !important; }
.ms-public .itin-shell :is(.rcal-month-head,.rcal-wd,.form-counter .name,.form-counter .sub,.form-counter .val,.itin-preview-head .eyebrow,.itin-preview-head h3,.itin-sum-k,.itin-sum-v,.taste-section-h,.taste-section-meta,.itin-ctx-eyebrow,.itin-ctx-meta) { color: #fff !important; }
.ms-public .itin-shell .itin-preview-head :is(.eyebrow,h2,h3,em) { color: #fff !important; }
.ms-public .itin-shell .opt-card.active { border-color: #fff !important; box-shadow: inset 0 0 0 1px #fff !important; }
.ms-public .itin-shell .opt-card.active::after { color: #fff !important; }
.ms-public .auth-modal :is(.auth-close,.auth-tab,.auth-social-btn,.auth-forgot,.auth-skip) { background: #292929 !important; color: #fff !important; }
.ms-public .auth-modal .auth-tab.active { background: var(--brand-deep) !important; color: #fff !important; }
.ms-public .auth-modal .auth-submit { background: var(--brand-deep) !important; color: #fff !important; }
.ms-public :is(.ms-chat-panel,.ms-chat-messages,.ms-chat-form,.ms-chat-msg.bot,.ms-profile-panel,.ms-profile-card) { background: #202020 !important; color: #fff !important; }
.ms-public :is(.ms-chat-panel,.ms-profile-panel) :is(p,span,h2,h3,label,button) { color: #fff !important; }
.ms-public :is(a,button,input,select,textarea):focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; }

/* The same type scale for the five primary homepage section headings. */
.ms-public { --fusion-section-heading-size: clamp(38px,4vw,64px); }
.ms-public #itineraries .section-head h2,
.ms-public .fusion-about h2,
.ms-public #contact .contact-info h2,
.ms-public .ms-rev-h {
  font-size: var(--fusion-section-heading-size) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
  color: #fff !important;
}

/* A lightweight, categorized travel gallery; full-size photos load on demand. */
.ms-public .fusion-gallery-toolbar { margin: 24px 0 30px; padding: 20px 24px; border: 1px solid #ffffff26; border-radius: var(--fusion-radius-panel); background: rgba(26,26,26,.5); }
.ms-public .fusion-gallery-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.ms-public .fusion-gallery-tabs > button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 22px; border: 1px solid #ffffff30; border-radius: var(--fusion-radius-control) !important; background: transparent; color: #fff; font: inherit; font-size: 17px; cursor: pointer; }
.ms-public .fusion-gallery-tabs > button:hover { background: #ffffff12; }
.ms-public .fusion-gallery-tabs > button[aria-selected="true"] { background: var(--brand-deep); border-color: #ffffff90; }
.ms-public .fusion-gallery-tabs > button > span { font-family: 'IBM Plex Mono',monospace; font-size: 11px; opacity: .85; }
.ms-public .fusion-gallery-summary { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px 24px; padding-top: 16px; }
.ms-public .fusion-gallery-summary p { margin: 0; color: #fff; font-size: 16px; line-height: 1.5; text-align: center; }
.ms-public .fusion-gallery-summary > span { color: #fff; font-family: 'IBM Plex Mono',monospace; font-size: 11px; white-space: nowrap; }
.ms-public .fusion-gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 24px !important; }
.ms-public .fusion-gallery-photo { min-width: 0; margin: 0; }
.ms-public .fusion-gallery-photo .ms-gal-item { display: block; width: 100%; padding: 0; border: 0; cursor: zoom-in; overflow: visible; }
.ms-public .fusion-gallery-photo .ms-gal-item > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-public .fusion-gallery-photo figcaption { margin-top: 14px; padding: 10px 12px; border-radius: var(--fusion-radius-control); background: rgba(26,26,26,.5); text-align: center; color: #fff; font-size: 16px; line-height: 1.4; }
.ms-public .fusion-gallery-tabs > button:focus-visible,.ms-public .fusion-gallery-photo .ms-gal-item:focus-visible { outline: 3px solid #fff !important; outline-offset: 4px; }
.ms-public .fusion-gallery-dialog { width: min(1180px,calc(100vw - 40px)); max-width: none; max-height: calc(100svh - 40px); padding: 20px; border: 1px solid #ffffff30; border-radius: var(--fusion-radius-panel); background: #171717; color: #fff; box-shadow: 0 24px 90px #0009; }
.ms-public .fusion-gallery-dialog::backdrop { background: #080808e6; }
.ms-public .fusion-gallery-viewer { display: grid; gap: 16px; }
.ms-public .fusion-gallery-viewer-bar,.ms-public .fusion-gallery-viewer-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ms-public .fusion-gallery-viewer-bar > span { font-family: 'IBM Plex Mono',monospace; font-size: 13px; }
.ms-public .fusion-gallery-dialog button { flex-shrink: 0; min-width: 48px; min-height: 48px; padding: 10px 16px; border: 1px solid #ffffff50; border-radius: var(--fusion-radius-control) !important; background: #292929; color: #fff; font: inherit; font-size: 17px; cursor: pointer; }
.ms-public .fusion-gallery-dialog button:hover { background: var(--brand-deep); }
.ms-public .fusion-gallery-full { display: block; width: 100%; height: auto; max-height: min(68svh,800px); object-fit: contain; border-radius: 12px; }
.ms-public .fusion-gallery-viewer-foot p { color: #fff; text-align: center; font-size: 17px; line-height: 1.4; margin: 0; }
@media(max-width:900px) {
  .ms-public .fusion-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .ms-public .fusion-gallery-toolbar { padding: 16px; }
  .ms-public .fusion-gallery-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .ms-public .fusion-gallery-tabs > button { padding: 10px; font-size: 16px; }
  .ms-public .fusion-gallery-grid { gap: 24px 14px !important; }
  .ms-public .fusion-gallery-photo figcaption { font-size: 14px; }
  .ms-public .fusion-gallery-dialog { width: calc(100vw - 20px); max-height: calc(100svh - 20px); padding: 14px; }
  .ms-public .fusion-gallery-full { max-height: 58svh; }
  .ms-public .fusion-gallery-viewer-foot { gap: 10px; }
  .ms-public .fusion-gallery-viewer-foot p { font-size: 15px; }
}
@media (max-width: 600px) {
  .ms-public .fusion-hub-controls { padding: 14px !important; }
  .ms-public .trip-feature-body { padding: 22px !important; }
  .ms-public .fusion-story-copy { padding: 22px; }
  .ms-public .fusion-about { padding-inline: 0; }
}

/* One quiet motion language. Native cursors and focus indicators remain intact. */
.ms-public .fusion-cursor { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .ms-public.fusion-motion-ready :is(button,.btn,.fusion-nav-plan,summary) {
    transition: background-color 220ms ease,border-color 220ms ease,box-shadow 300ms ease,translate 380ms cubic-bezier(.22,1,.36,1),scale 220ms ease !important;
  }
  .ms-public.fusion-motion-ready :is(button,.btn,.fusion-nav-plan):active:not(:disabled) { scale: .975; }
  .ms-public.fusion-motion-ready :is(input,textarea,select) { transition: border-color 220ms ease,box-shadow 220ms ease !important; }
  .ms-public.fusion-motion-ready :is(input,textarea,select):focus { box-shadow: 0 0 0 4px #ffffff18 !important; }
  .ms-public.fusion-motion-ready :is(.fusion-more[open] > div,.fusion-catalogue-menu,.ms-lc-menu,.nav-links.is-open,.auth-modal,.ms-ld-card,.fusion-gallery-dialog[open],.ms-weather-panel,.ms-chat-panel) {
    animation: fusion-panel-arrive 340ms cubic-bezier(.22,1,.36,1) both;
  }
  .ms-public.fusion-motion-ready .fusion-hero-content > :is(.fusion-eyebrow,h1,.ms-hero-tagline,.ms-hero-desc,.ms-hero-actions,.ms-hero-search) {
    animation: fusion-content-arrive 850ms cubic-bezier(.22,1,.36,1) both;
  }
  .ms-public.fusion-motion-ready .fusion-hero-content > h1 { animation-delay: 70ms; }
  .ms-public.fusion-motion-ready .fusion-hero-content > .ms-hero-tagline { animation-delay: 130ms; }
  .ms-public.fusion-motion-ready .fusion-hero-content > .ms-hero-desc { animation-delay: 190ms; }
  .ms-public.fusion-motion-ready .fusion-hero-content > .ms-hero-actions { animation-delay: 240ms; }
  .ms-public.fusion-motion-ready .fusion-hero-content > .ms-hero-search { animation-delay: 290ms; }
  .ms-public.fusion-motion-ready .fusion-hero .ms-hero-bg > img { animation: fusion-hero-settle 1800ms cubic-bezier(.22,1,.36,1) both; }
  .ms-public.fusion-motion-ready :is(.cat-img > img,.ms-gal-item > img,.fusion-about-image > img,.fusion-story-moments img,.nav-logo img) {
    transition: scale 850ms cubic-bezier(.22,1,.36,1),filter 500ms ease,rotate 550ms cubic-bezier(.22,1,.36,1) !important;
  }
  .ms-public.fusion-motion-ready :is(.btn,.fusion-nav-plan,.trip-feature-cta,.fusion-story-link) svg { transition: translate 350ms cubic-bezier(.22,1,.36,1); }
  .ms-public.fusion-motion-ready .trip-feature-cta > span:last-child { display: inline-block; transition: translate 350ms cubic-bezier(.22,1,.36,1); }
  .ms-public.fusion-motion-ready :is(.ms-ld-mo,.ms-ld-room-img) { transition: filter 450ms ease; }
  .ms-public.fusion-motion-ready :is(.cat-body,.ms-rev-card,.fusion-gallery-photo figcaption,.opt-card) { transition: box-shadow 350ms ease,border-color 300ms ease !important; }
  @keyframes fusion-panel-arrive { from { opacity: 0; translate: 0 9px; scale: .985; } to { opacity: 1; translate: 0 0; scale: 1; } }
  @keyframes fusion-content-arrive { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
  @keyframes fusion-hero-settle { from { scale: 1.045; } to { scale: 1; } }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ms-public.fusion-motion-ready .fusion-cursor { display: block; position: fixed; left: 0; top: 0; width: 0; height: 0; z-index: 100050; pointer-events: none; opacity: 0; transition: opacity 180ms ease; }
  .ms-public.fusion-motion-ready .fusion-cursor.is-visible { opacity: 1; }
  .ms-public .fusion-cursor-logo { display: block; width: 30px; height: 34px; margin: -17px -15px; background: none; opacity: .9; transition: scale 400ms cubic-bezier(.22,1,.36,1),opacity 250ms ease; }
  .ms-public.fusion-motion-ready .fusion-cursor { filter: drop-shadow(0 1px 2px #0008); }
  .ms-public .fusion-cursor.is-interactive .fusion-cursor-logo { scale: 1.35; opacity: 1; }
  .ms-public .fusion-cursor.is-photo .fusion-cursor-logo { scale: 1.6; opacity: 1; }
  .ms-public.fusion-motion-ready :is(.trip-feature-img,.cat-img,.fusion-about-image,.fusion-story-portrait > img,.fusion-story-moments img,.fusion-gallery-photo .ms-gal-item) { transition: transform 500ms cubic-bezier(.22,1,.36,1),scale 500ms cubic-bezier(.22,1,.36,1) !important; }
  .ms-public.fusion-motion-ready .fusion-motion-photo { transform: perspective(1000px) rotateX(var(--fusion-rx,0deg)) rotateY(var(--fusion-ry,0deg)) !important; transition: transform 500ms cubic-bezier(.22,1,.36,1) !important; }
  .ms-public.fusion-motion-ready :is(button,.btn,.fusion-nav-plan):hover:not(:disabled) { translate: 0 -2px; }
  .ms-public.fusion-motion-ready .fusion-magnetic { translate: var(--fusion-mx,0px) var(--fusion-my,0px) !important; }
  .ms-public.fusion-motion-ready :is(.cat-img,.ms-gal-item,.fusion-about-image):hover > img { scale: 1.035; filter: saturate(1.05); }
  .ms-public.fusion-motion-ready .fusion-story-moments img:hover { scale: 1.025; }
  .ms-public.fusion-motion-ready .nav-logo:hover img { rotate: -5deg; scale: 1.06; }
  .ms-public.fusion-motion-ready :is(.btn,.fusion-nav-plan,.trip-feature-cta,.fusion-story-link):hover svg { translate: 3px 0; }
  .ms-public.fusion-motion-ready .trip-feature-cta:hover > span:last-child { translate: 3px 0; }
  .ms-public.fusion-motion-ready :is(.ms-ld-mo,.ms-ld-room-img):hover { filter: brightness(1.06); }
  .ms-public.fusion-motion-ready :is(.cat-card:hover .cat-body,.ms-rev-card:hover,.fusion-gallery-photo:hover figcaption,.opt-card:hover) { box-shadow: inset 0 0 0 1px #ffffff50,0 12px 28px #0002 !important; }
  .ms-public .fusion-nav .nav-links > a:not(.fusion-mobile-plan) { background-image: linear-gradient(#fff,#fff); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 1px; transition: background-size 350ms cubic-bezier(.22,1,.36,1); }
  .ms-public .fusion-nav .nav-links > a:hover { text-decoration: none !important; background-size: 100% 1px; }
}
@media (prefers-reduced-motion: reduce) {
  .ms-public .fusion-cursor { display: none !important; }
  .ms-public .fusion-motion-photo { transform: none !important; }
  .ms-public .fusion-magnetic { translate: none !important; }
}

/* One focused trip chooser instead of three competing filter bars. */
.ms-public .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.ms-public a.sr-only:focus { position: fixed !important; top: 12px; left: 12px; z-index: 100100; width: auto !important; height: auto !important; padding: 12px 18px !important; clip: auto !important; clip-path: none !important; background: #202020; color: #fff; }
.ms-public #itineraries { scroll-margin-top: 100px; padding-top: 36px !important; }
.ms-public #itineraries .fusion-journey-chooser {
  max-width: none; margin: 0 auto 36px; padding: 28px 30px 14px;
  background: rgba(26,26,26,.5); border: 1px solid #ffffff26;
  border-radius: var(--fusion-radius-panel); box-shadow: 0 12px 40px #00000012;
}
.ms-public #itineraries .fusion-journey-chooser .section-head {
  background: transparent !important; padding: 0 !important; margin: 0 0 24px !important;
  box-shadow: none !important; border: 0 !important;
}
.ms-public #itineraries .fusion-journey-chooser .section-head h2 { margin: 0 !important; }
.ms-public #itineraries .fusion-journey-chooser .fusion-hub-controls {
  display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 24px;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 auto; max-width: 930px;
}
.ms-public #itineraries .fusion-journey-chooser .trip-maintabs-v2 {
  display: flex !important; flex-wrap: nowrap !important; flex: 0 0 auto; justify-content: center !important;
  gap: 4px !important; margin: 0 !important; padding: 4px !important;
  background: #ffffff0b !important; border: 0 !important; border-radius: 14px !important;
}
.ms-public #itineraries .fusion-journey-chooser .cat-tab-v2 {
  min-height: 44px; padding: 11px 16px !important; border: 0 !important; border-radius: 10px !important;
  color: #fff !important; background: transparent !important; font-size: 16px !important; white-space: nowrap;
}
.ms-public #itineraries .fusion-journey-chooser .cat-tab-v2.active { background: var(--brand-deep) !important; }
.ms-public #itineraries .fusion-journey-chooser .cat-tab-v2:not(.active):hover { background: #ffffff12 !important; }
.ms-public #itineraries .fusion-chooser-fields { display: grid; grid-template-columns: 1.45fr 1fr; gap: 10px; flex: 1 1 430px; max-width: 480px; min-width: 0; }
.ms-public #itineraries .fusion-chooser-fields.is-tours { grid-template-columns: 1fr; flex: 0 1 270px; max-width: 270px; }
.ms-public #itineraries .fusion-chooser-field { display: block; min-width: 0; padding: 9px 12px; border: 1px solid #ffffff30; border-radius: 12px; background: #ffffff08; transition: border-color 220ms ease,background-color 220ms ease; }
.ms-public #itineraries .fusion-chooser-field:focus-within { border-color: #fff; background: #ffffff10; }
.ms-public #itineraries .fusion-chooser-field > span:first-child { display: block; margin: 0 0 5px; color: #d0d0d0; font-size: 11px; font-weight: 500; letter-spacing: .06em; }
.ms-public #itineraries .fusion-field-value { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ms-public #itineraries .fusion-field-value > svg { flex-shrink: 0; color: #d0d0d0; }
.ms-public #itineraries .fusion-chooser-field select { width: 100%; min-width: 0; min-height: 28px; padding: 0 2px !important; border: 0 !important; border-radius: 3px !important; background: transparent !important; color: #fff !important; box-shadow: none !important; font: inherit; font-size: 16px !important; cursor: pointer; }
.ms-public #itineraries .fusion-chooser-field option { background: #202020; color: #fff; }
.ms-public #itineraries .fusion-chooser-secondary { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 24px; margin-top: 14px; }
.ms-public #itineraries .fusion-chooser-secondary .fusion-catalogue-select { width: auto; min-width: 0; }
.ms-public #itineraries .fusion-chooser-secondary .fusion-catalogue-trigger,
.ms-public #itineraries .fusion-wedding-link {
  display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 44px;
  width: auto; padding: 8px 12px; border: 0 !important; background: transparent !important;
  color: #e2e2e2 !important; border-radius: 10px !important; box-shadow: none !important; font: inherit; font-size: 14px !important; cursor: pointer;
}
.ms-public #itineraries .fusion-chooser-secondary .fusion-catalogue-trigger > svg,
.ms-public #itineraries .fusion-wedding-link > svg { color: #d0d0d0; }
.ms-public #itineraries .fusion-chooser-secondary .fusion-catalogue-trigger:hover,
.ms-public #itineraries .fusion-wedding-link:hover { background: #ffffff0c !important; color: #fff !important; }
.ms-public #itineraries .fusion-chooser-secondary .fusion-catalogue-menu { left: 50%; right: auto; transform: translateX(-50%); }
@media(max-width:1050px) {
  .ms-public #itineraries .fusion-journey-chooser .fusion-hub-controls { flex-direction: column; gap: 16px; }
  .ms-public #itineraries .fusion-chooser-fields,
  .ms-public #itineraries .fusion-chooser-fields.is-tours { flex: none; width: 100%; max-width: 540px; }
}
@media(max-width:600px) {
  .ms-public #itineraries { scroll-margin-top: 88px; padding-top: 24px !important; }
  .ms-public #itineraries .fusion-journey-chooser { padding: 22px 18px 10px; margin-bottom: 24px; }
  .ms-public #itineraries .fusion-journey-chooser .section-head { margin-bottom: 20px !important; }
  .ms-public #itineraries .fusion-journey-chooser .trip-maintabs-v2 { width: 100%; }
  .ms-public #itineraries .fusion-journey-chooser .cat-tab-v2 { flex: 1 1 0; padding: 10px 8px !important; font-size: 14px !important; }
  .ms-public #itineraries .fusion-chooser-secondary { flex-direction: column; gap: 0; margin-top: 8px; }
  .ms-public #itineraries .fusion-chooser-secondary .fusion-catalogue-menu { left: 18px; right: 18px; width: auto; transform: none; }
}
@media(max-width:460px) {
  .ms-public #itineraries .fusion-chooser-fields { grid-template-columns: 1fr; }
  .ms-public #itineraries .fusion-chooser-field { display: grid; grid-template-columns: 76px minmax(0,1fr); align-items: center; gap: 8px; padding: 10px 12px; }
  .ms-public #itineraries .fusion-chooser-field > span:first-child { margin: 0; letter-spacing: 0; font-size: 12px; }
  .ms-public #itineraries .fusion-field-value > svg { display: none; }
  .ms-public #itineraries .fusion-chooser-fields.is-tours .fusion-chooser-field { display: block; }
  .ms-public #itineraries .fusion-chooser-fields.is-tours .fusion-chooser-field > span:first-child { margin-bottom: 5px; }
}

/* Seasonal motion stays decorative, brief and outside photographs and controls. */
.ms-public .fusion-season-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ms-public .fusion-season-heading .trip-feature-eyebrow { flex: 1; min-width: 0; }
.ms-public .fusion-season-accent { display: inline-block; position: relative; flex: 0 0 116px; width: 116px; height: 56px; color: #f5d4a0; pointer-events: none; overflow: hidden; }
.ms-public .fusion-season-symbol { position: absolute; width: 34px; height: 34px; left: 41px; top: 13px; transform-origin: center; }
.ms-public .fusion-season-particle { position: absolute; display: block; width: 13px; height: 13px; opacity: .65; }
.ms-public .fusion-season-particle svg { display: block; width: 100%; height: 100%; }
.ms-public .fusion-season-particle.particle-0 { left: 10px; top: 11px; }
.ms-public .fusion-season-particle.particle-1 { left: 27px; top: 37px; width: 9px; height: 9px; }
.ms-public .fusion-season-particle.particle-2 { right: 11px; top: 29px; }
.ms-public .fusion-season-particle.particle-3 { right: 28px; top: 5px; width: 9px; height: 9px; }
.ms-public .fusion-season-accent[data-season="vinterferie"] { color: #dceef7; }
.ms-public .fusion-season-accent[data-season="paske"] { color: #f4dbad; }
.ms-public .fusion-season-accent[data-season="mai"] { color: #fff; }
.ms-public .fusion-season-accent[data-season="hostferie"] { color: #f4bd83; }
.ms-public .fusion-season-tree-star { position: absolute; width: 10px; height: 10px; left: 53px; top: 4px; }
.ms-public .fusion-listing-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-right: 40px; }
.ms-public .fusion-listing-heading .ms-ld-title { min-width: 0; margin-right: 0; }
.ms-public .ms-ld-mo:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
@keyframes fusion-season-drift { 0% { transform: translateY(-8px) rotate(-12deg); opacity: .2; } 45% { opacity: .9; } 100% { transform: translateY(0) rotate(0); opacity: .65; } }
@keyframes fusion-season-bloom { 0% { transform: scale(.7) rotate(-35deg); opacity: .35; } 65% { transform: scale(1.08) rotate(8deg); opacity: 1; } 100% { transform: scale(1) rotate(0); } }
@keyframes fusion-season-wave { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-9deg); } 55% { transform: rotate(7deg); } 80% { transform: rotate(-3deg); } }
@keyframes fusion-season-sun { from { transform: rotate(-70deg) scale(.85); } to { transform: rotate(0) scale(1); } }
@keyframes fusion-season-spark { 0% { transform: scale(.4); opacity: .1; } 40% { transform: scale(1.3); opacity: 1; } 100% { transform: scale(1); opacity: .65; } }
@media (prefers-reduced-motion: no-preference) {
  .ms-public .fusion-season-accent.is-ready .fusion-season-particle { animation: fusion-season-drift 3.4s ease-out var(--accent-delay) both; }
  .ms-public .fusion-season-accent.is-ready[data-season="paske"] .fusion-season-symbol { animation: fusion-season-bloom 3.6s ease-out both; }
  .ms-public .fusion-season-accent.is-ready[data-season="mai"] .fusion-season-symbol { animation: fusion-season-wave 3.6s ease-in-out both; }
  .ms-public .fusion-season-accent.is-ready[data-season="sommerferie"] .fusion-season-symbol { animation: fusion-season-sun 3.6s ease-out both; }
  .ms-public .fusion-season-accent.is-ready[data-season="jul"] :is(.fusion-season-particle,.fusion-season-tree-star) { animation: fusion-season-spark 3.6s ease-out var(--accent-delay,0ms) both; }
}
@media(max-width:600px) {
  .ms-public .fusion-listing-heading { padding-right: 20px; gap: 8px; }
  .ms-public .fusion-listing-heading .ms-ld-title { margin-left: 20px; }
  .ms-public .fusion-listing-heading .fusion-season-accent { flex-basis: 80px; width: 80px; scale: .8; transform-origin: right center; }
  .ms-public .fusion-season-heading { gap: 4px; }
}

/* Shared public pages keep the same brand canvas and translucent surfaces. */
.ms-public .fusion-public-main { padding-top: 118px; }
.ms-public-page .fusion-nav { background-color: #1a1a1ae6 !important; }
.ms-public .fusion-page-heading { max-width: none; width: calc(100% - var(--fusion-page-gutter) * 2); margin: 0 auto 32px; padding: 30px 40px; border: 1px solid #ffffff26; border-radius: 24px; background: rgba(26,26,26,.5); text-align: center; }
.ms-public .fusion-page-heading h1,.ms-public .fusion-journal-article h1 { font-size: clamp(38px,4vw,64px); line-height: 1.08; letter-spacing: -.025em; margin: 20px 0; color: #fff; }
.ms-public .fusion-page-heading p { max-width: 720px; margin: 0 auto; font-size: 20px; line-height: 1.6; color: #fff; }
.ms-public .fusion-page-home { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; min-height: 32px; font-size: 14px; text-decoration: none; color: #fff; }
.ms-public .fusion-page-home span { opacity: .6; }
.ms-public .fusion-page-details { width: calc(100% - var(--fusion-page-gutter) * 2); max-width: none; margin: 36px auto 64px; padding: 32px; border: 1px solid #ffffff26; border-radius: 24px; background: rgba(26,26,26,.5); text-align: center; }
.ms-public .fusion-page-details > h2 { font-size: clamp(30px,3vw,44px) !important; margin: 0 0 28px; line-height: 1.15 !important; color: #fff; }
.ms-public .fusion-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; text-align: left; margin-bottom: 28px; }
.ms-public .fusion-process-grid article { padding: 18px; border: 1px solid #ffffff24; border-radius: 16px; background: #1a1a1a40; }
.ms-public .fusion-process-grid h3 { font-size: 23px; margin: 10px 0; line-height: 1.25; color: #fff; }
.ms-public .fusion-process-grid p { font-size: 18px; line-height: 1.6; color: #fff; margin: 0; }
.ms-public .fusion-step-number { font: 12px 'IBM Plex Mono',monospace; color: #fff; opacity: .8; }
.ms-public-page #contact { padding-top: 0; }
.ms-public-page .ms-rev-section { padding-top: 0; }
.ms-public-page .ms-gal-inner { margin-top: 0; }
.ms-public-page #itineraries .fusion-journey-chooser .section-head { display: none; }
.ms-public :is(.fusion-page-season,.fusion-page-tours) .fusion-page-heading { margin-bottom: 0; padding: 24px 30px 12px; border-bottom: 0; border-radius: 24px 24px 0 0; }
.ms-public :is(.fusion-page-season,.fusion-page-tours) .fusion-page-home { display: none; }
.ms-public :is(.fusion-page-season,.fusion-page-tours) .fusion-page-heading h1 { margin: 0 0 12px; }
.ms-public :is(.fusion-page-season,.fusion-page-tours) .fusion-page-heading p { font-size: 18px; }
.ms-public :is(.fusion-page-season,.fusion-page-tours) #itineraries { padding-top: 0 !important; }
.ms-public :is(.fusion-page-season,.fusion-page-tours) #itineraries .fusion-journey-chooser { border-top: 0; border-radius: 0 0 24px 24px; }
.ms-public .fusion-nav [aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; }

/* Short season tabs and matching custom dropdowns, with no native blue menu. */
.ms-public #itineraries .fusion-journey-chooser { padding: 24px 30px 18px; }
.ms-public #itineraries .fusion-journey-chooser .section-head { margin-bottom: 18px !important; }
.ms-public #itineraries .fusion-journey-chooser .fusion-hub-controls { max-width: 100%; }
.ms-public .fusion-season-tabs { display: flex; justify-content: center; gap: 4px; margin: 12px auto 14px; max-width: 100%; overflow-x: auto; padding: 4px; scrollbar-width: thin; }
.ms-public .fusion-season-tabs > button { flex: 0 0 auto; min-height: 36px; padding: 7px 13px; border: 1px solid transparent; border-radius: 10px !important; color: #fff !important; background: transparent !important; font: inherit; font-size: 15px; white-space: nowrap; cursor: pointer; }
.ms-public .fusion-season-tabs > button[aria-selected="true"] { background: #ffffff16 !important; border-color: #ffffff80; }
.ms-public .fusion-season-tabs > button:hover { background: #ffffff10 !important; }
.ms-public .fusion-chooser-options-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 12px; max-width: 560px; margin: 14px auto 0; align-items: stretch; }
.ms-public .fusion-chooser-options-row > :only-child { grid-column: 1 / -1; }
.ms-public .fusion-choice-field,.ms-public .fusion-chooser-options-row .fusion-catalogue-select { position: relative; min-width: 0; width: auto; padding: 9px 12px 5px; border: 1px solid #ffffff40; border-radius: 12px; background: #1a1a1a40; text-align: left; }
.ms-public .fusion-choice-label,.ms-public .fusion-chooser-options-row .fusion-catalogue-select > span { display: block; margin: 0 0 3px; color: #fff; font: inherit; font-size: 12px; line-height: 1.3; letter-spacing: .02em; }
.ms-public .fusion-choice-field > button,.ms-public .fusion-chooser-options-row .fusion-catalogue-trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 36px; padding: 3px 0; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: #fff !important; font: inherit; font-size: 17px !important; text-align: left; box-shadow: none; cursor: pointer; }
.ms-public .fusion-chooser-options-row .fusion-catalogue-trigger > svg:first-child { display: none; }
.ms-public .fusion-choice-field > button > svg { flex-shrink: 0; }
.ms-public .fusion-choice-options { position: absolute; left: 0; top: calc(100% + 8px); z-index: 80; min-width: 200px; width: 100%; max-width: calc(100vw - 36px); max-height: 280px; overflow-y: auto; padding: 6px; border: 1px solid #ffffff40; border-radius: 14px; background: #202020f5; box-shadow: 0 12px 36px #0005; backdrop-filter: blur(18px); }
.ms-public .fusion-choice-options > button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; width: 100%; padding: 10px 12px; border: 0; border-radius: 9px !important; color: #fff !important; background: transparent !important; font: inherit; font-size: 16px; text-align: left; cursor: pointer; }
.ms-public .fusion-choice-options > button:is(:hover,.is-highlighted),.ms-public .fusion-choice-options > button[aria-selected="true"] { background: #ffffff14 !important; }
.ms-public #itineraries .fusion-chooser-secondary:empty { display: none; }
.ms-public .fusion-chooser-options-row .fusion-catalogue-menu { z-index: 90; }
.ms-public :is(.fusion-choice-field > button,.fusion-season-tabs > button,.fusion-couple-controls > button,.fusion-couple-photo,.fusion-journal-filters > button):focus-visible { outline: 2px solid #fff !important; outline-offset: 4px; }

/* One manually controlled couple carousel, followed by the story text. */
.ms-public .fusion-couple-carousel { width: min(100%, var(--fusion-feature-image-width)); max-width: var(--fusion-feature-image-width); margin: 0 auto 28px; }
.ms-public .fusion-couple-photo { width: 100%; aspect-ratio: .9; -webkit-mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; mask: url('assets/fusion/logo-mask.svg') center / 100% 100% no-repeat; touch-action: pan-y; }
.ms-public .fusion-couple-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 68%; }
.ms-public .fusion-couple-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 12px; }
.ms-public .fusion-couple-controls > button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff60; border-radius: 50% !important; background: #1a1a1a80 !important; color: #fff !important; cursor: pointer; }
.ms-public .fusion-couple-controls > span { font: 12px 'IBM Plex Mono',monospace; color: #fff; }
.ms-public .fusion-couple-carousel figcaption { margin-top: 12px; font-size: 15px; line-height: 1.5; color: #fff; text-align: center; }
.ms-public .fusion-about.fusion-about-stacked { display: block; padding-top: 36px; }
.ms-public .fusion-about-stacked .fusion-about-copy { max-width: 1000px; margin: 0 auto; }
.ms-public .fusion-story-stack { display: block; }
.ms-public .fusion-story-stack .fusion-story-copy { max-width: 780px; margin: 0 auto; }
.ms-public .fusion-story-stack .fusion-story-copy > h2 { text-align: center; }

/* Original journal content shares the brand photo frames and quiet glass cards. */
.ms-public .fusion-journal-list,.ms-public .fusion-journal-article { max-width: none; width: calc(100% - var(--fusion-page-gutter) * 2); margin: 0 auto 64px; }
.ms-public .fusion-journal-filters { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.ms-public .fusion-journal-filters > button { padding: 10px 18px; min-height: 44px; border: 1px solid #ffffff60; border-radius: 12px !important; background: #1a1a1a80 !important; color: #fff !important; font: inherit; font-size: 16px; cursor: pointer; }
.ms-public .fusion-journal-filters > button[aria-pressed="true"] { background: var(--brand-deep) !important; border-color: #fff; }
.ms-public .fusion-journal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.ms-public .fusion-journal-card { display: block; min-width: 0; padding: 20px; border: 1px solid #ffffff26; border-radius: 24px; background: rgba(26,26,26,.5); color: #fff; text-decoration: none; text-align: left; }
.ms-public .fusion-journal-card > img { display: block; width: 100%; height: 280px; object-fit: cover; -webkit-mask: url('assets/fusion/logo-mask.svg') center / auto 100% no-repeat; mask: url('assets/fusion/logo-mask.svg') center / auto 100% no-repeat; margin-bottom: 22px; }
.ms-public .fusion-journal-card h2 { font-size: clamp(24px,2vw,32px) !important; line-height: 1.2 !important; margin: 12px 0; color: #fff; }
.ms-public :is(.fusion-journal-card,.fusion-journal-article) .fusion-eyebrow { color: #fff !important; }
.ms-public .fusion-journal-card p { font-size: 18px; line-height: 1.6; margin: 0 0 20px; color: #fff; }
.ms-public .fusion-read-story { display: inline-flex; align-items: center; gap: 12px; font-size: 16px; color: #fff; }
.ms-public .fusion-home-journal .fusion-journal-grid { margin-bottom: 28px; }
.ms-public .fusion-journal-article > header { max-width: none; margin: 24px auto; padding: 28px; border-radius: 24px; background: rgba(26,26,26,.5); text-align: center; }
.ms-public .fusion-article-lead { font-size: 23px; line-height: 1.6; color: #fff; }
.ms-public .fusion-article-cover { display: block; width: 100%; height: clamp(240px,40vw,520px); object-fit: cover; object-position: 50% 68%; border-radius: 24px !important; }
.ms-public .fusion-article-copy { max-width: none; margin: 28px auto; padding: 28px 32px; border: 1px solid #ffffff26; border-radius: 24px; background: rgba(26,26,26,.5); }
.ms-public .fusion-article-copy section + section { margin-top: 36px; }
.ms-public .fusion-article-copy h2 { font-size: clamp(24px,2vw,30px) !important; line-height: 1.25 !important; margin: 0 0 16px; color: #fff; }
.ms-public .fusion-article-copy p { font-size: 20px; line-height: 1.8; color: #fff; margin: 0; }
.ms-public .fusion-article-sources { margin: 32px 0; padding-top: 24px; border-top: 1px solid #ffffff40; }
.ms-public .fusion-article-sources h2 { font-size: 20px !important; }
.ms-public .fusion-article-sources a { display: block; color: #fff; line-height: 1.6; }
.ms-public .fusion-article-copy > .btn { margin-top: 24px; }
.ms-public .fusion-article-copy .fusion-editorial-note { font-size: 14px; line-height: 1.6; margin-top: 24px; color: #eee; }
.ms-public .fusion-related-stories > h2 { text-align: center; font-size: 36px; color: #fff; }
@media(max-width:760px) {
  .ms-public .fusion-public-main { padding-top: 100px; }
  .ms-public .fusion-page-heading { padding: 24px 20px; }
  .ms-public .fusion-page-details { padding: 24px 20px; }
  .ms-public .fusion-process-grid { grid-template-columns: 1fr; gap: 12px; }
  .ms-public .fusion-journal-grid { grid-template-columns: 1fr; }
  .ms-public .fusion-journal-article > header { padding: 22px 18px; }
  .ms-public .fusion-article-copy { padding: 24px 20px; }
  .ms-public .fusion-article-copy p { font-size: 19px; }
  .ms-public .fusion-story-page { padding-top: 110px; }
}
@media(max-width:600px) {
  .ms-public #itineraries .fusion-journey-chooser { padding: 20px 14px 14px; }
  .ms-public .fusion-season-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; margin: 10px 0; overflow: visible; }
  .ms-public .fusion-season-tabs > button { padding: 6px 10px; font-size: 14px; }
  .ms-public .fusion-chooser-options-row { grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); gap: 8px; }
  .ms-public .fusion-choice-field,.ms-public .fusion-chooser-options-row .fusion-catalogue-select { padding: 8px; }
  .ms-public .fusion-chooser-options-row .fusion-catalogue-select > span,.ms-public .fusion-choice-label { font-size: 11px; min-height: 28px; }
  .ms-public .fusion-choice-field > button,.ms-public .fusion-chooser-options-row .fusion-catalogue-trigger { font-size: 16px !important; }
  .ms-public .fusion-chooser-options-row .fusion-catalogue-menu { left: 18px; right: 18px; width: auto; transform: none; }
  .ms-public .fusion-journal-card > img { height: 240px; }
}

/* Full-width sections, with readable text columns rather than oversized type. */
.ms-public .fusion-about.fusion-about-split,
.ms-public .fusion-story-page { width: calc(100% - var(--fusion-page-gutter) * 2); max-width: none; margin-inline: auto; }
.ms-public .fusion-about.fusion-about-split { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(24px,4vw,72px); align-items: center; padding: 0; }
.ms-public .fusion-about-split .fusion-about-copy { max-width: none; text-align: left !important; padding: clamp(24px,4vw,64px); }
.ms-public .fusion-about-split .fusion-about-actions { justify-content: flex-start; }
.ms-public .fusion-about-split .fusion-couple-carousel { margin: 0 auto; }
.ms-public .fusion-story-page { padding-inline: 0; }
.ms-public .fusion-story-heading { max-width: none; }
.ms-public .fusion-story-split { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: start; gap: clamp(24px,4vw,64px); }
.ms-public .fusion-story-split .fusion-story-copy { max-width: none; margin: 0; }
.ms-public .fusion-story-split .fusion-couple-carousel { margin: 0 auto; position: sticky; top: 120px; }
.ms-public .fusion-story-copy h2 { font-size: clamp(26px,2.5vw,36px) !important; }
.ms-public .ms-rev-section { padding-inline: var(--fusion-page-gutter) !important; }
.ms-public :is(.ms-rev-inner,.ms-gal-inner) { width: 100%; max-width: none !important; }
.ms-public .ms-ld-card { width: calc(100vw - var(--fusion-page-gutter) * 2); max-width: none; }
.ms-public .fusion-gallery-dialog { width: calc(100vw - var(--fusion-page-gutter) * 2); max-width: none; }
.ms-public .fusion-article-lead { max-width: 72ch; margin-inline: auto; }
.ms-public .fusion-article-copy { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; align-items: start; }
.ms-public .fusion-article-copy section + section { margin-top: 0; }
.ms-public .fusion-article-copy > :not(section) { grid-column: 1 / -1; }
.ms-public .fusion-article-copy > .btn { justify-self: start; }
.ms-public .fusion-article-copy p { font-size: 18px; line-height: 1.7; }
.ms-public .fusion-article-sources { margin: 0; }
.ms-public .fusion-related-stories > h2 { font-size: 32px !important; }
.ms-public .fusion-journal-list .fusion-journal-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }

/* The same quiet glass dropdown language in the header and trip chooser. */
.ms-public .fusion-more > summary { display: flex; align-items: center; gap: 8px; list-style: none; min-height: 44px; }
.ms-public .fusion-more > summary::-webkit-details-marker { display: none; }
.ms-public .fusion-more[open] > summary > svg { transform: rotate(180deg); }
.ms-public .fusion-more > div { width: 480px; max-width: calc(100vw - 36px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 10px; margin-top: 10px; border: 1px solid #ffffff40; border-radius: 16px; background: #202020f5 !important; backdrop-filter: blur(18px); box-shadow: 0 18px 50px #0005; z-index: 100; }
.ms-public .fusion-more a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 12px; border-radius: 10px; font-size: 16px !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.3; }
.ms-public .fusion-more a::after { content: '\2197'; color: #ffffff90; font-size: 15px; }
.ms-public .fusion-more a:is(:hover,:focus-visible) { background: #ffffff14 !important; }
.ms-public #itineraries .fusion-duration-tabs { flex-wrap: wrap; }
.ms-public #itineraries .fusion-chooser-options-row { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 20px; max-width: none; }
.ms-public #itineraries .fusion-chooser-options-row .fusion-choice-field { width: 190px; }
.ms-public #itineraries .fusion-chooser-options-row .fusion-catalogue-select.is-compact { padding: 0; background: transparent; border: 0; }
.ms-public #itineraries .fusion-catalogue-select.is-compact > .sr-only { display: block !important; }
.ms-public #itineraries .fusion-catalogue-select.is-compact .fusion-catalogue-trigger { width: auto; gap: 9px; min-height: 44px; padding: 8px 12px; border: 1px solid #ffffff30 !important; font-size: 15px !important; }
.ms-public #itineraries .fusion-catalogue-select.is-compact .fusion-catalogue-trigger > svg:first-child { display: block; }

/* Reviews, travel photographs and celebrations occupy one calm tabbed section. */
.ms-public [hidden] { display: none !important; }
.ms-public .fusion-experience-heading { padding: 28px; margin-bottom: 22px; border: 1px solid #ffffff26; border-radius: 24px; background: rgba(26,26,26,.5); text-align: center; }
.ms-public .fusion-experience-heading h2 { margin: 0 0 24px; font-size: var(--fusion-section-heading-size) !important; line-height: 1.1 !important; color: #fff; }
.ms-public .fusion-experience-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ms-public .fusion-experience-tabs > button { padding: 10px 18px; min-height: 44px; border: 1px solid transparent; border-radius: 12px !important; color: #fff !important; background: transparent !important; font: inherit; font-size: 17px; cursor: pointer; }
.ms-public .fusion-experience-tabs > button[aria-selected="true"] { background: #ffffff16 !important; border-color: #ffffff80; }
.ms-public .fusion-experience-tabs > button:hover { background: #ffffff10 !important; }
.ms-public .fusion-experience-hub :is(.ms-rev-h) { display: none; }
.ms-public .fusion-experience-hub .ms-rev-sub { padding: 0; margin: 0 0 22px; background: transparent !important; border: 0; text-align: center !important; }
.ms-public .fusion-experience-hub .ms-gal-inner { margin-top: 0; scroll-margin-top: 110px; }
.ms-public .fusion-experience-hub .fusion-gallery-toolbar { margin-top: 0; }
.ms-public .fusion-experience-hub .ms-rev-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; }
.ms-public .fusion-experience-hub .ms-rev-inner > :is(.ms-rev-sub,.ms-rev-grid) { grid-column: 1 / -1; margin: 0; }
.ms-public .fusion-experience-hub .ms-rev-actions { justify-content: flex-start; padding: 0; margin: 0; background: transparent; }
.ms-public .fusion-experience-hub .fusion-review-expand { margin: 0; }
.ms-public .fusion-wedding-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; padding: 32px; border: 1px solid #ffffff26; border-radius: 24px; background: rgba(26,26,26,.5); }
.ms-public .fusion-wedding-panel .fusion-eyebrow { color: #fff !important; }
.ms-public .fusion-wedding-panel h3 { color: #fff; font-size: clamp(26px,3vw,40px) !important; line-height: 1.15 !important; margin: 16px 0; }
.ms-public .fusion-wedding-panel p { font-size: 19px; line-height: 1.65; color: #fff; margin: 0 0 22px; }
.ms-public .fusion-wedding-panel .fusion-wedding-note { font-size: 14px; margin: 20px 0 0; }
.ms-public .fusion-wedding-panel img { display: block; width: 100%; height: 340px; object-fit: cover; border-radius: 20px; }
@media(max-width:1100px) {
  .ms-public .fusion-more > div { width: 100%; max-width: none; margin: 4px 0 12px; max-height: 50svh; overflow-y: auto; }
  .ms-public .fusion-journal-list .fusion-journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ms-public .fusion-article-copy { grid-template-columns: 1fr; }
  .ms-public .fusion-article-copy section { max-width: 75ch; }
}
@media(max-width:760px) {
  .ms-public .fusion-about.fusion-about-split,.ms-public .fusion-story-split { grid-template-columns: 1fr; }
  .ms-public .fusion-about-split .fusion-about-copy { padding: 26px; }
  .ms-public .fusion-story-split .fusion-couple-carousel { position: static; }
  .ms-public .fusion-journal-list .fusion-journal-grid { grid-template-columns: 1fr; }
  .ms-public .fusion-wedding-panel { grid-template-columns: 1fr; padding: 22px; gap: 24px; }
  .ms-public .fusion-wedding-panel img { height: 240px; }
  .ms-public .fusion-experience-heading { padding: 24px 14px 16px; }
  .ms-public .fusion-experience-tabs { gap: 3px; }
  .ms-public .fusion-experience-tabs > button { font-size: 14px; padding: 8px 10px; }
  .ms-public .fusion-experience-hub .ms-rev-inner { grid-template-columns: 1fr; }
  .ms-public .fusion-experience-hub .ms-rev-actions { gap: 8px; }
  .ms-public .fusion-experience-hub .fusion-review-expand { justify-self: start; }
}
@media(max-width:600px) {
  .ms-public .trip-feature { grid-template-columns: minmax(0,1fr) !important; }
  .ms-public .trip-feature > :is(.trip-feature-img,.trip-feature-body) { min-width: 0; }
  .ms-public .trip-feature > .trip-feature-body { width: 100%; }
  .ms-public .trip-feature-body > * { max-width: 100%; min-width: 0; }
  .ms-public .trip-feature-ideal { flex-wrap: wrap; }
  .ms-public .trip-feature-eyebrow { overflow-wrap: anywhere; }
  .ms-public .fusion-season-heading .fusion-season-accent { flex: 0 0 70px; width: 70px; }
  .ms-public #itineraries .fusion-duration-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ms-public #itineraries .fusion-duration-tabs > button:last-child { grid-column: 1 / -1; }
  .ms-public #itineraries .fusion-catalogue-select.is-compact .fusion-catalogue-trigger { font-size: 14px !important; }
  .ms-public #itineraries .fusion-chooser-options-row .fusion-choice-field { width: 132px; }
  .ms-public .ms-ld-card { width: 100%; }
}

/* Symmetric fields and one shared, viewport-aware menu for More and experiences. */
.ms-public #itineraries .fusion-chooser-options-row { display: grid; grid-template-columns: repeat(2,minmax(0,240px)); align-items: stretch; gap: 12px; }
.ms-public #itineraries .fusion-chooser-options-row > :only-child { grid-column: 1 / -1; width: 240px; justify-self: center; }
.ms-public #itineraries .fusion-chooser-options-row :is(.fusion-choice-field,.fusion-catalogue-select) { width: 100%; min-width: 0; min-height: 78px; padding: 10px 14px 8px; border: 1px solid #ffffff40; border-radius: 14px !important; background: #1a1a1a40; gap: 0; }
.ms-public #itineraries .fusion-chooser-options-row :is(.fusion-choice-label,.fusion-catalogue-select > span) { min-height: 18px; margin: 0 0 4px; font-size: 12px; line-height: 1.4; letter-spacing: 0; }
.ms-public #itineraries .fusion-chooser-options-row :is(.fusion-choice-field > button,.fusion-catalogue-trigger) { width: 100%; min-height: 36px; padding: 3px 0; border: 0 !important; background: transparent !important; box-shadow: none; font-size: 17px !important; }
.ms-public #itineraries .fusion-chooser-options-row .fusion-catalogue-trigger > svg:first-child { display: none; }
.ms-public .fusion-nav .fusion-more { min-width: 0; width: auto; padding: 0; border: 0; background: transparent; }
.ms-public .fusion-nav .fusion-more > .fusion-catalogue-trigger { display: flex; align-items: center; gap: 8px; width: auto; min-height: 44px; padding: 6px 0; border: 0 !important; background: transparent !important; color: #fff !important; font: inherit; font-size: 17px; box-shadow: none; }
.ms-public .fusion-nav .fusion-more > .fusion-catalogue-trigger > svg:first-child { display: none; }
.ms-public .fusion-floating-menu { position: fixed !important; right: auto !important; bottom: auto !important; transform: none !important; margin: 0 !important; z-index: 100010 !important; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 8px; border: 1px solid #ffffff40; border-radius: 16px !important; background: #202020f5 !important; backdrop-filter: blur(18px); overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 18px 50px #0005; }
.ms-public .fusion-floating-menu > :is(button,a) { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 56px; padding: 10px; border: 0; border-radius: 10px !important; background: transparent !important; color: #fff !important; font: inherit; font-size: 16px; line-height: 1.3; letter-spacing: 0; text-align: left; text-transform: none; text-decoration: none; cursor: pointer; }
.ms-public .fusion-floating-menu > :is(button,a):is(:hover,:focus-visible,[aria-checked="true"]) { background: #ffffff14 !important; }
.ms-public .fusion-floating-menu .fusion-menu-icon { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border: 1px solid #ffffff30; border-radius: 10px; color: #fff; }
.ms-public .fusion-floating-menu .fusion-menu-name { flex: 1; min-width: 0; }
.ms-public .fusion-floating-menu .fusion-menu-count { color: #fff; opacity: .7; font-size: 12px; }
@keyframes fusion-floating-reveal { from { opacity: 0; } to { opacity: 1; } }
@media(prefers-reduced-motion:no-preference) { .ms-public.fusion-motion-ready .fusion-floating-menu { animation: fusion-floating-reveal 160ms ease-out both; } }
@media(max-width:1100px) {
  .ms-public .fusion-nav .fusion-more > .fusion-catalogue-trigger { width: 100%; min-height: 56px; padding: 13px 0; font-size: 21px; }
  .ms-public .fusion-nav .fusion-more .fusion-menu-chevron { margin-left: auto; }
}
@media(max-width:600px) {
  .ms-public #itineraries .fusion-chooser-options-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .ms-public #itineraries .fusion-chooser-options-row :is(.fusion-choice-field,.fusion-catalogue-select) { padding: 9px 10px 7px; min-height: 84px; }
  .ms-public #itineraries .fusion-chooser-options-row :is(.fusion-choice-label,.fusion-catalogue-select > span) { min-height: 30px; margin-bottom: 2px; font-size: 11px; }
  .ms-public #itineraries .fusion-chooser-options-row :is(.fusion-choice-field > button,.fusion-catalogue-trigger) { font-size: 16px !important; }
}
@media(max-width:600px) {
  .ms-public .fusion-floating-menu { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ms-public .fusion-floating-menu > :is(button,a) { min-height: 64px; padding: 8px; gap: 7px; font-size: 14px; }
  .ms-public .fusion-floating-menu .fusion-menu-icon { flex-basis: 28px; height: 28px; }
  .ms-public .fusion-floating-menu .fusion-menu-icon svg { width: 17px; height: 17px; }
  .ms-public .fusion-floating-menu .fusion-menu-name { overflow-wrap: anywhere; }
}
/* Release polish: privacy choices and comfortable app-like touch controls. */
.ms-public .fusion-privacy-banner{position:fixed;z-index:21000;left:24px;bottom:24px;width:min(480px,calc(100vw - 48px));padding:24px;border:1px solid #ffffff50;border-radius:24px;background:rgba(35,24,22,.98);color:#fff;box-shadow:0 16px 60px #0004;box-sizing:border-box}
.ms-public .fusion-privacy-banner h2{font-size:24px!important;line-height:1.2;margin:0 0 12px;color:#fff}
.ms-public .fusion-privacy-banner p{font-size:16px;line-height:1.5;color:#fff;margin:0 0 18px}
.ms-public .fusion-privacy-banner a{color:#fff;text-decoration:underline}
.ms-public .fusion-privacy-actions{display:flex;gap:10px;flex-wrap:wrap}
.ms-public .fusion-privacy-actions button{min-height:46px;flex:1;white-space:nowrap}
.ms-public .fusion-cookie-settings{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer;padding:8px}
.ms-public .fusion-public-information{max-width:none!important;line-height:1.75;text-align:left}
.ms-public .auth-tabs{border-radius:999px;overflow:hidden}
.ms-public .auth-tabs .auth-tab{border-radius:999px}
.ms-public .fusion-public-information h2{font-size:clamp(24px,3vw,38px)!important;line-height:1.2}
.ms-public .fusion-public-information section{max-width:90ch;margin-bottom:32px}
.ms-public .fusion-form-error{padding:12px 16px;border:1px solid currentColor;border-radius:14px;color:inherit}
.ms-public .ms-tab.active .ms-tab-lbl{color:#fff!important}
.ms-public-page[data-page="gallery"] #experience-panel-gallery > :is(.ms-rev-h,.ms-gal-sub),.ms-public-page[data-page="reviews"] .ms-rev-h{display:none!important}
.ms-public-page[data-page="gallery"] .ms-gal-inner{padding-top:0!important}
.ms-public :is(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.ms-public :is(button,a,input,select,textarea):focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #202020}
@media(max-width:760px){
 .ms-public :is(.wa-widget,.ms-chat-fab,.ig-scroll-widget){display:none!important}
 .ms-public :is(input,select,textarea){font-size:16px!important;min-height:46px}
 .ms-public :is(.btn,.fusion-mobile-tabs a,.nav-toggle,.fusion-catalogue-trigger){min-height:44px}
 .ms-public .fusion-privacy-banner{left:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-height:65dvh;overflow:auto;padding:20px}
 .ms-public .form-nav{gap:12px;flex-wrap:wrap}
 .ms-public .form-nav>div:last-child{flex-wrap:wrap;justify-content:flex-end}
 .ms-public footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:18px;text-align:left}
 .ms-public footer .footer-bottom>span{max-width:100%;min-width:0;flex-wrap:wrap;gap:12px 18px!important;line-height:1.6}
 .ms-public footer .footer-bottom a,.ms-public footer .footer-bottom button{white-space:normal;overflow-wrap:anywhere}
 .ms-public .fusion-cookie-settings{padding:0;min-height:44px;text-align:left}
 .ms-public .fusion-page-details{padding:24px!important}
}
/* Mobile rhythm: content can shrink and wrap instead of spilling out of cards. */
@media(max-width:760px){
 .ms-public :is(.section-head,.contact-info,.fusion-about-copy,.fusion-story-copy,.fusion-article-copy,.trip-feature-body,.cat-card,.footer-grid>div){min-width:0;overflow-wrap:break-word}
 .ms-public :is(.fusion-story-heading,.fusion-page-heading) h1{font-size:clamp(28px,8vw,38px);line-height:1.15;text-wrap:balance}
 .ms-public :is(.fusion-article-copy,.fusion-public-information) p{line-height:1.7}
 .ms-public :is(.fusion-privacy-actions,.form-nav)>button{white-space:normal}
 .ms-public .fusion-mobile-tabs{overscroll-behavior:contain}
 .ms-public .ms-ld-backdrop{overflow:hidden;overscroll-behavior:contain}
 .ms-public .ms-ld-card{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}
 .ms-public .ms-ld-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
 .ms-public .ms-ld-topbar{flex-shrink:0;padding-top:max(12px,env(safe-area-inset-top))}
 .ms-public .ms-ld-mbar{flex-shrink:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .ms-public .ms-ld-mbar-price{flex:1;min-width:0;overflow-wrap:break-word}
 .ms-public .ms-ld-mbar-cta{flex:0 0 auto;max-width:48%;min-height:48px;padding:12px 18px;white-space:normal}
 .ms-public .ms-ld-grid{padding-bottom:32px}
 .ms-public-page :is(.fusion-page-heading,.fusion-page-details){margin-bottom:24px}
 .ms-public-page #contact .contact-grid{gap:24px}
 .ms-public #catalog .cat-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
 .ms-public #catalog .cat-img{width:min(100%,280px);margin-inline:auto;aspect-ratio:.9!important}
 .ms-public #catalog .cat-body{padding:18px!important}
 .ms-public #catalog .cat-title{display:block;font-size:22px!important;line-height:1.2!important;overflow:visible;-webkit-line-clamp:unset;margin-block:10px}
 .ms-public #catalog :is(.cat-rating,.cat-price-offers){font-size:15px!important;line-height:1.5}
 .ms-public #catalog .fusion-cat-label{font-size:11px;line-height:1.4}
 .ms-public #catalog :is(.cat-fav,.cat-arrow){min-width:44px;min-height:44px;border-radius:12px!important}
}
@media(max-width:360px){
 .ms-public .nav-logo{gap:5px}
 .ms-public .nav-logo span{font-size:16px!important}
 .ms-public .fusion-nav{gap:8px}
 .ms-public .nav-toggle{padding-inline:10px}
 .ms-public .fusion-floating-menu{grid-template-columns:1fr}
}

/* Studio invitation: separate business audience from travel enquiries. */
.fusion-studio-promo{max-width:1180px;margin:72px auto;padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:.6fr 1.4fr;gap:clamp(24px,5vw,64px);align-items:center;background:#f6f1e8;border:1px solid #d8c8b6;border-radius:24px}
.fusion-studio-promo h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);line-height:1.08;margin:14px 0 20px;max-width:20ch;color:#29201a}
.fusion-studio-promo p{font-size:17px;line-height:1.7;max-width:60ch;margin-bottom:26px;color:#504539}
.fusion-studio-promo-mark{font-family:Georgia,serif;font-weight:700;color:#de3b25;font-size:clamp(110px,17vw,210px);line-height:.8;text-align:center;transform:rotate(-6deg)}
.fusion-studio-promo-mark span{display:block;font:600 13px/3 system-ui;letter-spacing:.35em;margin-top:12px}
@media(max-width:640px){.fusion-studio-promo{margin:40px 16px;grid-template-columns:1fr;border-radius:18px}.fusion-studio-promo-mark{font-size:90px;text-align:left}.fusion-studio-promo .btn{min-height:48px;white-space:normal}}

.fusion-studio-promo-mark img{display:block;width:min(100%,180px);height:auto;margin:auto}
@media(max-width:640px){.fusion-studio-promo-mark img{width:90px;margin:0}.fusion-studio-promo-mark span{text-align:left}}

/* Shared, restrained warm photographic finish; logos, maps and UI stay untouched. */
:root{--ms-media-grade:sepia(.12) saturate(.9) contrast(1.04) brightness(.99)}
main img:not([src*="logo"]):not([src*="icon"]):not(.leaflet-tile):not(.leaflet-marker-icon):not(.leaflet-marker-shadow),main video{filter:var(--ms-media-grade)}
.fusion-our-stories{max-width:1400px;margin:0 auto;padding:85px 5%;overflow:hidden}
.fusion-stories-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.fusion-stories-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(40px,5vw,70px);line-height:1.1;margin:12px 0 18px}
.fusion-stories-heading p{max-width:470px;font-size:18px;line-height:1.6}.fusion-stories-heading>a{min-height:44px;display:inline-flex;align-items:center;color:inherit;text-decoration:underline;text-underline-offset:5px}
.fusion-stories-tools{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.fusion-stories-tools>div{display:flex;gap:8px}
.fusion-stories-tools button{min-height:46px;min-width:46px;padding:10px 16px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.fusion-stories-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:20px;scrollbar-width:thin}
.fusion-story-reel{min-width:0;scroll-snap-align:start}.fusion-story-reel video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#302820}.fusion-story-reel>.fusion-eyebrow{display:block;margin-top:20px;font-size:9px;letter-spacing:.09em}.fusion-story-reel h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.2;margin:12px 0}.fusion-story-reel p{font-size:15px;line-height:1.6}
.fusion-stories-track:focus-visible,.fusion-stories-tools button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:1000px){.fusion-stories-track{grid-auto-columns:calc((100% - 48px)/3)}}
@media(max-width:700px){.fusion-our-stories{padding:55px 6%}.fusion-stories-heading{display:block}.fusion-stories-heading>a{margin-top:12px}.fusion-stories-track{grid-auto-columns:82%;gap:24px}.fusion-stories-heading h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.fusion-stories-track{scroll-behavior:auto}}

/* A real pointer/keyboard search control and a dropdown that fits a mobile screen. */
.ms-public .ms-hero-search-submit{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;border:0;padding:0;background:transparent!important;color:inherit;cursor:pointer}
.ms-public .ms-hero-search-submit:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.ms-public .ms-hero-search-dropdown{max-height:min(440px,45svh);overflow-y:auto;overscroll-behavior-y:contain;z-index:30}
@media(max-width:700px){.ms-public .ms-hero-search{padding-left:4px!important}.ms-public .ms-hero-search input{min-height:44px;font-size:17px!important}.ms-public .ms-hero-search-result{min-height:52px}.ms-public .ms-hero-search-result-body{min-width:0;overflow-wrap:anywhere}.ms-public .ms-hero-search-result-tag{max-width:85px;white-space:normal}}
.ms-public .ms-hero-search-result-title{color:#fff!important}.ms-public .ms-hero-search-result-sub{color:#e2d9cc!important}.ms-public .ms-hero-search-result-tag{color:#ffe2ce!important;background:#de3b2530!important}
.ms-public .fusion-hero:focus-within{overflow:visible!important;z-index:12}.ms-public .fusion-hero-content:focus-within{z-index:20!important}
.ms-public .ms-hero-search-result{grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;text-align:left}.ms-public .ms-hero-search-dropdown{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.ms-public .ms-hero-search-result-body{min-width:0}.ms-public .ms-hero-search-result-title{white-space:normal;overflow-wrap:anywhere}.ms-public .ms-hero-search-wrap:focus-within{z-index:25!important}
.ms-public .fusion-hero:has(.ms-hero-search-dropdown) :is(.fusion-hero-slide-controls,.ms-hero-socials-bar){visibility:hidden;pointer-events:none}
@media(max-width:700px){.ms-public .ms-hero-search-dropdown{max-height:min(320px,35svh)}}
