/* Approved October 2026 direction: white, navy, cool gray and pale blue.
   Footer rules in this file change colors only; its layout and content are retained. */
:root {
  --navy: #142d48; --navy-2: #203f5c; --paper: #fff;
  --ivory: #fff; --cream: #f4f6f8; --champagne: #eaf3fa;
  --gold: #365f83; --slate: #33485b; --muted: #536b7f;
  --ink: #142d48; --sage: #365f83; --rust: #365f83; --navy2: #203f5c;
  --line: #d7e2eb; --border: #ccdce8;
  --type-h1: clamp(2.6rem, 2rem + 2.6vw, 4.6rem);
  --type-h2: clamp(2rem, 1.5rem + 1.8vw, 3.5rem);
  --type-h3: clamp(1.25rem, 1.1rem + .5vw, 1.6rem);
}
html { scroll-padding-top: 96px; }
html body { background-color: #fff; color: #33485b; }
html body main p:not(#_), html body main li:not(#_) { line-height: 1.65; }
html body main :is(h1,h2,h3) { overflow-wrap: break-word; }
html body main :is(.section-kicker,.small-label,.kicker) { color: #365f83; }
html body main > section:not(.hero)::before { content: none; }
html body :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid #365f83; outline-offset: 4px; }
html body .button, html body .btn { background: #142d48; border-color: #142d48; color: #fff; box-shadow: none; clip-path: none; text-transform: none; letter-spacing: .02em; }
html body .button:hover, html body .btn:hover { background: #264b6e; border-color: #264b6e; color: #fff; }
html body .site-content { background: #fff; }
/* A bright masthead, using the existing approved logo asset. */
html body .site-header, html body .gtc-unified-header.is-scrolled { background: #fff !important; color: #142d48 !important; border-color: #d7e2eb !important; box-shadow: none !important; }
html body .site-header :is(.logo,.brand) img, html body .gtc-topbar-logo img { filter: brightness(0) saturate(100%) invert(14%) sepia(25%) saturate(1300%) hue-rotate(171deg) brightness(92%) contrast(95%); }
html body .site-header .nav a, html body .nav-toggle { color: #142d48; border-color: #d7e2eb; }
html body .site-header .nav a:last-child { background: #142d48; color: #fff; border-color: #142d48; }
html body .site-header.nav-open .nav { background: #fff; border-color: #d7e2eb; box-shadow: 0 12px 24px rgba(20,45,72,.08); }
html body .site-header.nav-open .nav a { border-color: #d7e2eb; }
html body .nav-toggle span { background: #142d48; }
@media (min-width:1024px) {
  html body.gtc-has-topbar { padding-top: 80px !important; }
  html body .gtc-topbar { height: 80px; grid-template-columns: auto 1fr auto; gap: clamp(24px,4vw,64px); padding-inline: clamp(32px,5vw,80px); background: #fff !important; color: #142d48; border-bottom: 1px solid #d7e2eb; box-shadow: none !important; }
  html body .gtc-topbar::before { content: none; }
  html body .gtc-topbar-logo { order: -1; width: 185px; }
  html body .gtc-topbar-group:not(.is-right) { justify-content: flex-end; }
  html body .gtc-topbar a.gtc-topbar-link { color: #142d48; text-shadow: none; text-transform: none; letter-spacing: .02em; }
  html body .gtc-topbar a.gtc-topbar-link::after { background: #365f83; }
  html body .gtc-topbar a.gtc-topbar-planning { background: #142d48; border-color: #142d48; color: #fff; text-shadow: none; text-transform: none; letter-spacing: .02em; padding: 13px 22px; }
  html body .gtc-topbar a.gtc-topbar-planning:hover { background: #264b6e; color: #fff; }
}
/* Homepage editorial composition. Video assets and controls remain unchanged. */
html body.home-page .hero { min-height: min(790px, calc(100svh - 80px)); text-align: left; padding: 96px clamp(24px,6vw,96px) 132px; }
html body.home-page .hero-content { width: min(1280px,100%); }
html body.home-page .hero h1:not(#_) { max-width: 680px; font-size: clamp(3.2rem, 2rem + 4.2vw, 6.2rem); line-height: 1.02; margin-bottom: 24px; }
html body.home-page .hero p { max-width: 510px; width: 100%; margin: 0 0 28px; font-size: 1.125rem; line-height: 1.65; }
html body.home-page .hero .eyebrow { color: #fff; margin-bottom: 20px; }
html body.home-page .hero .hero-mobile-cta { display: inline-flex; background: #fff; border-color: #fff; color: #142d48; }
html body.home-page .hero-overlay { background: linear-gradient(90deg,rgba(7,28,43,.68),rgba(7,28,43,.38) 42%,rgba(7,28,43,.05) 78%),linear-gradient(0deg,rgba(7,28,43,.4),transparent 25%); }
html body.home-page main > section:not(.hero) { padding: clamp(64px,7vw,112px) clamp(24px,6vw,96px); }
html body.home-page .luxury-access { text-align: left; background: #fff; }
html body.home-page .luxury-access-inner { width: min(1280px,100%); margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px,6vw,96px); align-items: center; }
html body.home-page .luxury-access h2 { margin: 0; }
html body.home-page .intro-copy { border-left: 1px solid #ccdce8; padding-left: clamp(24px,4vw,64px); }
html body.home-page .intro-copy p { margin: 0 0 24px; }
.editorial-link { display: inline-flex; gap: 16px; align-items: center; padding-block: 8px; color: #142d48; text-decoration: underline; text-underline-offset: 7px; text-decoration-color: #7b9db8; }
html body.home-page .travel-ways { background: #f1f7fb; }
html body.home-page .section-heading { width: min(1280px,100%); display: flex; justify-content: space-between; align-items: end; gap: 24px; text-align: left; margin: 0 auto 40px; }
html body.home-page .section-heading h2 { margin-bottom: 0; }
html body.home-page .section-heading .section-copy { width: auto; max-width: 310px; margin: 0; }
html body.home-page .ways-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: min(1280px,100%); gap: 24px; overflow: visible; padding: 0; margin: 0 auto; }
html body.home-page .way-card { background: transparent; border: 0; box-shadow: none; }
html body.home-page .way-card-image { height: auto; aspect-ratio: 3/4; }
html body.home-page .way-card-image picture { display: block; height: 100%; }
html body.home-page .way-card-copy { padding: 22px 0 0; }
html body.home-page .way-card h3 { white-space: normal; margin-bottom: 14px; }
html body.home-page .way-card .small-label { font-size: .7rem; letter-spacing: .1em; }
html body.home-page .way-card p { font-size: .9375rem; }
html body.home-page .swipe-hint { display: none; }
html body.home-page main > section.specialties { padding: 0; display: grid; grid-template-columns: 1fr 1fr; background: #fff; color: #142d48; min-height: 0; }
.editorial-destination-photo { margin: 0; height: 100%; min-height: 560px; }
.editorial-destination-photo img { width: 100%; height: 100%; object-fit: cover; }
html body.home-page .specialties-content { width: auto; max-width: 660px; margin: 0; align-self: center; padding: clamp(48px,6vw,96px); text-shadow: none; }
html body.home-page .specialties .section-kicker { color: #365f83; }
html body.home-page .specialties .section-copy p { color: #33485b; }
html body.home-page .specialties .editorial-link { display: flex; width: fit-content; }
html body.home-page .journey-steps { background: #eaf3fa; text-align: center; }
.journey-steps-inner { width: min(1180px,100%); margin: auto; }
.journey-steps h2 { color: #142d48; margin-bottom: 44px; }
.journey-steps ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.journey-steps li { padding-inline: 16px; }
.journey-steps li + li { border-left: 1px solid #b8cedf; }
.step-number { display: block; font-family: var(--head); font-size: 1.6rem; color: #365f83; margin-bottom: 14px; }
.journey-steps h3 { color: #142d48; margin-bottom: 12px; }
html body.home-page .welcoming-fit { background: #fff; }
.welcoming-fit-inner { width: min(1180px,100%); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,7vw,100px); align-items: center; margin: auto; }
.welcoming-fit h2 { color: #142d48; }
.welcoming-fit-copy { border-left: 1px solid #ccdce8; padding-left: clamp(24px,4vw,64px); }
.welcoming-fit-copy p { margin-bottom: 20px; }
html body.home-page main > section.partner-strip { padding-top: 0; background: #fff; }
html body.home-page .partner-frame { border-color: #d7e2eb; }
html body .cta { background: #eaf3fa !important; color: #142d48; text-align: center; }
html body .cta :is(h2,h2 em,p,.section-kicker) { color: #142d48 !important; text-shadow: none !important; }
html body .cta h2 { margin-bottom: 24px; }
html body .cta p { margin-bottom: 28px; }
/* Inner pages share the same light, readable editorial rhythm. */
html body .page-hero { min-height: 520px; padding-block: 96px; }
html body .page-hero .eyebrow { color: #fff; }
html body .page-hero::after { background: none; }
html body .page-section { background: #fff; padding-block: clamp(64px,7vw,112px); }
html body .about-grid { gap: clamp(40px,6vw,96px); align-items: start; }
html body .about-photo { box-shadow: none; }
html body .about-copy p + p { margin-top: 24px; }
html body .faq-accordion-trigger { padding-block: 24px !important; }
html body .faq-accordion-trigger:hover { color: #365f83; }
html body .faq-accordion-panel { max-width: 800px; }
html body .destination-intro { text-align: left; }
html body .destination-intro-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 64px; align-items: start; }
html body .destination-intro-inner > .section-kicker { grid-column: 1/-1; }
html body .destination-intro-inner h2 { grid-row: 2/4; }
html body .destination-intro-inner p { margin: 0; }
html body .destination-intro-inner .destination-callout { margin-top: 0 !important; }
html body .destinations-hero { min-height: 620px; }
html body .destination-region-light { background: #f1f7fb; }
html body .destination-feature-card { min-height: 390px; }
html body .destination-feature-copy span { white-space: normal; }
html body .destination-style-pills span { background: #eaf3fa; border-color: #ccdce8; text-transform: none; }
html body .form-card { background: #fff; border-color: #ccdce8; clip-path: none; box-shadow: none; }
html body :is(.check-option,.conditional-panel,.quiz-card,.question-card) { background-color: #f4f8fb; border-color: #ccdce8; }
/* The cruise quiz's enlarged decorative backdrop must not create page overflow. */
html body .popup-shell { overflow: clip; }
/* Footer: colors only. Do not change dimensions, typography, layout or content. */
html body :is(.site-footer,.gtc-unified-footer) { background-color: #142d48 !important; color: #fff !important; border-color: #142d48 !important; box-shadow: 0 24px 0 #142d48 !important; }
html body :is(.site-footer,.gtc-unified-footer) :is(.footer-column-title,.footer-contact > strong,.footer-associations-title,.newsletter-title,.footer-gold-diamond,.footer-legal-separator) { color: #c9e2f5 !important; }
html body :is(.site-footer,.gtc-unified-footer) :is(.footer-seller-column p,.newsletter-signup p,.footer-bottom) { color: #dce7f0 !important; }
html body :is(.site-footer,.gtc-unified-footer) :is(.association-pill,.footer-associations,.footer-bottom,.newsletter-form input) { border-color: #63829d !important; }
html body :is(.site-footer,.gtc-unified-footer) .newsletter-form button { background-color: #eaf3fa !important; color: #142d48 !important; border-color: #eaf3fa !important; }
html body :is(.privacy-policy-modal-panel,.planning-modal-panel) { background: #fff; }
@media (max-width:1023px) {
  html body.home-page .hero { min-height: 650px; }
  html body.home-page .ways-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 24px; }
  html body.home-page .luxury-access-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
  html body .gtc-unified-header .nav-toggle { color: #142d48 !important; }
}
@media (max-width:767px) {
  html body.home-page .hero { min-height: 620px; padding-top: 72px; }
  html body.home-page .hero h1:not(#_) { max-width: 500px; }
  html body.home-page .luxury-access-inner, .welcoming-fit-inner { grid-template-columns: 1fr; gap: 28px; }
  html body.home-page .intro-copy,.welcoming-fit-copy { border: 0; padding: 0; }
  html body.home-page .section-heading { display: block; }
  html body.home-page .section-heading .section-copy { margin-top: 16px; max-width: none; }
  html body.home-page main > section.specialties { grid-template-columns: 1fr; }
  .editorial-destination-photo { height: 380px; min-height: 0; }
  html body.home-page .specialties-content { padding: 56px 24px; max-width: none; }
  .journey-steps ol { grid-template-columns: 1fr; gap: 28px; }
  .journey-steps li { padding: 0; }
  .journey-steps li + li { border: 0; border-top: 1px solid #b8cedf; padding-top: 28px; }
  html body .destination-intro-inner { display: block; }
  html body .destination-intro-inner h2 { margin-bottom: 24px; }
  html body .destination-intro-inner .destination-callout { margin-top: 24px !important; }
  html body .page-hero { min-height: 440px; padding: 72px 24px; }
  html body .destinations-hero { min-height: 560px; }
}
@media (max-width:430px) {
  html body.home-page .ways-grid { grid-template-columns: 1fr; gap: 36px; }
  html body.home-page .way-card-image { aspect-ratio: 4/3; }
  html body.home-page .hero h1:not(#_) { font-size: 3.1rem; }
  html body.home-page .hero p { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-item,.destination-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
