/* styles.css */
:root {
  --midnight-mallard: #091e45;
  --ink: #10272f;
  --ink-deep: #061d25;
  --cream: #f1ebe1;
  --paper: #fffdf8;
  --stone: #c8bfb1;
  --clay: #895943;
  --clay-dark: #704735;
  --mist: #dbe7e6;
  --gold: #c39b51;
  --serif: Baskerville, "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: "Avenir Next", Avenir, "Brandon Grotesque", "Helvetica Neue", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
p, li { color: inherit; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 200; background: var(--paper); padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 50;
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.24);
}
.site-header.inner { position: relative; background: var(--ink-deep); }
.nav-shell { height: 7rem; max-width: 1520px; margin: 0 auto; padding: 0 4vw; display: flex; align-items: center; gap: 2rem; }
.brand { display: inline-flex; align-items: center; text-decoration: none; margin-right: auto; }
.brand img { width: 155px; height: 90px; object-fit: contain; filter: brightness(0) invert(1); }
.desktop-nav { display: flex; align-items: center; gap: 1.7rem; }
.desktop-nav a, .desktop-nav summary { color: inherit; text-decoration: none; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.desktop-nav a:hover, .desktop-nav a:focus-visible, .desktop-nav summary:hover, .desktop-nav summary:focus-visible { color: #f2c886; }
.desktop-nav .shop-link { color: #f2c886; }
.nav-group { position: relative; }
.nav-group > summary { cursor: pointer; list-style: none; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-dropdown { position: absolute; top: calc(100% + 1.4rem); left: -1rem; min-width: 190px; padding: .65rem 0; background: white; color: var(--ink-deep); box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.nav-dropdown a { display: block; padding: .7rem 1rem; }
.nav-dropdown a:hover { background: var(--mist); color: var(--ink-deep); }
.nav-cta { border: 1px solid rgba(255,255,255,.7); padding: .8rem 1.05rem; }
.menu-toggle { display: none; border: 0; background: transparent; color: white; font: 700 .8rem var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.mobile-menu { display: none; }

.hero {
  min-height: min(900px, 92vh);
  position: relative;
  display: grid;
  align-items: end;
  color: white;
  background: var(--ink-deep);
  overflow: hidden;
}
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,19,26,.94) 0%, rgba(3,19,26,.72) 48%, rgba(3,19,26,.26) 100%); }
.hero-content { position: relative; z-index: 1; max-width: 1520px; width: 100%; margin: 0 auto; padding: 12rem 4vw 6rem; }
.eyebrow { margin: 0 0 1rem; font-size: .76rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hero h1, .page-hero h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.hero h1 { max-width: 930px; margin: 0; font-size: clamp(3.25rem, 7.8vw, 7.8rem); }
.hero h1 em { color: #e9b896; font-weight: 400; }
.hero-copy { max-width: 650px; margin: 2rem 0 2.2rem; font: 1.25rem/1.6 var(--serif); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.2rem; padding: .8rem 1.25rem; border: 1px solid var(--ink); background: var(--ink); color: white; text-decoration: none; font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; transition: .2s ease; }
.button:hover, .button:focus-visible { background: var(--clay); border-color: var(--clay); transform: translateY(-2px); }
.button.light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.button.ghost { background: rgba(6,29,37,.36); border-color: rgba(255,255,255,.9); color: white; }
.button:focus-visible, .text-link:focus-visible, .pathway:focus-visible, .desktop-nav a:focus-visible, .footer-links a:focus-visible { outline: 3px solid #f2c886; outline-offset: 4px; }
.text-link { font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-decoration-thickness: 1px; text-underline-offset: .45rem; }

.section { padding: clamp(5rem, 9vw, 9rem) 4vw; }
.section-inner { max-width: 1320px; margin: 0 auto; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.section h2 { margin: 0 0 1.8rem; font-size: clamp(2.7rem, 5vw, 5rem); }
.section-intro { max-width: 720px; font: 1.2rem/1.65 var(--serif); }
.quiet { background: var(--cream); }
.dark { background: var(--ink-deep); color: white; }
.rust { background: var(--clay-dark); color: white; }

.section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .7fr); gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 560px; margin: 0; }
.editorial-intro { display: grid; grid-template-columns: 90px minmax(0, 1fr) minmax(300px, .9fr); gap: clamp(2rem, 5vw, 6rem); align-items: start; }
.section-number { margin: 0; color: var(--clay); font: italic 2rem var(--serif); }
.editorial-intro h2 { margin-bottom: 0; }

.pathways { margin-top: 4rem; border-top: 1px solid var(--stone); }
.pathway { display: grid; grid-template-columns: 85px 1fr auto; gap: 2rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--stone); text-decoration: none; }
.pathway .num { color: var(--clay); font: italic 1.4rem var(--serif); }
.pathway h3 { margin: 0 0 .35rem; font: 400 clamp(1.8rem, 3vw, 3rem)/1.05 var(--serif); }
.pathway p { max-width: 700px; margin: 0; color: #304d56; }
.pathway .go { font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.pathway:hover h3 { color: var(--clay); }

.destinations-preview { color: white; background: var(--ink-deep); }
.light-heading > p { color: #d9e2e1; }
.destination-collage { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 590px; margin: 0 0 2rem; border: 1px solid rgba(255,255,255,.24); }
.destination-feature { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: .8rem; padding: clamp(2rem, 5vw, 5rem); color: white; text-decoration: none; background: linear-gradient(0deg, rgba(5,26,34,.92), rgba(5,26,34,.2)), url('/assets/greece-balos-lagoon.jpg') center/cover; }
.destination-feature strong { font: 400 clamp(4.5rem, 9vw, 9rem)/.88 var(--serif); }
.destination-feature > span:not(.destination-kicker):not(.editorial-link) { max-width: 420px; font: 1.15rem/1.55 var(--serif); }
.destination-kicker, .editorial-link { font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.editorial-link { width: max-content; margin-top: 1.4rem; border-bottom: 1px solid currentColor; }
.destination-list { display: grid; grid-template-rows: repeat(4, 1fr); }
.destination-list a { display: grid; grid-template-columns: 50px 1fr; align-content: center; gap: .4rem 1.2rem; padding: 2rem; color: white; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.24); transition: filter .2s ease; }
.destination-list a:last-child { border-bottom: 0; }
.destination-list a { background: linear-gradient(90deg, rgba(5,26,34,.88), rgba(5,26,34,.48)), var(--destination-image) center/cover; }
.destination-list .destination-caribbean { --destination-image: url('/assets/destination-caribbean-st-lucia.png'); }
.destination-list .destination-australia { --destination-image: url('/assets/band-sydney.jpg'); background-position: center, center 52%; }
.destination-list .destination-new-zealand { --destination-image: url('/assets/band-milford.jpg'); }
.destination-list a:hover, .destination-list a:focus-visible { filter: brightness(1.12); }
.destination-list span { grid-row: 1 / 3; color: #e9b896; font: italic 1.2rem var(--serif); }
.destination-list strong { font: 400 clamp(2rem, 4vw, 3.5rem)/1 var(--serif); }
.destination-list small { color: #d9e2e1; font-size: .9rem; }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 4rem; background: var(--stone); border: 1px solid var(--stone); }
.principles article { min-height: 290px; padding: 2.4rem; background: var(--paper); }
.principles span { color: var(--clay); font: italic 1.35rem var(--serif); }
.principles h3 { margin: 2.2rem 0 .8rem; font: 400 2.25rem var(--serif); }
.concierge-home { background: #f8f4ec; }
.assurance { margin: 1.6rem 0; padding-left: 1.2rem; border-left: 3px solid var(--gold); font-weight: 700; }
.transparency-band { color: white; background: #091e45; }
.transparency-band .signature { color: #f2c886; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2rem; background: var(--stone); border: 1px solid var(--stone); }
.reviews-grid blockquote { margin: 0; padding: clamp(2rem, 4vw, 3.5rem); background: var(--paper); }
.reviews-grid p { margin: 0 0 2rem; font: 400 1.35rem/1.55 var(--serif); }
.reviews-grid cite { color: var(--clay); font-size: .74rem; font-style: normal; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }


.home-shop-feature { background: #f8f4ec; border-top: 1px solid var(--stone); border-bottom: 1px solid var(--stone); }
.home-shop-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.home-shop-art { min-height: 420px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 1px; overflow: hidden; background: #091e45; }
.home-shop-art img { width: 100%; height: 420px; object-fit: cover; }
.home-shop-notes { display: flex; flex-wrap: wrap; gap: .7rem; margin: 2rem 0; }
.home-shop-notes span { padding: .55rem .75rem; border: 1px solid var(--stone); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.shop-hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; color: white; background: var(--ink-deep); }
.shop-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 76% 28%, rgba(195,155,81,.18), transparent 28%), linear-gradient(90deg, rgba(6,29,37,.98) 0 58%, rgba(6,29,37,.7)); }
.shop-hero-copy { position: relative; z-index: 2; width: 100%; padding: 8rem 4vw; }
.shop-hero-copy h1 { max-width: 900px; margin: 0; font: 400 clamp(3.7rem, 7vw, 7rem)/.95 var(--serif); letter-spacing: -.04em; }
.shop-hero-copy h1 em { color: #e9b896; font-weight: 400; }
.shop-hero-copy > p:not(.eyebrow) { max-width: 650px; margin: 2rem 0; font: 1.25rem/1.6 var(--serif); }
.shop-hero-art { position: absolute; z-index: 1; right: -4vw; top: 50%; width: min(46vw, 680px); aspect-ratio: 3/2; transform: translateY(-50%) rotate(4deg); border: 1px solid rgba(255,255,255,.28); background: url('/assets/shop-modern-pattern.png') center/cover; box-shadow: 0 30px 80px rgba(0,0,0,.28); }
.shop-hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,29,37,.35), transparent 55%); }
.shop-intro { border-bottom: 1px solid var(--stone); }
.design-showcase-section { background: var(--paper); }
.design-showcase { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1px; background: var(--stone); border: 1px solid var(--stone); }
.design-tile { margin: 0; background: var(--ink-deep); }
.design-tile img { width: 100%; height: clamp(420px, 44vw, 620px); object-fit: cover; }
.design-tile figcaption { display: grid; grid-template-columns: 54px 1fr; gap: 1rem; align-items: center; min-height: 110px; padding: 1.4rem 1.6rem; color: white; background: var(--ink-deep); }
.design-tile figcaption > span { color: #e9b896; font: italic 1.25rem var(--serif); }
.design-tile figcaption strong { display: block; font: 400 1.65rem var(--serif); }
.design-tile figcaption small { display: block; margin-top: .15rem; color: #c8d7d8; font-size: .9rem; }
.shop-visit { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid var(--stone); }
.shop-visit p { max-width: 720px; margin: 0; font: 1.2rem/1.55 var(--serif); }
.shop-return { color: white; }
.shop-disclaimer { padding: 1.5rem 4vw; background: var(--cream); border-top: 1px solid var(--stone); }
.shop-disclaimer p { max-width: 1040px; margin: 0; color: #52656b; font-size: .82rem; }

.destination-editorial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 4rem; background: var(--stone); border: 1px solid var(--stone); }
.destination-editorial-grid article { scroll-margin-top: 2rem; padding: clamp(2rem, 4vw, 4rem); background: var(--paper); }
.destination-editorial-grid article > span { color: var(--clay); font: italic 1.35rem var(--serif); }
.destination-editorial-grid h3 { margin: 2rem 0 1.2rem; font: 400 clamp(2.3rem, 4vw, 4rem)/1 var(--serif); }
.greece-feature .feature-image { min-height: 650px; object-position: 43% center; }

.service-list { margin-top: 4rem; border-top: 1px solid var(--stone); }
.service-list article { display: grid; grid-template-columns: 75px minmax(0, 1fr) minmax(170px, .35fr); gap: 2rem; align-items: start; padding: 2.2rem 0; border-bottom: 1px solid var(--stone); }
.service-list article > span { color: var(--clay); font: italic 1.35rem var(--serif); }
.service-list h3 { margin: 0 0 .6rem; font: 400 2rem var(--serif); }
.service-list p { max-width: 720px; margin: 0; }
.service-list strong { color: var(--clay); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.fine-print { margin-top: 1rem; color: #52656b; font-size: .86rem; }
.service-extras { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.22); }
.service-extras article { color: white; background: var(--ink-deep); }
.service-extras h3 { margin-top: 0; }

.image-break { min-height: 70vh; position: relative; display: grid; place-items: center; overflow: hidden; color: white; text-align: center; }
.image-break img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.image-break::after { content: ""; position: absolute; inset: 0; background: rgba(7,27,35,.48); }
.image-break blockquote { position: relative; z-index: 1; max-width: 980px; margin: 0; padding: 5rem 4vw; font: 400 clamp(2.8rem, 5.5vw, 5.7rem)/1.02 var(--serif); }
.image-break cite { display: block; margin-top: 2rem; font: 700 .76rem var(--sans); letter-spacing: .15em; text-transform: uppercase; }

.editorial-break { min-height: 55vh; display: grid; place-items: center; padding: 6rem 4vw; color: white; text-align: center; background: radial-gradient(circle at 75% 20%, #31545d 0, var(--ink-deep) 48%, #04151b 100%); }
.editorial-break blockquote { max-width: 980px; margin: 0; font: 400 clamp(2.8rem, 5.5vw, 5.7rem)/1.02 var(--serif); }
.editorial-break cite { display: block; margin-top: 2rem; color: #f2c886; font: 700 .76rem var(--sans); letter-spacing: .15em; text-transform: uppercase; }

.partner-section { padding-top: clamp(3.25rem, 5vw, 5rem); padding-bottom: clamp(3.25rem, 5vw, 5rem); background: var(--paper); border-top: 1px solid var(--stone); border-bottom: 1px solid var(--stone); }
.partner-grid { display: grid; grid-template-columns: minmax(180px, .5fr) minmax(0, 1.5fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.partner-mark { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding-right: clamp(2rem, 4vw, 4rem); border-right: 1px solid var(--stone); }
.partner-mark img { width: min(200px, 100%); height: auto; }
.partner-grid h2 { max-width: 850px; margin-bottom: 1.25rem; font-size: clamp(2.2rem, 3.7vw, 3.7rem); }
.partner-grid p { max-width: 850px; margin-top: .8rem; margin-bottom: .8rem; }
.partner-tech { padding-top: .9rem; border-top: 1px solid var(--stone); font-size: .94rem; }
.partner-tech strong { color: var(--clay-dark); }

.ed-photo { width: min(75%, 420px); justify-self: center; transform: rotate(-10deg); }
.ed-photo img { width: 100%; max-height: 540px; object-fit: contain; }
.signature { margin-top: 2rem; color: var(--clay); font: italic 2rem var(--serif); }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 4rem; background: rgba(255,255,255,.25); border: 1px solid rgba(255,255,255,.25); }
.step { background: var(--ink-deep); padding: 2.2rem; }
.step .num { color: #e9b896; font: italic 1.5rem var(--serif); }
.step h3 { margin: 1.2rem 0 .8rem; font: 400 2rem var(--serif); }

.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: var(--stone); border: 1px solid var(--stone); }
.resource { background: var(--paper); padding: 2.2rem; }
.resource h3 { font: 400 1.7rem var(--serif); margin: 0 0 .8rem; }
/* Cruise styles respond to pointer, keyboard, and touch selection. */
.cruise-style { cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.cruise-style[aria-pressed="true"], .cruise-style:focus-visible { background: var(--ink-deep); color: var(--paper); }
.cruise-style h3, .cruise-style p { color: inherit; }
.cruise-style:focus-visible { outline: 3px solid var(--gold); outline-offset: -4px; }
@media (hover: hover) { .cruise-style:hover { background: var(--ink-deep); color: var(--paper); } }
@media (prefers-reduced-motion: reduce) { .cruise-style { transition: none; } }
.curated-cruises { background: var(--mist); }
.curated-cruises-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.curated-cruises-grid > div:first-child { max-width: 720px; }
.curated-points { border-top: 1px solid #9bb8b6; }
.curated-points > div { display: grid; grid-template-columns: 46px 1fr; column-gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid #9bb8b6; }
.curated-points span { grid-row: 1 / 3; color: var(--clay-dark); font: italic 1.15rem var(--serif); }
.curated-points h3 { margin: 0 0 .35rem; font: 400 1.55rem var(--serif); }
.curated-points p { margin: 0; color: #304d56; }
.library-links { margin-top: 3rem; }
.guide-section { scroll-margin-top: 2rem; }
.checklist-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: var(--stone); border: 1px solid var(--stone); }
.checklist-grid > div { background: var(--paper); padding: 2rem; }
.checklist-grid h3 { margin: 0 0 .7rem; font: 400 1.7rem var(--serif); }

.page-hero { background: var(--ink-deep); color: white; padding: clamp(6rem, 11vw, 10rem) 4vw; }
.page-hero .section-inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5rem; align-items: end; }
.page-hero h1 { margin: 0; font-size: clamp(3.4rem, 7vw, 7.2rem); }
.page-hero p { margin: 0; max-width: 560px; font: 1.25rem/1.65 var(--serif); }
.feature-image { width: 100%; aspect-ratio: 16/8; object-fit: cover; }
.feature-image.portrait { aspect-ratio: 4/5; }

.faq { border-top: 1px solid var(--stone); margin-top: 3rem; }
.faq-item { border-bottom: 1px solid var(--stone); }
.faq-question { width: 100%; padding: 1.5rem 0; display: flex; justify-content: space-between; gap: 2rem; border: 0; background: transparent; color: inherit; text-align: left; font: 400 1.35rem var(--serif); cursor: pointer; }
.faq-answer { display: none; max-width: 780px; padding: 0 0 1.8rem; }
.faq-item.open .faq-answer { display: block; }

.cta-panel { text-align: center; }
.cta-panel h2 { max-width: 940px; margin-left: auto; margin-right: auto; }
.cta-panel p { max-width: 680px; margin: 0 auto 2rem; font: 1.2rem/1.65 var(--serif); }
.cta-actions { justify-content: center; }
.note { font-size: .77rem; letter-spacing: .08em; text-transform: uppercase; opacity: .76; }

.site-footer { padding: 4rem 4vw 2rem; background: #07191f; color: #d9e2e1; }
.footer-grid { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 4rem; }
.site-footer img { width: 170px; filter: brightness(0) invert(1); margin-bottom: 1rem; }
.footer-links { display: grid; gap: .5rem; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { color: #f2c886; }
.legal { max-width: 1320px; margin: 3rem auto 0; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.18); font-size: .8rem; opacity: .72; }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .mobile-menu { position: fixed; inset: 0; z-index: 45; display: flex; visibility: hidden; opacity: 0; flex-direction: column; justify-content: center; gap: 1rem; padding: 8rem 8vw 4rem; background: var(--ink-deep); transition: .2s; }
  .mobile-menu.open { visibility: visible; opacity: 1; }
  .mobile-menu a { color: white; text-decoration: none; font: 400 2rem var(--serif); }
  .hero { min-height: 800px; }
  .split, .page-hero .section-inner, .partner-grid, .curated-cruises-grid, .home-shop-grid { grid-template-columns: 1fr; gap: 3rem; }
  .partner-mark { min-height: 10rem; padding: 0 0 3rem; border-right: 0; border-bottom: 1px solid var(--stone); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .resource-grid, .checklist-grid { grid-template-columns: repeat(2, 1fr); }
  .pathway { grid-template-columns: 60px 1fr; }
  .pathway .go { display: none; }
  .section-heading, .editorial-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .section-number { display: none; }
  .destination-collage { grid-template-columns: 1fr; }
  .destination-feature { min-height: 560px; }
  .principles, .reviews-grid, .destination-editorial-grid { grid-template-columns: 1fr; }
  .design-showcase { grid-template-columns: 1fr; }
  .shop-hero-art { right: -18vw; width: 70vw; opacity: .72; }
  .principles article { min-height: 0; }
}

@media (max-width: 640px) {
  .nav-shell { height: 5.5rem; padding: 0 1.25rem; }
  .brand img { width: 120px; height: 72px; }
  .hero { min-height: 730px; }
  .hero-content { padding: 9rem 1.25rem 4rem; }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .hero-copy { font-size: 1.08rem; }
  .section { padding: 4.5rem 1.25rem; }
  .page-hero { padding: 4.5rem 1.25rem; }
  .page-hero h1 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .pathway { grid-template-columns: 40px 1fr; gap: 1rem; padding: 1.5rem 0; }
  .steps, .resource-grid, .checklist-grid, .footer-grid { grid-template-columns: 1fr; }
  .actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .image-break { min-height: 64vh; }
  .image-break blockquote { font-size: 2.6rem; }
  .editorial-break { min-height: 48vh; padding-left: 1.25rem; padding-right: 1.25rem; }
  .editorial-break blockquote { font-size: 2.6rem; }
  .site-footer { padding-left: 1.25rem; padding-right: 1.25rem; }
  .destination-feature { min-height: 500px; padding: 2rem 1.5rem; }
  .destination-feature strong { font-size: 4.5rem; }
  .destination-list a { grid-template-columns: 38px 1fr; padding: 1.5rem; }
  .service-list article { grid-template-columns: 38px 1fr; gap: 1rem; }
  .service-list strong { grid-column: 2; }
  .greece-feature .feature-image { min-height: 480px; }
  .shop-hero { min-height: 700px; }
  .shop-hero-copy { padding: 7rem 1.25rem 4rem; }
  .shop-hero-copy h1 { font-size: clamp(3.1rem, 15vw, 4.7rem); }
  .shop-hero-art { right: -55vw; width: 115vw; }
  .design-tile img { height: 330px; }
  .shop-visit { align-items: stretch; flex-direction: column; }
  .home-shop-art { min-height: 280px; }
  .home-shop-art img { height: 280px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Keep the full navigation and image-backed opening usable at every size. */
.desktop-nav a { white-space: nowrap; }
@media (min-width:981px) and (max-width:1199px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .mobile-menu { position:fixed; inset:0; z-index:45; display:flex; visibility:hidden; opacity:0; flex-direction:column; gap:1rem; padding:8rem 8vw 4rem; background:var(--ink-deep); }
  .mobile-menu.open { visibility:visible; opacity:1; }
  .mobile-menu a { color:white; text-decoration:none; font:400 2rem var(--serif); }
}
@media (max-width:1199px) {
  .mobile-menu { justify-content:safe center; overflow-y:auto; }
  .mobile-menu a { flex-shrink:0; }
}

/* A compact photographic pause before the destination inquiry. */
.destination-photo-band { display: grid; grid-template-columns: .9fr 1.05fr 1.2fr 1.1fr .95fr 1.15fr; gap: 4px; height: clamp(180px, 18vw, 270px); background: var(--paper); overflow: hidden; }
.destination-photo-band img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; }
.destination-photo-band img:first-child { object-position: 62% center; }
@media (max-width: 700px) {
  .destination-photo-band { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); height: 260px; gap: 3px; }
}

.celebration-three-focus-hero { min-height: clamp(680px, 56.25vw, 1000px); }
.celebration-three-focus-hero h1 { max-width: 1100px; font-size: clamp(3.25rem, 6.8vw, 6.3rem); }
.celebration-three-focus-hero .hero-media { object-position: center; }
.celebration-three-focus-hero::after { background: linear-gradient(180deg, rgba(3,19,26,.92) 0%, rgba(3,19,26,.72) 14%, rgba(3,19,26,.06) 38%, rgba(3,19,26,.75) 70%, rgba(3,19,26,.94) 100%); }
.celebration-three-focus-hero .hero-content { padding-bottom: 3rem; }
@media (max-width: 700px) {
  .celebration-three-focus-hero { min-height: 730px; }
  .celebration-three-focus-hero .hero-media { top: 90px; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
  .celebration-three-focus-hero::after { background: linear-gradient(180deg, rgba(3,19,26,.92) 0%, rgba(3,19,26,.55) 14%, transparent 34%, var(--ink-deep) 43%); }
  .celebration-three-focus-hero .hero-content { padding-top: calc(56.25vw + 8rem); padding-bottom: 3rem; }
  .celebration-three-focus-hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
}

.celebration-memory-collage { background: var(--ink); color: var(--paper); text-align: center; overflow: hidden; }
.celebration-memory-collage > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 1; object-fit: cover; }
.celebration-memory-collage blockquote { margin: 0; padding: clamp(2.75rem, 5vw, 5rem) 1.25rem; font: 400 clamp(2.5rem, 5.2vw, 5rem)/1.05 var(--serif); letter-spacing: -.035em; }
.celebration-memory-collage cite { display: block; margin-top: 1.5rem; font: 700 .76rem var(--sans); letter-spacing: .15em; text-transform: uppercase; }


.celebration-five-photo-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:0}
.celebration-five-photo-bar .celebration-photo{position:relative;aspect-ratio:1;overflow:hidden;margin:0}
.celebration-five-photo-bar .celebration-photo img{position:absolute;top:0;width:300%;max-width:none;height:100%;object-fit:fill;border-radius:0;margin:0}


.concierge-hero .hero-media { object-position: center 48%; }
.concierge-support { position: relative; isolation: isolate; background: var(--ink-deep) url('/assets/concierge-details-collage.jpg') center / cover no-repeat; }
.concierge-support::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(4,22,29,.7), rgba(4,22,29,.38)); }
.concierge-support .service-extras article { background: rgba(4,22,29,.72); }
@media (max-width: 700px) {
  .concierge-support { background: var(--ink-deep); }
  .concierge-support .service-extras article { background-image: linear-gradient(rgba(4,22,29,.76), rgba(4,22,29,.76)), url('/assets/concierge-details-collage.jpg'); background-size: auto, 300% 100%; background-repeat: no-repeat; }
  .concierge-support .service-extras article:nth-child(1) { background-position: center, left center; }
  .concierge-support .service-extras article:nth-child(2) { background-position: center, center; }
  .concierge-support .service-extras article:nth-child(3) { background-position: center, right center; }
}

.about-caribbean-hero .hero-media { object-position: center 20%; }

/* AI collaboration credit */
.ai-credit { grid-column: 1 / -1; width: 100%; max-width: 1320px; box-sizing: border-box; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.76); text-align: left; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.7; text-transform: none; letter-spacing: normal; }
.ai-credit strong { display: block; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.9); }
.ai-credit p { max-width: 900px; margin: 7px 0 0; font: inherit; color: inherit; }

.site-footer .ai-credit { margin-top: 24px; }

/* Compact shop feature shared across Nifty Ducks pages. */
.nd-shop-mini{background:var(--midnight-mallard);color:#fffdf8;border-top:1px solid rgba(255,253,248,.2);border-bottom:1px solid rgba(255,253,248,.2);padding:32px 4vw}
.nd-shop-mini .nd-shop-mini-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(240px,350px) minmax(0,1fr) auto;align-items:center;gap:32px}
.nd-shop-mini .nd-shop-mini-art{display:block;text-decoration:none}
.nd-shop-mini .nd-shop-mini-art img{display:block;width:100%;height:150px;object-fit:cover;background:var(--design-backing,#e5dfcf)}
.nd-shop-mini .nd-shop-mini-kicker{margin:0 0 8px;font:800 11px/1.5 "Avenir Next",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f2c886}
.nd-shop-mini .nd-shop-mini-title{margin:0 0 10px;font:400 clamp(26px,2.5vw,36px)/1.1 Baskerville,Georgia,serif;letter-spacing:-.02em;color:#fffdf8}
.nd-shop-mini .nd-shop-mini-description{margin:0;max-width:540px;font:15px/1.6 "Avenir Next",Arial,sans-serif;color:#dbe7f4}
.nd-shop-mini .nd-shop-mini-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 18px;background:#fffdf8;border:1px solid #fffdf8;color:var(--midnight-mallard);font:800 11px/1.5 "Avenir Next",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;text-align:center}
.nd-shop-mini a:focus-visible{outline:3px solid #f2c886;outline-offset:5px}
.nd-shop-mini .nd-shop-mini-link:hover{background:#f2c886;border-color:#f2c886}
@media(max-width:980px){.nd-shop-mini .nd-shop-mini-inner{grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:24px}.nd-shop-mini .nd-shop-mini-link{grid-column:2;justify-self:start}.nd-shop-mini .nd-shop-mini-art{grid-row:1/3}.nd-shop-mini .nd-shop-mini-art img{height:165px}}
@media(max-width:620px){.nd-shop-mini{padding:28px 24px}.nd-shop-mini .nd-shop-mini-inner{grid-template-columns:1fr;gap:20px}.nd-shop-mini .nd-shop-mini-art{grid-row:auto}.nd-shop-mini .nd-shop-mini-art img{height:110px}.nd-shop-mini .nd-shop-mini-link{grid-column:auto;justify-self:start}}

/* Destination guide pages retain the shared editorial design. */
.destination-guide-photo { display: block; margin: 0 0 2rem; overflow: hidden; }
.destination-guide-photo img { width: 100%; height: 220px; object-fit: cover; transition: transform .25s ease; }
.destination-guide-photo:hover img { transform: scale(1.025); }
.destination-editorial-grid .text-link { display: inline-block; margin-top: 1rem; }
.destination-faq { max-width: 900px; margin-top: 3rem; }
.destination-faq details { border-top: 1px solid var(--stone); padding: 1.4rem 0; }
.destination-faq details:last-child { border-bottom: 1px solid var(--stone); }
.destination-faq summary { cursor: pointer; font: 1.35rem/1.4 var(--serif); }
.destination-faq details p { max-width: 760px; margin: 1rem 0 0; }
.destination-source { margin-top: 2rem; font-size: .85rem; }
.destination-guide-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; padding: 2rem 4vw; background: var(--cream); }
.destination-guide-links a { font-weight: 700; text-underline-offset: .3rem; }
.destination-guide-hero h1 { max-width: 1100px; }
@media (max-width: 600px) { .destination-guide-photo img { height: 200px; } }

@media (min-width:761px) { .destination-editorial-grid article#italy { grid-column:1 / -1; } }

.destination-list .destination-italy { --destination-image:url('/assets/italy-venice.jpg'); }

/* The supplied Alaska photograph, with clear foreground copy and navigation. */
.alaska-photo-hero .hero-media { object-position:50% 46%; }
.alaska-photo-hero::after { background:linear-gradient(180deg,rgba(3,19,26,.88) 0%,rgba(3,19,26,.38) 18%,transparent 38%,rgba(3,19,26,.18) 65%,rgba(3,19,26,.65) 100%),linear-gradient(90deg,rgba(3,19,26,.76) 0%,rgba(3,19,26,.5) 42%,rgba(3,19,26,.12) 72%,transparent 100%); }
@media(max-width:640px) { .alaska-photo-hero .hero-media { object-position:38% 42%; } .alaska-photo-hero::after { background:linear-gradient(180deg,rgba(3,19,26,.88) 0%,rgba(3,19,26,.55) 25%,rgba(3,19,26,.65) 65%,rgba(3,19,26,.85) 100%); } }

/* Homepage palette drawn from the Alaska lake, mountains and lupines. */
.alaska-home {
  --midnight-mallard:#203b34;
  --ink:#243b35;
  --ink-deep:#142c25;
  --cream:#e9ede5;
  --paper:#faf9f4;
  --stone:#bec8bc;
  --clay:#675080;
  --clay-dark:#514061;
  --mist:#e8e2ef;
  --gold:#b5a5c8;
}
.alaska-home .hero h1 em,
.alaska-home .destination-list span,
.alaska-home .step .num { color:#ded0ed; }
.alaska-home .desktop-nav .shop-link,
.alaska-home .desktop-nav a:hover,
.alaska-home .desktop-nav summary:hover,
.alaska-home .transparency-band .signature,
.alaska-home .editorial-break cite,
.alaska-home .footer-links a:hover,
.alaska-home .nd-shop-mini-kicker { color:#ded0ed; }
.alaska-home .concierge-home,
.alaska-home .home-shop-feature { background:var(--paper); }
.alaska-home .transparency-band { background:var(--ink-deep); }
.alaska-home .editorial-break { background:radial-gradient(circle at 75% 20%,#496455 0,var(--ink-deep) 55%,#10251f 100%); }
.alaska-home .site-footer { background:#10251f; color:#e2e8df; }
.alaska-home .pathway p,
.alaska-home .curated-points p { color:#43584e; }
.alaska-home .nd-shop-mini-description { color:#e2e8df; }
.alaska-home .nd-shop-mini-link:hover { background:#ded0ed; border-color:#ded0ed; }
.alaska-home a:focus-visible,
.alaska-home summary:focus-visible,
.alaska-home button:focus-visible { outline-color:#b5a5c8; }

#custom-journeys .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:640px) { #custom-journeys .resource-grid { grid-template-columns:1fr; } }

/* Standalone introductions have no list number or reserved number column. */
.editorial-intro-unnumbered { grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); }
@media(max-width:980px) { .editorial-intro-unnumbered { grid-template-columns:1fr; } }

/* Themed symbol dividers move continuously through one seamless repeat. */
.main-symbol-band { --symbol-repeat:720px; height:150px; background-color:var(--ink-deep); background-image:var(--symbol-art); background-repeat:repeat-x; background-position:50% center; background-size:720px 150px; border-block:1px solid rgba(255,255,255,.2); animation:main-symbol-drift 40s linear infinite; }
.main-travel-band { --symbol-art:url('/assets/main-travel-symbols.svg'); }
.alaska-home .main-travel-band { background-color:#203b34; }
.main-nautical-band { --symbol-art:url('/assets/main-nautical-symbols.svg'); }
.main-celebration-band { --symbol-art:url('/assets/main-celebration-symbols.svg'); background-color:#4a2432; }
.main-destination-band { --symbol-art:url('/assets/main-travel-symbols.svg'); background-color:#34483e; }
@keyframes main-symbol-drift { from { background-position:50% center; } to { background-position:calc(50% - var(--symbol-repeat)) center; } }
@media(max-width:700px) { .main-symbol-band { --symbol-repeat:576px; height:120px; background-size:576px 120px; } }
@media(prefers-reduced-motion:reduce) { .main-symbol-band { animation:none; } }

/* Cruise-first homepage, with secondary travel and a quiet shop strip. */
.hero-secondary { display:block; margin-top:.7rem; font-size:1.05rem; }
.hello-section { background:var(--cream); padding-block:clamp(3rem,6vw,6rem); scroll-margin-top:1rem; }
.hello-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.hello-layout h2 { font-size:clamp(2.8rem,5vw,4.5rem); }
.hello-direct { margin-top:2rem; padding:1rem 1.25rem; border-left:3px solid var(--clay); background:var(--paper); }
.hello-direct p { margin:0; }
.hello-direct a { font-weight:700; overflow-wrap:anywhere; }
.cruise-lead-card { margin-top:2.5rem; padding:clamp(2rem,4vw,4rem); background:var(--ink-deep); color:var(--paper); }
.cruise-lead-card .num,.secondary-travel .num { display:block; color:var(--clay); font:italic 1.5rem var(--serif); }
.cruise-lead-card .num { color:#ded0ed; }
.cruise-lead-card h3 { margin:.7rem 0 1.5rem; font:400 clamp(2.6rem,4.5vw,4.5rem)/1 var(--serif); }
.cruise-lead-card p { max-width:850px; }
.cruise-lead-card .actions { margin-top:2rem; }
.secondary-travel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin-top:2rem; }
.secondary-travel article { padding:1.5rem 0; border-top:1px solid var(--stone); }
.secondary-travel h3 { font:400 1.8rem/1.15 var(--serif); margin:.65rem 0 1rem; }
.secondary-travel p { max-width:540px; }
.home-shop-strip { padding:1.2rem 4vw; background:var(--cream); border-block:1px solid var(--stone); }
.home-shop-strip .section-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem 2rem; }
.home-shop-strip span { font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.home-shop-strip p { margin:0; font:1.1rem var(--serif); }
.home-shop-strip a { font-size:.8rem; font-weight:700; text-underline-offset:.3rem; }
.closing-actions { justify-content:center; margin-top:1.7rem; }
.closing-secondary { font-size:.95rem; }
.closing-contact { margin-top:1.5rem; font-size:.9rem; }
@media(max-width:980px) { .hello-layout { grid-template-columns:1fr; } }
@media(max-width:640px) { .secondary-travel { grid-template-columns:1fr; } .home-shop-strip .section-inner { display:grid; grid-template-columns:1fr auto; gap:.6rem 1rem; } .home-shop-strip span { grid-column:1/-1; } .home-shop-strip p { font-size:1rem; } }

.hello-form-card { padding:clamp(1.5rem,3vw,3rem); background:var(--paper); border:1px solid var(--stone); }
.hello-form-card h3 { margin:0 0 1rem; font:400 2rem/1.1 var(--serif); }
.hello-form-card .button { margin-top:.8rem; }

/* Three clear contact options, separate from the advisor section. */
.hello-section { background:var(--paper); border-bottom:1px solid var(--stone); }
.hello-simple { text-align:center; }
.hello-simple h2 { margin-bottom:1rem; }
.hello-simple .section-intro { margin:0 auto 2rem; }
.hello-choices { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.hello-choices .button { min-width:180px; }
.hello-simple .fine-print { margin:1.5rem 0 0; }
@media(max-width:600px) { .hello-choices { flex-direction:column; align-items:stretch; } .hello-choices .button { width:100%; } }

/* Photo-led homepage: scoped so the destination guides keep their layouts. */
.home-refresh .hero-copy { max-width:580px; }
.home-refresh .hero-content { padding-bottom:4.5rem; }
.home-refresh .section { padding-block:clamp(3.5rem,6vw,6rem); }
.home-refresh .section-heading { gap:2rem; margin-bottom:2.5rem; }
.home-refresh .section-heading > p { font:1.15rem/1.6 var(--serif); }
.journey-mosaic { display:grid; grid-template-columns:1.3fr 1fr; grid-template-rows:repeat(2,minmax(300px,1fr)); gap:1.1rem; }
.journey-photo { position:relative; isolation:isolate; overflow:hidden; color:var(--paper); }
.journey-photo img,.destination-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.journey-photo::after,.destination-photo::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,rgba(4,22,29,.03) 15%,rgba(4,22,29,.88) 100%); }
.journey-cruise { grid-row:1/3; }
.journey-cruise img { object-position:58% center; }
.journey-celebration img { object-position:22% center; }
.journey-copy { position:absolute; bottom:0; left:0; right:0; z-index:1; padding:clamp(1.5rem,3vw,3rem); }
.journey-copy h3 { font:400 clamp(2rem,3.2vw,3.5rem)/1.05 var(--serif); margin:0 0 .8rem; letter-spacing:-.03em; }
.journey-cruise h3 { font-size:clamp(3rem,4vw,4.7rem); }
.journey-copy p:not(.eyebrow) { max-width:450px; margin:.8rem 0 1.4rem; font:1.15rem/1.5 var(--serif); }
.journey-copy .eyebrow { margin-bottom:.8rem; font-size:.68rem; }
.journey-copy .text-link { font-size:.69rem; line-height:1.6; }
.journey-photo:has(a:hover) img,.journey-photo:has(a:focus-visible) img,.destination-photo:hover img { transform:scale(1.035); }
.featured-sailings-link { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding:1.5rem 0 0; font:1.1rem var(--serif); }
.advisor-editorial { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:clamp(2rem,7vw,7rem); }
.advisor-portrait { transform:rotate(-3deg); max-width:330px; margin:auto; }
.advisor-portrait img { width:100%; height:auto; }
.advisor-message { max-width:710px; }
.advisor-message h2 em { color:var(--clay); }
.advisor-note { border-top:1px solid var(--stone); padding-top:1.2rem; margin:1.5rem 0; font:italic 1.25rem var(--serif); }
.destination-photo-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; grid-template-rows:repeat(2,290px); gap:1rem; }
.destination-photo { position:relative; overflow:hidden; color:white; text-decoration:none; }
.destination-greece { grid-row:1/3; }
.destination-photo > div { position:absolute; bottom:0; inset-inline:0; padding:1.7rem; z-index:1; }
.destination-photo h3 { margin:0 0 .55rem; font:400 clamp(1.8rem,2.4vw,2.7rem)/1.04 var(--serif); }
.destination-greece h3 { font-size:clamp(4rem,6vw,6rem); }
.destination-photo p { margin:0 0 .9rem; font:1rem/1.4 var(--serif); }
.destination-go { font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; font-weight:800; }
.destination-photo .eyebrow { display:block; font-size:.65rem; }
.destination-photo:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.home-all-destinations { display:inline-block; margin-top:2rem; }
.home-refresh .home-process { background:#203b34; }
.home-refresh .steps { margin-top:2rem; }
.home-refresh .step { padding:1.8rem; }
.home-refresh .reviews-grid blockquote { padding:1.8rem; }
.home-refresh .home-closing { background:var(--mist); }
.home-refresh .home-closing .section-intro { max-width:560px; }
@media(max-width:980px) { .journey-mosaic { grid-template-columns:1fr 1fr; } .journey-cruise { grid-row:auto; grid-column:1/-1; min-height:500px; } .journey-mosaic { grid-template-rows:auto 330px; } .advisor-editorial { grid-template-columns:.7fr 1.3fr; gap:2rem; } .destination-photo-grid { grid-template-columns:1fr 1fr; grid-template-rows:400px 280px 280px; } .destination-greece { grid-column:1/-1;grid-row:auto; } }
@media(max-width:600px) { .home-refresh .hero-content { padding-bottom:3rem; } .journey-mosaic { display:flex;flex-direction:column; } .journey-cruise { min-height:490px; } .journey-celebration,.journey-custom { min-height:320px; } .journey-copy { padding:1.5rem; } .featured-sailings-link { align-items:flex-start;flex-direction:column; } .advisor-editorial { grid-template-columns:1fr; } .advisor-portrait { max-width:240px; } .advisor-message { padding-top:1rem; } .destination-photo-grid { grid-template-columns:1fr;grid-template-rows:400px repeat(4,280px); } .destination-greece {grid-column:auto;} .destination-photo h3 {font-size:2.5rem;} .destination-greece h3 {font-size:4.8rem;} }
@media(prefers-reduced-motion:reduce) { .journey-photo img,.destination-photo img { transition:none; } }

.destination-dropdown{position:relative}.destination-dropdown>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}.destination-dropdown>summary::-webkit-details-marker{display:none}.destination-dropdown-panel{position:absolute;top:calc(100% + 20px);left:0;min-width:230px;padding:18px;background:#07191f;color:#fff;box-shadow:0 15px 35px #0005;z-index:70}.destination-dropdown-panel a{display:block;padding:10px 8px;white-space:nowrap}.destination-dropdown>summary:focus-visible{outline:3px solid #f2c886;outline-offset:4px}.destination-dropdown[open]>summary span{transform:rotate(180deg)}.mobile-menu .destination-dropdown{width:100%}.mobile-menu .destination-dropdown>summary{font:inherit;padding:10px 0}.mobile-menu .destination-dropdown-panel{position:static;box-shadow:none;background:transparent;padding:3px 0 5px 18px;border-left:1px solid #ffffff40}.mobile-menu .destination-dropdown-panel a{font-size:14px;padding:9px 0}
.mobile-menu .destination-dropdown>summary{color:#fff;font:400 2rem var(--serif);padding:0}.desktop-nav .destination-dropdown-panel a{font-size:.75rem;color:#fff}.mobile-menu .destination-dropdown{flex-shrink:0}
/* Destination collection and a proportionate shared footer. */
.destination-hub-hero .hero-content{max-width:1000px}.destination-hub-hero .hero-copy{max-width:620px}.destination-hub-hero .button{margin-top:1.6rem}.hub-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:5rem;margin-bottom:3rem}.hub-heading .section-intro{margin:0;max-width:480px}.hub-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.4rem 2rem}.hub-destination{display:flex;flex-direction:column}.hub-photo{position:relative;display:block;aspect-ratio:1.3;overflow:hidden}.hub-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.hub-photo:hover img{transform:scale(1.03)}.hub-photo span{position:absolute;left:16px;top:16px;width:30px;height:30px;display:grid;place-content:center;background:var(--paper);color:var(--ink);font:11px Arial}.hub-card-copy{display:flex;flex-direction:column;flex:1;padding-top:1.5rem}.hub-card-copy h3{font-size:2.2rem;font-weight:400;margin:0 0 .8rem}.hub-card-copy p{font-size:.95rem;line-height:1.7}.hub-card-copy .hub-card-tagline{font-family:var(--serif);font-size:1.16rem;line-height:1.5;margin:0 0 .9rem;color:var(--ink)}.hub-card-copy .text-link{margin-top:auto;padding-top:.7rem}.hub-conversation{padding:3rem 2.2rem;background:#e8e0d3;display:flex;flex-direction:column;justify-content:center}.hub-conversation h3{font-size:2.8rem;line-height:1.1;margin:0 0 1.5rem;font-weight:400}.hub-conversation p:not(.eyebrow){font-size:1rem;line-height:1.8}.hub-conversation .text-link{margin-top:1rem}.unified-footer .footer-grid{grid-template-columns:1.25fr 1fr 1fr 1.15fr;gap:2.8rem;align-items:start}.unified-footer img{width:155px;height:auto;max-height:none;object-fit:contain;display:block}.unified-footer .footer-brand-block{max-width:280px}.unified-footer .footer-brand-block p{font-size:12px;line-height:1.8;margin:15px 0 0}.unified-footer .footer-brand-block .footer-tagline{font-size:17px;font-family:var(--serif)}.unified-footer .footer-links{display:flex;flex-direction:column;gap:9px;align-items:flex-start;font-size:12px;line-height:1.6}.unified-footer .footer-links strong{font-size:16px;font-weight:500;margin-bottom:10px}.unified-footer .legal{display:flex;justify-content:space-between;gap:24px;margin-top:2.5rem;font-size:10px;line-height:1.7}.unified-footer .legal a{white-space:nowrap}.unified-footer .ai-credit{font-size:11px;line-height:1.8}.unified-footer .ai-credit strong{font-size:11px}.unified-footer .ai-credit p{font-size:11px}
@media(max-width:1050px){.hub-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.unified-footer .footer-grid{grid-template-columns:1fr 1fr;gap:3rem}.hub-heading{gap:3rem}}@media(max-width:700px){.hub-heading{grid-template-columns:1fr;gap:1.5rem}.hub-destinations{grid-template-columns:1fr;gap:2.8rem}.hub-card-copy h3{font-size:2rem}.hub-conversation{min-height:300px;padding:2rem}.hub-photo{aspect-ratio:1.4}.unified-footer .footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1.4rem}.unified-footer .footer-brand-block{grid-column:1/-1}.unified-footer .footer-links:last-child{grid-column:1/-1}.unified-footer .footer-links{font-size:12px}.unified-footer .legal{flex-wrap:wrap;gap:12px}.hub-heading h2{font-size:2.6rem}}

@media(min-width:1051px){.hub-destinations>.hub-conversation:last-child{grid-column:span 2}}

/* accessibility.css */
/* Shared readability and keyboard access, preserving each site's palette. */
html { scroll-padding-top: 2rem; }
body { line-height: 1.65; }
.site-header, .shared-nav { background: #061d25; }
.hero::after { background: linear-gradient(90deg,rgba(3,19,26,.94),rgba(3,19,26,.78) 65%,rgba(3,19,26,.70)); }
.site-header a, .shared-nav a, .shared-menu summary { color: #fffdf8; }
.site-header .shop-link, .shared-nav-links .shared-shop-link { color:#f2c886; }
/* Two-color rings remain visible on both light and dark surfaces. */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #10272f; outline-offset:3px; box-shadow:0 0 0 6px #fffdf8; }
a, button, summary { text-underline-offset:.25em; }
main p a:not([class]), main li a:not([class]) { text-decoration:underline; }
button, summary, .button, .shared-menu summary { min-height:44px; }
.desktop-nav a, .shared-nav-links a { display:inline-flex; align-items:center; min-height:44px; }
.skip-link { position:fixed; left:1rem; top:-8rem; z-index:200; padding:.8rem 1rem; background:#fffdf8; color:#10272f; text-decoration:underline; }
.skip-link:focus { top:1rem; }
@media(max-width:1399px) { .shared-nav-links { display:none; } .shared-menu { display:block; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation:none !important; transition:none !important; } }

.journey-copy, .destination-photo > div { background:rgba(6,29,37,.92); color:#fffdf8; }
.hero .hero-copy, .hero .hero-content > p { color:#fffdf8; }
.button.light:hover, .button.light:focus-visible { background:#dbe7e6; color:#10272f; border-color:#10272f; }
@media(max-width:1399px) { .desktop-nav { display:none; } .menu-toggle { display:block; min-height:44px; } .mobile-menu.open { display:flex; } }

.destination-map-note,.destination-map-credit,.destination-map-credit a { color:#fffdf8; }
.destination-page-australia .destination-route-list span {color:#10272f;}
.destination-page-caribbean .destination-route-list span {color:#fffdf8;}
.pathway .num {color:#704735;}
.destination-experience.theme-australia .destination-map-note,.destination-experience.theme-australia .destination-map-credit { color:#fffdf8; }
.theme-australia .destination-region-choice.is-selected span,.theme-australia .destination-region-choice:hover span { color:#10272f; }
.theme-caribbean .island-choice span { color:#fffdf8; }
.theme-caribbean .land-sea-copy .theme-cta-group small { color:#304d56; }
.step[style] .num { color:#704735; }

.theme-caribbean .island-choice.is-selected span,.theme-caribbean .island-choice:hover span {color:#304d56;}

/* shared-menu.css */
.nd-header{position:absolute;inset:0 0 auto;z-index:50;color:#fff;border-bottom:1px solid #ffffff33;background:linear-gradient(180deg,#04161db3,#04161d2e)}.nd-shell{height:112px;padding:15px 7%;display:flex;align-items:center;justify-content:space-between;gap:25px}.nd-brand{display:block;flex-shrink:0}.nd-brand img{width:145px;height:84px;object-fit:contain;filter:brightness(0) invert(1)}.nd-controls{display:flex;align-items:center;gap:30px;color:#fff;font:500 11px Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}.nd-plan{border:1px solid #ffffff99;padding:13px 20px;text-decoration:none;white-space:nowrap;color:#fff}.nd-plan span{margin-left:17px}.nd-menu{position:relative}.nd-menu>summary{list-style:none;cursor:pointer;padding:13px 3px;display:flex;gap:13px;align-items:center;color:#fff}.nd-menu>summary::-webkit-details-marker,.nd-destinations>summary::-webkit-details-marker{display:none}.nd-menu[open]>summary>span:last-child,.nd-destinations[open]>summary>span{transform:rotate(180deg)}.nd-mobile-label{display:none}.nd-panel{position:absolute;top:58px;right:0;width:330px;max-height:calc(100dvh - 150px);overflow:auto;box-sizing:border-box;box-shadow:0 20px 45px #0005;padding:25px;background:linear-gradient(#04161dee,#04161df0),var(--nd-menu-photo) center/cover;color:#fff;text-transform:none;letter-spacing:.4px;z-index:60}.nd-panel .nd-kicker{color:#cfbd9e;font:500 9px Arial,sans-serif;letter-spacing:1.8px;margin:0 0 10px}.nd-panel>a,.nd-destinations>summary{display:block;padding:9px 0;font:400 13px/1.5 Arial,sans-serif;color:#fff;text-decoration:none;border-bottom:1px solid #ffffff24}.nd-destinations>summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none}.nd-destination-links{padding:3px 0 12px 15px;margin:3px 0 8px;border-left:1px solid #ffffff38}.nd-destination-links>a{display:block;padding:8px 0;font:400 12px/1.5 Arial,sans-serif;color:#fff;text-decoration:none}.nd-panel .nd-shop{color:#f2c886}.nd-panel .nd-panel-plan{border:1px solid #9eaaa9;padding:12px 14px;margin-top:18px;text-align:center}.nd-header a:hover{color:#f2c886}.nd-header a:focus-visible,.nd-header summary:focus-visible{outline:2px solid #f2c886;outline-offset:3px}.nd-controls a{color:#fff}.nd-skip{position:absolute;top:-100px;left:12px;z-index:100;background:#fff;color:#04161d;padding:10px}.nd-skip:focus{top:12px}@media(max-width:760px){.nd-shell{height:92px;padding:12px 7%;gap:14px;box-sizing:border-box}.nd-brand img{width:100px;height:58px}.nd-controls{gap:14px;font-size:9px;letter-spacing:.4px}.nd-plan{padding:10px 11px}.nd-plan span{display:none}.nd-menu>summary{font-size:10px;gap:7px;padding:12px 0}.nd-desktop-label{display:none}.nd-mobile-label{display:inline}.nd-panel{position:fixed;left:7%;right:7%;top:92px;width:auto;max-height:calc(100dvh - 110px);padding:23px}}
.nd-shell{box-sizing:border-box}.nd-header-solid{position:relative;background:#07191f}.nd-panel{background-color:#04161d}

/* personal-planning.css */
:root{--nd-planning-bg:#183027}
.nd-planning{box-sizing:border-box;background:var(--nd-planning-bg,#102c38);color:#f7f3eb;padding:78px 7%;display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(40px,7vw,100px);text-align:left;margin:0;width:100%;max-width:none}.nd-planning *{box-sizing:border-box}.nd-planning .nd-planning-kicker{font:700 10px/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:2px;margin:0 0 20px;color:#f7f3eb}.nd-planning h2{font:400 clamp(38px,4.2vw,55px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-1px;color:#f7f3eb;margin:0;max-width:620px}.nd-planning .nd-planning-copy>p:last-child{font:400 14px/1.75 Arial,Helvetica,sans-serif;max-width:480px;color:#dce2e2;margin:27px 0 0}.nd-planning .nd-planning-links{align-self:center;display:flex;flex-direction:column;gap:14px;align-items:stretch}.nd-planning .nd-planning-button{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:340px;padding:15px 20px;border:1px solid #a4b0b4;text-decoration:none;color:#f7f3eb;background:transparent;font:400 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;margin:0}.nd-planning .nd-planning-light{background:#f7f3eb;border-color:#f7f3eb;color:var(--nd-planning-bg,#102c38)}.nd-planning .nd-planning-direct{font:400 12px/1.6 Arial,Helvetica,sans-serif;color:#f7f3eb;text-decoration:none;letter-spacing:0;text-transform:none}.nd-planning a:hover{text-decoration:underline}.nd-planning a:focus-visible{outline:3px solid #f2c886;outline-offset:4px}@media(max-width:760px){.nd-planning{grid-template-columns:1fr;padding:55px 7%;gap:30px}.nd-planning h2{font-size:41px}.nd-planning .nd-planning-button{max-width:none}}

/* site-quality.css */
/* Shared navigation: the same surface, type, targets and focus treatment. */
.family-header,.nd-header{color:#fff;border-bottom-color:#ffffff55}
.family-header .family-menu-panel,.nd-header .nd-panel{background:#071f2b;color:#fff;border:1px solid #ffffff40;border-radius:0;box-shadow:0 16px 42px #0005;padding:24px;scrollbar-gutter:stable}
.family-header .family-menu-panel>a,.family-header .menu-local>a,.family-header .destination-menu>summary,.nd-header .nd-panel>a,.nd-header .nd-destinations>summary,.nd-header .nd-local>a,.nd-header .ports-menu-local>a{font:400 14px/1.5 Arial,sans-serif;letter-spacing:0;text-transform:none;color:#fff;min-height:44px;padding:11px 0;box-sizing:border-box;display:block}
.family-header .destination-menu>summary,.nd-header .nd-destinations>summary{display:flex;align-items:center;justify-content:space-between}
.family-header .destination-submenu>a,.nd-header .nd-destination-links>a{font:400 14px/1.5 Arial,sans-serif;letter-spacing:0;color:#fff;min-height:44px;padding:11px 0;box-sizing:border-box;display:block}
.family-header .family-menu-panel .eyebrow,.nd-header .nd-panel .nd-kicker{font:700 11px/1.6 Arial,sans-serif;letter-spacing:.12em;color:#e9d6b7}
.family-header .compact-nav,.nd-header .nd-controls{font-family:Arial,sans-serif}
.family-header .family-menu-panel .shop-link,.nd-header .nd-panel .nd-shop,.family-header .destination-submenu a[aria-current],.nd-header .nd-destination-links a[aria-current]{color:#ffd997}
.family-header .family-menu-panel .menu-plan,.nd-header .nd-panel .nd-panel-plan{border:1px solid #cbd8de;padding:12px 16px;margin-top:18px;text-align:center}
.family-header a:focus-visible,.family-header summary:focus-visible,.nd-header a:focus-visible,.nd-header summary:focus-visible{outline:3px solid #ffd997;outline-offset:3px}
.family-header .family-menu-panel a:hover,.nd-header .nd-panel a:hover{color:#ffd997;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.family-header .family-menu-panel,.nd-header .nd-panel{left:5%;right:5%;width:auto;top:92px;max-height:calc(100dvh - 108px);padding:20px}.family-header .family-brand img,.nd-header .nd-brand img{width:100px;height:58px}}

/* Keep the landscape clear, with shading concentrated beneath copy and navigation. */
.hero .hero-shade{background:linear-gradient(180deg,rgba(4,22,29,.68),transparent 28%),linear-gradient(90deg,rgba(4,22,29,.70),rgba(4,22,29,.62) 57%,rgba(4,22,29,.08) 90%)}
.journey-hero .hero-shade{background:linear-gradient(180deg,rgba(4,22,29,.72),transparent 36%),linear-gradient(0deg,rgba(4,22,29,.78),rgba(4,22,29,.62) 32%,transparent 72%)}
.hero h1,.hero .hero-subtitle,.hero .hero-tagline,.journey-hero h1,.journey-hero .country-breadcrumbs{ text-shadow:0 2px 12px #04161d66 }
.hero .hero-caption,.journey-hero .hero-caption{color:#fff;text-shadow:0 1px 5px #000}

/* Distinguish the guide introduction from the long itinerary collection. */
.guide-overview.wrap,.greece-collection .guide-overview.wrap{width:100%;max-width:none;margin:0;padding:56px max(7vw,calc((100vw - 1320px)/2));background:#dfeaec;color:#153441;border-block:1px solid #bdcfd4}
.guide-overview h2,.guide-overview .eyebrow,.guide-overview a{color:#153441}
.guide-overview a{font-size:16px;min-height:44px;border-color:#a7bdc5}
.journey-card .card-meta,.journey-card .route,.result-count{font-size:12px;line-height:1.65}
.journey-card .card-body p{font-size:15px;line-height:1.75;color:#40565f}
.journey-card .card-body .text-link{font-size:14px;min-height:40px;align-items:center;color:#153441}
.journey-card{background:#fffdf8;border-bottom:3px solid #bdcfd4}
.journey-card .card-body{padding:20px}
.journey-overview .eyebrow,.journey-overview p.eyebrow,.journey-overview .journey-intro .eyebrow,.chapters+.planning .eyebrow{color:#694421}
.chapters>article{padding:28px;margin-block:20px;background:#fffdf8;border:1px solid #d9ded8}
.chapters>article:nth-of-type(even){background:#e6eeea}
.next-journey.wrap,.regions-related.wrap{width:100%;max-width:none;padding:48px max(7vw,calc((100vw - 1320px)/2));background:#e7ddcc;color:#153441}
.country-guide .guide-hero{background-image:linear-gradient(90deg,rgba(4,22,29,.72),rgba(4,22,29,.62) 58%,rgba(4,22,29,.12)),var(--page-photo,var(--destination-hero))!important}
.country-guide .honeymoon .eyebrow,.country-guide .season-rows>div>span,.country-guide .season-list>div>span{color:#67471e}
.country-guide .honeymoon p,.country-guide .season-rows p,.country-guide .season-list p{color:#334d50}
.country-guide.theme-italy .season .section-heading>p{color:#3c5145}
.country-guide.theme-australia .honeymoon p,.country-guide.theme-australia .season-rows p,.country-guide.theme-australia .season-list p{color:#493c30}
.country-guide .season-grid article p,.country-guide .season-grid article span{color:#334d43}
.country-guide.theme-australia .season-grid article p,.country-guide.theme-australia .season-grid article span{color:#493c30}
.destination-experience .season-grid article p,.destination-experience .season-grid article span{color:#334d43}
.country-guide .cook-islands-extension{background:#dfeae5;color:#173d32}
.country-guide .cook-islands-extension p,.country-guide .cook-islands-extension h2,.country-guide .cook-islands-extension .eyebrow,.country-guide .cook-islands-extension li{color:#173d32}
.country-guide .theme-gallery+.season,.country-guide .greece-collage+.season{background:#e4ece5;color:#173d32}
.country-guide .theme-gallery+.season p,.country-guide .greece-collage+.season p{color:#334d43}
.approach-photo>span,.guide-culture-photo>span{background:#071f2be8;color:#fff;padding:7px 12px;font-size:12px;text-shadow:none}
@media(max-width:760px){.guide-overview.wrap,.greece-collection .guide-overview.wrap{padding:38px 7%}.chapters>article{padding:22px}.next-journey.wrap,.regions-related.wrap{padding:38px 7%}}

.hero::after,.hero.alaska-photo-hero::after{background:linear-gradient(180deg,rgba(4,22,29,.68),transparent 30%),linear-gradient(90deg,rgba(4,22,29,.74),rgba(4,22,29,.62) 56%,rgba(4,22,29,.08) 90%)}
.home-refresh .home-process{background:#dce7df;color:#183027}
.home-refresh .home-process :is(h2,h3,p,span,.eyebrow){color:#183027}
.home-refresh .home-process .step{background:#fffdf8;border-color:#b5c7bd}
.home-refresh .reviews-section{background:#e8ddcc;color:#183027}
.destination-experience .honeymoon p,.country-guide .honeymoon p{color:#324c43}
.destination-experience .season-rows p,.destination-experience .season-row p{color:#324c43}
.theme-caribbean .season p{color:#254b4c}

/* home-cards.css */
/* Homepage annotations: give each photograph its own visible frame. */
.home-journeys .journey-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;align-items:stretch;gap:24px}
.home-journeys .journey-photo{display:flex;flex-direction:column;min-height:0;background:#092a33;color:#fffdf8}
.home-journeys .journey-photo::after,.home-destinations .destination-photo::after{content:none}
.home-journeys .journey-photo>img{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;min-width:0;transform:none}
.home-journeys .journey-copy{position:relative;inset:auto;z-index:auto;padding:28px;flex:1;display:flex;flex-direction:column;align-items:flex-start;background:#092a33;color:#fffdf8}
.home-journeys .journey-copy h3{font-size:clamp(28px,3vw,40px);line-height:1.12}
.home-journeys .journey-copy p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:540px}
.home-journeys .journey-copy .text-link{font-size:12px;line-height:1.6;min-height:44px;align-items:center;margin-top:auto}
.home-journeys .journey-cruise{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1.25fr 1fr}
.home-journeys .journey-cruise>img{height:100%;min-height:360px;aspect-ratio:3/2;object-position:58% 58%}
.home-journeys .journey-cruise .journey-copy{padding:clamp(28px,4vw,52px);justify-content:center}
.home-journeys .journey-cruise h3{font-size:clamp(34px,4vw,56px)}
.home-journeys .journey-cruise .text-link{margin-top:12px}
.home-journeys .journey-celebration>img{object-position:58% center}
.home-journeys .journey-custom>img{object-position:50% 58%}

/* Greece leads the collection; six destination cards follow in balanced rows. */
.home-destinations .destination-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:24px;align-items:stretch}
.home-destinations .destination-photo{display:flex;flex-direction:column;min-width:0;background:#092a33}
.home-destinations .destination-photo>img{position:relative;inset:auto;display:block;width:100%;height:clamp(220px,22vw,320px);object-fit:cover;transform:none}
.home-destinations .destination-photo>div{position:relative;inset:auto;z-index:auto;flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:#092a33;color:#fffdf8}
.home-destinations .destination-greece{grid-column:1/-1;grid-row:auto}
.home-destinations .destination-greece>img{object-position:50% 62%}
.home-destinations .destination-photo h3,.home-destinations .destination-greece h3{font-size:clamp(30px,3vw,44px);line-height:1.12}
.home-destinations .destination-photo p{font-size:17px;line-height:1.55;margin-bottom:24px}
.home-destinations .destination-go{font-size:12px;line-height:1.6;margin-top:auto;min-height:32px}
.home-destinations .destination-australia>img{object-position:50% 66%}
.home-destinations .destination-new-zealand>img{object-position:50% 58%}
.home-destinations .destination-italy>img{object-position:50% 56%}
@media(max-width:980px){
 .home-destinations .destination-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
 .home-destinations .destination-greece{grid-column:1/-1}
 .home-destinations .destination-photo>img{height:clamp(230px,31vw,310px)}
 .home-journeys .journey-cruise{min-height:0}
}
@media(max-width:700px){
 .home-journeys .journey-cruise{display:flex;grid-column:auto}
 .home-journeys .journey-cruise>img{height:auto;min-height:0;aspect-ratio:16/10}
 .home-journeys .journey-cruise .journey-copy{padding:26px}
}
@media(max-width:600px){
 .home-journeys .journey-mosaic,.home-destinations .destination-photo-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:24px}
 .home-journeys .journey-cruise,.home-destinations .destination-greece{grid-column:auto;grid-row:auto}
 .home-journeys .journey-photo{min-height:0}
 .home-journeys .journey-copy,.home-destinations .destination-photo>div{padding:24px}
 .home-destinations .destination-photo>img{height:auto;aspect-ratio:16/10}
 .home-destinations .destination-greece>img{aspect-ratio:16/9}
 .home-destinations .destination-photo h3,.home-destinations .destination-greece h3{font-size:36px}
}

/* page-details.css */
/* Consistent details, with colours inherited from each destination. */
:root{--nd-detail-deep:#173d38;--nd-detail-paper:#edf0e7;--nd-detail-ink:#193a34;--nd-detail-accent:#9b6c36;--nd-icon-art:url('/nd-icons-travel.svg');--nd-icon-width:720px}
[data-nd-theme="australia"]{--nd-detail-deep:#653e2c;--nd-detail-paper:#f2e9db;--nd-detail-ink:#513622;--nd-detail-accent:#9b6232;--nd-icon-art:url('/nd-icons-australia.svg');--nd-icon-width:840px}
[data-nd-theme="new-zealand"]{--nd-detail-deep:#245144;--nd-detail-paper:#edf2e8;--nd-detail-ink:#173d32;--nd-detail-accent:#52733d;--nd-icon-art:url('/nd-icons-new-zealand.svg');--nd-icon-width:840px}
[data-nd-theme="italy"]{--nd-detail-deep:#633b2c;--nd-detail-paper:#f3e8dc;--nd-detail-ink:#4d3027;--nd-detail-accent:#a06332;--nd-icon-art:url('/nd-icons-italy.svg');--nd-icon-width:840px}
[data-nd-theme="ireland"]{--nd-detail-deep:#173d43;--nd-detail-paper:#e7eee6;--nd-detail-ink:#173d43;--nd-detail-accent:#a16e38;--nd-icon-art:url('/nd-icons-ireland.svg')}
[data-nd-theme="iceland"]{--nd-detail-deep:#173544;--nd-detail-paper:#e7edef;--nd-detail-ink:#173544;--nd-detail-accent:#826232;--nd-icon-art:url('/nd-icons-iceland.svg')}
[data-nd-theme="greece"]{--nd-detail-deep:#0a4764;--nd-detail-paper:#e9f0f2;--nd-detail-ink:#102a3a;--nd-detail-accent:#a3732a;--nd-icon-art:url('/nd-icons-greece.svg')}
[data-nd-theme="cruises"],[data-nd-theme="curated-cruises"]{--nd-detail-deep:#14313c;--nd-detail-paper:#e5eeeb;--nd-detail-ink:#14313c;--nd-detail-accent:#a65c3c;--nd-icon-art:url('/nd-icons-cruises.svg')}
[data-nd-theme="curated-cruises"]{--nd-detail-deep:#071f4d;--nd-detail-paper:#e9edf5;--nd-detail-ink:#071f4d;--nd-detail-accent:#9b6b00}
[data-nd-theme="celebration"]{--nd-detail-deep:#4a2432;--nd-detail-paper:#f5e7e6;--nd-detail-ink:#4a2432;--nd-detail-accent:#a74d69;--nd-icon-art:url('/nd-icons-celebration.svg')}
[data-nd-theme="accessible"]{--nd-detail-deep:#10272f;--nd-detail-paper:#ecece4;--nd-detail-ink:#10272f;--nd-detail-accent:#895943;--nd-icon-art:url('/nd-icons-accessible.svg')}
[data-nd-theme="caribbean"]{--nd-detail-deep:#17636b;--nd-detail-paper:#e8f2ef;--nd-detail-ink:#154851;--nd-detail-accent:#92703c;--nd-icon-art:url('/nd-icons-caribbean.svg');--nd-icon-width:840px}
.nd-scroll-icons{--nd-icon-repeat:calc(var(--nd-icon-width) * .88);position:relative;height:132px;overflow:hidden;background:var(--nd-detail-deep);border-block:1px solid #ffffff2b}
.nd-scroll-icons::before{content:"";display:block;width:100%;height:100%;background-image:var(--nd-icon-art);background-repeat:repeat-x;background-size:var(--nd-icon-repeat) 132px;background-position:0 center;animation:nd-detail-drift 42s linear infinite}
.nd-scroll-icons:hover::before{animation-play-state:paused}
@keyframes nd-detail-drift{to{background-position:calc(-1 * var(--nd-icon-repeat)) center}}
.nd-shop-strip{padding:24px clamp(20px,4vw,60px);background:var(--nd-detail-paper);color:var(--nd-detail-ink);border-block:1px solid color-mix(in srgb,var(--nd-detail-ink) 22%,transparent)}
.nd-shop-strip .nd-shop-strip-inner{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:1fr 1.8fr auto;align-items:center;gap:20px}
.nd-shop-strip .nd-shop-strip-kicker{margin:0;font:800 12px/1.5 var(--sans,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:inherit}
.nd-shop-strip .nd-shop-strip-copy{margin:0;font:400 clamp(18px,2vw,24px)/1.5 var(--serif,Georgia,serif);color:inherit;text-align:center}
.nd-shop-strip a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 0;font:700 14px/1.5 var(--sans,Arial,sans-serif);color:inherit;text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}
.nd-shop-strip a:hover{color:var(--nd-detail-accent)}
.nd-shop-strip a:focus-visible{outline:3px solid var(--nd-detail-accent);outline-offset:5px}
/* Inset borders keep the grid dimensions steady while a block is highlighted. */
:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.region-card,.journey-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,article[tabindex="0"],.trip-list>li,.detail-grid>article,.inspiration-card,.sailing-card,.journey-photo,.destination-photo){transition:box-shadow .2s ease,outline-color .2s ease;outline:2px solid transparent;outline-offset:-2px}
:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.region-card,.journey-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,article[tabindex="0"],.trip-list>li,.detail-grid>article,.inspiration-card,.sailing-card,.journey-photo,.destination-photo):is(:hover,:focus,:focus-within,:active){box-shadow:inset 0 0 0 3px var(--nd-detail-accent);outline-color:var(--nd-detail-accent)}
:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.region-card,.journey-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,article[tabindex="0"],.trip-list>li,.detail-grid>article,.inspiration-card,.sailing-card,.journey-photo,.destination-photo):focus-visible{outline:3px solid var(--nd-detail-accent);outline-offset:3px}
@media(max-width:700px){.nd-scroll-icons{--nd-icon-repeat:calc(var(--nd-icon-width) * .7333333333333333);height:110px}.nd-scroll-icons::before{background-size:var(--nd-icon-repeat) 110px}.nd-shop-strip .nd-shop-strip-inner{grid-template-columns:1fr;gap:8px;text-align:center}.nd-shop-strip .nd-shop-strip-copy{text-align:center}.nd-shop-strip a{justify-self:center}}
@media(prefers-reduced-motion:reduce){.nd-scroll-icons::before{animation:none}:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.region-card,.journey-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,article[tabindex="0"],.trip-list>li,.detail-grid>article,.inspiration-card,.sailing-card,.journey-photo,.destination-photo){transition:none}}

/* inquiry-links.css */
/* Explain the destination of every FORA inquiry link before it is opened. */
a.nd-inquiry-link{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:100%;vertical-align:top;white-space:normal;gap:0}
a.nd-inquiry-link>.nd-inquiry-label{display:block;margin:0}
a.nd-inquiry-link>.nd-inquiry-note{display:block;margin:6px 0 0;padding:0;max-width:28em;font:400 12px/1.45 Arial,sans-serif;letter-spacing:normal;text-transform:none;white-space:normal;color:inherit;text-decoration:none;opacity:1}
a.button.nd-inquiry-link,a.nd-planning-button.nd-inquiry-link,a.theme-cta.nd-inquiry-link,a.primary-cta.nd-inquiry-link{align-items:center;text-align:center}
.nd-header a.nd-plan.nd-inquiry-link{max-width:228px;text-align:center;align-items:center;box-sizing:border-box}
.nd-header a.nd-plan>.nd-inquiry-label{display:block;margin:0}
.nd-header a.nd-plan>.nd-inquiry-note{display:block;margin:5px 0 0;font-size:10px;line-height:1.3}
.nd-panel a.nd-panel-plan.nd-inquiry-link{display:flex;text-align:center;align-items:center}
.footer-links a.nd-inquiry-link>.nd-inquiry-note{font-size:11px;max-width:22em}
@media(max-width:760px){.nd-header a.nd-plan.nd-inquiry-link{max-width:148px;padding:8px 10px}.nd-header a.nd-plan>.nd-inquiry-note{display:block;font-size:9px;line-height:1.25}.nd-header a.nd-plan>.nd-inquiry-label{display:block}}
@media(max-width:380px){.nd-header .nd-shell{padding-left:4%;padding-right:4%;gap:8px}.nd-header .nd-controls{gap:8px}.nd-header .nd-brand img{width:82px}.nd-header a.nd-plan.nd-inquiry-link{max-width:132px}}

.hub-destinations>article{min-width:0}.hub-destinations .text-link{white-space:normal}

/* client-portal.css */
/* Client Portal: inherit the current page's established theme. */
.nd-client-portal{--cp-ink:var(--nd-detail-ink,var(--ink,var(--navy,#10272f)));--cp-deep:var(--nd-detail-deep,var(--deep,var(--primary,var(--navy,#173d38))));--cp-paper:var(--paper,var(--ivory,var(--cream,#fffdf8)));--cp-soft:var(--nd-detail-paper,var(--sand,var(--cream,#edf0e7)));--cp-accent:var(--nd-detail-accent,var(--gold,var(--coral,#9b6c36)));display:block;position:relative;clear:both;width:auto;max-width:none;min-height:0;margin:0;padding:32px 5vw;border:0;background:var(--cp-paper);color:var(--cp-ink);text-align:left;font-family:inherit;box-sizing:border-box}
.nd-client-portal *{box-sizing:border-box}
.nd-client-portal .nd-cp-shell{max-width:1280px;margin:0 auto;padding:28px;background:var(--cp-soft);border-top:3px solid var(--cp-accent)}
.nd-client-portal .nd-cp-body{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.nd-client-portal .nd-cp-copy{flex:1 1 420px;min-width:0}
.nd-client-portal .nd-cp-kicker{display:block;color:var(--cp-ink);font-weight:600;font-family:inherit;font-size:11px;line-height:1.5;letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px}
.nd-client-portal h2{max-width:none;margin:0 0 12px;color:var(--cp-ink);font-family:var(--serif,Georgia,'Times New Roman',serif);font-size:clamp(25px,3vw,33px);font-weight:400;line-height:1.18;letter-spacing:-.02em;text-transform:none}
.nd-client-portal p{max-width:none;margin:0 0 12px;color:var(--cp-ink);font-family:inherit;font-size:15px;font-weight:400;line-height:1.65;letter-spacing:normal}
.nd-client-portal .nd-cp-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;flex:0 1 auto}
.nd-client-portal a.nd-cp-primary,.nd-client-portal a.nd-cp-secondary{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;max-width:100%;padding:13px 18px;border:1px solid var(--cp-deep);border-radius:0;background:var(--cp-deep);color:var(--cp-paper);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;white-space:normal}
.nd-client-portal a.nd-cp-secondary{background:transparent;color:var(--cp-ink);border-color:currentColor}
.nd-client-portal a.nd-cp-primary:hover,.nd-client-portal a.nd-cp-secondary:hover{opacity:.85}
.nd-client-portal a:focus-visible,.nd-client-portal summary:focus-visible{outline:3px solid var(--cp-accent);outline-offset:4px}
.nd-client-portal .nd-cp-caption{font-size:12px;line-height:1.6;margin:10px 0 0}
.nd-client-portal .nd-cp-note{display:block;margin:18px 0 0;padding:16px 0 0;border:0;border-top:1px solid color-mix(in srgb,var(--cp-ink) 22%,transparent);background:transparent;color:var(--cp-ink)}
.nd-client-portal .nd-cp-note p,.nd-client-portal .nd-cp-note details{font-size:13px;line-height:1.65}
.nd-client-portal .nd-cp-note p:last-child{margin-bottom:0}
.nd-client-portal .nd-cp-note details{display:block;background:transparent;color:var(--cp-ink);border:0;padding:0;margin:10px 0 0}
.nd-client-portal .nd-cp-note summary{display:list-item;cursor:pointer;min-height:34px;padding:6px 0;color:var(--cp-ink);font-family:inherit;font-size:13px;font-weight:600;line-height:1.6;letter-spacing:normal;border:0;text-transform:none}
.nd-client-portal .nd-cp-note summary::after{content:none}
.nd-client-portal .nd-cp-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.nd-client-portal.nd-cp-full{padding-top:64px;padding-bottom:64px}
.nd-client-portal.nd-cp-full .nd-cp-shell{padding:36px}
.nd-client-portal.nd-cp-full .nd-cp-body{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.nd-client-portal.nd-cp-full h2{font-size:clamp(32px,4vw,49px)}
.nd-client-portal.nd-cp-full .nd-cp-actions{margin-top:24px}
.nd-client-portal.nd-cp-full .nd-cp-note{margin:0;padding:0 0 0 28px;border:0;border-left:1px solid color-mix(in srgb,var(--cp-ink) 22%,transparent)}
.nd-client-portal .nd-cp-note h3{margin:0 0 14px;color:var(--cp-ink);font-family:var(--serif,Georgia,'Times New Roman',serif);font-size:25px;font-weight:400;line-height:1.3;letter-spacing:normal}
.nd-client-portal .nd-cp-note ul{margin:12px 0 16px;padding-left:20px;color:var(--cp-ink);font-size:14px;line-height:1.65;list-style:disc}
.nd-client-portal .nd-cp-note li{display:list-item;margin:5px 0;padding:0;color:inherit;font-size:inherit;line-height:inherit}
.nd-portal-footer{font-family:inherit;font-size:14px;line-height:1.6;margin:18px 0}.nd-portal-footer a{color:inherit;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.nd-client-portal{padding:24px 5vw}.nd-client-portal .nd-cp-shell{padding:22px}.nd-client-portal .nd-cp-copy{flex-basis:100%}.nd-client-portal .nd-cp-actions{width:100%}.nd-client-portal.nd-cp-full{padding-top:36px;padding-bottom:36px}.nd-client-portal.nd-cp-full .nd-cp-shell{padding:24px}.nd-client-portal.nd-cp-full .nd-cp-body{grid-template-columns:1fr;gap:28px}.nd-client-portal.nd-cp-full .nd-cp-note{padding:24px 0 0;border-left:0;border-top:1px solid color-mix(in srgb,var(--cp-ink) 22%,transparent)}}
@media(max-width:420px){.nd-client-portal a.nd-cp-primary,.nd-client-portal a.nd-cp-secondary{width:100%}}
@media print{.nd-client-portal,.nd-portal-footer{display:none}}

/* luxury-rail.css */
.journey-mosaic .journey-rail{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.25fr}
.home-journeys .journey-rail>img{grid-column:2;grid-row:1;aspect-ratio:16/10;height:100%;min-height:330px;object-position:58% center}
.home-journeys .journey-rail .journey-copy{grid-column:1;grid-row:1;justify-content:center;padding:clamp(28px,4vw,52px)}
.home-journeys .journey-rail .text-link{margin-top:12px}
.rail-hero{display:grid;grid-template-columns:1fr 1.2fr;background:var(--ink-deep);color:var(--paper);min-height:620px}
.rail-hero-copy{padding:150px 5vw 64px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.rail-hero h1{font-family:var(--serif);font-size:clamp(46px,5.3vw,82px);font-weight:400;line-height:1.05;letter-spacing:-.035em;max-width:680px;margin:0 0 28px;color:var(--paper)}
.rail-hero p{color:var(--paper);max-width:560px;font-size:20px;line-height:1.65}
.rail-hero .eyebrow{font-size:11px;letter-spacing:.16em}
.rail-hero-media{margin:0;min-width:0;position:relative}
.rail-hero-media img{width:100%;height:100%;min-height:620px;object-fit:cover;object-position:0% center}
.rail-hero-media figcaption{position:absolute;bottom:12px;right:16px;left:16px;color:white;text-align:right;font-size:11px;text-shadow:0 1px 4px #000;background:#071f2d99;padding:6px 10px;width:fit-content;margin-left:auto}
.rail-hero .rail-cta{color:var(--ink-deep);background:var(--paper);border-color:var(--paper)}
.rail-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:14px 21px;background:var(--ink-deep);border:1px solid var(--ink-deep);color:var(--paper);font:600 13px/1.5 var(--sans);text-decoration:none;letter-spacing:.02em}
.rail-cta:hover{opacity:.86}
.rail-cta:focus-visible,.rail-filter:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.rail-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.rail-intro h2,.rail-collection h2,.rail-planning h2,.rail-faq h2,.rail-contact h2{font-family:var(--serif);font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin:0 0 24px}
.rail-intro p{max-width:650px;font-size:18px;line-height:1.7}
.rail-intro .rail-note{font-size:14px;border-left:2px solid var(--gold);padding-left:20px}
.rail-collection{background:var(--cream)}
.rail-filterbar{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 12px}
.rail-filter{font:600 13px/1.5 var(--sans);padding:10px 16px;border:1px solid var(--stone);background:transparent;color:var(--ink);min-height:44px;cursor:pointer}
.rail-filter[aria-pressed=true]{background:var(--ink-deep);color:var(--paper);border-color:var(--ink-deep)}
.rail-count{font-size:13px;margin:0 0 32px}
.rail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.rail-journey{padding:32px 0;border-top:1px solid var(--stone);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.rail-journey[hidden]{display:none}
.rail-journey h3{font-family:var(--serif);font-size:clamp(25px,2.8vw,35px);line-height:1.2;font-weight:400;margin:0 0 16px;letter-spacing:-.015em;overflow-wrap:anywhere}
.rail-journey .rail-place{font-size:11px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--clay-dark);margin:0 0 12px;font-weight:600}
.rail-journey p{font-size:16px;line-height:1.7;margin:0 0 16px}
.rail-journey .rail-fit{font-family:var(--serif);font-size:19px;font-style:italic;line-height:1.5}
.rail-journey .rail-specific-note{font-size:13px;line-height:1.6}
.rail-journey .text-link{margin-top:auto;min-height:44px;display:inline-flex;align-items:center;font-size:12px;gap:12px}
.rail-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px}
.rail-process article{border-top:1px solid var(--stone);padding-top:24px}
.rail-process h3{font-family:var(--serif);font-size:26px;font-weight:400;margin:12px 0}
.rail-process p{font-size:16px;line-height:1.7}
.rail-process .rail-step{font-family:var(--serif);font-size:36px;color:var(--clay)}
.rail-faq{background:var(--cream)}
.rail-faq details{border-bottom:1px solid var(--stone);padding:18px 0}
.rail-faq summary{font-family:var(--serif);font-size:24px;line-height:1.4;cursor:pointer;min-height:44px}
.rail-faq details p{max-width:860px;font-size:17px;line-height:1.7;margin:18px 0 0}
.rail-contact{background:var(--ink-deep);color:var(--paper)}
.rail-contact p{color:inherit;max-width:650px;font-size:19px;line-height:1.7}
.rail-contact .rail-cta{background:var(--paper);color:var(--ink-deep);border-color:var(--paper)}
.rail-contact .rail-contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:24px}
.rail-contact .rail-contact-links>a:not(.rail-cta){min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.rail-contact .rail-form-note,.rail-sources-note{font-size:12px;line-height:1.65}
.rail-planning-link{padding:28px;border-left:3px solid var(--gold);background:var(--cream);margin-bottom:36px}
.rail-planning-link h2{font-family:var(--serif);font-size:31px;line-height:1.2;margin:0 0 16px;font-weight:400}
.rail-planning-link p{font-size:17px;line-height:1.7;max-width:760px}
@media(max-width:900px){.rail-hero{grid-template-columns:1fr;min-height:0}.rail-hero-copy{padding:140px 6vw 48px}.rail-hero-media img{min-height:0;height:auto;aspect-ratio:16/9}.rail-intro{grid-template-columns:1fr;gap:16px}.rail-process{gap:28px}.journey-mosaic .journey-rail{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.rail-grid,.rail-process{grid-template-columns:1fr}.rail-grid{gap:0}.rail-hero-copy{padding-top:135px}.rail-hero h1{font-size:48px}.rail-hero p{font-size:18px}.journey-mosaic .journey-rail{display:flex;flex-direction:column}.home-journeys .journey-rail>img{height:auto;min-height:0;aspect-ratio:16/10}.home-journeys .journey-rail .journey-copy{padding:26px}.rail-filter{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.rail-filterbar,.rail-contact-links{display:none}.rail-hero{display:block;min-height:0}.rail-hero-copy{padding:24px}.rail-hero-media{display:none}.rail-grid{display:block}.rail-journey{break-inside:avoid}}
.rail-search{display:grid;grid-template-columns:2fr 1fr;gap:20px;max-width:820px;margin:24px 0}.rail-search label{display:flex;flex-direction:column;gap:8px;font:600 13px/1.5 var(--sans)}.rail-search input,.rail-search select{width:100%;min-width:0;min-height:48px;padding:11px 14px;background:var(--paper);color:var(--ink-deep);border:1px solid var(--stone);border-radius:0;font:400 16px/1.5 var(--sans)}.rail-search input:focus-visible,.rail-search select:focus-visible,.rail-details summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.rail-journey{scroll-margin-top:110px}.rail-journey .rail-duration{font-size:13px;font-weight:600}.rail-details{width:100%;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);margin:0 0 20px;padding:12px 0}.rail-details summary{cursor:pointer;font-size:14px;min-height:44px;align-content:center}.rail-details dl{margin:14px 0 8px}.rail-details dt{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin:18px 0 6px}.rail-details dd{font-size:14px;line-height:1.7;margin:0;overflow-wrap:anywhere}.rail-empty{padding:24px;border:1px solid var(--stone)}.rail-empty[hidden]{display:none}@media(max-width:650px){.rail-search{grid-template-columns:1fr;gap:14px}}
/* Rail cards share the established destination palette in page-details.css. */
[data-rail-theme]{--rail-color:#173d38;--rail-tint:#edf0e7}
[data-rail-theme="australia"]{--rail-color:#653e2c;--rail-tint:#f2e9db}
[data-rail-theme="new-zealand"]{--rail-color:#245144;--rail-tint:#edf2e8}
[data-rail-theme="italy"]{--rail-color:#633b2c;--rail-tint:#f3e8dc}
[data-rail-theme="europe"]{--rail-color:#173544;--rail-tint:#e7edef}
[data-rail-theme="north-america"]{--rail-color:#14313c;--rail-tint:#e5eeeb}
[data-rail-theme="south-america"]{--rail-color:#17636b;--rail-tint:#e8f2ef}
[data-rail-theme="africa"]{--rail-color:#895028;--rail-tint:#f2e9db}
[data-rail-theme="asia"]{--rail-color:#4a2432;--rail-tint:#f5e7e6}
.rail-filter[data-rail-theme]{background:var(--rail-tint);color:var(--rail-color);border-color:var(--rail-color);border-top:5px solid var(--rail-color)}
.rail-filter[data-rail-theme][aria-pressed=true]{background:var(--rail-color);color:#fffdf8;border-color:var(--rail-color)}
.rail-grid{gap:28px}
.rail-journey{padding:0;border:1px solid var(--stone);background:var(--paper);box-shadow:0 7px 22px #04161d08;overflow:hidden;align-items:stretch}
.rail-card-banner{width:100%;box-sizing:border-box;background:var(--rail-color);color:#fffdf8;padding:18px 24px;min-height:58px;font:700 11px/1.6 var(--sans);letter-spacing:.11em;text-transform:uppercase;overflow-wrap:anywhere}
.rail-card-body{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}
.rail-journey .rail-card-body>.text-link{color:var(--rail-color);padding-top:12px}
.rail-process{gap:24px;align-items:stretch}
.rail-process article{border:0;padding:0;min-width:0;display:flex}
.rail-process-card{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:20px;width:100%;min-width:0;min-height:330px;padding:30px;text-align:left;background:var(--paper);color:var(--ink-deep);border:1px solid var(--stone);border-top:5px solid var(--clay);box-shadow:0 8px 26px #04161d0a;cursor:pointer;font-family:var(--sans);transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.rail-process-card .rail-step{font:400 36px/1 var(--serif);color:var(--clay)}
.rail-process-title{display:block;font:400 clamp(25px,2.6vw,31px)/1.2 var(--serif);letter-spacing:-.015em}
.rail-process-copy{display:block;font-size:16px;line-height:1.75}
.rail-process-card[aria-pressed=true],.rail-process-card:focus-visible{background:var(--ink-deep);color:var(--paper);border-color:var(--ink-deep);box-shadow:0 12px 28px #04161d24}
.rail-process-card[aria-pressed=true] .rail-step,.rail-process-card:focus-visible .rail-step{color:var(--gold)}
.rail-process-card:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
@media(hover:hover){.rail-process-card:hover{background:var(--ink-deep);color:var(--paper);border-color:var(--ink-deep);box-shadow:0 12px 28px #04161d24}.rail-process-card:hover .rail-step{color:var(--gold)}}
@media(max-width:650px){.rail-card-body{padding:24px}.rail-card-banner{padding:16px 24px}.rail-process-card{min-height:0;padding:26px;gap:18px}}
@media(prefers-reduced-motion:reduce){.rail-process-card{transition:none}}
@media print{.rail-process-card{background:#fff!important;color:#000!important;box-shadow:none;break-inside:avoid}.rail-process-card .rail-step{color:#000!important}.rail-card-banner{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* card-spacing.css */
/* Comfortable space inside bordered and highlighted reading cards. */
[data-nd-theme] :is(.steps>article,.process-steps>li,.process ol>li,.benefits>article,.trip-pieces>article,.pathway,.trip-list>li,.country-guide .service-card){padding-inline:clamp(24px,2.5vw,36px)}
[data-nd-theme] :is(.steps>article,.country-guide .service-card){padding-block:clamp(24px,3vw,32px)}
[data-nd-theme="italy"] .region-card:not(:has(img)){padding-inline:clamp(24px,2.5vw,36px)}
/* Inset the copy while retaining the full image area above it. */
[data-nd-theme] .journey-card .card-body{padding:clamp(24px,2.5vw,30px)}
[data-nd-theme] :is(.question-list>details,.faq>details,.worksheet-group){padding-inline:clamp(20px,3vw,28px)}
@media(max-width:800px){
 [data-nd-theme] .steps{grid-template-columns:1fr}
 [data-nd-theme] :is(.process-steps>li,.trip-list>li){grid-template-columns:32px minmax(0,1fr);gap:16px}
}
