/* ============================================================
   GoAtlas Editorial Design Layer  (Black Tomato direction)
   Loaded LAST on every page. Styling only — it never adds,
   removes or rewrites any text, link, photo or feature.
   Principles: big full-bleed photography, generous white space,
   larger readable type, flat square cards, quiet navigation.
   Brand colours (midnight + gold) and fonts are unchanged.
   ============================================================ */

:root{
  --ed-ink:#14181F;
  --ed-text:#3A4250;
  --ed-muted:#6A7280;
  --ed-line:#E4E1DA;
  --ed-paper:#FFFFFF;
  --ed-stone:#F6F3EE;
  --ed-gold-dark:#9C7A22;
  --ed-ease:cubic-bezier(.22,.7,.2,1);
}

/* ---------- Base ---------- */
body{ background:var(--ed-paper) !important; color:var(--ed-ink); -webkit-font-smoothing:antialiased; }
p{ color:var(--ed-text); }
.bg-soft{ background:var(--ed-stone) !important; }
section{ padding-top:130px; padding-bottom:130px; }
@media(max-width:640px){ section{ padding-top:76px; padding-bottom:76px; } }
.wrap{ max-width:1320px; }

/* ---------- Headings & labels ---------- */
h1,h2,h3{ color:var(--ed-ink); font-weight:500 !important; letter-spacing:-0.02em; }
.section-head{ max-width:760px; margin-bottom:64px; }
.section-head h2{ font-size:clamp(2.1rem,4.2vw,3.4rem) !important; line-height:1.08 !important; margin-top:18px; }
.section-head p{ font-size:1.06rem !important; line-height:1.8 !important; color:var(--ed-text) !important; font-weight:400 !important; max-width:620px; }
.eyebrow{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:0.72rem !important; letter-spacing:0.28em !important;
  color:var(--ed-gold-dark) !important; font-weight:600 !important;
  text-transform:uppercase;
}
.eyebrow::before,.eyebrow::after{ display:none !important; }

/* ---------- Header: quiet, transparent over the photo ---------- */
header{ padding:22px 0 !important; background:rgba(10,16,26,0.92) !important; border-bottom:none !important; }
/* Only the homepage header starts transparent over the full-screen photo */
body:has(#hero3d) header:not(.scrolled){ padding:26px 0 !important; background:linear-gradient(180deg,rgba(6,12,22,0.55),rgba(6,12,22,0)) !important; backdrop-filter:none !important; }
header.scrolled{
  background:rgba(10,16,26,0.92) !important;
  backdrop-filter:blur(14px) !important; -webkit-backdrop-filter:blur(14px) !important;
  border-bottom:none !important; padding:16px 0 !important;
}
.nav-links{ gap:26px !important; margin-left:40px; }
@media(max-width:1380px){ .nav-links{ gap:18px !important; margin-left:28px; } .nav-links a{ letter-spacing:0.12em !important; } }
.nav-links a{
  font-size:0.7rem !important; letter-spacing:0.16em; text-transform:uppercase;
  font-weight:500 !important; color:rgba(255,255,255,0.86) !important; white-space:nowrap;
}
.nav-links a:hover{ color:#fff !important; }
.nav-cta{
  border-radius:0 !important; background:transparent !important;
  border:1px solid rgba(255,255,255,0.55) !important;
  font-size:0.68rem !important; letter-spacing:0.18em; text-transform:uppercase; padding:11px 20px !important;
}
.nav-cta:hover{ background:#fff !important; color:var(--ed-ink) !important; border-color:#fff !important; }
.nav-login{ font-size:0.72rem !important; letter-spacing:0.18em; text-transform:uppercase; }
.nav-signup{
  border-radius:0 !important; font-size:0.68rem !important; letter-spacing:0.18em;
  text-transform:uppercase; padding:11px 20px !important; box-shadow:none !important;
}

/* ---------- Buttons: flat, square, letter-spaced ---------- */
.btn-primary,.btn-ghost,.btn-outline,.svc-btn,.journey-detail-cta,.search-btn,
.cookie-accept,.cookie-decline{
  border-radius:0 !important; box-shadow:none !important;
  text-transform:uppercase; letter-spacing:0.16em !important;
  font-size:0.72rem !important; font-weight:600 !important;
}
.btn-primary{ padding:18px 36px !important; }
.btn-primary:hover{ transform:none !important; box-shadow:none !important; background:#E3C25A !important; }
.btn-ghost{ border-color:rgba(255,255,255,0.7) !important; padding:18px 34px !important; }
.btn-ghost:hover{ background:#fff !important; color:var(--ed-ink) !important; transform:none; }

/* ---------- Homepage hero: one full-screen photograph ---------- */
.hero3d{ height:100vh !important; min-height:640px !important; background:#07101E !important; }
.hero3d #globeCanvas{ display:none !important; }
.hero3d .hero-photos{ display:block !important; z-index:1 !important; }
.hero3d .hero-photo-card{ display:none !important; }
.hero3d .hero-photo-card.hero-photo-a{
  display:block !important; position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important;
  -webkit-mask-image:none !important; mask-image:none !important;
  filter:none !important;
}
.hero3d .hero-photo-card img{ animation:edKenBurns 18s ease-in-out infinite alternate !important; }
@keyframes edKenBurns{ from{transform:scale(1.02);} to{transform:scale(1.1);} }
.hero3d::after{
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg,rgba(6,12,22,0.45) 0%,rgba(6,12,22,0.15) 35%,rgba(6,12,22,0.25) 60%,rgba(6,12,22,0.75) 100%);
}
.hero3d .hero-content{ z-index:5 !important; max-width:980px !important; }
.hero3d .hero-content h1{
  font-size:clamp(2.6rem,6vw,5rem) !important; font-weight:500 !important;
  line-height:1.02 !important; letter-spacing:-0.025em !important; color:#fff !important;
}
.hero3d .hero-content p{ color:rgba(255,255,255,0.88) !important; font-size:1.12rem !important; }
.hero3d .hero-content .eyebrow{ color:#fff !important; font-family:'Plus Jakarta Sans',sans-serif !important; font-style:normal !important; font-size:0.72rem !important; letter-spacing:0.32em !important; }
.hero-hint{ z-index:5 !important; color:rgba(255,255,255,0.75) !important; }

/* ---------- Search: a flat bar, not a floating glass card ---------- */
.search-card{
  border-radius:0 !important; background:#fff !important; backdrop-filter:none !important;
  border:none !important; box-shadow:0 30px 60px -40px rgba(6,12,22,0.45) !important;
}
.search-field label{ letter-spacing:0.2em !important; font-size:0.62rem !important; }
.search-btn{ background:var(--ed-ink) !important; }
.search-tag{ border-radius:0 !important; }

/* Trending strip: plain editorial links */
.trending-strip{ padding:34px 0 !important; border-color:var(--ed-line) !important; }
.trending-chip{ border-radius:0 !important; border:none !important; border-bottom:1px solid var(--ed-line) !important; padding:8px 4px !important; }
.trending-label{ color:var(--ed-gold-dark) !important; letter-spacing:0.24em !important; }

/* ---------- Photo cards: bigger, square, no drop shadows ---------- */
.dest-card,.g-card,.insp-card,.gem-card,.item-card,.pack-card,.partner-card,.offer-card,
.promo-card,.banner-tile,.info-card,.split-card,.tip-card,.journey-card,.itin-card,
.why-card,.svc-card,.testi-card,.guide-pill,.road-card,.region-card,.post-card,.blog-card,.article-card{
  border-radius:0 !important;
  box-shadow:none !important;
}
.dest-card{ flex:0 0 380px !important; height:520px !important; }
@media(max-width:640px){ .dest-card{ flex:0 0 82vw !important; height:460px !important; } }
.dest-info h3{ font-size:1.9rem !important; font-weight:500 !important; }
.dest-coord{ letter-spacing:0.14em !important; }
.dest-card::after,.g-card::after,.insp-card::after,.gem-card::after{
  background:linear-gradient(180deg,rgba(6,12,22,0) 40%,rgba(6,12,22,0.82) 100%) !important;
}
.g-card{ height:380px !important; }
.g-info h4{ font-size:1.35rem !important; font-weight:500 !important; }
.insp-card{ min-height:420px !important; }
.gem-card{ min-height:340px !important; }
.insp-info h3,.gem-info h3{ font-size:1.5rem !important; font-weight:500 !important; }
.dest-scroll{ gap:18px !important; }
.dest-scroll::-webkit-scrollbar-thumb{ background:var(--ed-ink) !important; }

/* ---------- Text cards: no boxes, thin rules instead ---------- */
.why-card,.info-card,.tip-card,.guide-pill,.road-card{
  background:transparent !important; border:none !important;
  border-top:1px solid var(--ed-ink) !important; padding:30px 4px 10px !important;
}
.why-card:hover,.info-card:hover,.tip-card:hover,.guide-pill:hover,.road-card:hover{ transform:none !important; }
.why-icon-badge{ border-radius:0 !important; box-shadow:none !important; }
.svc-icon-badge{ border-radius:0 !important; box-shadow:none !important; }
.info-card h4,.guide-pill h4{ font-size:1.12rem !important; }
.info-card p,.why-card p,.guide-pill p,.tip-card p{ font-size:0.95rem !important; color:var(--ed-text) !important; font-weight:400 !important; line-height:1.7 !important; }
.info-card .ic-label{ color:var(--ed-gold-dark) !important; letter-spacing:0.2em !important; }
.item-card,.partner-card,.svc-card,.testi-card,.itin-card,.offer-card,.promo-card{
  border:1px solid var(--ed-line) !important;
}
.item-card:hover,.partner-card:hover,.svc-card:hover,.testi-card:hover,.itin-card:hover,.offer-card:hover,.promo-card:hover{
  box-shadow:none !important; border-color:var(--ed-ink) !important;
}
.item-tag,.g-tag,.offer-tag,.banner-label,.soon-badge,.live-badge,.svc-badge{ border-radius:0 !important; }

/* Dark feature bands: full-width feel, square corners */
.anywhere-band,.expert-panel,.newsletter,.founder-panel,.journey-detail-inner{ border-radius:0 !important; box-shadow:none !important; }
.anywhere-band{ padding:56px 60px !important; background:var(--ed-ink) !important; }
.anywhere-band h3{ font-size:1.7rem !important; font-weight:500 !important; color:#fff !important; }
.newsletter{ padding:90px 60px !important; background:var(--ed-ink) !important; }
.newsletter h2{ font-size:clamp(2rem,3.6vw,3rem) !important; color:#fff !important; }
.news-form input{ border-radius:0 !important; }
.expert-panel{ background:var(--ed-ink) !important; }
.expert-copy h2{ font-size:clamp(2rem,3.4vw,2.8rem) !important; font-weight:500 !important; }
.founder-panel{ border:none !important; }

/* ---------- Destination & region heroes: full screen ---------- */
#heroSection3D.hero{ min-height:92vh !important; }
#heroSection3D .hero-photo img{ object-fit:cover !important; }
#heroSection3D .hero-inner h1{ font-size:clamp(3rem,7.5vw,6.2rem) !important; font-weight:500 !important; letter-spacing:-0.03em !important; color:#fff !important; }
#heroSection3D .eyebrow{ color:var(--gold-soft) !important; }
#heroSection3D .hero-inner p.lede{ color:rgba(255,255,255,0.9) !important; font-size:1.12rem !important; }
.region-hero,.hub-hero,.article-hero{ min-height:80vh !important; }
.region-hero h1,.hub-hero h1,.article-hero h1{ font-size:clamp(2.8rem,6.5vw,5.4rem) !important; font-weight:500 !important; }

/* Quick-facts strip + section jump menu */
.facts-strip{ background:#fff !important; backdrop-filter:none !important; border-top:none !important; border-bottom:1px solid var(--ed-line) !important; }
.facts-row > *{ border-color:var(--ed-line) !important; }

/* Readable body text inside content sections */
section p:not([class]){ font-size:1rem; line-height:1.8; }
section li{ font-size:0.98rem; line-height:1.75; }

/* Tables (budget guide etc.) */
table td,table th{ font-size:0.92rem; padding-top:16px; padding-bottom:16px; }
table{ border-radius:0 !important; }
table td,table th{ border-color:var(--ed-line) !important; }

/* ---------- Footer ---------- */
footer{ background:#07101E !important; }

/* ---------- Floating buttons + cookie banner: smaller on phones ---------- */
.cookie-banner{ border-radius:0 !important; background:var(--ed-ink) !important; }
@media(max-width:640px){
  .cookie-banner{ left:0 !important; right:0 !important; bottom:0 !important; padding:14px 16px !important; gap:10px !important; }
  .cookie-text{ font-size:0.76rem !important; line-height:1.45 !important; min-width:0 !important; }
  .cookie-btns{ width:100%; }
  .cookie-btns button{ flex:1; padding:10px !important; }
  .chat-fab,.whatsapp-fab{ transform:scale(0.86); }
}

/* ---------- Respect reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .hero3d .hero-photo-card img{ animation:none !important; }
}

/* ============================================================
   Gallery white + refined type (site-wide)
   Pure white grounds instead of cream, lighter Playfair headings,
   quiet grey text and hairline dividers between light sections.
   ============================================================ */
:root{ --white:#FFFFFF !important; --soft-gray:#FFFFFF !important; }
html, body{ background:#FFFFFF !important; }
/* luxury.css fills un-styled sections with cream at plain `section` specificity;
   this replaces that with white at the same specificity, so dark sections keep theirs. */
section{ background:#FFFFFF; }
[style*="background:#FFFFFF"], [style*="background: #FFFFFF"], [style*="background:#FFFFFF"],
[style*="background:var(--white)"], [style*="background:var(--soft-gray)"]{ background:#FFFFFF !important; }
.bg-soft, .journey-section{ background:#FFFFFF !important; }
h1,h2,h3{ font-weight:400 !important; }
h4{ font-weight:500; }
.section-head h2{ letter-spacing:-0.025em !important; }
section p, .section-head p{ color:#3A4250; }
/* hairline between consecutive light sections, like a gallery catalogue */
main > section, body > section{ border-top:1px solid transparent; }
section:not(.hero3d):not(#heroSection3D):not(.hero):not(.ga-chapters):not(.trending-strip) + section:not(.ga-chapters):not(.trending-strip){ border-top-color:#E4E1DA; }
/* small uppercase sub-labels written inline on some sections */
p[style*="text-transform:uppercase"]{ letter-spacing:0.3em !important; font-size:0.68rem !important; color:#6A7280 !important; }

/* ---------- Partners: featured plaques ---------- */
.ga-plaques{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:28px; perspective:1200px; }
@media(max-width:900px){ .ga-plaques{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.ga-plaque{ position:relative; aspect-ratio:4/3; background:#F6F3EE; display:flex; align-items:center; justify-content:center; text-decoration:none; color:#14181F;
  transform-style:preserve-3d; transition:transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .6s, background .4s; }
.ga-plaque img{ max-width:62%; max-height:42%; width:auto; height:auto; object-fit:contain; transform:translateZ(30px); transition:transform .6s cubic-bezier(.2,.8,.2,1); border-radius:0 !important; }
.ga-plaque-tag{ position:absolute; left:16px; bottom:12px; font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:#6A7280; }
.ga-plaque-go{ position:absolute; right:16px; bottom:12px; font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:#9C7A22; opacity:0; translate:-6px 0; transition:opacity .4s, translate .4s; }
.ga-plaque::before, .ga-plaque::after{ content:''; position:absolute; left:0; right:0; height:1px; background:#D4AF37; transform:scaleX(0); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.ga-plaque::before{ top:0; transform-origin:left; }
.ga-plaque::after{ bottom:0; transform-origin:right; }
.ga-plaque:hover{ background:#FFFFFF; box-shadow:0 40px 70px -40px rgba(10,16,32,0.45); }
.ga-plaque:hover::before, .ga-plaque:hover::after{ transform:scaleX(1); }
.ga-plaque:hover .ga-plaque-go{ opacity:1; translate:0 0; }
.ga-plaque:hover img{ transform:translateZ(60px) scale(1.04); }
@media(max-width:600px){ .ga-plaque-tag{ left:10px; bottom:8px; font-size:0.56rem; } .ga-plaque-go{ display:none; } }

/* ---------- Partners: brand logos drifting in two rows ---------- */
.ga-logos{ display:flex; flex-direction:column; gap:22px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.ga-logo-row{ overflow:hidden; }
.ga-logo-track{ display:flex; width:max-content; gap:18px; animation:gaDrift 46s linear infinite; }
.ga-logo-dup{ display:contents; }
.ga-logo-row.rev .ga-logo-track{ animation-direction:reverse; animation-duration:52s; }
.ga-logo-row:hover .ga-logo-track{ animation-play-state:paused; }
@keyframes gaDrift{ from{ transform:translateX(0); } to{ transform:translateX(-33.333%); } }
.ga-chip{ flex:0 0 auto; width:190px; height:92px; display:flex; align-items:center; justify-content:center; border:1px solid #E4E1DA; background:#FFFFFF; transition:border-color .4s, background .4s; }
.ga-chip img.partner-logo-img{ height:auto !important; width:auto; max-width:72%; max-height:52%; object-fit:contain; filter:grayscale(1) contrast(1.05); opacity:0.8 !important; mix-blend-mode:multiply; transition:filter .5s, opacity .5s, transform .5s cubic-bezier(.2,.8,.2,1); }
.ga-chip:hover{ border-color:#14181F; background:#F6F3EE; }
.ga-chip:hover img.partner-logo-img{ filter:none; opacity:1 !important; transform:scale(1.08); }
@media(max-width:600px){ .ga-chip{ width:150px; height:76px; } }
@media(prefers-reduced-motion:reduce){
  .ga-logo-track{ animation:none; flex-wrap:wrap; width:auto; justify-content:center; }
  .ga-logo-dup{ display:none; }
}

/* ============================================================
   Private consultation (homepage #experts)
   ============================================================ */
.ga-cx{ background:#FFFFFF !important; padding-top:130px; padding-bottom:130px; }
.ga-cx h2{ font-family:'Playfair Display',serif; font-weight:400 !important; letter-spacing:-0.02em; line-height:1.06; color:#14181F; text-wrap:balance; }
.ga-cx h3{ color:#14181F; }
.ga-cx-grid{ display:grid; grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr); gap:80px; align-items:center; }
@media(max-width:900px){ .ga-cx-grid{ grid-template-columns:1fr; gap:56px; } }
.ga-cx-frame-wrap{ perspective:1300px; }
.ga-cx-frame{ position:relative; aspect-ratio:11/16; max-height:640px; margin-inline:auto; width:min(100%,460px); transform-style:preserve-3d; transition:transform .9s cubic-bezier(.2,.8,.2,1); }
.ga-cx-photo{ position:absolute; inset:0; overflow:hidden; background:#F6F3EE; }
.ga-cx-photo img{ width:100%; height:112%; object-fit:cover; object-position:50% 20%; }
.ga-cx-edge{ position:absolute; inset:-16px; border:1px solid #D4AF37; transform:translateZ(-40px); pointer-events:none; }
.ga-cx-card{ position:absolute; left:-28px; bottom:42px; transform:translateZ(70px); background:#FFFFFF; border:1px solid #E4E1DA; padding:18px 22px; min-width:230px; box-shadow:0 30px 60px -36px rgba(10,16,32,0.45); }
@media(max-width:600px){ .ga-cx-card{ left:-8px; bottom:24px; min-width:0; } .ga-cx-edge{ inset:-10px; } }
.ga-cx-who{ font-family:'Playfair Display',serif; font-size:1.3rem; color:#14181F; }
.ga-cx-role{ font-size:0.66rem; letter-spacing:0.24em; text-transform:uppercase; color:#9C7A22; margin-top:4px; }
.ga-cx-status{ display:inline-flex; align-items:center; gap:10px; font-size:0.78rem; color:#3A4250; border:1px solid #E4E1DA; padding:8px 14px; }
.ga-cx-status i{ width:8px; height:8px; border-radius:50%; background:#B8BEC7; display:block; }
.ga-cx-status.open i{ background:#1F8F5F; animation:gaPing 2.4s infinite; }
@keyframes gaPing{ 0%{ box-shadow:0 0 0 0 rgba(31,143,95,0.45); } 70%{ box-shadow:0 0 0 10px rgba(31,143,95,0); } 100%{ box-shadow:0 0 0 0 rgba(31,143,95,0); } }
.ga-cx-copy h2{ font-size:clamp(2.4rem,5vw,4.2rem) !important; margin-top:22px; }
.ga-cx-copy h2 em{ font-style:italic; color:#9C7A22; }
.ga-cx-lede{ margin-top:22px; max-width:50ch; color:#3A4250 !important; font-size:1.06rem !important; line-height:1.75; }
.ga-cx-promises{ margin-top:38px; border-top:1px solid #E4E1DA; }
.ga-cx-promise{ display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; padding:20px 0; border-bottom:1px solid #E4E1DA; align-items:start; }
.ga-cx-n{ font-family:'Playfair Display',serif; font-style:italic; color:#9C7A22; font-size:1.15rem; line-height:1.5; }
.ga-cx .ga-cx-promise h3{ font-family:'Plus Jakarta Sans',sans-serif !important; font-weight:500 !important; font-size:1.02rem !important; letter-spacing:0; line-height:1.5; margin:0; }
.ga-cx .ga-cx-promise p{ color:#6A7280 !important; font-size:0.92rem !important; margin-top:2px; line-height:1.6; }
.ga-cx-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; align-items:center; }
.ga-cx-btn{ display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:600; padding:19px 32px; border:1px solid #14181F; background:#14181F; color:#FFFFFF !important; transition:background .35s, color .35s, border-color .35s; }
.ga-cx-btn:hover{ background:#D4AF37; border-color:#D4AF37; color:#07101E !important; }
.ga-cx-btn.quiet{ background:transparent; color:#14181F !important; }
.ga-cx-btn.quiet:hover{ background:#F6F3EE; border-color:#14181F; }
.ga-cx-btn svg{ width:16px; height:16px; }
.ga-cx-small{ font-size:0.8rem !important; color:#6A7280 !important; margin-top:16px; }
.ga-cx-label{ font-size:0.68rem; letter-spacing:0.3em; text-transform:uppercase; color:#9C7A22; font-weight:600; }
.ga-cx-ways, .ga-cx-steps{ margin-top:110px; padding-top:110px; border-top:1px solid #E4E1DA; }
.ga-cx-ways h2, .ga-cx-steps h2{ font-size:clamp(2rem,4vw,3.2rem) !important; margin-top:16px; }
.ga-cx-sub{ margin-top:14px; color:#3A4250 !important; max-width:56ch; }
.ga-cx-wgrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:48px; perspective:1200px; }
@media(max-width:900px){ .ga-cx-wgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px){ .ga-cx-wgrid{ grid-template-columns:1fr; } }
.ga-cx-way{ position:relative; text-decoration:none; background:#F6F3EE; border:1px solid transparent; padding:28px 24px 26px; color:#14181F;
  transform-style:preserve-3d; transition:transform .6s cubic-bezier(.2,.8,.2,1), background .4s, border-color .4s, box-shadow .6s, color .4s; min-height:230px; display:flex; flex-direction:column; gap:10px; }
.ga-cx-way svg{ width:30px; height:30px; stroke:#14181F; transform:translateZ(30px); transition:stroke .4s; }
.ga-cx .ga-cx-way h3{ font-family:'Playfair Display',serif; font-size:1.5rem !important; margin-top:14px; transform:translateZ(24px); transition:color .4s; }
.ga-cx .ga-cx-way p{ color:#6A7280 !important; font-size:0.9rem !important; line-height:1.6; transform:translateZ(16px); transition:color .4s; }
.ga-cx-pick{ margin-top:auto; font-size:0.62rem; letter-spacing:0.24em; text-transform:uppercase; color:#9C7A22; transform:translateZ(16px); }
.ga-cx-way:hover{ background:#07101E; border-color:#07101E; box-shadow:0 40px 70px -44px rgba(10,16,32,0.6); }
.ga-cx-way:hover svg{ stroke:#D4AF37; }
.ga-cx .ga-cx-way:hover h3{ color:#FFFFFF; }
.ga-cx .ga-cx-way:hover p{ color:#B8C0CC !important; }
.ga-cx-way:hover .ga-cx-pick{ color:#D4AF37; }
.ga-cx-srow{ position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:60px; }
@media(max-width:800px){ .ga-cx-srow{ grid-template-columns:1fr; gap:44px; } .ga-cx-sline{ display:none; } }
.ga-cx-sline{ position:absolute; left:0; right:0; top:27px; height:1px; background:#E4E1DA; }
.ga-cx-sline span{ position:absolute; inset:0; background:#D4AF37; transform-origin:left; }
.ga-cx-dot{ width:56px; height:56px; border-radius:50%; background:#FFFFFF; border:1px solid #D4AF37; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:1.3rem; color:#9C7A22; position:relative; z-index:1; }
.ga-cx .ga-cx-step h3{ font-family:'Playfair Display',serif; font-size:1.6rem !important; margin-top:22px; }
.ga-cx .ga-cx-step p{ color:#6A7280 !important; margin-top:8px; max-width:34ch; font-size:0.98rem !important; }
.ga-cx-final{ margin-top:70px; }
@media(max-width:640px){ .ga-cx{ padding-top:80px; padding-bottom:80px; } .ga-cx-ways, .ga-cx-steps{ margin-top:70px; padding-top:70px; } }
@media(prefers-reduced-motion:reduce){ .ga-cx-status.open i{ animation:none; } }

/* ============================================================
   GoAtlas artifact palette — applied site-wide
   paper #FFFFFF · stone #F6F3EE · ink #14181F · text #3A4250
   muted #6A7280 · line #E4E1DA · midnight #07101E
   gold #D4AF37 · gold-dark #9C7A22 · status green #1F8F5F
   ============================================================ */
:root{
  --midnight:#07101E !important; --midnight-deep:#05080F !important; --ink:#14181F !important;
  --ocean:#14181F !important; --emerald:#1F8F5F !important;
  --gold:#D4AF37 !important; --gold-soft:#E9CE7A !important;
  --heading:#14181F !important; --body-text:#3A4250 !important;
}
body{ color:#14181F; }

/* Primary buttons: ink on light backgrounds, gold hover (as in the artifacts)… */
.btn-primary, .svc-btn, .journey-detail-cta, .news-form button, .search-btn{
  background:#14181F !important; color:#FFFFFF !important; border:1px solid #14181F !important;
  transition:background .35s, color .35s, border-color .35s !important;
}
.btn-primary:hover, .svc-btn:hover, .journey-detail-cta:hover, .news-form button:hover, .search-btn:hover{
  background:#D4AF37 !important; border-color:#D4AF37 !important; color:#07101E !important;
}
/* …and gold on dark surfaces, where ink would disappear */
.hero3d .btn-primary, #heroSection3D .btn-primary, .hero .btn-primary, .region-hero .btn-primary, .hub-hero .btn-primary, .article-hero .btn-primary,
.anywhere-band .btn-primary, .newsletter .btn-primary, .newsletter .news-form button, .expert-panel .btn-primary, footer .btn-primary,
.toolkit-card .btn-primary, .safety-box .btn-primary, .ga-chapters .btn-primary,
[style*="background:var(--midnight)"] .btn-primary, [style*="background:var(--midnight-deep)"] .btn-primary,
[style*="background:#14181F"] .btn-primary, [style*="background:#05080F"] .btn-primary{
  background:#D4AF37 !important; color:#07101E !important; border-color:#D4AF37 !important;
}
.hero3d .btn-primary:hover, #heroSection3D .btn-primary:hover, .anywhere-band .btn-primary:hover, .newsletter .btn-primary:hover,
.newsletter .news-form button:hover, footer .btn-primary:hover, .toolkit-card .btn-primary:hover,
[style*="background:var(--midnight)"] .btn-primary:hover, [style*="background:#14181F"] .btn-primary:hover{
  background:#FFFFFF !important; border-color:#FFFFFF !important; color:#07101E !important;
}
.btn-outline{ border-color:#14181F !important; color:#14181F !important; border-radius:0 !important; }
.btn-outline:hover{ background:#14181F !important; color:#FFFFFF !important; }
.nav-signup{ background:#D4AF37 !important; color:#07101E !important; }
.nav-signup:hover{ background:#FFFFFF !important; }

/* Line icons: thin ink strokes, no coloured badges */
[class*="icon-badge"]{ background:none !important; box-shadow:none !important; border:none !important; border-radius:0 !important;
  width:auto !important; height:auto !important; padding:0 !important; justify-content:flex-start !important; color:#14181F; margin-bottom:22px !important; }
.ga-line-icon{ width:34px; height:34px; display:block; color:inherit; }
[style*="background:var(--midnight)"] [class*="icon-badge"], .expert-panel [class*="icon-badge"], footer [class*="icon-badge"]{ color:#D4AF37; }

/* Floating buttons in the palette */
.whatsapp-fab{ background:#14181F !important; box-shadow:0 18px 40px -16px rgba(7,16,30,0.6) !important; }
.whatsapp-fab svg, .whatsapp-fab path{ fill:#FFFFFF !important; }
.chat-fab{ background:#D4AF37 !important; color:#07101E !important; box-shadow:0 18px 40px -16px rgba(7,16,30,0.5) !important; }
.chat-head{ background:#07101E !important; }

/* Small accents that used blue/emerald */
.itin-strip{ background:#D4AF37 !important; height:2px !important; }
.testi-avatar{ background:#F6F3EE !important; border:1px solid #E4E1DA; }
.live-badge{ background:#14181F !important; color:#FFFFFF !important; border-radius:0 !important; }
.soon-badge{ background:#F6F3EE !important; color:#9C7A22 !important; }
.road-card.live{ border-color:#14181F !important; box-shadow:none !important; }
.trending-chip span.tick{ color:#9C7A22 !important; }
.search-tag:hover, .search-tag.active{ border-color:#14181F !important; background:#F6F3EE !important; color:#14181F !important; }
a{ text-decoration-color:#D4AF37; }

/* Square, flat surfaces everywhere (artifact style) */
[class*="card"]:not(.chat-panel):not(.modal-overlay), [class*="-box"], [class*="-panel"]:not(.chat-panel),
[class*="total"], .table-wrap, .budget-table, input, select, textarea, .search-tag, .journey-chip, .trending-chip,
.support-mode, .item-tag, .g-tag, [class*="-pill"], [class*="-chip"]:not(.chat-chip){
  border-radius:0 !important;
}
[class*="card"]:not(.chat-panel):not(.dest-card):not(.g-card):not(.insp-card):not(.gem-card):not(.journey-card):not(.ga-cx-card){
  box-shadow:none !important;
}
.mv-card, .feat-card, .contact-card, .role-card, .side-card, .consult-card, .planner-card, .breakdown-card, .reply-card, .region-card, .post-card{
  border:1px solid #E4E1DA !important; background:#FFFFFF !important;
}
input:focus, select:focus, textarea:focus{ outline:1px solid #D4AF37 !important; border-color:#D4AF37 !important; }

/* ============================================================
   Journeys as expanding panels (homepage #journeyGrid)
   ============================================================ */
.journey-grid.ga-jpanels{ display:flex !important; gap:8px !important; height:clamp(460px,70vh,640px); grid-template-columns:none !important; }
.ga-jp{ position:relative; flex:1 1 0; min-width:0; overflow:hidden; cursor:pointer; background:#07101E; color:#FFFFFF; outline-offset:3px;
  transition:flex-grow .9s cubic-bezier(.2,.8,.2,1); }
.ga-jp.on{ flex-grow:5.5; }
.ga-jp img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.12); filter:brightness(.62) saturate(.85);
  transition:transform 1.4s cubic-bezier(.2,.8,.2,1), filter .9s; }
.ga-jp.on img{ transform:scale(1); filter:none; }
.ga-jp::after{ content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(7,16,30,0) 35%,rgba(7,16,30,0.9) 100%); }
.ga-jp-num{ position:absolute; z-index:2; top:18px; left:50%; translate:-50% 0; font-family:'Playfair Display',serif; font-style:italic; color:#E9CE7A; font-size:1rem; transition:left .6s, translate .6s; }
.ga-jp.on .ga-jp-num{ left:28px; translate:0 0; }
.ga-jp-vert{ position:absolute; z-index:2; left:50%; bottom:28px; translate:-50% 0; writing-mode:vertical-rl; rotate:180deg; font-family:'Playfair Display',serif; font-size:1.25rem; white-space:nowrap; color:#FFFFFF; transition:opacity .4s; }
.ga-jp.on .ga-jp-vert{ opacity:0; }
.ga-jp-full{ position:absolute; z-index:2; left:28px; right:28px; bottom:28px; opacity:0; translate:0 24px; pointer-events:none; transition:opacity .5s .25s, translate .7s .25s cubic-bezier(.2,.8,.2,1); }
.ga-jp.on .ga-jp-full{ opacity:1; translate:0 0; pointer-events:auto; }
.ga-jp-eb{ font-size:0.62rem; letter-spacing:0.26em; text-transform:uppercase; color:#E9CE7A; font-weight:600; }
.ga-jp .ga-jp-full h3{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(1.8rem,3vw,2.6rem) !important; color:#FFFFFF !important; text-shadow:none !important; margin-top:8px; line-height:1.05; }
.ga-jp .ga-jp-full p{ color:rgba(255,255,255,0.84) !important; margin-top:8px; max-width:42ch; font-size:0.95rem !important; line-height:1.6; }
.ga-jp-dests{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.ga-jp-dests span{ font-size:0.74rem; border:1px solid rgba(255,255,255,0.4); padding:5px 10px; color:#FFFFFF; }
.ga-jp-go{ margin-top:18px; font-family:inherit; font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase; color:#07101E; background:#D4AF37; border:none; padding:13px 20px; font-weight:600; cursor:pointer; transition:background .3s; }
.ga-jp-go:hover{ background:#FFFFFF; }
@media(max-width:760px){
  .journey-grid.ga-jpanels{ flex-direction:column; height:auto; }
  .ga-jp{ flex:none; height:84px; transition:height .8s cubic-bezier(.2,.8,.2,1); }
  .ga-jp.on{ height:500px; }
  .ga-jp-vert{ writing-mode:horizontal-tb; rotate:0deg; left:24px; translate:0 -50%; bottom:auto; top:50%; }
  .ga-jp-num, .ga-jp.on .ga-jp-num{ left:auto; right:20px; translate:0 0; top:30px; }
  .ga-jp-full{ left:20px; right:20px; bottom:22px; }
}
@media(prefers-reduced-motion:reduce){ .ga-jp, .ga-jp img, .ga-jp-full{ transition:none !important; } }

/* ============================================================
   "Not seeing your destination?" as moving destination names
   ============================================================ */
.ga-names-sec{ padding-top:110px !important; padding-bottom:110px !important; overflow-x:clip; }
.ga-names-head{ text-align:center; margin-bottom:46px; }
.ga-names-head .eyebrow{ justify-content:center; }
.ga-names-head h2{ font-size:clamp(2rem,4.4vw,3.4rem) !important; margin-top:16px; max-width:20ch; margin-left:auto; margin-right:auto; }
.ga-names{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.ga-names-track{ display:flex; width:max-content; animation:gaNames 150s linear infinite; padding-block:8px; }
.ga-names.rev .ga-names-track{ animation-direction:reverse; animation-duration:170s; }
.ga-names:hover .ga-names-track, .ga-names:focus-within .ga-names-track{ animation-play-state:paused; }
.ga-names-dup{ display:contents; }
.ga-names a{ font-family:'Playfair Display',serif; font-size:clamp(2rem,5vw,3.8rem); white-space:nowrap; color:#14181F; text-decoration:none; padding-inline:28px; position:relative; transition:color .3s; line-height:1.3; }
.ga-names a:nth-child(even){ font-style:italic; color:#9C7A22; }
.ga-names a::after{ content:'·'; position:absolute; right:-6px; color:#D9D4CA; font-style:normal; }
.ga-names a:hover{ color:#D4AF37; }
@keyframes gaNames{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.ga-names-foot{ text-align:center; margin-top:44px; }
.ga-names-foot p{ max-width:54ch; margin:0 auto; color:#3A4250 !important; }
.ga-names-foot .btn-primary{ display:inline-block; margin-top:26px; }
@media(prefers-reduced-motion:reduce){
  .ga-names{ -webkit-mask-image:none; mask-image:none; }
  .ga-names-track{ animation:none; flex-wrap:wrap; width:auto; justify-content:center; }
  .ga-names-dup{ display:none; }
  .ga-names a{ font-size:1.4rem; padding-inline:14px; }
}

/* ============================================================
   Hidden Gems as a field journal (homepage #gems)
   ============================================================ */
.ga-journal-sec{ background:#F6F3EE !important; }
.ga-journal{ position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 34px; padding:20px 10px 30px; }
@media(max-width:900px){ .ga-journal{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; } }
@media(max-width:520px){ .ga-journal{ grid-template-columns:1fr; padding:10px 4px 20px; } }
.ga-print{ position:relative; display:block; background:#FFFFFF; padding:14px 14px 18px; text-decoration:none; color:#14181F;
  box-shadow:0 24px 50px -30px rgba(7,16,30,0.45), 0 2px 6px rgba(7,16,30,0.06) !important;
  transform:rotate(var(--r,0deg)); transition:transform .8s cubic-bezier(.2,.8,.2,1), box-shadow .8s !important; }
.ga-print:nth-child(3n+2){ margin-top:40px; }
@media(max-width:900px){ .ga-print:nth-child(3n+2){ margin-top:0; } .ga-print:nth-child(2n){ margin-top:30px; } }
@media(max-width:520px){ .ga-print:nth-child(2n){ margin-top:0; } }
.ga-print:hover{ transform:rotate(0deg) translateY(-10px) scale(1.03); box-shadow:0 40px 70px -34px rgba(7,16,30,0.55) !important; z-index:2; }
.ga-print-ph{ aspect-ratio:4/3; overflow:hidden; background:#F6F3EE; }
.ga-print-ph img{ width:100%; height:100%; object-fit:cover; filter:saturate(.92) contrast(1.02); }
.ga-print-tape{ position:absolute; top:-9px; left:50%; translate:-50% 0; width:58px; height:20px; background:rgba(212,175,55,0.55); rotate:-3deg; z-index:2; }
.ga-print-meta{ display:flex; justify-content:space-between; gap:10px; margin-top:14px; align-items:baseline; flex-wrap:wrap; }
.ga-print-d{ font-size:0.62rem; letter-spacing:0.24em; text-transform:uppercase; color:#9C7A22; font-weight:600; }
.ga-print-c{ font-family:ui-monospace,'SFMono-Regular',Menlo,monospace; font-size:0.66rem; letter-spacing:0.08em; color:#6A7280; }
.ga-print h3{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:1.45rem !important; color:#14181F !important; text-shadow:none !important; margin-top:6px; line-height:1.15; }
.ga-print p{ color:#6A7280 !important; font-size:0.88rem !important; margin-top:4px; line-height:1.5; }
@media(prefers-reduced-motion:reduce){ .ga-print{ transform:none; transition:none !important; } }

/* Experts page: photo that fades into the text (no frame line, no name card) */
.ga-cx-frame.ga-cx-fade{ width:min(100%,560px); margin-right:-70px; }
.ga-cx-fade .ga-cx-photo{ background:transparent; -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 74%,rgba(0,0,0,.6) 88%,transparent 100%); mask-image:linear-gradient(90deg,#000 0%,#000 74%,rgba(0,0,0,.6) 88%,transparent 100%); }
.ga-cx-fade .ga-cx-photo img{ object-position:38% 50%; }
@media(max-width:900px){
  .ga-cx-frame.ga-cx-fade{ margin-right:auto; aspect-ratio:4/5; width:min(100%,520px); }
  .ga-cx-grid:has(.ga-cx-fade){ gap:6px; }
  .ga-cx-fade .ga-cx-photo{ -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 80%,rgba(0,0,0,.6) 91%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,#000 80%,rgba(0,0,0,.6) 91%,transparent 100%); }
}
