/* ==========================================================================
   getawayguide — theme layer
   Loaded after styles.css. Overrides only: no markup, content or behaviour
   changes. Delete this file and the site renders exactly as it does today.
   ========================================================================== */
@import url("fonts.css?v=09652e8d");

/* ----------------------------------------------------------------- tokens */
:root {
  /* the ground goes to pure white, the green stays yours */
  --cream: #FFFFFF;
  --mist: #F5F5F2;
  --ink: #1C2821;
  --terra: #2D6B50;
  --gold: #2D6B50;
  --nav-bg: rgba(255, 255, 255, .96);
  --nav-border: rgba(28, 40, 33, .10);
  --dropdown-bg: #FFFFFF;
  --filter-bg: rgba(255, 255, 255, .97);
  --b-faint: rgba(28, 40, 33, .05);
  --b-subtle: rgba(28, 40, 33, .09);
  --b-medium: rgba(28, 40, 33, .14);
  --b-strong: rgba(28, 40, 33, .24);
  --shadow: rgba(28, 40, 33, .08);
  --void: #1C2821;

  --display: "Newsreader", Georgia, "Times New Roman", serif;
  --body: "Hanken Grotesk", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --tint: rgba(28, 40, 33, .035);
}

/* selectors that name an old face anywhere on the site, including the per page
   <style> blocks. Generated, so nothing is missed. */
#toc-b .toc-title,
.about-big-title,
.about-section-heading,
.about-sig,
.about-stat-num,
.about-title,
.article-day-num,
.article-day-title,
.article-h2,
.article-h3,
.article-hero-title,
.article-lead,
.bgt-hcell .bgt-title,
.bgt-val,
.cm-ov-title,
.contact-input,
.continent-title,
.country-article-card-title,
.country-article-sub,
.country-article-title,
.country-hero-title,
.country-info-heading,
.country-util-text strong,
.dest-articles-section .dest-section-heading,
.dest-info-name,
.dest-name,
.essentials-title,
.fn-city-hd h2,
.fn-hero-title,
.footer-logo,
.form-row input,
.grp-intro,
.grp-name,
.hero-title,
.ktile,
.marquee-item,
.mobile-nav-links > li > a, .mnav-row .mnav-parent,
.nav-dropdown-continent,
.nav-fn-region,
.nav-logo,
.newsletter-title,
.nf-404,
.nf-title,
.page-title,
.post-title,
.posts-page-title,
.privacy-heading,
.rbh-sub,
.rbh-title,
.resource-category-title,
.resource-name,
.rrow-desc,
.rrow-name,
.section-title,
.thumb-body span,
.whm-c,
.whm-lbl-rec,
.whm-lbl-title,
p.essentials-header {
  font-family: var(--display) !important;
}

#map-tab .mt-name,
#toc-b .toc-label,
#toc-b .toc-num,
#toc-b .toc-sub a,
#toc-b a.toc-link,
#toc-b a.toc-section-link,
.about-body,
.about-body-main p,
.about-eyebrow,
.about-intro,
.about-sidebar-content,
.about-sidebar-title,
.about-stat-label,
.art-card-badge,
.art-card-btn,
.art-card-name,
.article-body li,
.article-body p,
.article-body p.fn-sub-label,
.article-breadcrumb,
.article-day-body,
.article-hero-meta,
.article-tag,
.bgt-cat,
.bgt-note,
.citymap,
.contact-info-label,
.contact-label,
.contact-submit,
.continent-count,
.country-article-card-tag,
.country-article-tag,
.country-breadcrumb,
.country-fact-label,
.country-fact-value,
.country-info-body,
.country-info-eyebrow,
.country-place-btn,
.country-places-label,
.country-util-text span,
.dest-info-count,
.dest-subregion,
.dest-trips,
.essentials-card p.essentials-body,
.filter-btn,
.filter-label,
.fn-badge,
.fn-flag-name,
.fn-general-label,
.fn-hero-cities,
.fn-sub-hd,
.fn-time,
.footer-copy,
.footer-links a,
.footer-tagline,
.form-note,
.form-row button,
.form-status,
.grp-kicker,
.hero-cta,
.hero-eyebrow,
.hero-image-label,
.hero-scroll,
.legend-item,
.map-mobile-hd .mmh-t,
.map-mobile-hd .mmh-x,
.map-tooltip,
.mnav-chev,
.mobile-drawer-footer,
.mobile-nav-continents a,
.nav-dropdown-all,
.nav-dropdown-item,
.nav-dropdown-map a.nav-dropdown-continent,
.nav-guides-legend,
.nav-links a,
.nf-btn,
.nf-sub,
.page-eyebrow,
.post-meta,
.post-tag,
.posts-page-eyebrow,
.resource-link,
.resource-tag,
.rrow-tag,
.section-link,
.whm-f,
.whm-lbl-sub,
.whm-mn {
  font-family: var(--body) !important;
}

/* the stragglers: body itself named a third serif, and a few headings carry an
   inline font-family that no stylesheet selector can reach */
body, button, input, select, textarea, .article-body, .about-body {
  font-family: var(--body) !important;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--display); font-weight: 300; }
[style*="Fraunces"], [style*="fraunces"], [style*="Playfair"], [style*="playfair"],
[style*="Source Serif"] { font-family: var(--display) !important; }
[style*="Jost"], [style*="jost"], [style*="Montserrat"], [style*="montserrat"] {
  font-family: var(--body) !important;
}


/* labels that were set in the old serif but read better as the sans */
.essentials-title, .article-day-num, .whm-lbl-title, .whm-lbl-rec, .whm-c,
.bgt-hcell .bgt-title, .bgt-cat, .fn-general-label, .fn-time, .fn-badge,
p.essentials-header, .art-card-name, .nav-fn-region, .cm-ov-title {
  font-family: var(--body) !important;
}

/* nothing in this theme is rounded */
*, *::before, *::after { border-radius: 0 !important; }

body { background: var(--cream); }

/* ------------------------------------------------------------------- type */
/* live body copy was 1rem/1.85 at .75 alpha, which measured 4.4:1. Same size,
   same rhythm, enough ink on the page to actually read it. */
body, p, li { color: rgba(28, 40, 33, .86); }
.article-body p, .article-body li, .about-intro, .card-excerpt, .post-excerpt {
  font-size: 1rem;
  line-height: 1.82;
  font-weight: 400;
  color: rgba(28, 40, 33, .86);
}
.article-body a, .about-intro a, p a { color: var(--terra); }
.article-body b, .article-body strong, .article-body li b, .article-body li strong,
.article-body li u {
  color: var(--terra);
  font-weight: 600;
  text-decoration: none;
}
.page-eyebrow, .article-eyebrow, .kicker, .eyebrow {
  font-family: var(--body);
  font-size: .66rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(28, 40, 33, .64);
}

.article-title { font-weight: 300; line-height: 1.08; letter-spacing: -.015em; }
.article-lead { font-family: var(--body); font-weight: 400; color: rgba(28, 40, 33, .70); }
.article-h2 {
  font-size: 1.56rem;
  font-weight: 300;
  border-bottom: 1px solid var(--b-medium);
  padding-bottom: .6rem;
  margin: 2.8rem 0 1.1rem;
}
.article-h3 { font-size: 1.2rem; font-weight: 400; }

/* -------------------------------------------------------------------- nav */
nav {
  padding: .95rem 3rem !important;
  background: var(--nav-bg);
  border-bottom: 1px solid var(--nav-border);
  backdrop-filter: blur(10px);
}
.nav-logo {
  font-family: var(--display);
  font-style: italic;
  font-weight: 300;
  font-size: 1.25rem;
  color: var(--terra);
}
nav ul li a, .nav-links a, nav > ul a {
  font-family: var(--body);
  font-size: .74rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 400;
}
.nav-dropdown-item { font-size: .84rem; font-weight: 400; }
.nav-dropdown-item img { box-shadow: none; }
.nav-fn-region { color: var(--terra); letter-spacing: .16em; }
@media (max-width: 768px) { nav { padding: .8rem 1.25rem !important; } }

/* ----------------------------------------------------------------- footer */
footer { background: var(--void); }
.footer-logo { font-family: var(--display); font-style: italic; font-weight: 300; }
.footer-tagline { font-size: .78rem; color: rgba(255, 255, 255, .55); }
.footer-copy { font-size: .68rem; color: rgba(255, 255, 255, .42); }
.footer-links a { font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }

/* ------------------------------------------------------- country cards */
.home-dest-card { transition: transform .35s; }
.art-card-name {
  font-family: var(--body);
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .82rem;
}
.art-card-btn {
  font-family: var(--body);
  font-size: .6rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, .72);
  background: transparent;
}
.dest-overlay {
  background: linear-gradient(180deg, rgba(18, 26, 21, .16) 0%, rgba(18, 26, 21, .62) 100%);
}

/* ------------------------------------------------- destinations furniture */
.dest-section-heading { font-weight: 300; }
.filter-bar-inline { background: transparent; }
.filter-btn {
  font-family: var(--body);
  border: 1px solid var(--b-medium);
  color: rgba(28, 40, 33, .70);
}
.filter-btn.active, .filter-btn:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ------------------------------------------------------ contents, boxed */
#toc-b {
  border: 1px solid rgba(45, 107, 80, .30);
  background: transparent;
  padding: 1.4rem 1.7rem 1.1rem;
}
#toc-b .toc-label { color: var(--terra); letter-spacing: .16em; }
#toc-b .toc-title {
  font-family: var(--display);
  font-style: italic;
  font-weight: 300;
  color: var(--terra);
}
#toc-b .toc-num { color: var(--terra); font-family: var(--body); }
#toc-b .toc-row { border-bottom: 1px solid rgba(45, 107, 80, .16); }
#toc-b a.toc-link, #toc-b a.toc-section-link {
  font-family: var(--body);
  font-size: .88rem;
  color: rgba(28, 40, 33, .86);
}
#toc-b a.toc-link:hover { color: var(--terra); }

/* -------------------------------------------------------------- key facts */
.essentials-grid { gap: 1px; background: var(--b-subtle); border: 1px solid var(--b-subtle); }
.essentials-card { background: var(--cream); border: 0; padding: 1.1rem 1.2rem 1.2rem; }
.essentials-icon { filter: grayscale(1) opacity(.75); font-size: 1rem; }
.essentials-title {
  font-family: var(--body);
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--ink);
}
.essentials-body { font-size: .86rem; line-height: 1.6; color: rgba(28, 40, 33, .82); }
.essentials-body strong { color: var(--terra); }


/* the key facts heading is a section heading, not a label */
p.essentials-header {
  font-family: var(--display) !important;
  font-size: 1.45rem;
  font-weight: 300;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--ink);
}

/* --------------------------------------------------------- day by day */
.article-day { border-bottom: 0; }
.article-day-num {
  font-family: var(--body);
  font-size: .66rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(28, 40, 33, .64);
  background: transparent;
  border: 0;
}
.article-day-title {
  font-family: var(--display);
  font-weight: 300;
  font-size: 1.3rem;
  border-bottom: 1px solid var(--ink);
  padding-bottom: .6rem;
  margin-bottom: .9rem;
}
.article-day-body { font-size: 1rem; line-height: 1.82; color: rgba(28, 40, 33, .86); }

/* ------------------------------------------------------------- budget grid */
.bgt { border: 1px solid var(--b-medium); }
.bgt-head { background: var(--tint); border-bottom: 1px solid var(--b-medium); }
.bgt-title {
  font-family: var(--body);
  font-size: .66rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--terra);
}
.bgt-row { border-bottom: 1px solid var(--b-subtle); }
.bgt-cat { font-family: var(--body); font-size: .78rem; letter-spacing: .1em;
           text-transform: uppercase; color: rgba(28, 40, 33, .64); }
.bgt-val { font-family: var(--display); font-weight: 300; font-size: 1.15rem; color: var(--ink); }
.bgt-val.total { font-size: 1.5rem; }
.bgt-note { font-family: var(--body); font-size: .8rem; color: rgba(28, 40, 33, .70); }
.bgt-icon { filter: grayscale(1) opacity(.7); }

/* ------------------------------------------------------- when to visit */
.whm-lbl-title { font-family: var(--body); font-weight: 500; }
.whm-lbl-rec { color: var(--terra); letter-spacing: .13em; }
.whm-cell { border: 0; }
.whm-mn { font-family: var(--body); font-size: .62rem; letter-spacing: .12em;
          text-transform: uppercase; color: var(--ink); }
.whm-c, .whm-f { font-family: var(--body); font-variant-numeric: tabular-nums; }
.whm-lbl-icon { filter: grayscale(1) opacity(.7); }

/* --------------------------------------------------------------- about */
.about-big-title { font-weight: 300; letter-spacing: -.02em; }
.about-big-title em { font-style: italic; color: var(--terra); }
.about-intro { font-family: var(--body); }
.about-hero-image { background: var(--mist) !important; }

/* ------------------------------------------------------------ resources */
.resource-card, .res-card, .tool-card { border: 1px solid var(--b-medium); }
.resource-name, .tool-name { font-family: var(--body); font-weight: 500; }

/* ------------------------------------------------------------ the map */
.map-legend, .legend { font-family: var(--body); }
.legend-dot, .map-legend span[style*="border-radius"] { border-radius: 0 !important; }

/* photographs keep the site's own geometry; only the corners change */
.img-pair span, .img-landscape, .img-wide, .article-day-body span[style*="display: block"] {
  border-radius: 0 !important;
}

/* ==========================================================================
   COMPONENTS — the redesign applied to the site's own markup
   ========================================================================== */

/* ------------------------------------------------------------ home hero */
.hero-title {
  font-weight: 300 !important;
  letter-spacing: -.022em;
  line-height: 1.0;
  font-size: clamp(3rem, 5.4vw, 6.2rem);
}
.hero-title em { font-style: italic; color: var(--terra); }
.hero-eyebrow {
  font-size: .64rem;
  letter-spacing: .18em;
  color: var(--terra);
}
.hero-cta {
  font-size: .68rem;
  letter-spacing: .16em;
  margin-top: 2.2rem;
  border-bottom: 1px solid var(--b-medium);
  padding-bottom: .45rem;
}
.hero-image-label { letter-spacing: .2em; font-size: .56rem; }

/* --------------------------------------------------------- section heads */
.section-title, .posts-page-title, .dest-section-heading, .about-section-heading,
.resource-category-title, .country-info-heading {
  font-weight: 300 !important;
  letter-spacing: -.016em;
}
.section-title { font-size: 2.4rem; }
.posts-page-title { font-weight: 300 !important; }
.section-link {
  font-size: .64rem;
  letter-spacing: .16em;
  border-bottom: 1px solid var(--b-medium);
  padding-bottom: .3rem;
  opacity: 1;
}
.section-link:hover { color: var(--terra); border-bottom-color: var(--terra); }

/* -------------------------------------------------------- country cards */
/* The destination cards take the HOME PAGE card treatment, which lives in
   artifact.css (.art-card-info / -name / -btn, and .dest-overlay). The block
   that used to sit here restyled them into a different design: 3:4, a scrim
   only at the foot, and the country name bottom-left in sentence case at
   1.02rem. Because this file is linked AFTER artifact.css it won, so the two
   pages drifted apart. One treatment, defined once, in artifact.css. */

/* ------------------------------------------------------------ post cards */
.post-card {
  background: transparent;
  border: 0;
}
.post-card-image, .post-card .post-card-image { border-radius: 0; }
.post-title { font-weight: 300 !important; font-size: 1.32rem; line-height: 1.24; }
.post-excerpt { opacity: 1; color: rgba(28, 40, 33, .70); font-size: .88rem; }
.post-meta {
  border-top: 1px solid var(--b-subtle);
  font-size: .58rem;
  letter-spacing: .15em;
  color: rgba(28, 40, 33, .55);
}
.post-tag { color: var(--terra); }

/* ------------------------------------------------- destinations furniture */
.dest-section-heading { font-size: 2rem; }
.filter-label { font-size: .6rem; letter-spacing: .16em; color: rgba(28, 40, 33, .55); }
.filter-btn {
  font-size: .6rem;
  letter-spacing: .15em;
  padding: .45rem 1rem;
  transition: background .15s, color .15s, border-color .15s;
}
/* the map key: square swatches carrying the same outline as everything else */
.map-legend span[style*="border-radius"], .legend-dot, .map-legend i,
.dest-legend span, [class*="legend"] .dot {
  border-radius: 0 !important;
  border: 1px solid var(--ink);
  width: 12px !important;
  height: 12px !important;
}

/* ------------------------------------------------------- article: contents */
#toc-b { padding: 1.5rem 1.8rem 1.2rem; }
#toc-b .toc-title { font-size: 1.22rem; }

/* --------------------------------------------------- article: key facts */
.essentials-grid { border: 1px solid var(--b-subtle); }
.essentials-card { padding: 1.15rem 1.25rem 1.3rem; }
.essentials-head { margin-bottom: .7rem; }
.essentials-title { font-size: .64rem !important; letter-spacing: .15em; }
.essentials-body { font-size: .85rem; }

/* ------------------------------------------------------ article: budget */
.bgt { border: 1px solid var(--b-medium); }
.bgt-head { background: transparent; border-bottom: 1px solid var(--ink); }
.bgt-hcell .bgt-title { font-size: .62rem !important; letter-spacing: .16em; }
.bgt-val { font-size: 1.22rem; letter-spacing: -.01em; }
.bgt-val.total { font-size: 1.7rem; color: var(--terra); }
.bgt-row:last-child { background: var(--tint); }

/* -------------------------------------------------- article: when to visit */
.whm-cell { border: 1px solid rgba(255, 255, 255, .55); }
.whm-lbl-rec { font-size: .56rem !important; letter-spacing: .15em; color: var(--terra); }

/* ------------------------------------------------------ article: day rows */
.article-day-title { font-size: 1.34rem; }
.article-day-num { font-size: .62rem !important; letter-spacing: .16em; }

/* the route map ships with a cream rectangle baked into the artwork */
figure.itinerary-map svg rect[fill="#F7F7F3"],
.itinerary-map svg rect[fill="#f7f7f3"] { fill: #FFFFFF; }
.itinerary-map { border: 1px solid var(--b-subtle); }

/* ------------------------------------------------------------- resources */
.resource-item, .resource-card {
  border: 1px solid var(--b-medium);
  background: transparent;
  padding: 1.2rem 1.35rem;
}
.resource-name { font-weight: 300 !important; font-size: 1.1rem; }
.resource-tag {
  border: 1px solid var(--b-medium);
  background: transparent;
  color: var(--terra);
  letter-spacing: .14em;
}
.resource-link { letter-spacing: .16em; }
.resource-category-title { font-size: 1.7rem; }

/* ------------------------------------------------------------- about */
.about-big-title { font-weight: 300 !important; letter-spacing: -.025em; }
.about-stat-num { font-weight: 300 !important; font-size: 2.4rem; }
.about-stat-label { font-size: .6rem; letter-spacing: .15em; color: rgba(28, 40, 33, .55); }
.about-sidebar-title, .about-sidebar-content { font-family: var(--body) !important; }

/* ------------------------------------------------------------- newsletter */
.newsletter { border-top: 1px solid var(--b-subtle); }
.newsletter-title { font-weight: 300 !important; }
.form-row button, .contact-submit {
  background: var(--ink);
  color: #fff;
  border: 1px solid var(--ink);
  letter-spacing: .15em;
}

/* --------------------------------------------------------------- marquee */
.marquee-item { font-weight: 300 !important; letter-spacing: -.01em; }

/* ------------------------------------------------------- field notes pages */
.fn-hero-title { font-weight: 300 !important; letter-spacing: -.02em; }
.fn-city-hd h2 { font-weight: 300 !important; }
.fn-badge, .fn-general-label, .fn-time {
  font-size: .6rem !important;
  letter-spacing: .15em;
  color: var(--terra);
}
.fn-sub-hd { font-weight: 300 !important; }

/* ------------------------------------------------------- country pages */
.country-hero-title { font-weight: 300 !important; letter-spacing: -.02em; }
.country-article-card-title, .country-article-title { font-weight: 300 !important; }
.country-fact-label { font-size: .6rem; letter-spacing: .15em; color: rgba(28, 40, 33, .55); }
.country-place-btn {
  border: 1px solid var(--b-medium);
  background: transparent;
  letter-spacing: .14em;
}

/* ---------------------------------------------------- home: full bleed hero */
.hero.gg-hero {
  position: relative;
  display: block;
  height: 600px;
  min-height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  grid-template-columns: none;
}
.gg-hero .slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.1s ease; }
.gg-hero .slide[data-on="1"] { opacity: 1; }
.gg-hero .slide img { position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; display: block; }
.gg-hero .veil { position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(18,26,21,.46) 0%, rgba(18,26,21,.16) 38%,
                                      rgba(18,26,21,.86) 100%); }
.gg-hero .cpy { position: absolute; left: 3rem; right: 3rem; bottom: 5.2rem; z-index: 2; }
.gg-hero .eyebrow { font-family: var(--body); font-size: .64rem; letter-spacing: .18em;
  text-transform: uppercase; color: rgba(255,255,255,.78); margin-bottom: .9rem; }
.gg-hero h1 { font-family: var(--display); font-weight: 300; font-size: clamp(2rem,3.6vw,3.5rem);
  line-height: 1.07; letter-spacing: -.018em; color: #fff; margin: 0; max-width: 46ch; }
.gg-hero .cta { display: inline-flex; align-items: center; gap: .8rem; margin-top: 1.5rem;
  font-family: var(--body); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase;
  color: #fff; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: .35rem; }
.gg-hero .dots { position: absolute; left: 3rem; bottom: 3rem; z-index: 3; display: flex; gap: .5rem; }
.gg-hero .dots button { width: 32px; height: 3px; padding: 0; border: 0; cursor: pointer;
  background: rgba(255,255,255,.34); transition: background .25s; }
.gg-hero .dots button[aria-current="true"] { background: #fff; }
/* the nav sits over the photograph and turns solid the moment the page moves */
body.gg-home nav { background: transparent; border-bottom-color: transparent;
  backdrop-filter: none; transition: background .2s, border-color .2s; }
body.gg-home nav .nav-logo { color: #fff; }
body.gg-home nav ul li a, body.gg-home nav > ul a { color: rgba(255,255,255,.92); }
body.gg-home nav.pinned { background: var(--nav-bg); border-bottom-color: var(--nav-border);
  backdrop-filter: blur(10px); }
body.gg-home nav.pinned .nav-logo { color: var(--terra); }
body.gg-home nav.pinned ul li a, body.gg-home nav.pinned > ul a { color: var(--ink); }
body.gg-home nav.pinned svg { stroke: var(--ink); }
body.gg-home nav svg { stroke: #fff; }
@media (max-width: 768px) {
  .hero.gg-hero { height: 470px; }
  .gg-hero .cpy { left: 1.25rem; right: 1.25rem; bottom: 4.2rem; }
  .gg-hero .dots { left: 1.25rem; bottom: 2rem; }
}
@media (prefers-reduced-motion: reduce) { .gg-hero .slide { transition: none; } }

/* the destinations band used the old cream as a section ground; on a white page
   it reads as a stripe, so it takes the page ground and a hairline instead */
.home-destinations, .home-posts, .section-alt, [class*="-alt"] {
  background: var(--cream) !important;
  border-top: 1px solid var(--b-subtle);
}
/* the hero headline is a link; it should not look like one */
.gg-hero h1 a, .gg-hero h1 a:hover { text-decoration: none; border-bottom: 0; }
.gg-hero .cta:hover { gap: 1.1rem; }

/* ==========================================================================
   REVAMP — the artifact layouts, structurally
   ========================================================================== */
/* nav: the artifact bar is 60px, transparent over a hero, white once pinned */
nav { min-height: 60px; height: 60px; padding: 0 3rem !important; }
@media (max-width: 768px) { nav { min-height: 52px; height: 52px; padding: 0 1.25rem !important; } }

.gg-kick {
  font-family: var(--body); font-size: .64rem; letter-spacing: .18em;
  text-transform: uppercase; color: rgba(28,40,33,.55); margin: 0 0 .55rem;
}
.section-title em { font-style: normal; color: inherit; }

/* home: the two content bands breathe like the artifact */
.home-destinations, .section { padding-top: 5.2rem; }

/* posts cards, grid C: borderless, serif titles, quiet meta */
.post-card { border: 0; background: transparent; }
.post-card-body { padding: 1rem 0 0 !important; }

/* destinations: the stats row, under the map, never over it */
.gg-stats {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--ink); margin: 1.1rem 3rem 0;
}
.gg-stats .st { text-align: center; padding: .85rem .6rem .8rem;
  border-left: 1px solid var(--b-subtle); }
.gg-stats .st:first-child { border-left: 0; }
.gg-stats .n { font-family: var(--display); font-weight: 300; font-size: 1.5rem;
  line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.gg-stats .l { font-family: var(--body); font-size: .56rem; letter-spacing: .15em;
  text-transform: uppercase; color: rgba(28,40,33,.55); margin-top: .45rem; }
@media (max-width: 768px) { .gg-stats { margin: .9rem 1.25rem 0; } }

/* about: the artifact layout */
.gg-about { max-width: 1180px; margin: 0 auto; padding: 8rem 3rem 4rem; }
@media (max-width: 768px) { .gg-about { padding: 5.5rem 1.25rem 3rem; } }
.gg-ab-hero { display: grid; grid-template-columns: 360px minmax(0,1fr);
  gap: 3.4rem; align-items: stretch; }
.gg-ab-port { overflow: hidden; }
.gg-ab-port img { width: 100%; height: 100%; object-fit: cover;
  object-position: 50% 30%; display: block; }
.gg-ab-lead { display: flex; flex-direction: column; }
.gg-ab-h1 { font-family: var(--display); font-weight: 300; font-size: 2.9rem;
  line-height: 1.08; letter-spacing: -.022em; margin: 0 0 1.2rem; color: var(--ink); }
.gg-ab-h1 em { font-style: italic; color: var(--terra); }
.gg-ab-lead p { font-size: 1rem; line-height: 1.82; color: rgba(28,40,33,.86);
  margin: 0 0 1.1rem; }
.gg-ab-stats { margin-top: auto; padding-top: 1.6rem; display: flex; }
.gg-ab-stats .s { flex: 1; border-left: 1px solid var(--b-subtle); padding-left: 1.4rem; }
.gg-ab-stats .s:first-child { border-left: 0; padding-left: 0; }
.gg-ab-stats .n { font-family: var(--display); font-weight: 300; font-size: 2.3rem;
  line-height: 1; color: var(--ink); }
.gg-ab-stats .l { font-family: var(--body); font-size: .58rem; letter-spacing: .15em;
  text-transform: uppercase; color: rgba(28,40,33,.55); margin-top: .5rem; }
.gg-ab-body { display: grid; grid-template-columns: minmax(0,1fr) 300px;
  gap: 3.4rem; align-items: start; margin-top: 3.8rem; }
.gg-ab-main h2 { font-family: var(--display); font-weight: 300; font-size: 1.56rem;
  letter-spacing: -.012em; border-bottom: 1px solid var(--b-medium);
  padding-bottom: .6rem; margin: 2.6rem 0 1.1rem; color: var(--ink); }
.gg-ab-main h2:first-child { margin-top: 0; }
.gg-ab-main p { font-size: 1rem; line-height: 1.82; color: rgba(28,40,33,.86);
  margin: 0 0 1.1rem; }
.gg-ab-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem;
  margin: 1.7rem 0 .6rem; }
.gg-ab-pair div { aspect-ratio: 3/2; overflow: hidden; }
.gg-ab-pair img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gg-ab-cap { font-family: var(--body); font-size: .62rem; letter-spacing: .15em;
  text-transform: uppercase; color: rgba(28,40,33,.5); margin: 0 0 1.6rem; }
.gg-ab-side { position: sticky; top: 80px; display: flex; flex-direction: column;
  gap: .7rem; }
.gg-ab-side .bx { border: 1px solid var(--b-medium); padding: .95rem 1.1rem 1.05rem; }
.gg-ab-side .k { font-family: var(--body); font-size: .58rem; letter-spacing: .15em;
  text-transform: uppercase; color: var(--terra); margin-bottom: .35rem; }
.gg-ab-side .v { font-size: .9rem; line-height: 1.6; color: rgba(28,40,33,.86); }
.gg-ab-side .v a { color: var(--terra); }
@media (max-width: 900px) {
  .gg-ab-hero, .gg-ab-body { grid-template-columns: 1fr; gap: 1.6rem; }
  .gg-ab-side { position: static; }
  .gg-ab-h1 { font-size: 2.2rem; }
}

/* ==========================================================================
   CONTRAST FIXES — the old look's dark-green panels, flattened to the new system
   ========================================================================== */
/* when-to-visit: the label cell loses its dark panel, so its text goes to ink */
.whm-lbl { background: transparent !important;
  border-right: 1px solid var(--b-medium) !important;
  border-bottom: 1px solid var(--b-subtle) !important; }
.whm-lbl-title { color: var(--ink) !important; font-style: normal !important;
  font-family: var(--body) !important; font-weight: 500 !important;
  font-size: .92rem !important; }
.whm-lbl-rec { color: var(--terra) !important; font-style: normal !important;
  font-family: var(--body) !important; font-size: .56rem !important;
  letter-spacing: .15em; text-transform: uppercase; }
.whm-lbl-sub { color: rgba(28,40,33,.55) !important; }
.whm-lbl-icon { filter: grayscale(1) opacity(.7); }
/* budget: the header row loses its dark panel; titles become the terra label */
.bgt-head { background: transparent !important;
  border-bottom: 1px solid var(--ink) !important; }
.bgt-title, .bgt-hcell .bgt-title { color: var(--terra) !important;
  font-family: var(--body) !important; font-size: .66rem !important;
  font-weight: 500 !important; letter-spacing: .16em; text-transform: uppercase; }
/* the affiliate note's bare link sat default-blue on the dark footer */
footer a, .footer-affiliate a { color: rgba(255,255,255,.85); }

/* dropdown items read sentence-case in the artifact menu */
.nav-dropdown-item, .nav-dropdown-item .country-name {
  text-transform: none !important; letter-spacing: .01em !important;
  font-size: .84rem !important;
}
