@font-face  {
  
  font-family: 'DM Serif Display';
  
  font-style: normal;
  
  font-weight: 400;
  
  font-display: swap;
  
  src: url(../fonts/dm-serif-display-0.woff2) format('woff2');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 400;
  
  font-display: swap;
  
  src: url(../fonts/manrope-0.woff2) format('woff2');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 500;
  
  font-display: swap;
  
  src: url(../fonts/manrope-1.woff2) format('woff2');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 600;
  
  font-display: swap;
  
  src: url(../fonts/manrope-2.woff2) format('woff2');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 700;
  
  font-display: swap;
  
  src: url(../fonts/manrope-3.woff2) format('woff2');
  

}

/* 1. Design tokens */
:root {
  --color-ink:#14232b;
  --color-text:#293238;
  --color-muted:#68757b;
  --color-accent:#c96745;
  --color-accent-hover:#a94c2e;
  --color-sage:#80947a;
  --color-sage-hover:#6b7c63;
  --color-paper:#f7f4ed;
  --color-sand:#e8dfd1;
  --color-white:#fff;
  --color-border:#e4e2dd;
  --color-link:#984126;
  --color-muted-readable:#606d73;
  --font-display:"DM Serif Display",Georgia,serif;
  --font-body:"Manrope",Arial,sans-serif;
  --container-main:1200px;
  --container-reading:740px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px
}

/* 2. Reset and base styles */
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--color-paper);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.7
}
img {
  display:block;
  max-width:100%;
  object-fit:cover
}
a {
  color:inherit
}
button {
  font:inherit
}
figure,p {
  margin:0
}
p+p {
  margin-top:1rem
}
::selection {
  background:var(--color-sand)
}

/* 3. Typography */
h1,h2,h3 {
  font-family:var(--font-display);
  font-weight:400;
  color:var(--color-ink);
  text-wrap:pretty
}
h1 {
  font-size:clamp(40px,4.6vw,66px);
  line-height:1.09;
  letter-spacing:-1.5px;
  margin:20px 0 24px
}
h2 {
  font-size:clamp(32px,3vw,42px);
  line-height:1.18;
  letter-spacing:-.7px;
  margin:0 0 14px
}
h3 {
  font-size:25px;
  line-height:1.27;
  margin:0 0 12px
}
.eyebrow {
  font-size:12px;
  line-height:1.5;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.9px;
  color:var(--color-link);
  margin-bottom:12px
}

/* 4. Layout utilities */
.container {
  width:100%;
  max-width:1248px;
  padding-inline:24px
}
.section {
  padding-block:88px
}
.section-white {
  background:var(--color-white)
}
.section-heading {
  margin-bottom:36px;
  max-width:760px
}
.section-heading>p:last-child {
  color:var(--color-muted-readable);
  font-size:16px
}
.section-link {
  margin-top:36px
}
.row {
  --bs-gutter-x:28px
}

/* 5. Header/navigation */
.site-header {
  background:var(--color-white);
  border-bottom:1px solid var(--color-border)
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:88px
}
.wordmark {
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  min-height:44px;
  width:180px;
  text-decoration:none
}
.wordmark img {
  display:block;
  width:100%;
  height:auto;
}
.site-nav ul {
  display:flex;
  list-style:none;
  gap:24px;
  padding:0;
  margin:0;
  align-items:center
}
.site-nav a,.nav-control {
  font-size:13px;
  font-weight:600;
  text-decoration:none
}
.nav-control {
  background:none;
  border:0;
  padding:12px 0;
  color:var(--color-text)
}
.site-nav a:hover,.nav-control:hover {
  color:var(--color-link)
}
.site-nav .dropdown-menu {
  display:none;
  padding:12px;
  border:1px solid var(--color-border);
  border-radius:8px;
  box-shadow:0 8px 30px #14232b12
}
.site-nav .dropdown-menu.show {
  display:block
}
.site-nav .dropdown-item {
  padding:9px 16px
}
.header-cta {
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid var(--color-ink);
  padding-block:10px
}
.header-cta span {
  margin-left:12px
}
.menu-toggle {
  display:none;
  min-height:44px;
  background:none;
  border:1px solid var(--color-border);
  padding:5px 12px;
  border-radius:4px;
  font-size:14px
}
.menu-toggle span {
  margin-left:12px
}
.offcanvas {
  --bs-offcanvas-width:360px;
  background:var(--color-paper)
}
.offcanvas-header {
  padding:24px
}
.offcanvas-header h2 {
  font-size:27px;
  margin:0
}
.btn-close {
  min-width:24px;
  min-height:24px;
  padding:10px!important
}
.offcanvas-body {
  padding:0 24px 24px
}
.mobile-nav-link,.mobile-destinations {
  display:block;
  padding:15px 0;
  border:0;
  border-bottom:1px solid var(--color-border);
  text-decoration:none;
  font-size:17px;
  width:100%;
  text-align:left;
  background:none
}
.mobile-destinations {
  display:flex;
  justify-content:space-between
}
.mobile-countries {
  padding:10px 0 10px 16px;
  list-style:none
}
.mobile-countries a {
  display:block;
  padding:9px 0;
  text-decoration:underline;
  text-underline-offset:4px
}

/* 6. Buttons and links */
.button-primary {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:15px 21px;
  background:var(--color-accent-hover);
  color:white;
  border-radius:4px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  min-height:48px
}
.button-primary:hover {
  background:#843c24;
  color:white
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-weight:700;
  font-size:13px;
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-thickness:1px;
  min-height:44px;
  color:var(--color-link)
}
.text-link:hover {
  color:var(--color-ink)
}

/* 7. Destination cards */
.destination-card img {
  width:100%;
  aspect-ratio:4/3;
  height:auto;
  border-radius:var(--radius-sm);
  margin-bottom:22px
}
.destination-card h3 {
  font-size:28px
}
.destination-card>p:not(.eyebrow) {
  font-size:14px;
  line-height:1.8;
  margin-bottom:12px
}
.destination-card .eyebrow {
  margin-bottom:7px
}
.destination-card:hover img {
  filter:brightness(.96)
}

/* 8. Article cards */
.article-card {
  height:100%;
  position:relative
}
.article-card>img {
  width:100%;
  aspect-ratio:3/2;
  height:auto;
  border-radius:var(--radius-sm)
}
.article-card__content {
  padding-top:22px
}
.article-card .eyebrow {
  font-size:12px;
  letter-spacing:1.4px
}
.article-card h3 {
  font-size:24px
}
.article-card h3 a {
  text-decoration:none
}
.article-card h3 a:after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:var(--radius-sm)
}
.article-card h3 a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.article-card h3 a:focus-visible {
  outline:none
}
.article-card:focus-within {
  outline:3px solid var(--color-link);
  outline-offset:6px
}
.article-card__content>p:last-child {
  font-size:14px;
  color:var(--color-muted-readable);
  line-height:1.8
}

/* 9. Homepage sections */
.hero {
  padding:64px 0 72px
}
.hero-copy {
  padding-right:36px
}
.hero-description {
  font-size:16px;
  line-height:1.85;
  max-width:420px
}
.hero-actions {
  display:flex;
  align-items:flex-start;
  gap:14px;
  flex-direction:column;
  margin-top:28px
}
.hero-photo img {
  width:100%;
  height:auto;
  aspect-ratio:1.16;
  border-radius:var(--radius-md)
}
.hero-photo figcaption {
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:var(--color-muted-readable);
  padding:12px 2px 0;
  letter-spacing:.4px
}
.hero+.section {
  border-top:1px solid var(--color-border)
}
.country-section {
  background:var(--color-paper)
}
.country-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:74px;
  padding:16px 0;
  border-bottom:1px solid #d1cbbf;
  font-family:var(--font-display);
  font-size:24px;
  text-decoration:none;
  gap:8px
}
.country-link span {
  font-family:var(--font-body);
  font-size:20px;
  color:var(--color-link)
}
.country-link:hover {
  color:var(--color-link)
}
.editorial-feature {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  background:var(--color-paper);
  border-radius:var(--radius-md);
  overflow:hidden
}
.feature-image img {
  width:100%;
  height:100%;
  min-height:390px;
  aspect-ratio:4/3
}
.feature-copy {
  align-self:center;
  padding:44px
}
.feature-copy h3 {
  font-size:36px;
  line-height:1.17
}
.feature-copy>p:not(.eyebrow) {
  font-size:15px;
  margin:20px 0
}
.supporting-itineraries {
  margin-top:24px
}
.supporting-itinerary {
  display:flex;
  align-items:center;
  gap:24px;
  border-top:1px solid var(--color-border);
  padding-top:24px
}
.supporting-itinerary img {
  width:120px;
  height:100px;
  border-radius:6px
}
.supporting-itinerary h3 {
  font-size:24px;
  margin:0
}
.supporting-itinerary h3 a {
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px
}
.supporting-itinerary .eyebrow {
  font-size:12px;
  margin-bottom:7px
}
.latest-section {
  background:#fff;
  border-top:1px solid var(--color-border)
}
.about-section {
  background:var(--color-sand)
}
.about-section .col-lg-7>p {
  max-width:640px;
  font-size:17px;
  line-height:1.9;
  margin-bottom:18px
}

/* 10. Footer */
.site-footer {
  background:var(--color-ink);
  color:#d2d8da;
  padding:64px 0 24px;
  font-size:13px
}
.site-footer .wordmark {
  width:200px;
  max-width:100%;
}
.footer-description {
  font-size:14px;
  line-height:1.9;
  margin-top:24px;
  color:#b5c0c4
}
.site-footer h2 {
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  color:white;
  letter-spacing:.3px;
  margin-bottom:21px
}
.site-footer ul {
  list-style:none;
  margin:0;
  padding:0
}
.site-footer li a {
  display:inline-block;
  padding:5px 0;
  text-decoration:none;
  font-size:12px
}
.site-footer li a:hover {
  text-decoration:underline
}
.footer-bottom {
  margin-top:56px;
  padding-top:24px;
  border-top:1px solid #ffffff26;
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:12px;
  color:#b5c0c4
}

/* 11. Responsive overrides */
@media(min-width:1600px) {
  .hero {
  padding-block:80px
}

}

@media(max-width:1199.98px) {
.wordmark { width:155px; }
  .desktop-nav {
  display:none
}
.menu-toggle {
  display:block
}
.header-inner {
  min-height:78px
}
.hero-copy {
  padding-right:24px
}
.feature-copy {
  padding:32px
}
.feature-copy h3 {
  font-size:32px
}

}

@media(max-width:991.98px) {
  .hero h1 {
  max-width:680px;
  font-size:56px
}
.hero-description {
  max-width:600px
}
.hero-actions {
  flex-direction:row;
  align-items:center;
  gap:24px
}
.hero-photo img {
  aspect-ratio:16/10
}
.hero-copy {
  padding-right:14px
}
.editorial-feature {
  grid-template-columns:1fr 1fr
}
.feature-image img {
  min-height:420px
}
.feature-copy {
  padding:26px
}
.feature-copy h3 {
  font-size:30px
}
.supporting-itinerary {
  gap:16px
}
.supporting-itinerary img {
  width:90px;
  height:90px
}
.supporting-itinerary h3 {
  font-size:22px
}

}

@media(max-width:767.98px) {
  body {
  font-size:16px
}
.container {
  padding-inline:20px
}
.section {
  padding-block:60px
}
.header-inner {
  min-height:76px
}
.wordmark {
  width:145px;
}
.hero {
  padding:40px 0 44px
}
.hero h1 {
  font-size:clamp(38px,10.5vw,54px);
  line-height:1.1;
  letter-spacing:-.8px;
  margin:16px 0 20px
}
.hero-description {
  font-size:16px;
  line-height:1.8
}
.hero-actions {
  align-items:flex-start;
  flex-direction:column;
  gap:8px;
  margin-top:24px
}
.hero .row {
  --bs-gutter-y:28px
}
.hero-photo img {
  aspect-ratio:4/3
}
.hero-photo figcaption {
  font-size:12px
}
.section-heading {
  margin-bottom:28px
}
.section-heading>p:last-child {
  font-size:15px
}
.destination-card img {
  aspect-ratio:4/3;
  margin-bottom:20px
}
.destination-card>p:not(.eyebrow) {
  font-size:16px;
  max-width:470px
}
.destination-card {
  padding-bottom:12px
}
.article-card h3 {
  font-size:25px
}
.article-card__content>p:last-child {
  font-size:15px
}
.country-link {
  font-size:22px;
  min-height:68px
}
.editorial-feature {
  grid-template-columns:1fr
}
.feature-image img {
  aspect-ratio:3/2;
  min-height:0;
  height:auto
}
.feature-copy {
  padding:28px
}
.feature-copy h3 {
  font-size:32px
}
.supporting-itinerary img {
  width:104px;
  height:90px
}
.supporting-itinerary h3 {
  font-size:23px
}
.site-footer {
  padding-top:52px
}
.footer-bottom {
  flex-direction:column;
  margin-top:40px
}
.about-section .col-lg-7>p {
  font-size:16px
}
.footer-bottom p+p {
  margin:0
}

}

@media(max-width:359px) {
  .country-section .col-6 {
  width:100%
}
.wordmark {
  width:145px;
}
.header-inner {
  gap:12px
}
.menu-toggle {
  padding-inline:9px
}
.feature-copy {
  padding:22px
}
.supporting-itinerary {
  align-items:flex-start
}
.supporting-itinerary img {
  width:76px;
  height:85px
}

}

/* 12. Accessibility and reduced motion */
:focus-visible {
  outline:3px solid var(--color-link);
  outline-offset:5px
}
.site-footer :focus-visible {
  outline-color:#f4b49b
}
.skip-link {
  position:absolute;
  top:8px;
  left:20px;
  transform:translateY(-160%);
  z-index:1100;
  background:var(--color-ink);
  color:white;
  padding:12px 20px
}
.skip-link:focus {
  transform:none;
  color:white
}
.offcanvas a:focus-visible,.offcanvas button:focus-visible {
  outline:3px solid var(--color-link);
  outline-offset:2px
}
.btn-close:focus {
  box-shadow:none
}
.dropdown-item:active {
  background:var(--color-paper);
  color:var(--color-ink)
}

@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
  animation-duration:.01ms!important;
  transition-duration:.01ms!important;
  scroll-behavior:auto!important
}

}


.hero-photo figcaption { flex-wrap:wrap; gap:4px 16px; }


/* Secondary brand CTA */
.btn-explore {
    --bs-btn-bg: var(--color-sage);
    --bs-btn-color: var(--color-ink);
    --bs-btn-border-color: var(--color-sage);

    --bs-btn-hover-bg: var(--color-sage-hover);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-border-color: var(--color-sage-hover);

    --bs-btn-active-bg: var(--color-sage-hover);
    --bs-btn-active-color: #000;
    --bs-btn-active-border-color: var(--color-sage-hover);

    font-weight: 700;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-sm);
}

.btn-explore:focus-visible {
    outline: 3px solid var(--color-ink);
    outline-offset: 3px;
}
/* 13. Destination hubs — scoped additions; shared/homepage rules remain unchanged. */
.destination-page .destination-breadcrumb {
  padding-top:24px;
  padding-bottom:8px;
  color:var(--color-muted-readable);
  font-size:13px;
}
.destination-breadcrumb ol {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 12px;
  list-style:none;
  padding:0;
  margin:0;
}
.destination-breadcrumb li {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:32px;
}
.destination-breadcrumb li+li::before {
  content:"/";
  color:var(--color-muted-readable);
}
.destination-breadcrumb a {
  text-decoration:underline;
  text-underline-offset:4px;
}
.destination-breadcrumb [aria-current] {
  color:var(--color-ink);
}
.destination-hero {
  padding:32px 0 72px;
}
.destination-hero__copy {
  padding-right:40px;
}
.destination-hero h1 {
  font-size:clamp(44px,4.6vw,66px);
  max-width:470px;
  margin-top:16px;
}
.destination-hero .hero-description {
  font-size:17px;
  max-width:420px;
}
.destination-hero__photo img {
  width:100%;
  height:auto;
  aspect-ratio:8/5;
  border-radius:var(--radius-md);
}
.destination-hero__photo figcaption {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:4px 20px;
  padding-top:12px;
  color:var(--color-muted-readable);
  font-size:12px;
}
.destination-reading {
  max-width:780px;
  margin-inline:auto;
}
.destination-reading h2 {
  margin-bottom:24px;
}
.destination-reading>p:not(.eyebrow) {
  font-size:18px;
  line-height:1.9;
}
.destination-introduction {
  padding-bottom:64px;
}
.destination-featured {
  padding-top:64px;
  border-top:1px solid var(--color-border);
}
.topic-card {
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px 0 0;
  border-top:1px solid var(--color-border);
}
.topic-card__icon {
  color:var(--color-link);
  margin-bottom:24px;
}
.topic-card h3 {
  font-size:25px;
}
.topic-card>p {
  font-size:15px;
  line-height:1.8;
  margin-bottom:20px;
}
.topic-card .text-link {
  margin-top:auto;
}
.practical-info {
  border-top:1px solid var(--color-border);
  padding-top:24px;
}
.practical-info h3 {
  font-size:26px;
}
.practical-info p {
  font-size:16px;
  line-height:1.85;
  max-width:550px;
}
.destination-page #featured-guides,
.destination-page #plan-your-visit,
.destination-page #latest-guides {
  scroll-margin-top:24px;
}

/* 14. Destination hub responsive refinements */
@media(max-width:1199.98px) {
  .destination-hero__copy {
    padding-right:28px;
  }
}
@media(max-width:991.98px) {
  .destination-hero h1 {
    max-width:none;
    font-size:56px;
  }
  .destination-hero .hero-description {
    max-width:650px;
  }
  .destination-hero__copy {
    padding-right:14px;
  }
  .destination-hero .hero-actions {
    flex-wrap:wrap;
  }
}
@media(max-width:767.98px) {
  .destination-page .destination-breadcrumb {
    padding-top:16px;
  }
  .destination-hero {
    padding:24px 0 48px;
  }
  .destination-hero h1 {
    font-size:clamp(42px,10.5vw,54px);
    letter-spacing:-.8px;
    margin-bottom:20px;
  }
  .destination-hero .hero-description {
    font-size:16px;
  }
  .destination-hero__photo img {
    aspect-ratio:4/3;
  }
  .destination-reading>p:not(.eyebrow) {
    font-size:17px;
    line-height:1.85;
  }
  .destination-introduction {
    padding-bottom:48px;
  }
  .destination-featured {
    padding-top:48px;
  }
  .topic-card__icon {
    margin-bottom:20px;
  }
  .topic-card h3 {
    font-size:24px;
  }
}
/* 15. Article template — standard HTML and Gutenberg content, no itinerary modules. */
.post-page {
  background:var(--color-white);
}
.post-hero {
  padding-top:40px;
}
.post-hero__media {
  position:relative;
  display:grid;
  min-height:min(525px,calc(43.75vw - 21px));
  background:var(--color-ink);
  border-radius:var(--radius-md);
  overflow:hidden;
  isolation:isolate;
}
.post-hero__media>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 55%;
}
.post-hero__media::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.56),rgba(0,0,0,.64) 50%,rgba(0,0,0,.58));
}
.post-hero__overlay {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:64px 48px;
}
.post-hero h1 {
  max-width:880px;
  margin:0;
  color:var(--color-white);
  font-family:var(--font-display);
  font-size:clamp(46px,4vw,58px);
  line-height:1.14;
  letter-spacing:-.7px;
  text-align:center;
  overflow-wrap:break-word;
}
.post-updated {
  width:min(var(--container-reading),calc(100% - 40px));
  margin:32px auto 0;
  font-size:14px;
  line-height:1.7;
  font-style:italic;
  color:var(--color-muted-readable);
}
:is(.post-content,.page-content) figcaption {
  margin-top:12px;
  font-size:13px;
  line-height:1.65;
  color:var(--color-muted-readable);
}
.post-content {
  width:min(var(--container-reading),calc(100% - 40px));
  margin-inline:auto;
  padding-block:28px 80px;
}
:is(.post-content,.page-content) {
  font-size:18px;
  line-height:1.9;
  overflow-wrap:break-word;
}
:is(.post-content,.page-content)>* {
  margin-top:0;
  margin-bottom:24px;
}
:is(.post-content,.page-content)>:last-child {
  margin-bottom:0;
}
:is(.post-content,.page-content) p {
  margin-bottom:24px;
}
:is(.post-content,.page-content) .wp-block-group>:last-child {
  margin-bottom:0;
}
:is(.post-content,.page-content) p+p {
  margin-top:0;
}
:is(.post-content,.page-content) h2 {
  font-size:clamp(30px,3vw,40px);
  margin-top:56px;
  margin-bottom:24px;
  line-height:1.22;
}
:is(.post-content,.page-content) h3 {
  font-size:clamp(25px,2.4vw,29px);
  margin-top:36px;
  margin-bottom:18px;
  line-height:1.3;
}
:is(.post-content,.page-content) h4,
:is(.post-content,.page-content) h5,
:is(.post-content,.page-content) h6 {
  color:var(--color-ink);
  font-family:var(--font-body);
  font-weight:700;
  line-height:1.4;
  margin-top:28px;
  margin-bottom:16px;
}
:is(.post-content,.page-content) :is(h2,h3,h4,h5,h6)[id] {
  scroll-margin-top:24px;
}
:is(.post-content,.page-content) a {
  color:var(--color-link);
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
  overflow-wrap:anywhere;
}
:is(.post-content,.page-content) a:hover {
  color:var(--color-ink);
}
:is(.post-content,.page-content) strong {
  font-weight:700;
  color:var(--color-ink);
}
:is(.post-content,.page-content) .has-large-font-size {
  font-size:22px;
  line-height:1.75;
}
:is(.post-content,.page-content) ul,
:is(.post-content,.page-content) ol {
  padding-left:26px;
}
:is(.post-content,.page-content) li {
  padding-left:5px;
  margin-bottom:12px;
}
:is(.post-content,.page-content) li::marker {
  color:var(--color-link);
}
:is(.post-content,.page-content) li :is(ul,ol) {
  margin-top:12px;
}
:is(.post-content,.page-content) figure {
  margin-block:36px;
}
:is(.post-content,.page-content) img {
  height:auto;
  border-radius:var(--radius-sm);
}
:is(.post-content,.page-content) .wp-block-image img {
  width:100%;
}
:is(.post-content,.page-content) .alignwide {
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(960px,calc(100vw - 48px));
  max-width:none;
}
:is(.post-content,.page-content) .alignfull {
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(1200px,calc(100vw - 48px));
  max-width:none;
}
:is(.post-content,.page-content) blockquote {
  border-left:3px solid var(--color-sage);
  padding:4px 0 4px 28px;
  margin-block:40px;
  font-family:var(--font-display);
  font-size:29px;
  line-height:1.5;
  color:var(--color-ink);
}
:is(.post-content,.page-content) blockquote p:last-child {
  margin-bottom:0;
}
:is(.post-content,.page-content) blockquote cite {
  display:block;
  margin-top:16px;
  font-family:var(--font-body);
  font-size:14px;
}
:is(.post-content,.page-content) .wp-block-table {
  max-width:100%;
  overflow-x:auto;
}
:is(.post-content,.page-content) table {
  border-collapse:collapse;
  width:100%;
  font-size:15px;
  line-height:1.7;
}
:is(.post-content,.page-content) caption {
  caption-side:top;
  color:var(--color-muted-readable);
  padding:0 0 14px;
  font-size:13px;
}
:is(.post-content,.page-content) th,
:is(.post-content,.page-content) td {
  padding:18px 16px;
  border:1px solid var(--color-border);
  vertical-align:top;
  min-width:120px;
}
:is(.post-content,.page-content) th {
  font-weight:700;
  color:var(--color-ink);
  background:var(--color-paper);
}
:is(.post-content,.page-content) .wp-block-embed__wrapper {
  position:relative;
  aspect-ratio:16/9;
  background:var(--color-paper);
}
:is(.post-content,.page-content) .wp-block-embed iframe,
:is(.post-content,.page-content) .wp-block-embed video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.post-content .post-video-placeholder {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  padding:20px;
  color:var(--color-ink);
  text-align:center;
  border:1px solid var(--color-border);
}
.post-video-placeholder p {
  margin:0;
  font-family:var(--font-display);
  font-size:30px;
  line-height:1.2;
}
.post-video-placeholder span {
  font-size:12px;
  color:var(--color-muted-readable);
}
.post-content .post-contents {
  padding:28px 32px;
  margin-block:36px 48px;
  background:var(--color-paper);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.post-content .post-contents h2 {
  font-size:26px;
  margin-top:0;
  margin-bottom:16px;
}
.post-contents ul {
  margin-bottom:0;
}
.post-contents li:last-child {
  margin-bottom:0;
}
.post-contents a {
  font-size:15px;
  line-height:1.6;
  display:inline-block;
  padding-block:4px;
}
:is(.post-content,.page-content) .wp-block-separator {
  border:0;
  border-top:1px solid var(--color-border);
  opacity:1;
  margin-block:40px;
}
:is(.post-content,.page-content) .wp-block-gallery {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}
:is(.post-content,.page-content) .wp-block-gallery .wp-block-image {
  flex:1 1 240px;
  min-width:0;
  margin:0;
}
.post-related {
  background:var(--color-paper);
  border-top:1px solid var(--color-border);
}

/* 16. Article template responsive refinements */
@media(max-width:767.98px) {
  .post-hero {
    padding-top:24px;
  }
  .post-hero__media {
    min-height:calc(75vw - 30px);
  }
  .post-hero__overlay {
    padding:36px 24px;
  }
  .post-hero h1 {
    font-size:clamp(30px,8.5vw,36px);
    line-height:1.16;
    letter-spacing:-.3px;
  }
  .post-content {
    padding-block:24px 60px;
  }
  :is(.post-content,.page-content) {
    font-size:17px;
    line-height:1.85;
  }
  :is(.post-content,.page-content) .has-large-font-size {
    font-size:20px;
  }
  :is(.post-content,.page-content) h2 {
    margin-top:44px;
    margin-bottom:20px;
  }
  :is(.post-content,.page-content) h3 {
    margin-top:28px;
  }
  :is(.post-content,.page-content) .alignwide,
  :is(.post-content,.page-content) .alignfull {
    position:static;
    transform:none;
    width:100%;
    max-width:100%;
  }
  .post-content .post-contents {
    padding:24px;
  }
  :is(.post-content,.page-content) blockquote {
    font-size:25px;
    padding-left:22px;
  }
  :is(.post-content,.page-content) th,
  :is(.post-content,.page-content) td {
    padding:14px 12px;
  }
  .post-video-placeholder p {
  margin:0;
    font-size:25px;
  }
}

/* 17. Optional house-ad strip and article rails. */
.post-ad-strip {
  margin-top:var(--space-6);
}
.post-ad-strip__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
}
.post-layout {
  --post-rail-left:180px;
  --post-rail-right:220px;
  --post-column-gap:28px;
  max-width:1360px;
  margin-top:var(--space-8);
  padding-bottom:var(--space-20);
}
.post-layout__grid {
  display:grid;
  grid-template-columns:minmax(0,var(--container-reading));
  grid-template-areas:"content" "right" "left";
  justify-content:center;
  align-items:start;
  gap:var(--space-12) var(--post-column-gap);
  max-width:var(--container-reading);
  margin-inline:auto;
}
.post-layout__content {
  grid-area:content;
  min-width:0;
}
.post-layout .post-updated {
  width:100%;
  margin:0;
}
.post-layout .post-content {
  width:100%;
  margin-inline:0;
  padding-bottom:0;
}
.post-layout .post-content .alignwide,
.post-layout .post-content .alignfull {
  position:static;
  left:auto;
  transform:none;
  width:100%;
  max-width:100%;
}
.post-ads-left {
  grid-area:left;
  min-width:0;
  width:min(100%,240px);
  justify-self:center;
}
.post-sidebar {
  grid-area:right;
  min-width:0;
}
.post-category-nav h2 {
  font-size:26px;
  line-height:1.25;
  margin-bottom:var(--space-4);
}
.post-category-nav ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 var(--space-6);
  list-style:none;
  padding:0;
  margin:0;
}
.post-category-nav a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  min-height:44px;
  padding-block:var(--space-2);
  color:var(--color-ink);
  font-size:16px;
  line-height:1.5;
  text-decoration:underline;
  text-decoration-color:var(--color-border);
  text-underline-offset:5px;
  overflow-wrap:anywhere;
}
.post-category-nav a span {
  color:var(--color-link);
  font-size:14px;
}
.post-category-nav a:hover {
  color:var(--color-link);
  text-decoration-color:currentColor;
}
.ad-slot {
  min-width:0;
  max-width:100%;
  background:var(--color-paper);
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
}
.ad-slot__controls {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding-left:var(--space-3);
  border-bottom:1px solid var(--color-border);
  border-radius:7px 7px 0 0;
  background:var(--color-white);
}
.ad-slot__disclosure {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-2);
  padding-block:var(--space-2);
  line-height:1.4;
}
.ad-slot__disclosure strong {
  color:var(--color-ink);
  font-size:12px;
}
.ad-slot__disclosure>span {
  color:var(--color-muted-readable);
  font-size:11px;
}
.ad-slot__close {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:44px;
  min-height:44px;
  padding:12px;
  border:0;
  border-radius:0 7px 0 0;
  color:var(--color-ink);
  background:transparent;
  cursor:pointer;
}
.ad-slot__close:hover {
  background:var(--color-paper);
}
.ad-slot__close:focus-visible {
  outline:3px solid var(--color-ink);
  outline-offset:-5px;
}
.ad-slot__creative {
  display:block;
}
.ad-slot__creative:focus-visible {
  outline-offset:-4px;
}
.ad-slot__creative img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:0 0 7px 7px;
}
/* Bound a sole wide banner's visual weight without cropping the creative. */
.post-ad-strip .ad-slot__creative img {
  max-height:144px;
}
.ad-slot[data-ad-configured="false"],
.ad-slot[hidden],
.post-ad-strip[hidden],
.post-ads-left[hidden],
.post-ad-strip.ad-count-0,
.ad-slot--empty,
.post-layout--no-left .post-ads-left,
.post-layout--no-right .post-sidebar,
[data-ad-kind="provider"] [data-ad-dismiss] {
  display:none;
}
.post-layout--no-left .post-layout__grid {
  grid-template-areas:"content" "right";
}
.post-layout--no-right .post-layout__grid {
  grid-template-areas:"content" "left";
}
.post-layout--no-left.post-layout--no-right .post-layout__grid {
  grid-template-areas:"content";
}

/* 18. Advertising count states and article rail breakpoints. */
@media(min-width:768px) {
  .post-ad-strip.ad-count-3 .post-ad-strip__grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .post-ad-strip.ad-count-2 .post-ad-strip__grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(min-width:1024px) {
  .post-layout__grid {
    max-width:calc(var(--container-reading) + var(--post-rail-right) + var(--post-column-gap));
    grid-template-columns:minmax(0,var(--container-reading)) var(--post-rail-right);
    grid-template-areas:"content right" "left left";
  }
  .post-category-nav ul {
    grid-template-columns:minmax(0,1fr);
  }
  .post-layout--no-left .post-layout__grid {
    grid-template-areas:"content right";
  }
  .post-layout--no-right .post-layout__grid {
    max-width:var(--container-reading);
    grid-template-columns:minmax(0,var(--container-reading));
    grid-template-areas:"content" "left";
  }
  .post-layout--no-left.post-layout--no-right .post-layout__grid {
    max-width:var(--container-reading);
    grid-template-columns:minmax(0,var(--container-reading));
    grid-template-areas:"content";
  }
}
@media(min-width:1280px) {
  .post-layout__grid {
    max-width:calc(var(--post-rail-left) + var(--container-reading) + var(--post-rail-right) + var(--post-column-gap) + var(--post-column-gap));
    grid-template-columns:var(--post-rail-left) minmax(0,var(--container-reading)) var(--post-rail-right);
    grid-template-areas:"left content right";
  }
  .post-ads-left {
    width:100%;
    justify-self:stretch;
  }
  .post-layout--no-left .post-layout__grid {
    max-width:calc(var(--container-reading) + var(--post-rail-right) + var(--post-column-gap));
    grid-template-columns:minmax(0,var(--container-reading)) var(--post-rail-right);
    grid-template-areas:"content right";
  }
  .post-layout--no-right .post-layout__grid {
    max-width:var(--container-reading);
    grid-template-columns:minmax(0,var(--container-reading));
    grid-template-areas:"content" "left";
  }
  .post-layout--no-right .post-ads-left {
    width:min(100%,240px);
    justify-self:center;
  }
  .post-layout--no-left.post-layout--no-right .post-layout__grid {
    max-width:var(--container-reading);
    grid-template-columns:minmax(0,var(--container-reading));
    grid-template-areas:"content";
  }
}
@media(max-width:767.98px) {
  .post-ad-strip__grid {
    gap:var(--space-4);
  }
  .post-layout {
    padding-bottom:60px;
  }
}

/* 19. Related stories: static grid first; motion is a progressive enhancement. */
.post-related__heading {display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}
.post-related__heading .section-heading {margin-bottom:0;max-width:760px}
.post-related__archive {flex-shrink:0;color:var(--color-link);font-weight:700;text-underline-offset:5px;padding-block:12px}
.related-carousel__group {display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
/* Compact controls share one row, separate from the category archive link. */
.related-carousel__controls {display:flex;justify-content:flex-end;gap:var(--space-2);margin-bottom:var(--space-4)}
.related-carousel__controls[hidden] {display:none}
.related-carousel__nav {
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;padding:10px;flex:none;
  border:1px solid var(--color-border);border-radius:50%;
  background:transparent;color:var(--color-ink);cursor:pointer;
}
.related-carousel__nav:hover {color:var(--color-link);border-color:var(--color-link)}
.related-carousel__nav:focus-visible {outline:3px solid var(--color-link);outline-offset:4px}
.related-carousel__nav[aria-disabled="true"] {color:var(--color-muted-readable);cursor:default}
.related-carousel {--related-gap:28px;--related-visible:1.06}
.related-carousel.is-enhanced .related-carousel__viewport {
  overflow:clip;padding:8px;margin:-8px;touch-action:pan-y pinch-zoom;
  cursor:grab;user-select:none;-webkit-user-select:none;
}
.related-carousel.is-dragging .related-carousel__viewport {cursor:grabbing}
.related-carousel.is-enhanced .related-carousel__group {
  display:block;position:relative;width:100%;height:var(--related-height);
}
.related-carousel.is-enhanced .article-card {
  position:absolute;left:0;top:0;width:var(--related-card-width);
  min-width:0;height:auto;will-change:transform;
}
.related-carousel .article-card h3 {overflow-wrap:anywhere}
@media(min-width:768px) {
  .related-carousel__group {grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-carousel {--related-visible:2}
}
@media(min-width:1200px) {
  .related-carousel__group {grid-template-columns:repeat(3,minmax(0,1fr))}
  .related-carousel {--related-visible:3}
}
@media(max-width:767.98px) {
  .post-related__heading {display:block}
  .post-related__archive {display:inline-block;margin-top:var(--space-3)}
}

/* Managed left creatives fill their available rail without sticky positioning. */
.post-ads-left,
.post-layout--no-right .post-ads-left {
  width:100%;
  justify-self:stretch;
  align-self:start;
}

/* 20. Destination archives: shared cards, categories and native pagination. */
.archive-heading {
  padding:var(--space-16) 0 var(--space-8);
}
.archive-heading h1 {
  max-width:900px;
}
.archive-heading__description {
  max-width:var(--container-reading);
  color:var(--color-muted-readable);
  line-height:1.8;
}
.archive-categories {
  padding-bottom:var(--space-6);
  margin-bottom:var(--space-8);
  border-bottom:1px solid var(--color-border);
}
.archive-categories ul,
.archive-pagination ul {
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  padding:0;
  margin:0;
}
.archive-categories ul {
  column-gap:var(--space-6);
  row-gap:var(--space-1);
}
.archive-categories a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:var(--space-2);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  text-underline-offset:7px;
}
.archive-categories a:hover,
.archive-categories a[aria-current="page"] {
  color:var(--color-link);
  text-decoration:underline;
  text-decoration-thickness:2px;
}
.archive-grid {
  --bs-gutter-x:28px;
  --bs-gutter-y:32px;
}
.archive-card {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.archive-card .article-card__media {
  position:relative;
}
.archive-card .article-card__media img {
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  border-radius:var(--radius-sm);
}
.country-badge {
  position:absolute;
  top:var(--space-3);
  left:var(--space-3);
  max-width:calc(100% - 24px);
  padding:6px 10px;
  border-radius:4px;
  background:var(--color-ink);
  color:var(--color-white);
  font-size:11px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:1px;
  text-transform:uppercase;
  overflow-wrap:anywhere;
  pointer-events:none;
}
.archive-card .article-card__content {
  display:flex;
  flex:1;
  flex-direction:column;
}
.archive-card h3 {
  overflow-wrap:anywhere;
}
.archive-card__excerpt {
  color:var(--color-muted-readable);
  font-size:14px;
  line-height:1.8;
}
.archive-card .archive-card__date {
  margin-top:auto;
  padding-top:var(--space-4);
  color:var(--color-muted-readable);
  font-size:12px;
  line-height:1.6;
}
.archive-pagination {
  padding-block:var(--space-12) var(--space-16);
}
.archive-pagination ul {
  justify-content:center;
  gap:var(--space-2);
}
.archive-pagination a,
.archive-pagination .page-numbers.current,
.archive-pagination .page-numbers.dots,
.archive-pagination__disabled {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:var(--space-2);
  min-width:44px;
  min-height:44px;
  padding:8px 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  font-size:14px;
  text-decoration:none;
}
.archive-pagination a:hover {
  color:var(--color-link);
  border-color:var(--color-link);
}
.archive-pagination a[aria-current="page"],
.archive-pagination .page-numbers.current {
  color:var(--color-white);
  background:var(--color-ink);
  border-color:var(--color-ink);
}
.archive-pagination__disabled {
  color:var(--color-muted-readable);
  border-color:transparent;
}
.archive-pagination__word {
  display:none;
}
.archive-empty {
  max-width:var(--container-reading);
  padding-block:var(--space-8) var(--space-12);
}
.archive-empty[hidden] {
  display:none;
}
.archive-empty p {
  margin-bottom:var(--space-4);
  color:var(--color-muted-readable);
}
.archive-empty a {
  color:var(--color-link);
  text-underline-offset:4px;
}
@media(min-width:576px) {
  .archive-pagination__word {display:inline}
}
@media(max-width:767.98px) {
  .archive-heading {padding-top:var(--space-12)}
  .archive-categories ul {column-gap:var(--space-4)}
  .archive-card__excerpt {font-size:15px}
}

/* 21. Standard pages and ordinary Gutenberg layout blocks. */
.standard-page {
  width:calc(100% - 40px);
  max-width:var(--container-reading);
  margin-inline:auto;
  padding-block:var(--space-16) var(--space-20);
}
.page-header {
  margin-bottom:36px;
}
.page-header h1 {
  margin:0;
  font-size:clamp(48px,4vw,54px);
  line-height:1.14;
  letter-spacing:-.7px;
}
.page-content {
  min-width:0;
}
.page-content>:first-child {
  margin-top:0;
}
/* Page blocks remain inside the reading column, even when authored wide/full. */
.page-content :is(.alignwide,.alignfull) {
  position:static;
  left:auto;
  transform:none;
  width:100%;
  max-width:100%;
}
:is(.post-content,.page-content)>table {
  display:block;
  max-width:100%;
  overflow-x:auto;
}
:is(.post-content,.page-content) .wp-block-columns {
  display:flex;
  gap:var(--space-6);
  align-items:stretch;
}
:is(.post-content,.page-content) .wp-block-column {
  flex:1 1 0;
  min-width:0;
}
:is(.post-content,.page-content) .wp-block-column>:last-child {
  margin-bottom:0;
}
:is(.post-content,.page-content) .wp-block-buttons,
:is(.post-content,.page-content) .wp-block-file {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-3);
}
:is(.post-content,.page-content) :is(.wp-block-button__link,.wp-block-file__button) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 24px;
  border:1px solid transparent;
  border-radius:var(--radius-sm);
  background:var(--color-sage);
  color:var(--color-ink);
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
}
:is(.post-content,.page-content) :is(.wp-block-button__link,.wp-block-file__button):hover {
  background:var(--color-sage-hover);
  color:#000;
}
:is(.post-content,.page-content) .is-style-outline .wp-block-button__link {
  border-color:currentColor;
  background:transparent;
  color:var(--color-ink);
}
:is(.post-content,.page-content) .has-text-align-center {
  text-align:center;
}
:is(.post-content,.page-content) .has-text-align-right {
  text-align:right;
}
@media(max-width:767.98px) {
  .standard-page {padding-block:44px 60px}
  .page-header {margin-bottom:var(--space-8)}
  .page-header h1 {font-size:clamp(34px,9vw,40px);letter-spacing:-.4px}
  :is(.post-content,.page-content) .wp-block-columns:not(.is-not-stacked-on-mobile) {flex-direction:column}
}

/* Native menu integration: keep parent destinations navigable alongside disclosures. */
.site-nav > ul > .dropdown { display:flex; align-items:center; gap:4px; }
.site-nav .dropdown > .nav-control { min-width:28px; min-height:44px; }
.mobile-primary { list-style:none; margin:0; padding:0; }
.mobile-primary > .dropdown { display:grid; grid-template-columns:1fr 44px; align-items:center; }
.mobile-primary > .dropdown > ul { grid-column:1 / -1; }
.mobile-primary .mobile-destinations { padding:10px; border:0; width:44px; min-height:44px; }
.mobile-primary .mobile-countries { list-style:none; }
.mobile-primary .mobile-countries a { white-space:normal; }
.site-nav .etg-dropdown-only > .nav-control { padding-right:4px; }
.site-nav .etg-dropdown-only > .dropdown-toggle::after { margin-left:12px; }
.mobile-primary .etg-dropdown-only > .mobile-destinations {
  grid-column:1 / -1;
  width:100%;
  padding:15px 0;
  border-bottom:1px solid var(--color-border);
  align-items:center;
}

/* Missing photography uses a neutral brand image, without implying a destination. */
.destination-card img.etg-card-image--fallback,
.article-card > img.etg-card-image--fallback,
.archive-card .article-card__media img.etg-card-image--fallback,
.feature-image img.etg-card-image--fallback,
.supporting-itinerary img.etg-card-image--fallback {
  object-fit:contain;
  background:var(--color-paper);
  padding:24px;
}

/* Native current-page indication; keep WordPress menu classes and focus styling. */
:is(.site-nav,.mobile-primary) :is(.current-menu-item,.current_page_item) > a {
  color:var(--color-link);
  text-decoration:underline;
  text-underline-offset:5px;
}
.site-footer :is(.current-menu-item,.current_page_item) > a {
  text-decoration:underline;
  text-underline-offset:5px;
}

/* 22. Standard-page masthead: full bleed, distinct from the contained post hero. */
.standard-page--hero {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.page-hero {
  --page-hero-position:50% 48%;
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  min-height:320px;
  padding:56px 20px;
  background:var(--color-ink);
}
.page-hero__media {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.page-hero__media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--page-hero-position);
  border-radius:0;
}
.page-hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(20,35,43,.72),rgba(20,35,43,.86));
  pointer-events:none;
}
.page-hero__content.container {
  position:relative;
  z-index:2;
  width:100%;
  max-width:900px;
  padding:0;
  text-align:center;
}
.page-hero__title {
  margin:0;
  color:var(--color-white);
  font-family:var(--font-display);
  font-size:clamp(44px,4vw,54px);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.7px;
  overflow-wrap:anywhere;
}
.standard-page--hero > .page-content {
  width:calc(100% - 40px);
  max-width:var(--container-reading);
  margin-inline:auto;
  padding-block:72px 80px;
}
@media(max-width:767.98px) {
  .page-hero {min-height:264px;padding-block:44px}
  .page-hero__title {font-size:clamp(32px,9vw,38px);letter-spacing:-.4px}
  .standard-page--hero > .page-content {padding-block:48px 60px}
}


/* ==========================================
   European Travel Guides — 404 Page
========================================== */

main.etg-not-found {
    background: #F7F4ED;
    min-height: 65vh;
    padding: 100px 24px 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.etg-not-found .container {
    width: 100%;
}

.etg-not-found__content {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.etg-not-found__content .eyebrow {
    color: #C96745;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.etg-not-found__number {
    display: block;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(100px, 14vw, 170px);
    line-height: 1;
    color: #C96745;
    margin: 0 0 20px;
}

.etg-not-found__content h1 {
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.2;
    color: #14232B;
    margin: 0 auto 24px;
    max-width: 680px;
}

.etg-not-found__description {
    max-width: 560px;
    margin: 0 auto 32px;
    font-size: 17px;
    line-height: 1.8;
}

.etg-not-found__actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}

@media (max-width: 575px) {
    main.etg-not-found {
        min-height: 60vh;
        padding: 70px 16px 90px;
    }

    .etg-not-found__actions {
        flex-direction: column;
        gap: 20px;
    }
}


/* Footer social links: scoped to populated links; empty footer layout is unchanged. */
.footer-social {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  flex-shrink:0;
  align-self:center;
}
.footer-social a {
  display:inline-flex;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  color:#F7F4ED;
  border-radius:4px;
}
.footer-social a:hover {
  color:#C96745;
}
.footer-social a:focus-visible {
  outline:2px solid #F7F4ED;
  outline-offset:2px;
  color:#F7F4ED;
  background:#34463d;
}
.footer-bottom:has(.footer-social) {
  align-items:center;
}
.footer-bottom:has(.footer-social) > p {
  margin-bottom:0;
}
@media (max-width:767px) {
  .footer-social { align-self:flex-start; }
}


/* ==========================================
   Article Table of Contents
   European Travel Guides
   ========================================== */

.post-content .article-toc {
    background: #F7F4ED;
    border: 1px solid #DDD9CF;
    border-left: 3px solid #C96745;
    border-radius: 10px;
    padding: 22px 24px;
    margin: 30px 0 42px;
}

.post-content .article-toc__heading {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #14232B;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 1.25rem;
    line-height: 1.35;
    margin-bottom: 16px;
}

.post-content .article-toc__icon {
    color: #C96745;
    font-family: Arial, sans-serif;
    font-size: 1.4rem;
    line-height: 1;
}

.post-content .article-toc__list {
    list-style: none;
    counter-reset: toc;
    padding: 0;
    margin: 0;
}

.post-content .article-toc__list li {
    counter-increment: toc;
    margin: 0;
    padding: 0;
}

.post-content .article-toc__list li + li {
    border-top: 1px solid #E7E2D9;
}

.post-content .article-toc__list a {
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 11px 0;
    color: #14232B;
    font-family: "Manrope", sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.65;
    text-decoration: none;
    transition: color 0.2s ease;
}

.post-content .article-toc__list a::before {
    content: counter(toc, decimal-leading-zero);
    flex: 0 0 24px;
    color: #C96745;
    font-size: 0.75rem;
    font-weight: 700;
}

.post-content .article-toc__list a:hover,
.post-content .article-toc__list a:focus-visible {
    color: #C96745;
}

.post-content .article-toc__list a:focus-visible {
    outline: 2px solid #C96745;
    outline-offset: 3px;
    border-radius: 2px;
}

/* Anchor heading offset */
.post-content h2[id],
.post-content h3[id] {
    scroll-margin-top: 100px;
}

/* Mobile */
@media (max-width: 575.98px) {
    .post-content .article-toc {
        padding: 18px 16px;
        margin: 24px 0 32px;
    }

    .post-content .article-toc__heading {
        font-size: 1.15rem;
    }

    .post-content .article-toc__list a {
        font-size: 0.8125rem;
        gap: 10px;
        padding: 10px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .post-content .article-toc__list a {
        transition: none;
    }
}