/* Homepage system: alternating full-bleed white and ivory chapters. */
:root {
  --navy:#082b43;
  --intro-brown:#ba4716;
  --ink:#122e40;
  --orange:#ba4716;
  --accent:#f36b27;
  --muted:#53626a;
  --line:#d8d6ce;
  --ivory:#faf4e9;
  --serif:'Trip Editorial',Georgia,serif;
  --site-max-width:1200px;
  --site-gutter:clamp(22px,5vw,64px);
  --chapter-space:clamp(64px,7vw,96px);
}
body { background:#fff; }
.site-layout main>.page-band {
  display:block;
  width:100%; max-width:none;
  margin:0; padding:var(--chapter-space) var(--site-gutter);
  border:0; border-radius:0;
}
.section-inner { width:100%; max-width:var(--site-max-width); margin:0 auto; min-width:0; }
.site-layout main>.band-white { background:#fff; }
.site-layout main>.band-ivory { background:var(--ivory); }
.site-layout main>.band-navy { background:var(--navy); color:#fff; }
.page-band h2 { font-family:var(--serif); font-size:clamp(40px,4.3vw,60px); line-height:1.07; letter-spacing:-.025em; font-weight:400; }
.page-band h2 em { color:var(--orange); }
.page-band :is(.eyebrow,.editorial-kicker,.purpose-eyebrow) { font-size:12px; letter-spacing:.15em; line-height:1.7; font-weight:600; color:var(--orange); }
.page-band :is(.section-heading,.destination-heading,.experiences-heading) { text-align:left; margin:0 0 38px; }
.page-band :is(.destination-heading,.experiences-heading) h2 { margin:12px 0 0; }
.page-band .section-heading h2 { margin-top:12px; }
.section-intro { font-size:16px; line-height:1.7; color:var(--muted); margin:18px 0 0; }
/* A quieter masthead lets the journey lead the first screen. */
header .network-nav { background:var(--navy); color:#f8f5ee; border:0; font-size:12px; }
.network-links { gap:18px; }
.network-links .network-current,.network-links a:hover { color:#ffb17a; }
.network-divider { color:#96aab6; }
.site-layout header>.masthead { padding:6px 0; grid-template-columns:1fr 174px 1fr; gap:24px; }
header .logo img { width:166px; height:166px; }
header .brand-menu { font-size:13px; letter-spacing:.055em; }
header .topic-nav { border-color:#ece7de; font-size:12px; letter-spacing:.1em; }
.topic-links { min-width:min(100%,1200px); }
.topic-links a,.topic-links button { min-height:48px; }
/* Opening spread, with one clear primary action and a generous photograph. */
.site-layout main>.travel-intro { padding-block:28px 40px; }
.travel-intro>.section-inner { display:grid; grid-template-columns:minmax(28rem,.9fr) minmax(0,1.1fr); gap:36px; align-items:center; }
.intro-copy { padding:10px 0 0; container-type:inline-size; }
.intro-eyebrow { font-size:12px; letter-spacing:.14em; gap:14px; color:var(--navy); }
.intro-eyebrow>span { display:block; width:26px; height:2px; flex:none; background:var(--intro-brown); }
.travel-intro h1 { font-size:clamp(1.8rem,10.5cqw,3.25rem); line-height:1.1; letter-spacing:-.028em; margin:22px 0; }
.travel-intro h1>span { white-space:normal; }
.travel-intro h1 em { color:inherit; }
.travel-intro h1 .intro-accent { color:var(--intro-brown); }
.intro-description { font-size:16px; line-height:1.75; max-width:none; margin:0 0 24px; }
.intro-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.intro-button { font-size:14px; padding:15px 23px; min-height:50px; }
.intro-secondary { font-size:14px; font-weight:500; padding-block:9px; text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--intro-brown); }
.intro-secondary:hover { color:var(--orange); }
/* Monochrome social marks match the site's navy palette. */
.intro-socials { width:100%; margin-top:auto; padding-top:28px; }
.intro-socials-row { display:flex; align-items:center; flex-wrap:wrap; gap:16px 20px; }
.intro-social-icons { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(10px,4cqw,26px); }
.intro-social-icon { display:flex; align-items:center; justify-content:center; flex:none; width:34px; height:34px; color:var(--navy); }
.intro-social-icon:hover,.intro-social-icon:focus-visible { color:var(--intro-brown); }
.intro-social-icon svg { display:block; width:26px; height:26px; }
.intro-socials-note { display:flex; align-items:center; gap:9px; margin:0; padding-left:14px; border-left:1px solid var(--line); color:var(--muted); font-family:var(--serif); font-size:19px; font-style:italic; line-height:1.2; }
.intro-socials-note>svg { flex:none; width:32px; height:24px; }
@container (max-width:460px) {
 .intro-socials-note { padding-left:0; border-left:0; }
}
.featured-story { aspect-ratio:1.4; align-self:center; min-height:0; }
.feature-shade { background:linear-gradient(180deg,#061e3540,transparent 33%,#031d36c9); }
.feature-location { top:26px; left:28px; right:28px; font-size:12px; }
.feature-location span:first-child { padding:7px 10px; background:#fff; color:var(--navy); text-shadow:none; font-size:11px; }
.feature-location span:last-child { padding-top:7px; }
.feature-copy { left:32px; right:38px; bottom:32px; }
.feature-category { font-size:12px; margin-bottom:12px; }
.feature-title { font-size:clamp(32px,7cqw,45px); margin-bottom:16px; }
.feature-link { font-size:14px; padding-bottom:6px; }
.feature-vertical { display:none; }
/* Three stories, treated consistently as editorial cards. */
.journal .section-heading { align-items:end; gap:32px; }
.journal .section-heading>p { font-size:16px; max-width:230px; line-height:1.7; margin:0 0 4px; }
.stories { gap:30px; align-items:start; }
.story-image { height:auto; aspect-ratio:1.05; background:#eee7dc; }
.image-label { font-size:11px; letter-spacing:.08em; left:16px; top:16px; }
.story-number { font-size:38px; }
.story-copy { padding-top:24px; }
.story .meta { font-size:11px; letter-spacing:.055em; flex-wrap:wrap; line-height:1.6; }
.story h3 { font-size:32px; line-height:1.12; margin:12px 0 14px; letter-spacing:-.02em; }
.story p { font-size:16px; line-height:1.7; margin:0; min-height:0; }
/* Destination controls retain their useful internal rules; no section dividers. */
.destination-layout { grid-template-columns:240px minmax(0,1fr); gap:40px; }
.destination-sidebar { border-top:0; }
.destination-directory-label { font-size:12px; padding-top:0; padding-bottom:16px; }
.destination-number { font-size:12px; color:var(--orange); }
.destination-region summary { font-size:14px; min-height:48px; gap:12px; }
.destination-country-list button { font-size:14px; min-height:36px; }
.destination-country-list .destination-view-region { font-size:12px; }
.destination-select-wrap select { font-size:13px; height:50px; letter-spacing:.04em; }
.destination-search { height:50px; }
.destination-search input::placeholder { font-size:13px; letter-spacing:.03em; font-weight:400; }
.destination-toolbar { gap:16px; }
.destination-map { margin-top:24px; }
.destination-pin { width:108px; }
.destination-pin-label { font-size:11px; letter-spacing:.04em; }
.destination-results { background:var(--ivory); }
.destination-results .eyebrow,.destination-result-story small { font-size:12px; }
.destination-result-countries button { font-size:14px; }
/* Tall images keep this chapter immersive without introducing another panel. */
.experiences-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; max-width:none; }
.experiences-heading>.section-intro { flex:0 1 auto; max-width:280px; margin:0 0 4px; }
.experience-track { gap:24px; }
.experience-slide { flex-basis:calc((100% - 48px)/3); }
.experience-card { aspect-ratio:3/3.8; }
.experience-card-shade { inset:35% 0 0; background:linear-gradient(transparent,#062035a3); }
.experience-card-label { bottom:25px; left:22px; right:22px; padding:0; min-height:0; background:none; color:#fff; font-family:var(--serif); font-size:31px; font-weight:400; line-height:1.1; letter-spacing:-.02em; text-transform:none; }
.experience-card:hover .experience-card-label { color:#ffca9f; }
.experience-control { width:42px; height:52px; background:#fff; }
/* All planning chapters share one grid, spacing system, and caption treatment. */
.editorial-feature>.section-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; }
.editorial-feature :is(.reading-copy,.companies-copy,.resources-copy) { padding:0; margin:0; background:transparent; min-width:0; }
.editorial-feature h2,.companies-copy h2,.resources-copy h2 { font-size:clamp(40px,4.3vw,60px); margin:18px 0 23px; color:var(--navy); }
.editorial-feature h2 em,.companies-copy h2 em { color:var(--orange); }
.editorial-feature .editorial-intro { font-size:17px; line-height:1.75; max-width:430px; margin:0 0 28px; color:var(--muted); }
.editorial-feature .editorial-kicker { display:block; }
.editorial-button { min-height:50px; padding:15px 24px; font-size:14px; background:var(--navy); color:#fff; }
.editorial-text-link { font-size:14px; }
.reading-visual { position:relative; padding:0 0 28px 20px; margin:0; }
.reading-photo { aspect-ratio:1.16; background:var(--ivory); }
.reading-photo::after { display:block; content:""; position:absolute; inset:12px; border:1px solid #ffffffa6; pointer-events:none; }
.reading-note { position:absolute; left:-20px; bottom:0; width:258px; padding:24px 28px; background:var(--navy); box-shadow:0 12px 28px #082d4914; color:#fff; }
.reading-note>span { color:#c7d7e1; font-size:12px; letter-spacing:.1em; }
.reading-note p { display:block; font-size:27px; margin:12px 0 0; line-height:1.25; }
.reading-note p br { display:initial; }
.reading-note em { color:#ffb987; }
.companies-visual { margin:10px 12px; padding:14px 14px 0; transform:rotate(-2.5deg); background:#fff; box-shadow:0 16px 32px #082b4320,0 3px 6px #082b4312; display:block; align-self:auto; }
.companies-visual img { display:block; height:auto; min-height:0; aspect-ratio:1.18; object-fit:cover; }
.companies-visual figcaption { color:var(--navy); text-align:center; padding:24px 10px 28px; font-size:12px; letter-spacing:.08em; line-height:1.7; font-weight:500; }
.company-categories { border:0; padding:0; margin:0 0 28px; gap:12px; font-size:12px; letter-spacing:.02em; color:var(--muted); }
.company-categories span { padding:7px 10px; background:#fff; }
.companies-copy .editorial-button { background:var(--navy); border-color:var(--navy); }
.companies-copy .editorial-button:hover { background:var(--orange); border-color:var(--orange); }
/* The original resource text and links, paired with the new scrapbook image. */
.resources-feature.editorial-feature>.section-inner { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:32px; align-items:center; }
.resources-copy { grid-column:1; grid-row:1; }
/* Reset the site's global header-nav styles before laying out these rows. */
.resource-link-list { display:block; width:100%; margin:0; padding:0; border:0; font:inherit; }
.resource-link-list a { display:grid; width:100%; min-width:0; grid-template-columns:20px 52px minmax(0,1fr) 24px; align-items:center; padding:16px 0; gap:16px; }
.resource-link-list a::after { content:none; }
.resource-link-number { font-size:13px; }
.resource-link-list strong { font-size:27px; }
.resource-link-list small { font-size:14px; }
.resource-link-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--ivory); color:var(--intro-brown); }
.resource-link-icon svg { display:block; width:26px; height:26px; }
.resource-link-copy { min-width:0; padding-left:18px; border-left:1px solid #c7c3b9; }
.resource-link-arrow { color:var(--intro-brown); }
.resource-link-arrow svg { display:block; width:24px; height:24px; }
@media(max-width:1100px) and (min-width:961px), (max-width:540px) {
 .resources-feature .resource-link-list a { grid-template-columns:20px 40px minmax(0,1fr) 20px; gap:10px; }
 .resource-link-icon { width:40px; height:40px; }
 .resource-link-icon svg { width:24px; height:24px; }
 .resource-link-copy { padding-left:12px; }
 .resource-link-arrow svg { width:20px; height:20px; }
}
.resources-feature .resource-link-list a:focus-visible { outline:2px solid var(--intro-brown); outline-offset:6px; }
.resource-scrapbook { position:relative; container-type:inline-size; grid-column:2; grid-row:1; width:100%; max-width:510px; min-width:0; margin:0; justify-self:center; }
.resource-scrapbook>img { display:block; width:100%; height:auto; }
.resource-scrapbook>figcaption { position:absolute; z-index:1; left:7.25%; top:73.35%; width:40%; padding:3.5cqw; transform:rotate(-5.8deg); transform-origin:top left; background:#fff; box-shadow:0 1.6cqw 3cqw #082b4326; color:var(--navy); font-size:clamp(7px,2.35cqw,12px); font-weight:600; letter-spacing:.1em; line-height:1.65; }
.resource-scrapbook>figcaption em { display:block; margin-top:.6cqw; font-family:var(--serif); font-size:clamp(16px,5.5cqw,28px); font-weight:400; line-height:1.25; letter-spacing:-.02em; white-space:nowrap; color:var(--intro-brown); }
.resource-scrapbook>figcaption::after { content:""; display:block; width:9cqw; height:1px; margin-top:2.7cqw; background:var(--intro-brown); }
@media(max-width:1100px) and (min-width:961px) {
 .resources-feature.editorial-feature>.section-inner { gap:24px; }
}
@media(max-width:960px) {
 .resources-feature.editorial-feature>.section-inner { grid-template-columns:1fr; gap:32px; }
 .resources-feature .resources-copy { grid-column:1; grid-row:auto; width:100%; max-width:680px; justify-self:center; }
 .resource-scrapbook { grid-column:1; grid-row:auto; }
}
/* One complete closing invitation, after visitors have explored the site. */
.purpose-banner>.section-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.purpose-banner .purpose-eyebrow { color:#ffb987; margin:0 0 22px; }
.purpose-banner .purpose-heading h2 { font-size:clamp(42px,4.2vw,58px); margin:0; line-height:1.15; padding:0; }
.purpose-banner .purpose-heading h2 em { color:#ffb987; }
.purpose-banner .purpose-heading,.purpose-banner .purpose-copy { display:flex; flex-direction:column; align-self:stretch; }
.purpose-banner .purpose-heading h2 { margin-top:auto; }
.purpose-copy .purpose-lead { color:#fff; font-size:38px; line-height:1.2; margin:0 0 16px; }
.purpose-copy .purpose-description { color:#d7e2e8; transform:none; font-size:17px; margin:0 0 23px; }
.purpose-copy .editorial-button { background:#fff; border-color:#fff; color:var(--navy); }
.purpose-copy .editorial-button:hover { background:#ffb987; border-color:#ffb987; }
.purpose-copy .newsletter-status { margin:auto 0 12px; color:#c1d0d9; font-size:13px; line-height:1.6; }
.purpose-copy .newsletter-form { margin:0; }
/* Use the alphabetic baseline, allowing italic descenders to hang below it. */
@supports(text-box-trim:trim-end) {
 .purpose-banner .purpose-heading h2 { text-box-trim:trim-end; text-box-edge:cap alphabetic; }
}
@supports not (text-box-trim:trim-end) {
 /* Cormorant baseline inset at line-height 1.15: .287 - (1.211 - 1.15)/2. */
 .purpose-banner .purpose-copy { padding-bottom:calc(clamp(42px,4.2vw,58px) * .2565); }
}
.newsletter-field { gap:0; }
.newsletter-field input { background:#fff; border-color:#fff; color:var(--navy); font-size:14px; }
.newsletter-field input::placeholder { color:var(--muted); }
.newsletter-field button { background:var(--intro-brown); border-color:var(--intro-brown); color:#fff; font-size:13px; }
.site-layout footer { padding-block:40px 24px; }
.footer-links a { transition:color .2s ease; }
.footer-links a:hover,.footer-links a:focus-visible { color:var(--intro-brown); }
.footer-bottom { border-color:#ece7de; }
@media(max-width:1100px) {
 .travel-intro>.section-inner { gap:28px; }
 .intro-actions { gap:14px; }
 .destination-layout { grid-template-columns:215px minmax(0,1fr); gap:24px; }
 .destination-pin { width:90px; }
 .destination-pin-label { font-size:10px; }
 .editorial-feature>.section-inner,.purpose-banner>.section-inner { gap:48px; }
 .story h3 { font-size:29px; }
}
@media(max-width:900px) {
 .site-layout header>.masthead { grid-template-columns:1fr 150px 1fr; gap:16px; }
 header .logo img { width:146px; height:146px; }
 header .brand-menu { flex-direction:column; gap:6px; }
 .travel-intro>.section-inner { grid-template-columns:1fr; gap:28px; }
 .feature-copy { left:24px; bottom:26px; }
 .feature-category { font-size:10px; }
 .intro-description { font-size:16px; }
 .destination-layout { grid-template-columns:1fr; gap:30px; }
 .destination-sidebar { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .destination-region summary { font-size:14px; }
 .destination-map { aspect-ratio:1.55; }
 .destination-pin { width:100px; }
 .destination-pin-label { font-size:11px; }
 .experience-slide { flex-basis:calc((100% - 24px)/2); }
 .editorial-feature>.section-inner { gap:34px; }
 .editorial-feature h2 { font-size:44px; }
}
@media(max-width:700px) {
 :root { --chapter-space:58px; --site-gutter:24px; }
 .site-layout header>.masthead { width:calc(100% - 32px); grid-template-columns:1fr 128px 1fr; gap:8px; padding-block:8px; }
 header .logo img { width:126px; height:126px; }
 header .brand-menu { font-size:12px; letter-spacing:0; gap:5px; }
 header .brand-menu a,header .brand-menu button { padding-block:4px; }
 .site-layout main>.travel-intro { padding-block:28px 36px; }
 .travel-intro>.section-inner { grid-template-columns:1fr; gap:30px; }
 .intro-copy { padding:0; }
 .intro-eyebrow { font-size:12px; }
 .intro-description { max-width:none; margin-bottom:24px; }
 .featured-story { min-height:0; aspect-ratio:1.35; }
 .feature-title { font-size:clamp(30px,8vw,42px); }
 .feature-location { left:22px; right:22px; top:22px; }
 .feature-category { font-size:11px; }
 .page-band h2 { font-size:44px; }
 .page-band :is(.section-heading,.destination-heading,.experiences-heading) { margin-bottom:30px; }
 .journal .section-heading { display:block; }
 .experiences-heading { display:block; }
 .experiences-heading>.section-intro { margin-top:20px; }
 .journal .section-heading>p { max-width:none; margin-top:20px; }
 .journal .section-heading>p br { display:none; }
 .stories { grid-template-columns:1fr; gap:38px; }
 .story-image { aspect-ratio:1.25; }
 .story-copy { padding-top:20px; }
 .story h3 { font-size:34px; }
 .story .meta { font-size:12px; }
 .destination-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .destination-map { margin-top:20px; }
 .destination-pin { width:85px; }
 .experience-track { gap:16px; }
 .experience-slide { flex-basis:86%; }
 .experience-card-label { font-size:32px; }
 .editorial-feature>.section-inner,.purpose-banner>.section-inner { grid-template-columns:1fr; gap:32px; }
 .editorial-feature :is(.reading-copy,.companies-copy,.resources-copy) { grid-column:auto; grid-row:auto; order:0; }
 .editorial-feature :is(.reading-visual,.companies-visual,.resources-visual) { grid-column:auto; grid-row:auto; order:1; }
 .editorial-feature h2 { font-size:44px; }
 .reading-photo { aspect-ratio:1.16; }
 .companies-visual img { aspect-ratio:1.2; }
 .companies-visual { margin:8px 10px; padding:10px 10px 0; transform:rotate(-2deg); }
 .companies-visual figcaption { padding:20px 6px 24px; }
 .reading-note { left:0; max-width:calc(100% - 20px); }
 .purpose-banner .purpose-heading,.purpose-banner .purpose-copy { display:block; padding-bottom:0; }
 .purpose-banner .purpose-heading h2 { font-size:44px; margin-top:0; text-box-trim:none; }
 .purpose-copy .purpose-lead { font-size:36px; }
 .newsletter-field { flex-direction:row; }
 .footer-links { flex-wrap:wrap; gap:16px 26px; }
}
@media(max-width:540px) {
 .destination-map { gap:20px 14px; aspect-ratio:auto; padding:12px 0 0; }
 .destination-map-land { display:none; }
 .destination-pin { width:100%; }
 .destination-pin-label { font-size:11px; line-height:1.4; letter-spacing:.02em; min-height:32px; }
 .destination-toolbar { grid-template-columns:1fr; }
}
@media(max-width:360px) {
 :root { --site-gutter:18px; }
 .site-layout header>.masthead { grid-template-columns:1fr 100px 1fr; }
 header .logo img { width:100px; height:100px; }
 .page-band h2,.editorial-feature h2 { font-size:39px; }
 .intro-actions { gap:10px; }
 .destination-region summary { font-size:13px; gap:6px; }
 .newsletter-field { flex-direction:column; }
}


/* Match the existing breakpoint where masthead navigation stacks vertically. */
.topic-links .mobile-search-trigger { display:none; }
@media(max-width:960px) {
 header .brand-menu .search-trigger { display:none; }
 .topic-links .mobile-search-trigger { display:inline-flex; }
}

@media(max-width:400px) {
 .reading-note { width:238px; padding:22px 24px; }
 .reading-note p { font-size:25px; }
}
