/* ============================================================
   GoAtlas page layouts (chosen options) — loaded after
   goatlas-editorial.css on every page. Styling only, plus the
   small helpers in goatlas-pages.js. No content is removed.
   ============================================================ */

/* ---------- Continent pages: Atlas spread ---------- */
.region-hero{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:min(78vh,680px); padding:0 !important; background:#F6F3EE !important; color:#14181F !important; }
.region-hero > div:first-child{ position:relative !important; inset:auto !important; grid-column:2; grid-row:1; min-height:420px; overflow:hidden; }
.region-hero > div:first-child img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.region-hero > div:nth-child(2):not(.wrap){ display:none !important; }
.region-hero .region-hero-photo::after{ display:none !important; }
.region-hero > .wrap{ grid-column:1; grid-row:1; align-self:center; max-width:640px !important; margin:0 !important; padding:110px 56px 70px max(24px, calc((100vw - 1320px)/2 + 24px)) !important; }
.region-hero .eyebrow{ color:#9C7A22 !important; }
.region-hero h1{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(3.4rem,8vw,7rem) !important; line-height:.95 !important; color:#14181F !important; text-shadow:none !important; margin-top:18px !important; letter-spacing:-0.03em; }
.region-hero p{ color:#3A4250 !important; font-size:1.05rem !important; font-weight:400 !important; max-width:44ch !important; }
.ga-region-stats{ display:flex; gap:40px; margin-top:30px; flex-wrap:wrap; }
.ga-region-stats div b{ display:block; font-family:'Playfair Display',serif; font-weight:400; font-size:2.6rem; line-height:1; color:#14181F; }
.ga-region-stats div span{ font-size:0.62rem; letter-spacing:0.24em; text-transform:uppercase; color:#6A7280; }
@media(max-width:860px){
  .region-hero{ grid-template-columns:1fr; min-height:0; }
  .region-hero > div:first-child{ grid-column:1; grid-row:1; min-height:300px; height:46vh; }
  .region-hero > .wrap{ grid-column:1; grid-row:2; padding:40px 20px 50px !important; }
}
.region-grid-section .region-grid{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; grid-auto-rows:260px; gap:14px !important; }
@media(max-width:1000px){ .region-grid-section .region-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-auto-rows:230px; } }
@media(max-width:520px){ .region-grid-section .region-grid{ grid-template-columns:1fr !important; grid-auto-rows:260px; } }
.region-grid-section .region-grid .dest-card{ height:auto !important; }
.region-grid-section .region-grid .dest-card:nth-child(1){ grid-column:span 2; grid-row:span 2; }
.region-grid-section .region-grid .dest-card:nth-child(6){ grid-column:span 2; }
@media(max-width:520px){ .region-grid-section .region-grid .dest-card:nth-child(1), .region-grid-section .region-grid .dest-card:nth-child(6){ grid-column:span 1; grid-row:span 1; } }
.region-grid-section .region-grid .dest-card img{ transition:transform 1.4s cubic-bezier(.2,.8,.2,1) !important; }
.region-grid-section .region-grid .dest-card:hover img{ transform:scale(1.06); }
.region-grid-section .region-grid .dest-info{ padding:20px !important; }
.region-grid-section .region-grid .dest-info h3{ font-weight:400 !important; font-size:1.6rem !important; }
.region-grid-section .region-grid .dest-card:nth-child(1) .dest-info h3{ font-size:clamp(2rem,3.4vw,2.8rem) !important; }
.region-grid-section .region-grid .dest-info p{ font-size:0.86rem !important; color:rgba(255,255,255,0.82) !important; }
.region-grid-section .region-grid .dest-tag{ letter-spacing:0.24em !important; font-weight:600 !important; }

/* ---------- All destinations: region panels ---------- */
.region-section .region-grid{ display:flex !important; gap:6px !important; height:clamp(460px,72vh,640px); grid-template-columns:none !important; }
.region-section .region-card{ position:relative !important; flex:1 1 0; min-width:0; height:auto !important; overflow:hidden; background:#07101E; color:#FFFFFF; transition:flex-grow .9s cubic-bezier(.2,.8,.2,1) !important; transform:none !important; }
.region-section .region-card.ga-on{ flex-grow:5; }
.region-section .region-card img{ transform:scale(1.1); filter:brightness(.6); transition:transform 1.4s cubic-bezier(.2,.8,.2,1), filter .9s !important; }
.region-section .region-card.ga-on img{ transform:scale(1); filter:none; }
.region-section .region-card::after{ background:linear-gradient(180deg,rgba(7,16,30,0) 40%,rgba(7,16,30,0.9) 100%) !important; }
.ga-rp-vert{ position:absolute; z-index:3; left:50%; bottom:26px; 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; pointer-events:none; }
.region-section .region-card.ga-on .ga-rp-vert{ opacity:0; }
.region-section .region-info{ opacity:0; translate:0 20px; transition:opacity .5s .2s, translate .7s .2s cubic-bezier(.2,.8,.2,1); padding:28px !important; z-index:3 !important; }
.region-section .region-card.ga-on .region-info{ opacity:1; translate:0 0; }
.region-section .region-info h3{ font-weight:400 !important; font-size:clamp(2.2rem,4vw,3.4rem) !important; color:#FFFFFF !important; text-shadow:none !important; }
.region-section .region-info p{ color:rgba(255,255,255,0.86) !important; font-size:0.98rem !important; max-width:40ch; }
.region-section .rtag{ font-family:'Playfair Display',serif; font-style:italic; text-transform:none !important; letter-spacing:0 !important; font-size:1rem !important; color:#E9CE7A !important; font-weight:400 !important; }
.ga-rp-go{ display:inline-block; margin-top:16px; font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:600; background:#D4AF37; color:#07101E; padding:13px 20px; }
@media(max-width:760px){
  .region-section .region-grid{ flex-direction:column; height:auto; }
  .region-section .region-card{ flex:none; height:80px !important; transition:height .8s cubic-bezier(.2,.8,.2,1) !important; }
  .region-section .region-card.ga-on{ height:420px !important; }
  .ga-rp-vert{ writing-mode:horizontal-tb; rotate:0deg; left:22px; translate:0 -50%; top:50%; bottom:auto; }
}
@media(prefers-reduced-motion:reduce){ .region-section .region-card, .region-section .region-card img, .region-section .region-info{ transition:none !important; } }
.region-section .region-card.ga-m{ transition-property:flex-grow,height,transform,box-shadow !important; transition-duration:.9s !important; }

/* ---------- Country pages: magazine split + chapter index ---------- */
body.ga-country #heroSection3D.hero{ display:grid !important; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); min-height:min(86vh,760px) !important; padding-top:0 !important; padding-bottom:0 !important; background:#F6F3EE !important; justify-content:stretch; }
body.ga-country #heroSection3D .hero-photo{ position:relative !important; inset:auto !important; grid-column:2; grid-row:1; min-height:440px; }
body.ga-country #heroSection3D > *:not(.hero-photo):not(.hero-inner){ display:none !important; }
body.ga-country #heroSection3D.hero{ grid-template-rows:1fr; }
body.ga-country #heroSection3D .hero-photo{ height:100%; align-self:stretch; }
body.ga-country #heroSection3D .hero-photo img{ z-index:0 !important; }
body.ga-country #heroSection3D .hero-inner{ grid-column:1; grid-row:1; align-self:end; max-width:none !important; margin:0 !important;
  padding:130px 50px 64px max(24px, calc((100vw - 1320px)/2 + 24px)) !important; }
body.ga-country #heroSection3D .bread, body.ga-country #heroSection3D .bread a{ color:#6A7280 !important; }
body.ga-country #heroSection3D .bread span{ color:#14181F !important; }
body.ga-country #heroSection3D .eyebrow{ color:#9C7A22 !important; }
body.ga-country #heroSection3D .hero-inner h1{ color:#14181F !important; text-shadow:none !important; font-weight:400 !important; font-size:clamp(3.4rem,8.4vw,7.4rem) !important; line-height:.95 !important; margin-top:10px; }
body.ga-country #heroSection3D .hero-inner .coord{ color:#6A7280 !important; }
body.ga-country #heroSection3D .hero-inner p.lede{ color:#3A4250 !important; font-weight:400 !important; font-size:1.05rem !important; max-width:44ch !important; }
body.ga-country #heroSection3D .save-btn{ background:transparent !important; color:#14181F !important; border:1px solid #14181F !important; border-radius:0 !important; text-transform:uppercase; letter-spacing:0.18em; font-size:0.68rem !important; padding:14px 22px !important; margin-top:22px; }
body.ga-country #heroSection3D .save-btn:hover{ background:#14181F !important; color:#FFFFFF !important; }
body.ga-country #heroSection3D .save-btn.saved{ background:#D4AF37 !important; border-color:#D4AF37 !important; color:#07101E !important; }
@media(max-width:860px){
  body.ga-country #heroSection3D.hero{ grid-template-columns:1fr; min-height:0 !important; }
  body.ga-country #heroSection3D.hero{ grid-template-rows:auto auto; }
  body.ga-country #heroSection3D .hero-photo{ grid-column:1; grid-row:1; height:52vh; min-height:300px; }
  body.ga-country #heroSection3D .hero-inner{ grid-column:1; grid-row:2; padding:34px 20px 44px !important; }
}
/* quick facts: clean row with serif values */
body.ga-country .facts-strip{ background:#FFFFFF !important; border-bottom:1px solid #E4E1DA !important; }
body.ga-country .fact{ padding:24px 20px !important; }
body.ga-country .fact .flabel{ color:#9C7A22 !important; letter-spacing:0.24em !important; font-weight:600 !important; font-size:0.58rem !important; }
body.ga-country .fact .fval{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:1.25rem !important; color:#14181F !important; }
@media(max-width:860px){ body.ga-country .facts-row{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } body.ga-country .fact{ border-bottom:1px solid #E4E1DA; } }
@media(max-width:520px){ body.ga-country .facts-row{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
/* chapter index: horizontal bar on smaller screens, a rail beside the guide on wide screens */
body.ga-country .subnav{ border-bottom:1px solid #E4E1DA !important; box-shadow:none !important; }
@media(min-width:1200px){ body.ga-country .subnav{ display:block !important; } }
body.ga-country .subnav-inner a{ font-weight:500 !important; color:#6A7280 !important; }
body.ga-country .subnav-inner a.active, body.ga-country .subnav-inner a.ga-cur{ color:#14181F !important; border-bottom-color:#D4AF37 !important; }
@media(min-width:1200px){
  body.ga-country{ --ga-rail-x:max(24px, calc((100vw - 1400px)/2 + 24px)); }
  body.ga-country .subnav{ position:fixed !important; top:120px !important; left:var(--ga-rail-x); width:200px; background:transparent !important; border:none !important; z-index:60 !important;
    opacity:0; pointer-events:none; translate:-12px 0; transition:opacity .5s, translate .6s cubic-bezier(.2,.8,.2,1); }
  body.ga-country.ga-rail-on .subnav{ opacity:1; pointer-events:auto; translate:0 0; }
  body.ga-country .subnav-inner{ flex-direction:column !important; gap:0 !important; padding:0 !important; max-width:none !important; overflow:visible !important; }
  body.ga-country .subnav-inner a{ border-bottom:none !important; border-left:1px solid #E4E1DA; padding:7px 0 7px 16px !important; font-size:0.84rem !important; transition:color .3s, border-color .3s; }
  body.ga-country .subnav-inner a.active, body.ga-country .subnav-inner a.ga-cur{ border-left-color:#D4AF37 !important; }
  body.ga-country .subnav::before{ content:'In this guide'; display:block; font-size:0.6rem; letter-spacing:0.28em; text-transform:uppercase; color:#9C7A22; font-weight:600; margin-bottom:14px; }
  body.ga-country > section:not(#heroSection3D) > .wrap{ max-width:none !important; margin-left:calc(var(--ga-rail-x) + 250px) !important; margin-right:var(--ga-rail-x) !important; }
}
@media(prefers-reduced-motion:reduce){ body.ga-country .subnav{ transition:none; } }

/* ---------- Offers: deal shelves by trip need ---------- */
.ga-shelves-sec .ga-shelf{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:40px; align-items:start; padding:44px 0; border-top:1px solid #E4E1DA; }
.ga-shelves-sec .ga-shelf:first-of-type{ border-top:none; }
@media(max-width:860px){ .ga-shelves-sec .ga-shelf{ grid-template-columns:1fr; gap:18px; padding:32px 0; } }
.ga-shelf-head h2{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(1.8rem,3.4vw,2.6rem) !important; color:#14181F; line-height:1.05; }
.ga-shelf-head p{ color:#6A7280 !important; font-size:0.88rem !important; margin-top:8px; }
.ga-shelf-tiles{ display:flex; flex-wrap:wrap; gap:16px; align-items:flex-start; }
.ga-shelf-tiles .banner-tile{ flex:0 1 auto; max-width:100%; margin:0 !important; background:#F6F3EE !important; border:none !important; padding:18px !important; transition:background .4s, box-shadow .6s, transform .6s cubic-bezier(.2,.8,.2,1) !important; }
.ga-shelf-tiles .banner-tile:hover{ background:#FFFFFF !important; box-shadow:0 34px 60px -36px rgba(7,16,30,0.5) !important; transform:translateY(-4px) !important; }
.ga-shelf-tiles .banner-tile img{ max-width:100%; height:auto; display:block; }
.ga-shelf-tiles .banner-label{ background:none !important; padding:0 !important; margin:0 0 12px !important; font-size:0.6rem !important; letter-spacing:0.24em !important; text-transform:uppercase; color:#9C7A22 !important; font-weight:600 !important; text-align:left !important; }

/* ---------- Partners: directory with filters ---------- */
.ga-dir{ padding-top:100px !important; padding-bottom:90px !important; }
.ga-dir h2{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(2rem,4.4vw,3.4rem) !important; margin-top:14px; color:#14181F; }
.ga-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.ga-chip{ background:#FFFFFF; border:1px solid #E4E1DA; padding:10px 16px; font-family:inherit; font-size:0.74rem; letter-spacing:0.06em; color:#14181F; cursor:pointer; border-radius:0; transition:background .3s, color .3s, border-color .3s; }
.ga-chip:hover{ border-color:#14181F; }
.ga-chip[aria-pressed="true"]{ background:#14181F; color:#FFFFFF; border-color:#14181F; }
.ga-dir-grid{ margin-top:26px !important; }
.ga-dir-item[hidden]{ display:none !important; }
.ga-dir-item img{ max-width:60% !important; max-height:40% !important; }
section[data-ga-cat][hidden]{ display:none !important; }

/* ---------- Book a consultation (Experts page): private consultation ---------- */
.ga-cx-page{ padding-top:150px !important; }
@media(max-width:640px){ .ga-cx-page{ padding-top:110px !important; } }
.ga-cx-page h1{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(2.6rem,5.4vw,4.6rem) !important; line-height:1.04; color:#14181F !important; margin-top:22px; letter-spacing:-0.02em; text-shadow:none !important; }
.ga-cx-page h1 em{ font-style:italic; color:#9C7A22; }
.ga-cx-bread{ font-size:0.76rem; color:#6A7280 !important; margin-bottom:18px; display:flex; gap:8px; }
.ga-cx-bread a{ color:#6A7280 !important; }
.ga-cx-bread span{ color:#14181F; }
.ga-cx-page .team-bio{ margin:0; }
.ga-cx-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.ga-cx-tags .expert-tag{ border:1px solid #E4E1DA !important; background:#FFFFFF !important; color:#14181F !important; border-radius:0 !important; padding:7px 12px !important; font-size:0.74rem !important; }
.ga-cx-ctas .btn-primary{ margin-top:0 !important; }
/* package cards rendered from the database */
#packagesDisplay > div{ border:none !important; border-radius:0 !important; background:#F6F3EE; padding:30px 28px !important; transition:background .4s, box-shadow .6s, transform .6s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; }
#packagesDisplay > div:hover{ background:#FFFFFF; box-shadow:0 40px 70px -44px rgba(7,16,30,0.5); transform:translateY(-6px); }
#packagesDisplay > div h3{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:1.7rem !important; color:#14181F; }
#packagesDisplay > div > div:nth-of-type(1){ font-family:'Playfair Display',serif; font-weight:400 !important; color:#9C7A22 !important; font-size:2rem !important; }
#packagesDisplay > div button{ margin-top:auto; }
#requestForm{ border-radius:0 !important; box-shadow:none !important; }
#reqSuccess{ border-radius:0 !important; }
.display-photo-band, .display-photo-band img{ border-radius:0 !important; }

/* ---------- Interactive map: full-screen atlas ---------- */
.map-section{ max-width:none !important; padding:0 !important; }
.map-section .map-wrap{ border-radius:0 !important; border:none !important; box-shadow:none !important; }
#goatlasMap{ height:max(620px, calc(100vh - 80px)) !important; background:#0A1426 !important; }
.leaflet-tile-pane{ filter:grayscale(1) invert(1) brightness(.78) contrast(.92) sepia(.15) hue-rotate(185deg); }
.ga-map-chips{ position:absolute; z-index:500; left:max(20px, env(safe-area-inset-left,0px)); right:20px; top:20px; display:flex; flex-wrap:wrap; gap:8px; pointer-events:none; }
.ga-map-chips .filter-chip{ pointer-events:auto; background:rgba(7,16,30,0.78) !important; color:#F3EEE4 !important; border:1px solid rgba(243,238,228,0.28) !important; border-radius:0 !important; backdrop-filter:blur(8px); font-size:0.72rem !important; letter-spacing:0.08em; }
.ga-map-chips .filter-chip:hover{ border-color:#D4AF37 !important; }
.ga-map-chips .filter-chip.active{ background:#D4AF37 !important; color:#07101E !important; border-color:#D4AF37 !important; }
.ga-map-controls.ga-moved{ display:none; }
.leaflet-popup-content-wrapper{ background:#FFFFFF !important; color:#14181F !important; border-radius:0 !important; padding:0 !important; overflow:hidden; box-shadow:0 40px 70px -40px rgba(0,0,0,0.75) !important; }
.leaflet-popup-content{ margin:0 !important; width:260px !important; }
.leaflet-popup-tip{ background:#FFFFFF !important; }
.leaflet-popup-content .popup-img{ display:block; width:100%; height:150px; object-fit:cover; }
.leaflet-popup-content .popup-region{ margin:16px 18px 0; font-size:0.6rem !important; letter-spacing:0.26em !important; text-transform:uppercase; color:#9C7A22 !important; font-weight:600 !important; }
.leaflet-popup-content .popup-title{ margin:6px 18px 0; font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.45rem !important; color:#14181F !important; line-height:1.15; }
.leaflet-popup-content .popup-desc{ margin:6px 18px 0; color:#6A7280 !important; font-size:0.84rem !important; }
.leaflet-popup-content .popup-link{ display:inline-block; margin:14px 18px 18px; background:#14181F; color:#FFFFFF !important; font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:600; padding:12px 16px; text-decoration:none; }
.leaflet-popup-content .popup-link:hover{ background:#D4AF37; color:#07101E !important; }
.leaflet-container a.leaflet-popup-close-button{ background:rgba(255,255,255,0.92); width:28px !important; height:28px !important; line-height:26px !important; border-radius:50%; top:8px !important; right:8px !important; color:#14181F !important; }
section[data-ga-cat] img{ max-width:100%; height:auto; }
.ga-chip{ padding:9px 15px !important; min-width:0 !important; height:auto !important; line-height:1.3 !important; width:auto !important; flex:0 0 auto; }
.map-section .map-wrap{ position:relative; z-index:0; isolation:isolate; }
.ga-map-chips{ left:60px !important; }

/* ============================================================
   Homepage closing sections — About (cinematic card),
   Newsletter (full-bleed invitation), Footer (light stone)
   ============================================================ */
/* About — cinematic card */
.ga-about-sec{ padding:0 !important; background:#FFFFFF; }
.ga-about{ position:relative; min-height:680px; display:flex; align-items:flex-end; overflow:hidden; }
.ga-about-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:scale 2s cubic-bezier(.2,.8,.2,1); }
.ga-about:hover .ga-about-bg{ scale:1.03; }
.ga-about::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(7,16,30,0) 30%,rgba(7,16,30,.55) 100%); }
.ga-about-wrap{ position:relative; z-index:2; width:100%; }
.ga-about-card{ background:#FFFFFF; margin:56px 0; padding:clamp(28px,4vw,52px); max-width:620px; }
.ga-about-card h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2rem,4vw,3rem) !important; line-height:1.05 !important; margin-top:12px; color:#14181F !important; }
.ga-about-sub{ color:#6A7280 !important; margin-top:8px; }
.ga-about-copy{ margin-top:20px; display:grid; gap:12px; }
.ga-about-copy p{ color:#3A4250 !important; font-size:.96rem; line-height:1.75; margin:0; }
.ga-about-nums{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:24px; padding-top:20px; border-top:1px solid #E4E1DA; }
.ga-about-nums b{ display:block; font-family:'Playfair Display',serif; font-weight:400; font-size:2.3rem; line-height:1; color:#14181F; }
.ga-about-nums span{ display:block; margin-top:6px; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:#6A7280; }
.ga-about-acts{ margin-top:26px; display:flex; gap:10px; flex-wrap:wrap; }
.ga-trust-row{ display:grid; grid-template-columns:repeat(5,1fr); border-bottom:1px solid #E4E1DA; }
.ga-trust-row div{ padding:30px 18px; border-right:1px solid #E4E1DA; text-align:center; font-size:.86rem; font-weight:500; color:#14181F; }
.ga-trust-row div:last-child{ border-right:0; }
.ga-trust-row svg{ width:28px; height:28px; margin:0 auto 12px; display:block; stroke:#9C7A22; fill:none; stroke-width:1.2; }
@media(max-width:860px){
  .ga-about{ min-height:0; padding-top:240px; }
  .ga-about-card{ margin:0 0 24px; }
  .ga-trust-row{ grid-template-columns:1fr 1fr; }
  .ga-trust-row div{ border-bottom:1px solid #E4E1DA; }
  .ga-trust-row div:nth-child(2n){ border-right:0; }
  .ga-trust-row div:last-child{ grid-column:1/-1; border-bottom:0; }
}
@media(max-width:420px){ .ga-about-nums b{ font-size:1.9rem; } }

/* Newsletter — full-bleed invitation */
.ga-news-sec{ padding:0 !important; background:#07101E !important; }
.ga-news{ position:relative; min-height:600px; display:grid; place-items:center; text-align:center; overflow:hidden; color:#fff; }
.ga-news-bg{ position:absolute; left:0; top:-6%; width:100%; height:112%; object-fit:cover; translate:0 var(--ga-py,0px); }
.ga-news::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at center,rgba(7,16,30,.45),rgba(7,16,30,.84)); }
.ga-news-in{ position:relative; z-index:2; padding:80px 20px; max-width:780px; width:100%; }
.ga-news-in .eyebrow{ color:#E9CE7A !important; }
.ga-news-in h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.4rem,6vw,4.8rem) !important; line-height:1.04 !important; color:#fff !important; margin-top:16px; }
.ga-news-in h2 em{ color:#E9CE7A; font-style:italic; }
.ga-news-in > p{ margin-top:16px; color:rgba(255,255,255,.84) !important; }
.ga-news-form{ margin:36px auto 0; display:flex; align-items:center; gap:16px; max-width:540px; border-bottom:1px solid rgba(255,255,255,.6); transition:border-color .3s; }
.ga-news-form:focus-within{ border-color:#D4AF37; }
.ga-news-form input{ flex:1; min-width:0; background:transparent !important; border:0 !important; box-shadow:none !important; color:#fff !important; font-size:1.1rem; padding:16px 0 !important; outline:none; border-radius:0 !important; }
.ga-news-form input::placeholder{ color:rgba(255,255,255,.55); }
.ga-news-form button{ background:none !important; border:0 !important; color:#E9CE7A !important; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; font-weight:600; cursor:pointer; padding:16px 0 !important; white-space:nowrap; }
.ga-news-form button::after{ content:" \2192"; }
.ga-news-form button:hover{ color:#fff !important; }
.ga-news-form button:disabled{ opacity:.6; cursor:default; }
.ga-news-fine{ margin-top:18px; font-size:.72rem; letter-spacing:.06em; color:rgba(255,255,255,.5); }
@media (prefers-reduced-motion:reduce){ .ga-news-bg{ translate:none !important; } }

/* Footer — light stone (homepage) */
footer.ga-foot{ background:#F6F3EE !important; color:#3A4250 !important; padding:80px 0 30px !important; border-top:1px solid #E4E1DA; }
.ga-foot-grid{ display:grid; grid-template-columns:1.4fr 2fr 1fr 1fr; gap:30px; }
.ga-foot .logo{ display:flex; align-items:center; gap:10px; font-family:'Playfair Display',serif; font-size:1.35rem; color:#14181F !important; }
.ga-foot-brand p{ margin-top:14px; max-width:28ch; font-size:.9rem; line-height:1.7; color:#3A4250 !important; }
.ga-foot h5{ font-family:'Plus Jakarta Sans',sans-serif !important; font-size:.64rem !important; letter-spacing:.24em !important; text-transform:uppercase; font-weight:600 !important; color:#14181F !important; margin:0 0 16px !important; }
.ga-foot ul{ list-style:none; margin:0; padding:0; }
.ga-foot li{ margin:0 0 10px; font-size:.88rem; }
.ga-foot a{ color:#3A4250 !important; text-decoration:none; transition:color .25s; }
.ga-foot a:hover{ color:#9C7A22 !important; }
.ga-foot-explore ul{ columns:2; column-gap:20px; }
.ga-foot-explore li{ break-inside:avoid; }
.ga-foot-social{ display:flex; gap:10px; margin-top:22px; }
.ga-foot-social a{ width:40px; height:40px; border:1px solid #E4E1DA; border-radius:50%; background:#fff; display:grid; place-items:center; transition:background .3s,border-color .3s; }
.ga-foot-social a:hover{ background:#14181F; border-color:#14181F; }
.ga-foot-social svg{ width:16px; height:16px; stroke:#14181F; fill:none; stroke-width:1.5; }
.ga-foot-social a:hover svg{ stroke:#fff; }
.ga-foot-bottom{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:50px; padding-top:24px; border-top:1px solid #E4E1DA; font-size:.76rem; color:#6A7280; }
@media(max-width:900px){ .ga-foot-grid{ grid-template-columns:1fr 1fr; } .ga-foot-brand,.ga-foot-explore{ grid-column:1/-1; } }

/* Homepage — "Built to become your entire trip" travel deck */
.ga-deck-sec{ background:#F6F3EE !important; padding:110px 0 !important; overflow:visible !important; }
.ga-deck-wrap{ display:grid; grid-template-columns:minmax(260px,400px) 1fr; gap:clamp(30px,5vw,70px); align-items:start; }
.ga-deck-side{ position:sticky; top:110px; }
.ga-deck-side h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.3rem,4.4vw,3.8rem) !important; line-height:1.05 !important; margin-top:12px; color:#14181F !important; }
.ga-deck-side h2 em{ color:#9C7A22; font-style:italic; }
.ga-deck-side > p{ margin-top:18px; color:#3A4250 !important; font-size:.96rem; line-height:1.75; }
.ga-deck-count{ margin-top:30px; display:flex; align-items:baseline; gap:12px; }
.ga-deck-count b{ font-family:'Playfair Display',serif; font-weight:400; font-size:4.6rem; line-height:.9; color:#14181F; min-width:1.3em; }
.ga-deck-count span{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:#6A7280; font-weight:600; line-height:1.6; }
.ga-deck-meter{ display:flex; align-items:center; gap:14px; margin-top:14px; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:#6A7280; font-weight:600; }
.ga-deck-meter i{ position:relative; display:block; width:140px; height:2px; background:#E4E1DA; }
.ga-deck-meter i::after{ content:""; position:absolute; inset:0 auto 0 0; width:57.14%; background:#D4AF37; }
.ga-deck{ display:grid; gap:24px; padding-bottom:20px; }
.ga-dcard{ position:sticky; top:calc(110px + var(--i) * 16px); display:grid; grid-template-columns:1.05fr 1fr; background:#fff; border:1px solid #E4E1DA; min-height:330px; box-shadow:0 -20px 50px -30px rgba(20,24,31,.35); text-decoration:none; color:#14181F; }
.ga-dcard-ph{ position:relative; overflow:hidden; }
.ga-dcard-ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:scale 1.4s cubic-bezier(.2,.8,.2,1); }
.ga-dcard:hover .ga-dcard-ph img{ scale:1.05; }
.ga-dcard-tx{ padding:30px 30px 26px; display:flex; flex-direction:column; }
.ga-dcard-tx small{ font-family:'Playfair Display',serif; color:#9C7A22; font-size:1rem; }
.ga-dcard-tx h4{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:2rem !important; line-height:1.1 !important; margin-top:10px; color:#14181F !important; }
.ga-dcard-tx p{ margin-top:12px; color:#3A4250 !important; font-size:.9rem; line-height:1.7; }
.ga-dcard-ft{ margin-top:auto; padding-top:22px; display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #E4E1DA; font-size:.74rem; color:#6A7280; }
.ga-dcard-cta{ display:inline-flex; align-items:center; gap:10px; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#14181F; white-space:nowrap; }
.ga-dcard-cta::after{ content:"\2192"; font-size:1rem; transition:translate .3s; }
.ga-dcard:hover .ga-dcard-cta{ color:#9C7A22; }
.ga-dcard:hover .ga-dcard-cta::after{ translate:6px 0; }
.ga-deck-soon-title{ margin-top:50px; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:#14181F; padding-bottom:12px; border-bottom:1px solid #14181F; }
.ga-deck-soon{ margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.ga-deck-soon div{ border:1px dashed #C9C2B3; padding:20px; display:flex; justify-content:space-between; align-items:center; gap:10px; background:rgba(255,255,255,.6); }
.ga-deck-soon b{ font-family:'Playfair Display',serif; font-weight:400; font-size:1.15rem; color:#3A4250; }
.ga-deck-soon span{ font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:#6A7280; font-weight:600; white-space:nowrap; }
@media(max-width:900px){
  .ga-deck-sec{ padding:80px 0 !important; }
  .ga-deck-wrap{ grid-template-columns:1fr; }
  .ga-deck-side{ position:static; }
  .ga-dcard{ grid-template-columns:1fr; top:calc(84px + var(--i) * 10px); min-height:0; }
  .ga-dcard-ph{ aspect-ratio:16/9; }
  .ga-deck-soon{ grid-template-columns:1fr 1fr; }
}
@media(max-width:480px){ .ga-deck-soon{ grid-template-columns:1fr; } .ga-dcard-tx{ padding:22px; } .ga-dcard-tx h4{ font-size:1.6rem !important; } }
@media (prefers-reduced-motion:reduce){ .ga-dcard{ position:relative; top:0; } }

/* Homepage consultation: no live dot, icons instead of numerals, plain step dots */
.ga-cx-status-plain{ gap:0 !important; }
.ga-cx-n{ display:block; padding-top:2px; }
.ga-cx-ic{ width:26px; height:26px; stroke:#9C7A22; fill:none; stroke-width:1.2; display:block; }
.ga-cx-dot i{ display:block; width:12px; height:12px; border-radius:50%; background:#D4AF37; }

/* Homepage — story reel */
.ga-reel-sec{ padding:0 !important; background:#07101E !important; }
.ga-reel{ position:relative; height:min(88vh,760px); min-height:560px; overflow:hidden; color:#fff; background:#07101E; }
.ga-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1s; pointer-events:none; text-decoration:none; color:#fff; }
.ga-slide.on{ opacity:1; pointer-events:auto; }
.ga-slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; scale:1.08; transition:scale 7s linear; }
.ga-slide.on img{ scale:1; }
.ga-slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,16,30,.82) 0%,rgba(7,16,30,.3) 60%,rgba(7,16,30,.1)); }
.ga-slide-tx{ position:absolute; left:max(24px,calc((100% - 1240px)/2 + 24px)); bottom:130px; z-index:2; max-width:680px; padding-right:24px; }
.ga-slide-tag{ font-size:.62rem; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:#E9CE7A; }
.ga-slide h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.3rem,5.6vw,4.8rem) !important; line-height:1.04 !important; margin-top:14px; color:#fff !important; text-shadow:none !important; }
.ga-slide-read{ display:inline-flex; align-items:center; gap:10px; margin-top:24px; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#E9CE7A; }
.ga-slide-read::after{ content:"\2192"; font-size:1rem; transition:translate .3s; }
.ga-slide:hover .ga-slide-read::after{ translate:6px 0; }
.ga-slide-tx > *{ translate:0 18px; opacity:0; transition:translate .9s cubic-bezier(.2,.8,.2,1), opacity .9s; }
.ga-slide.on .ga-slide-tx > *{ translate:0 0; opacity:1; }
.ga-slide.on .ga-slide-tx > *:nth-child(2){ transition-delay:.1s; }
.ga-slide.on .ga-slide-tx > *:nth-child(3){ transition-delay:.2s; }
.ga-reel-top{ position:absolute; left:max(24px,calc((100% - 1240px)/2 + 24px)); top:60px; z-index:3; pointer-events:none; }
.ga-reel-top .eyebrow{ color:#E9CE7A !important; }
.ga-reel-top h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(1.4rem,2.4vw,1.9rem) !important; color:#fff !important; margin-top:8px; }
.ga-reel-nav{ position:absolute; left:max(24px,calc((100% - 1240px)/2 + 24px)); right:max(24px,calc((100% - 1240px)/2 + 24px)); bottom:44px; z-index:3; display:flex; gap:18px; align-items:center; }
.ga-reel-bars{ flex:1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.ga-reel-bars button{ background:none !important; border:0 !important; padding:10px 0 !important; cursor:pointer; text-align:left; color:rgba(255,255,255,.6); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; font-family:inherit; }
.ga-reel-bars button i{ display:block; height:2px; background:rgba(255,255,255,.25); margin-bottom:10px; position:relative; overflow:hidden; }
.ga-reel-bars button i::after{ content:""; position:absolute; inset:0; background:#D4AF37; scale:0 1; transform-origin:0 50%; }
.ga-reel-bars button.on{ color:#fff; }
.ga-reel-bars button.on i::after{ animation:gaReelBar 6s linear forwards; }
.ga-reel-bars button.done i::after{ scale:1 1; }
.ga-reel.paused .ga-reel-bars button.on i::after{ animation-play-state:paused; }
@keyframes gaReelBar{ to{ scale:1 1; } }
.ga-reel-arrows{ display:flex; gap:8px; }
.ga-reel-arrows button{ width:46px; height:46px; border-radius:50% !important; border:1px solid rgba(255,255,255,.5) !important; background:transparent !important; color:#fff !important; cursor:pointer; font-size:1rem; padding:0 !important; transition:background .3s,color .3s; }
.ga-reel-arrows button:hover{ background:#fff !important; color:#07101E !important; }
@media(max-width:640px){ .ga-reel{ height:600px; min-height:0; } .ga-slide-tx{ bottom:120px; } .ga-reel-bars button span{ display:none; } .ga-reel-top{ top:40px; } }
@media (prefers-reduced-motion:reduce){ .ga-slide img{ transition:none; } .ga-reel-bars button.on i::after{ animation:none; scale:1 1; } }

/* Homepage partners — slow gallery */
.ga-partners-sec{ background:#FFFFFF !important; }
.ga-partners-sec h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; }
.ga-partners-sec h2 em{ color:#9C7A22; font-style:italic; }
.ga-partners-lede{ max-width:600px; margin:20px auto 0; color:#6A7280 !important; font-size:1rem; line-height:1.8; }
.ga-partners-sub{ margin-top:70px; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:#6A7280 !important; font-weight:600; }
.ga-partners-note{ max-width:560px; margin:12px auto 0; color:#6A7280 !important; font-size:.9rem; line-height:1.75; }
.ga-pfeat{ margin-top:22px; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:clamp(36px,7vw,100px); padding:34px 0; border-top:1px solid #E4E1DA; border-bottom:1px solid #E4E1DA; }
.ga-pfeat-item{ display:flex; align-items:center; justify-content:center; height:60px; }
.ga-pfeat-item img, .ga-pmk img{ display:block; max-width:none; object-fit:contain; border-radius:0 !important; filter:grayscale(1) brightness(.75) contrast(1.4); opacity:.62; transition:filter .5s, opacity .5s; }
.ga-pfeat-item:hover img, .ga-pmk:hover img{ filter:none; opacity:1; }
.ga-prail{ margin-top:24px; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.ga-prail-in{ display:flex; width:max-content; animation:gaPrail 60s linear infinite; }
.ga-prail.rev .ga-prail-in{ animation-direction:reverse; animation-duration:70s; }
.ga-prail:hover .ga-prail-in{ animation-play-state:paused; }
.ga-pmk{ position:relative; display:flex; align-items:center; justify-content:center; height:64px; padding:0 clamp(26px,3.4vw,46px); }
.ga-pmk + .ga-pmk::before{ content:""; position:absolute; left:0; top:50%; width:4px; height:4px; border-radius:50%; background:#D4AF37; opacity:.6; translate:-50% -50%; }
@keyframes gaPrail{ to{ transform:translateX(-50%); } }
@media(max-width:600px){
  .ga-pfeat{ gap:26px 34px; padding:26px 0; }
  .ga-pfeat-item img{ transform:scale(.85); }
  .ga-pmk{ height:56px; padding:0 22px; }
}
@media (prefers-reduced-motion:reduce){ .ga-prail-in{ animation:none; flex-wrap:wrap; width:auto; justify-content:center; } .ga-prail-in .ga-pmk[aria-hidden]{ display:none; } }

/* ============================================================
   Travel guide pages — cinematic
   ============================================================ */
body.ga-guide .hero{ min-height:min(100vh,920px) !important; padding-top:140px !important; justify-content:flex-end !important; background:#07101E !important; }
body.ga-guide .hero .hero-photo{ position:absolute !important; inset:0 !important; }
body.ga-guide .hero .hero-photo img{ width:100%; height:100%; object-fit:cover; }
body.ga-guide .hero .hero-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,16,30,.25) 0%,rgba(7,16,30,.2) 35%,rgba(7,16,30,.88) 100%) !important; }
body.ga-guide .hero .hero-scene{ opacity:.35 !important; z-index:1; }
body.ga-guide .hero-inner{ padding-bottom:34px !important; }
body.ga-guide .hero-inner h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(3.4rem,9vw,8rem) !important; line-height:.95 !important; letter-spacing:-.02em; max-width:12ch !important; text-shadow:none !important; }
body.ga-guide .hero-inner p.lede{ color:rgba(255,255,255,.86) !important; font-weight:400 !important; max-width:54ch !important; }
body.ga-guide .hero .facts-strip{ position:relative; z-index:3; background:rgba(7,16,30,.42) !important; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.2) !important; max-width:1240px; width:calc(100% - 48px); margin:0 auto 40px; }
body.ga-guide .hero .facts-row{ max-width:none !important; }
body.ga-guide .hero .fact{ border-right:1px solid rgba(255,255,255,.18) !important; padding:20px 22px !important; }
body.ga-guide .hero .fact:last-child{ border-right:none !important; }
body.ga-guide .hero .fact .flabel{ color:#E9CE7A !important; letter-spacing:.22em !important; font-size:.58rem !important; font-weight:600 !important; }
body.ga-guide .hero .fact .fval{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:1.2rem !important; color:#fff !important; line-height:1.25; }
@media(max-width:760px){ body.ga-guide .hero .facts-strip{ width:calc(100% - 32px); margin-bottom:24px; } body.ga-guide .hero .fact{ border-bottom:1px solid rgba(255,255,255,.18) !important; } body.ga-guide .hero .fact:nth-child(2n){ border-right:none !important; } body.ga-guide .hero .fact:nth-last-child(-n+2){ border-bottom:none !important; } }
/* Destinations slide sideways as tall photo cards */
body.ga-guide .dest-scroll{ gap:16px !important; scroll-snap-type:x mandatory; scrollbar-width:thin; padding-bottom:14px !important; align-items:stretch !important; }
body.ga-guide .dest-card{ flex:0 0 min(340px,78%) !important; aspect-ratio:4/5; border-radius:0 !important; box-shadow:none !important; scroll-snap-align:start; align-self:stretch !important; }
body.ga-guide .dest-card .dest-photo{ position:absolute !important; inset:0; }
body.ga-guide .dest-card .dest-photo img{ width:100% !important; height:100% !important; object-fit:cover; transition:scale 1.4s cubic-bezier(.2,.8,.2,1); }
body.ga-guide .dest-card:hover .dest-photo img{ scale:1.05; }
body.ga-guide .dest-info{ padding:22px !important; }
body.ga-guide .dest-why{ font-size:.58rem !important; letter-spacing:.22em !important; text-transform:uppercase; }
body.ga-guide .dest-info h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.8rem !important; color:#fff !important; }
/* Route as elegant day cards */
body.ga-guide .itin-track{ border-left:none !important; margin-left:0 !important; padding-left:0 !important; display:grid !important; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px !important; position:relative; padding-bottom:30px !important; }
body.ga-guide .itin-track::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,#D4AF37,transparent); }
body.ga-guide .itin-step{ background:#fff; border:1px solid #E4E1DA; padding:28px; transition:border-color .4s, translate .4s; }
body.ga-guide .itin-step:hover{ border-color:#D4AF37; translate:0 -4px; }
body.ga-guide .itin-step::before{ display:none !important; }
body.ga-guide .itin-step .idays{ font-family:'Playfair Display',serif; font-style:italic; text-transform:none !important; letter-spacing:0 !important; font-weight:400 !important; color:#9C7A22 !important; font-size:1.05rem !important; }
body.ga-guide .itin-step h4{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.55rem !important; margin-top:6px; line-height:1.15; }
body.ga-guide .itin-step p{ color:#3A4250 !important; }
body.ga-guide .tip-card{ border-radius:0 !important; position:relative; padding-left:44px !important; }
body.ga-guide .tip-card::before{ content:""; position:absolute; left:22px; top:31px; width:12px; height:1px; background:#D4AF37; }
body.ga-guide .section-head h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2rem,3.6vw,2.8rem) !important; }

/* ============================================================
   Journal — category shelves
   ============================================================ */
.ga-shelfj{ margin-top:56px; }
.ga-shelfj-h{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-bottom:1px solid #14181F; padding-bottom:12px; }
.ga-shelfj-h h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(1.6rem,2.8vw,2.1rem) !important; color:#14181F; margin:0 !important; }
.ga-shelfj-h span{ font-size:.74rem; color:#6A7280; }
.ga-shelfj-nav{ display:flex; gap:8px; }
.ga-shelfj-nav button{ width:40px; height:40px; border-radius:50%; border:1px solid #E4E1DA; background:#fff; color:#14181F; cursor:pointer; font-size:.95rem; transition:background .3s,color .3s,border-color .3s; }
.ga-shelfj-nav button:hover{ background:#14181F; color:#fff; border-color:#14181F; }
.ga-shelfj-row{ display:flex !important; gap:20px !important; overflow-x:auto; scroll-snap-type:x mandatory; padding:22px 0 10px; scrollbar-width:thin; grid-template-columns:none !important; }
.ga-shelfj-row .post-card{ flex:0 0 min(320px,80%) !important; scroll-snap-align:start; display:block !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important; border:none !important; }
.ga-shelfj-row .post-thumb{ position:relative; aspect-ratio:4/3; height:auto !important; border-radius:0 !important; overflow:hidden; }
.ga-shelfj-row .post-thumb img{ transition:scale 1.4s cubic-bezier(.2,.8,.2,1); }
.ga-shelfj-row .post-card:hover .post-thumb img{ scale:1.05; }
.ga-shelfj-row .post-body{ padding:14px 0 0 !important; }
.ga-shelfj-row .post-cat{ font-size:.58rem !important; letter-spacing:.22em !important; text-transform:uppercase; color:#9C7A22 !important; font-weight:600 !important; }
.ga-shelfj-row .post-body h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.3rem !important; line-height:1.2 !important; margin-top:8px; color:#14181F !important; }
.ga-shelfj-row .post-body p{ font-size:.88rem !important; color:#3A4250 !important; margin-top:8px; }
.ga-shelfj-row .post-meta{ font-size:.74rem !important; color:#6A7280 !important; margin-top:10px; }
body.ga-jrnl #postGrid.ga-shelved{ display:none !important; }

/* ============================================================
   Travel Essentials — handbook
   ============================================================ */
body.ga-handbook .tip-card{ border-radius:0 !important; position:relative; padding-left:44px !important; }
body.ga-handbook .tip-card::before{ content:""; position:absolute; left:22px; top:31px; width:12px; height:1px; background:#D4AF37; }
body.ga-handbook section[id] .section-head h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2rem,3.4vw,2.6rem) !important; }
body.ga-handbook .subnav-inner a.ga-cur{ color:#14181F !important; border-bottom-color:#D4AF37 !important; }
@media(min-width:1200px){
  body.ga-handbook{ --ga-rail-x:max(24px, calc((100vw - 1400px)/2 + 24px)); }
  body.ga-handbook .subnav{ position:fixed !important; top:120px !important; left:var(--ga-rail-x); width:200px; background:transparent !important; border:none !important; box-shadow:none !important; z-index:60 !important; opacity:0; pointer-events:none; translate:-12px 0; transition:opacity .5s, translate .6s cubic-bezier(.2,.8,.2,1); }
  body.ga-handbook.ga-rail-on .subnav{ opacity:1; pointer-events:auto; translate:0 0; }
  body.ga-handbook .subnav-inner{ display:flex !important; flex-direction:column !important; gap:0 !important; padding:0 !important; max-width:none !important; overflow:visible !important; }
  body.ga-handbook .subnav-inner a{ border-bottom:none !important; border-left:1px solid #E4E1DA; padding:7px 0 7px 16px !important; font-size:.84rem !important; font-weight:500 !important; color:#6A7280 !important; white-space:nowrap; transition:color .3s, border-color .3s; }
  body.ga-handbook .subnav-inner a.ga-cur{ border-left-color:#D4AF37 !important; color:#14181F !important; }
  body.ga-handbook .subnav::before{ content:'In this guide'; display:block; font-size:.6rem; letter-spacing:.28em; text-transform:uppercase; color:#9C7A22; font-weight:600; margin-bottom:14px; }
  body.ga-handbook > section[id] > .wrap{ max-width:none !important; margin-left:calc(var(--ga-rail-x) + 250px) !important; margin-right:var(--ga-rail-x) !important; }
}
@media(prefers-reduced-motion:reduce){ body.ga-handbook .subnav{ transition:none; } }

/* ============================================================
   Community — the ask bar
   ============================================================ */
body.ga-comm .hero{ text-align:center; padding:170px 0 80px !important; }
body.ga-comm .hero .eyebrow{ justify-content:center; }
body.ga-comm .hero h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.8rem,6.6vw,5.4rem) !important; line-height:1 !important; }
body.ga-comm .hero p{ margin-left:auto !important; margin-right:auto !important; color:rgba(255,255,255,.84) !important; }
body.ga-comm .hero-photo::after{ background:rgba(7,16,30,.72) !important; }
.ga-askbar{ margin:34px auto 0; display:flex; background:#fff; max-width:640px; box-shadow:0 30px 60px -30px rgba(0,0,0,.6); }
.ga-askbar input{ flex:1; min-width:0; border:0 !important; padding:20px 22px !important; font-size:1rem; outline:none; color:#14181F; background:#fff; border-radius:0 !important; }
.ga-askbar button{ border:0; background:#D4AF37; color:#07101E; padding:0 26px; font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; cursor:pointer; white-space:nowrap; transition:background .3s,color .3s; font-family:inherit; }
.ga-askbar button:hover{ background:#14181F; color:#fff; }
.ga-sugg{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:18px; }
.ga-sugg button{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.28); color:#fff; padding:8px 14px; font-size:.78rem; cursor:pointer; transition:background .3s; font-family:inherit; }
.ga-sugg button:hover{ background:rgba(255,255,255,.2); }
@media(max-width:600px){ .ga-askbar{ flex-direction:column; } .ga-askbar button{ padding:16px; } body.ga-comm .hero{ padding:130px 0 56px !important; } }
body.ga-comm .chip{ border-radius:0 !important; text-transform:uppercase; letter-spacing:.14em; font-size:.62rem !important; }
body.ga-comm .chip.active{ background:#14181F !important; border-color:#14181F !important; color:#fff !important; }
body.ga-comm .sort-select{ border-radius:0 !important; }
@media(min-width:900px){ body.ga-comm #postList{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; align-items:start; } body.ga-comm #postList > .empty-state{ grid-column:1/-1; } }
body.ga-comm .post-card{ border:none !important; border-bottom:1px solid #E4E1DA !important; border-radius:0 !important; padding:20px 0 !important; margin:0 !important; background:transparent !important; box-shadow:none !important; display:block; transition:background .3s, padding .3s !important; }
body.ga-comm .post-card:hover{ background:#F6F3EE !important; padding-left:12px !important; padding-right:12px !important; }
body.ga-comm .post-cat-tag{ background:none !important; padding:0 !important; border-radius:0 !important; color:#9C7A22 !important; font-size:.58rem !important; letter-spacing:.22em !important; font-weight:600 !important; }
body.ga-comm .post-card h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.3rem !important; line-height:1.25 !important; color:#14181F !important; }
body.ga-guide .hero-inner{ max-width:1256px !important; padding-left:24px !important; padding-right:24px !important; }
@media(max-width:760px){ body.ga-guide .hero-inner{ padding-left:16px !important; padding-right:16px !important; } }
body.ga-guide .hero-inner{ width:100%; }
.ga-shelfj-row{ scroll-snap-type:x proximity !important; scroll-padding-left:0; }
body.ga-handbook .subnav{ display:block !important; }
@media(max-width:1199px){ body.ga-handbook .subnav-inner{ display:flex; } }
/* Shelf cards scroll sideways, so they skip the 3D rise effect */
.ga-shelfj-row .post-card{ translate:none !important; rotate:none !important; scale:none !important; opacity:1 !important; transform:none !important; }
.ga-shelfj-row{ perspective:none !important; }
.ga-shelfj-row{ width:100%; max-width:100%; contain:inline-size; }
.ga-shelves-j, .ga-shelfj{ min-width:0; max-width:100%; }
.news-form input{ min-width:0; }
@media(max-width:520px){ .newsletter{ padding:56px 22px !important; } .news-form{ flex-direction:column; } }
body.ga-comm .hero h1{ color:#FFFFFF !important; text-shadow:none !important; }

/* Community: phone menu */
.ga-cm-menu{ display:none; position:fixed; inset:0; z-index:99; background:#07101E; flex-direction:column; align-items:center; justify-content:center; gap:26px; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }
.ga-cm-menu.open{ opacity:1; visibility:visible; }
.ga-cm-menu a{ color:#fff; font-family:'Playfair Display',serif; font-size:1.5rem; }
@media(max-width:900px){ body.ga-comm .nav-links, body.ga-comm .nav-auth{ display:none !important; } body.ga-comm .nav-burger{ display:flex !important; } body.ga-comm .ga-cm-menu{ display:flex; } }
body.ga-comm .nav-burger{ flex-direction:column; gap:5px; width:34px; height:30px; align-items:center; justify-content:center; background:none; border:none; padding:4px; position:relative; z-index:120; }
body.ga-comm .nav-burger span{ display:block !important; width:22px !important; height:1.5px !important; background:#fff !important; transition:.3s; }
body.ga-comm .nav-burger.open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
body.ga-comm .nav-burger.open span:nth-child(2){ opacity:0; }
body.ga-comm .nav-burger.open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
body.ga-comm .ga-cm-menu{ z-index:115; }
.ga-cm-close{ position:absolute; top:22px; right:20px; width:44px; height:44px; background:none; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; font-size:1.5rem; line-height:1; cursor:pointer; }

/* ============================================================
   Hotels (grand A–Z index) and Restaurants (menu card)
   ============================================================ */
body.ga-hotels .hero h1, body.ga-rests .hero h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(3rem,7vw,5.8rem) !important; line-height:1 !important; }
.ga-coll-stats{ display:flex; justify-content:center; gap:48px; margin-top:28px; }
.ga-coll-stats:empty{ display:none; }
.ga-coll-stats b{ display:block; font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(2rem,3.6vw,2.8rem); line-height:1; color:#fff; }
.ga-coll-stats span{ display:block; margin-top:6px; font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.66); font-weight:600; }
body.ga-hotels .filter-bar, body.ga-rests .filter-bar{ background:#fff !important; border:none !important; box-shadow:none !important; padding:30px 0 0 !important; }
body.ga-hotels #destFilter, body.ga-rests #destFilter{ width:100%; max-width:460px; border:0 !important; border-bottom:1px solid #14181F !important; border-radius:0 !important; background:transparent !important; padding:14px 0 !important; font-size:1rem !important; box-shadow:none !important; outline:none; }
body.ga-rests #destFilter{ display:block; margin:0 auto; text-align:center; }

/* A–Z index */
.ga-ix-count{ font-size:.78rem; color:#6A7280; padding:18px 0 14px; border-bottom:1px solid #E4E1DA; }
.ga-ix-count b{ color:#14181F; font-weight:600; }
.ga-ix-az{ display:flex; flex-wrap:wrap; gap:2px; margin-top:16px; }
.ga-ix-az button{ width:34px; height:34px; border:1px solid transparent; background:none; font-family:'Playfair Display',serif; font-size:1.05rem; color:#14181F; cursor:pointer; transition:background .3s, color .3s, border-color .3s; }
.ga-ix-az button:hover{ border-color:#E4E1DA; }
.ga-ix-az button.on{ background:#14181F; color:#fff; }
.ga-ix-az button:disabled{ color:#C9C4BA; cursor:default; border-color:transparent; }
.ga-ix-grid{ display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:clamp(30px,5vw,70px); align-items:start; margin-top:18px; }
.ga-ix-list{ max-height:78vh; overflow-y:auto; padding-right:10px; scrollbar-width:thin; }
.ga-ix-l{ position:sticky; top:0; z-index:1; background:#fff; font-family:'Playfair Display',serif; font-size:2.4rem; color:#9C7A22; padding:18px 0 6px; border-bottom:1px solid #14181F; }
.ga-ix-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:baseline; padding:14px 0; border-bottom:1px solid #E4E1DA; cursor:pointer; transition:padding .35s; outline:none; }
.ga-ix-row > b{ font-family:'Playfair Display',serif; font-weight:400; font-size:1.4rem; color:#6A7280; transition:color .3s; line-height:1.25; }
.ga-ix-row > span{ font-size:.76rem; color:#6A7280; text-align:right; }
.ga-ix-row.on{ padding-left:12px; }
.ga-ix-row.on > b{ color:#14181F; font-style:italic; }
.ga-ix-row:focus-visible > b{ color:#14181F; }
.ga-ix-inline{ display:none; }
.ga-ix-stage{ position:sticky; top:110px; }
.ga-ix-frame{ position:relative; aspect-ratio:4/5; }
.ga-ix-frame::before{ content:""; position:absolute; inset:-12px; border:1px solid #D4AF37; pointer-events:none; }
.ga-ix-ph{ position:absolute; inset:0; overflow:hidden; background:#F6F3EE; }
.ga-ix-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.ga-ix-info{ margin-top:30px; }
.ga-ix-info h3, .ga-ix-inline h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.8rem !important; color:#14181F; margin-top:8px; line-height:1.15; }
.ga-ix-tag{ font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:#9C7A22; font-weight:600; }
.ga-ix-meta{ font-size:.78rem; color:#6A7280; margin-top:6px; }
.ga-ix-info p, .ga-ix-inline p{ margin-top:12px; color:#3A4250 !important; font-size:.92rem; line-height:1.7; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.ga-ix-btn{ display:inline-flex; margin-top:20px; padding:15px 24px; background:#14181F; color:#fff !important; font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; transition:background .3s, color .3s; }
.ga-ix-btn:hover{ background:#D4AF37; color:#07101E !important; }
.ga-swap{ animation:gaSwap .5s cubic-bezier(.2,.8,.2,1); }
@keyframes gaSwap{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
@media(max-width:900px){
  .ga-ix-grid{ grid-template-columns:1fr; }
  .ga-ix-stage{ display:none; }
  .ga-ix-list{ max-height:none; overflow:visible; padding-right:0; }
  .ga-ix-l{ top:70px; }
  .ga-ix-row.on .ga-ix-inline{ display:block; grid-column:1/-1; padding:8px 0 10px; animation:gaSwap .4s; }
  .ga-ix-inline .ga-ix-ph{ position:relative; inset:auto; aspect-ratio:4/3; margin-bottom:16px; }
  .ga-ix-row > b{ font-size:1.2rem; }
}

/* Menu card */
body.ga-rests .list-section .wrap{ max-width:960px; }
.ga-menu-list{ background:#fff; border:1px solid #E4E1DA; padding:clamp(22px,5vw,64px); position:relative; margin-top:10px; }
.ga-menu-list::before{ content:""; position:absolute; inset:12px; border:1px solid #D4AF37; opacity:.5; pointer-events:none; }
.ga-course{ border-bottom:1px solid #E4E1DA; position:relative; }
.ga-course-h{ width:100%; display:flex; justify-content:space-between; align-items:baseline; gap:16px; background:none; border:0; padding:20px 0; cursor:pointer; text-align:left; font-family:inherit; }
.ga-course-h b{ font-family:'Playfair Display',serif; font-weight:400; font-style:italic; font-size:1.65rem; color:#14181F; }
.ga-course-h span{ font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#9C7A22; white-space:nowrap; }
.ga-course-h span::after{ content:"  +"; }
.ga-course.open .ga-course-h span::after{ content:"  −"; }
.ga-course-items{ display:none; padding-bottom:16px; }
.ga-course.open .ga-course-items{ display:block; animation:gaSwap .4s; }
.ga-mi{ display:grid; grid-template-columns:auto minmax(20px,1fr) auto; gap:14px; align-items:baseline; padding:12px 0; position:relative; color:#14181F; text-decoration:none; }
.ga-mi > b{ font-family:'Playfair Display',serif; font-weight:400; font-size:1.28rem; transition:color .3s; }
a.ga-mi:hover > b{ color:#9C7A22; }
.ga-mi-dots{ border-bottom:1px dotted #B9B3A6; translate:0 -6px; }
.ga-mi-pr{ font-family:'Playfair Display',serif; color:#9C7A22; white-space:nowrap; }
.ga-mi-pr .tier-empty{ opacity:.3; }
.ga-mi-ds{ grid-column:1/-1; font-size:.82rem; color:#6A7280; margin-top:-6px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ga-mi-pv{ position:absolute; right:-270px; top:50%; translate:0 -50%; width:220px; aspect-ratio:4/3; overflow:hidden; opacity:0; pointer-events:none; transition:opacity .4s, translate .5s; box-shadow:0 30px 50px -30px rgba(20,24,31,.5); z-index:3; }
.ga-mi-pv img{ width:100%; height:100%; object-fit:cover; display:block; }
.ga-mi:hover .ga-mi-pv{ opacity:1; translate:-10px -50%; }
@media(max-width:1320px){ .ga-mi-pv{ display:none; } }
@media(max-width:560px){ .ga-mi{ grid-template-columns:1fr auto; } .ga-mi-dots{ display:none; } .ga-mi > b{ font-size:1.1rem; } .ga-course-h b{ font-size:1.35rem; } }

/* ============================================================
   Contact — "Your time, our time"
   ============================================================ */
body.ga-ct .ga-ct-top{ padding:170px 0 90px !important; background:#FFFFFF !important; }
body.ga-ct .ga-ct-top .bread{ font-size:.76rem; color:#6A7280; margin-bottom:26px; }
body.ga-ct .ga-ct-top .bread a{ color:#6A7280; } body.ga-ct .ga-ct-top .bread span{ color:#14181F; }
.ga-ct-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,70px); align-items:end; }
.ga-ct-top h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(3rem,6.6vw,5.6rem) !important; line-height:1 !important; color:#14181F !important; margin-top:14px; }
.ga-ct-top h1 em{ color:#9C7A22; font-style:italic; }
.ga-ct-lede{ margin-top:20px; color:#3A4250 !important; font-size:1.05rem; max-width:52ch; }
.ga-clocks{ display:grid; grid-template-columns:1fr 1fr; border:1px solid #E4E1DA; background:#fff; }
.ga-clock{ padding:28px 16px; text-align:center; }
.ga-clock + .ga-clock{ border-left:1px solid #E4E1DA; }
.ga-clock svg{ width:120px; height:120px; margin:0 auto; display:block; }
.ga-clock svg circle{ fill:none; stroke:#E4E1DA; }
.ga-clock svg .h{ stroke:#14181F; stroke-width:2.4; stroke-linecap:round; }
.ga-clock svg .m{ stroke:#14181F; stroke-width:1.4; stroke-linecap:round; }
.ga-clock svg .s{ stroke:#D4AF37; stroke-width:1; }
.ga-clock svg .c{ fill:#D4AF37; stroke:none; }
.ga-clock small{ display:block; margin-top:14px; font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; font-weight:600; color:#9C7A22; }
.ga-clock b{ display:block; font-family:'Playfair Display',serif; font-weight:400; font-size:1.7rem; margin-top:4px; color:#14181F; }
.ga-clock em{ display:block; font-style:normal; font-size:.76rem; color:#6A7280; margin-top:2px; }
.ga-ct-status{ margin-top:16px; text-align:center; font-family:'Playfair Display',serif; font-style:italic; font-size:1rem; color:#3A4250; }
.ga-ct-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:60px; }
.ga-ct-tile{ background:#fff; border:1px solid #E4E1DA; padding:26px; display:flex; flex-direction:column; min-height:230px; color:#14181F !important; text-decoration:none; transition:border-color .4s, translate .4s, box-shadow .4s; }
.ga-ct-tile:hover{ border-color:#D4AF37; translate:0 -4px; box-shadow:0 30px 50px -36px rgba(20,24,31,.4); }
.ga-ct-ic{ width:28px; height:28px; stroke:#9C7A22; fill:none; stroke-width:1.2; }
.ga-ct-tile h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.4rem !important; margin-top:18px; color:#14181F !important; }
.ga-ct-tile p{ margin-top:8px; color:#3A4250 !important; font-size:.86rem; line-height:1.6; }
.ga-ct-tile b{ margin-top:auto; padding-top:16px; font-weight:600; font-size:.86rem; word-break:break-word; }
.ga-ct-hours{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:34px; border-top:1px solid #14181F; }
.ga-ct-hours span{ padding:18px 18px 0 0; font-family:'Playfair Display',serif; font-size:1.02rem; color:#14181F; line-height:1.4; }
.ga-ct-hours small{ display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:.56rem; letter-spacing:.22em; text-transform:uppercase; font-weight:600; color:#9C7A22; margin-bottom:6px; }
@media(max-width:900px){ .ga-ct-grid{ grid-template-columns:1fr; } .ga-ct-tiles,.ga-ct-hours{ grid-template-columns:1fr 1fr; } .ga-ct-hours span{ padding-bottom:16px; } }
@media(max-width:520px){ body.ga-ct .ga-ct-top{ padding:130px 0 64px !important; } .ga-ct-tiles{ grid-template-columns:1fr; } .ga-clock svg{ width:88px; height:88px; } .ga-clock{ padding:18px 8px; } .ga-clock b{ font-size:1.4rem; } }
/* Form section */
body.ga-ct .contact-form-panel{ border-radius:0 !important; box-shadow:none !important; }
body.ga-ct .contact-form, body.ga-ct .side-card, body.ga-ct .whatsapp-cta, body.ga-ct .cta-band{ border-radius:0 !important; }
body.ga-ct .contact-form input, body.ga-ct .contact-form select, body.ga-ct .contact-form textarea{ border-radius:0 !important; border:0 !important; border-bottom:1px solid #E4E1DA !important; background:transparent !important; padding-left:0 !important; box-shadow:none !important; }
body.ga-ct .contact-form input:focus, body.ga-ct .contact-form select:focus, body.ga-ct .contact-form textarea:focus{ border-bottom-color:#D4AF37 !important; outline:none; }
body.ga-ct .contact-form label{ font-size:.58rem !important; letter-spacing:.22em !important; text-transform:uppercase; font-weight:600 !important; color:#6A7280 !important; }
body.ga-ct .section-head h2, body.ga-ct .cta-band h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; }
body.ga-ct .faq-q{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.25rem !important; padding:22px 0 !important; }
body.ga-ct .faq-item{ border-color:#E4E1DA !important; }
body.ga-ct header:not(.scrolled){ background:#07101E !important; }

/* ============================================================
   About — the manifesto
   ============================================================ */
body.ga-ab header:not(.scrolled), body.ga-ka header:not(.scrolled){ background:#07101E !important; }
.ga-ab-hero{ padding:170px 0 0 !important; background:#FFFFFF !important; }
.ga-ab-hero .bread, .ga-ka-hero .bread{ font-size:.76rem; color:#6A7280; margin-bottom:30px; }
.ga-ab-hero .bread a, .ga-ka-hero .bread a{ color:#6A7280; } .ga-ab-hero .bread span, .ga-ka-hero .bread span{ color:#14181F; }
.ga-ab-head{ text-align:center; max-width:1000px; margin:0 auto; }
.ga-ab-head .eyebrow{ justify-content:center; }
.ga-ab-head h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(3rem,8vw,7rem) !important; line-height:.98 !important; color:#14181F !important; margin-top:18px; letter-spacing:-.02em; }
.ga-ab-head h1 em, .ga-ab-h em, .ga-ab-close h2 em, .ga-ka-hero h1 em, .ga-ka-note h2 em{ color:#9C7A22; font-style:italic; }
.ga-ab-sub{ margin-top:18px; color:#6A7280 !important; font-size:.95rem; }
.ga-ab-head p:last-child{ margin:20px auto 0; max-width:64ch; color:#3A4250 !important; font-size:1.06rem; line-height:1.8; }
.ga-ab-strip{ display:grid; grid-template-columns:1fr 1.6fr 1fr; gap:12px; margin-top:clamp(44px,6vw,80px); height:clamp(280px,34vw,460px); }
.ga-ab-strip div{ position:relative; overflow:hidden; }
.ga-ab-strip div:nth-child(2){ translate:0 -28px; }
.ga-ab-strip img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:scale 1.6s cubic-bezier(.2,.8,.2,1); }
.ga-ab-strip div:hover img{ scale:1.05; }
.ga-ab-sec{ padding:clamp(80px,10vw,130px) 0 !important; background:#FFFFFF !important; }
.ga-ab-stone{ background:#F6F3EE !important; }
.ga-ab-sec h2, .ga-ab-h{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.1rem,4vw,3.2rem) !important; line-height:1.05 !important; color:#14181F !important; margin-top:12px; }
.ga-ab-note{ margin-top:12px; color:#6A7280 !important; }
.ga-ab-spread{ display:grid; grid-template-columns:300px 1fr; gap:clamp(30px,6vw,90px); align-items:start; }
.ga-ab-cols{ columns:2; column-gap:44px; }
.ga-ab-cols p{ break-inside:avoid; margin:0 0 18px; color:#3A4250 !important; font-size:1rem; line-height:1.85; }
.ga-ab-cols p:first-child::first-letter{ float:left; font-family:'Playfair Display',serif; font-size:5rem; line-height:.78; padding:8px 12px 0 0; color:#14181F; }
.ga-ab-pull{ margin-top:30px; padding:34px 0; border-top:1px solid #D4AF37; border-bottom:1px solid #D4AF37; font-family:'Playfair Display',serif; font-style:italic; font-size:clamp(1.5rem,2.8vw,2.3rem); line-height:1.25; text-align:center; color:#14181F; }
.ga-ab-row{ display:grid; gap:0; margin-top:40px; border-top:1px solid #14181F; }
.ga-ab-row3{ grid-template-columns:repeat(3,1fr); } .ga-ab-row4{ grid-template-columns:repeat(4,1fr); }
.ga-ab-row > div{ padding:30px 26px 10px 0; border-right:1px solid #E4E1DA; margin-right:26px; }
.ga-ab-row > div:last-child{ border-right:0; margin-right:0; }
.ga-ab-ic{ width:28px; height:28px; stroke:#9C7A22; fill:none; stroke-width:1.2; display:block; }
.ga-ab-row h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.55rem !important; margin-top:16px; color:#14181F !important; }
.ga-ab-row p{ margin-top:10px; color:#3A4250 !important; font-size:.92rem; line-height:1.7; }
.ga-ab-founder{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(30px,6vw,90px); align-items:center; }
.ga-ab-fph{ position:relative; aspect-ratio:5/4; }
.ga-ab-fph::before{ content:""; position:absolute; inset:-14px; border:1px solid #D4AF37; pointer-events:none; }
.ga-ab-fph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 25%; }
.ga-ab-founder p{ margin-top:14px; color:#3A4250 !important; line-height:1.8; }
.ga-ab-sig{ margin-top:22px; font-family:'Playfair Display',serif; font-style:italic; font-size:1.7rem; color:#14181F; }
.ga-ab-sig small{ display:block; font-family:'Plus Jakarta Sans',sans-serif; font-style:normal; font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:#9C7A22; font-weight:600; margin-top:6px; }
.ga-ab-acts{ display:flex; gap:10px; flex-wrap:wrap; margin-top:26px; }
.ga-ab-trust{ list-style:none; padding:0; margin:70px 0 0; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #14181F; }
.ga-ab-trust li{ padding:20px 14px 0 0; font-family:'Playfair Display',serif; font-size:1.05rem; color:#14181F; line-height:1.3; }
.ga-ab-line{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:44px; }
.ga-ab-line::before{ content:""; position:absolute; left:0; right:0; top:7px; height:1px; background:#E4E1DA; }
.ga-ab-line::after{ content:""; position:absolute; left:0; top:7px; height:1px; width:var(--p,0%); background:#D4AF37; transition:width 2.2s cubic-bezier(.2,.8,.2,1); }
.ga-ab-line > div{ position:relative; padding-top:34px; }
.ga-ab-line > div::before{ content:""; position:absolute; left:0; top:0; width:15px; height:15px; border-radius:50%; background:#F6F3EE; border:1px solid #D4AF37; z-index:1; }
.ga-ab-line > div:last-child::before{ background:#D4AF37; }
.ga-ab-line h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.35rem !important; color:#14181F !important; }
.ga-ab-line p{ margin-top:8px; color:#3A4250 !important; font-size:.88rem; line-height:1.7; }
.ga-ab-close{ text-align:center; max-width:760px; }
.ga-ab-close h2{ font-size:clamp(2.4rem,5vw,4rem) !important; }
.ga-ab-close p{ margin:16px 0 28px; color:#3A4250 !important; }
@media(max-width:900px){ .ga-ab-spread,.ga-ab-founder{ grid-template-columns:1fr; } .ga-ab-cols{ columns:1; } .ga-ab-row3,.ga-ab-row4{ grid-template-columns:1fr 1fr; } .ga-ab-row > div{ border-right:0; margin-right:0; border-bottom:1px solid #E4E1DA; padding-bottom:22px; } .ga-ab-line{ grid-template-columns:1fr 1fr; } .ga-ab-line::before,.ga-ab-line::after{ display:none; } .ga-ab-trust{ grid-template-columns:1fr 1fr; } .ga-ab-strip{ grid-template-columns:1fr 1fr; height:auto; } .ga-ab-strip div{ aspect-ratio:3/4; translate:none !important; } .ga-ab-strip div:nth-child(3){ display:none; } }
@media(max-width:520px){ .ga-ab-hero{ padding-top:130px !important; } .ga-ab-row3,.ga-ab-row4,.ga-ab-line{ grid-template-columns:1fr; } }
.ga-rv{ transition:opacity 1s cubic-bezier(.2,.8,.2,1), translate 1s cubic-bezier(.2,.8,.2,1); }
.ga-rv.ga-pre{ opacity:0; translate:0 30px; }
@media (prefers-reduced-motion:reduce){ .ga-rv.ga-pre{ opacity:1; translate:none; } .ga-ab-line::after{ transition:none; } }

/* ============================================================
   Careers — the manifesto
   ============================================================ */
.ga-ka-hero{ padding:170px 0 0 !important; background:#FFFFFF !important; }
.ga-ka-hero h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(3.4rem,10vw,9rem) !important; line-height:.92 !important; color:#14181F !important; margin-top:16px; letter-spacing:-.03em; max-width:none !important; }
.ga-ka-hero h1 em{ display:block; }
.ga-ka-row{ display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; margin-top:30px; }
.ga-ka-row p{ color:#3A4250 !important; max-width:60ch; font-size:1.05rem; line-height:1.8; }
.ga-ka-acts{ display:flex; gap:10px; flex-wrap:wrap; }
.ga-ka-marq{ overflow:hidden; margin-top:60px; border-top:1px solid #14181F; border-bottom:1px solid #E4E1DA; }
.ga-ka-marq-in{ display:flex; width:max-content; animation:gaKaMq 44s linear infinite; }
.ga-ka-marq:hover .ga-ka-marq-in{ animation-play-state:paused; }
.ga-ka-marq span{ padding:22px 34px; font-family:'Playfair Display',serif; font-style:italic; font-size:clamp(1.5rem,2.8vw,2.3rem); white-space:nowrap; color:#14181F; }
.ga-ka-marq span::after{ content:"✦"; font-style:normal; color:#D4AF37; font-size:.7rem; margin-left:34px; vertical-align:middle; }
@keyframes gaKaMq{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .ga-ka-marq-in{ animation:none; flex-wrap:wrap; width:auto; } }
body.ga-ka section{ background:#FFFFFF !important; }
body.ga-ka #why-join, body.ga-ka #talent-form, body.ga-ka #careers-faqs{ background:#F6F3EE !important; }
body.ga-ka .section-head h2, body.ga-ka section h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; }
.ga-ka-split{ display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(30px,6vw,90px); align-items:start; }
.ga-ka-split h2{ font-size:clamp(2rem,3.6vw,3rem) !important; margin-top:12px; line-height:1.08 !important; }
.ga-ka-split .prose p{ color:#3A4250 !important; font-size:1.02rem; line-height:1.85; max-width:none !important; }
.ga-ka-note{ display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(30px,6vw,80px); align-items:start; }
.ga-ka-note h2{ font-size:clamp(2.2rem,4.4vw,3.6rem) !important; margin-top:12px; line-height:1.04 !important; }
.ga-ka-card{ background:#F6F3EE; padding:clamp(28px,4vw,50px); border-left:2px solid #D4AF37; }
.ga-ka-card p{ margin-top:14px; font-family:'Playfair Display',serif; font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.6; color:#14181F !important; }
.ga-ka-sig{ margin:20px 0 22px; font-family:'Playfair Display',serif; font-style:italic; font-size:1.4rem; color:#9C7A22; }
.ga-ka-roles{ margin-top:34px; border-top:1px solid #14181F; }
.ga-ka-role{ display:grid; grid-template-columns:1fr auto; gap:20px; align-items:baseline; padding:22px 0; border-bottom:1px solid #E4E1DA; color:#14181F !important; text-decoration:none; transition:padding .4s; }
.ga-ka-role:hover{ padding-left:14px; }
.ga-ka-role b{ font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(1.4rem,2.6vw,2.1rem); }
.ga-ka-role:hover b{ font-style:italic; }
.ga-ka-role span{ font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#6A7280; }
.ga-ka-role:hover span{ color:#9C7A22; }
body.ga-ka .timeline{ display:grid !important; grid-template-columns:repeat(6,1fr); gap:20px; position:relative; border:0 !important; padding:0 !important; margin-top:34px; }
body.ga-ka .timeline::before{ content:""; position:absolute; left:0; right:0; top:7px; height:1px; background:#E4E1DA; display:block !important; }
body.ga-ka .tl-step{ position:relative; padding:34px 0 0 !important; display:block !important; border:0 !important; background:none !important; }
body.ga-ka .tl-step::before{ content:""; position:absolute; left:0; top:0; width:15px; height:15px; border-radius:50%; background:#fff; border:1px solid #D4AF37; }
body.ga-ka .tl-step:last-child::before{ background:#D4AF37; }
body.ga-ka .tl-step h4{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.2rem !important; }
body.ga-ka .tl-step p{ margin-top:8px; font-size:.84rem; color:#3A4250 !important; }
body.ga-ka .tip-card, body.ga-ka .why-card, body.ga-ka .faq-item, body.ga-ka form input, body.ga-ka form select, body.ga-ka form textarea{ border-radius:0 !important; }
@media(max-width:900px){ .ga-ka-row,.ga-ka-split,.ga-ka-note{ grid-template-columns:1fr; } body.ga-ka .timeline{ grid-template-columns:1fr 1fr; } body.ga-ka .timeline::before{ display:none !important; } }
@media(max-width:520px){ .ga-ka-hero{ padding-top:130px !important; } }
.ga-ct-hours i{ font-family:'Plus Jakarta Sans',sans-serif; font-style:normal; font-size:.78rem; color:#6A7280; }
.ga-ka-hero .bread{ justify-content:flex-start !important; text-align:left !important; display:flex; gap:6px; }
body.ga-ka .btn-outline{ display:inline-flex; align-items:center; justify-content:center; padding:15px 26px; border:1px solid #14181F !important; color:#14181F !important; background:transparent !important; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; border-radius:0 !important; transition:background .3s,color .3s; }
body.ga-ka .btn-outline:hover{ background:#14181F !important; color:#fff !important; }
body.ga-ka .timeline{ max-width:none !important; width:100%; } body.ga-ka #process .wrap{ max-width:1240px !important; }

/* ============================================================
   Founder & CEO — from the first conversation to coming home
   ============================================================ */
body.ga-fd header:not(.scrolled){ background:#07101E !important; }
.ga-fd-hero{ padding:170px 0 80px !important; background:#F6F3EE !important; }
.ga-fd-hero .bread{ font-size:.76rem; color:#6A7280; margin-bottom:34px; }
.ga-fd-hero .bread a{ color:#6A7280; } .ga-fd-hero .bread span{ color:#14181F; }
.ga-fd-top{ display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,4vw,60px); align-items:center; }
.ga-fd-portrait{ position:relative; width:clamp(170px,20vw,250px); aspect-ratio:1; border-radius:50%; overflow:hidden; box-shadow:0 0 0 1px #D4AF37, 0 0 0 12px #F6F3EE, 0 0 0 13px #E4E1DA; }
.ga-fd-portrait img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 22%; }
.ga-fd-top h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.8rem,6.4vw,5.6rem) !important; line-height:1 !important; color:#14181F !important; margin-top:14px; }
.ga-fd-top h1 em, .ga-fd-intro h2 em{ color:#9C7A22; font-style:italic; }
.ga-fd-top p{ margin-top:18px; color:#3A4250 !important; max-width:60ch; line-height:1.8; }
.ga-fd-sec{ padding:clamp(80px,10vw,130px) 0 !important; background:#F6F3EE !important; border-top:1px solid #E4E1DA; }
.ga-fd-intro{ text-align:center; max-width:760px; margin:0 auto; }
.ga-fd-intro .eyebrow{ justify-content:center; }
.ga-fd-intro h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.2rem,4.6vw,3.6rem) !important; margin-top:12px; color:#14181F !important; }
.ga-fd-intro p{ margin-top:12px; font-family:'Playfair Display',serif; font-style:italic; color:#6A7280 !important; font-size:1.1rem; }
.ga-fd-route{ position:relative; margin-top:70px; }
.ga-fd-route::before{ content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; translate:-50% 0; background:repeating-linear-gradient(180deg,#D4AF37 0 6px,transparent 6px 14px); opacity:.75; }
.ga-fd-stop{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:84px; padding:32px 0; }
.ga-fd-stop::before{ content:""; position:absolute; left:50%; top:46px; width:17px; height:17px; translate:-50% 0; border-radius:50%; background:#F6F3EE; border:1px solid #D4AF37; z-index:1; transition:background .5s, box-shadow .5s; }
.ga-fd-stop.ga-on::before{ background:#D4AF37; box-shadow:0 0 0 7px rgba(212,175,55,.16); }
.ga-fd-wh{ text-align:right; }
.ga-fd-stop:nth-child(even) .ga-fd-wh{ order:2; text-align:left; }
.ga-fd-wh small{ font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:#9C7A22; font-weight:600; }
.ga-fd-wh h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(1.6rem,2.8vw,2.3rem) !important; margin-top:8px; color:#14181F !important; line-height:1.1 !important; }
.ga-fd-tx p{ color:#3A4250 !important; font-size:1.02rem; line-height:1.85; }
.ga-fd-tx p + p{ margin-top:14px; }
.ga-fd-ph{ position:relative; aspect-ratio:16/10; margin-top:22px; overflow:hidden; }
.ga-fd-ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:scale 1.6s cubic-bezier(.2,.8,.2,1); }
.ga-fd-ph:hover img{ scale:1.04; }
.ga-fd-home{ position:relative; text-align:center; padding-top:44px; }
.ga-fd-home::before{ content:""; position:absolute; left:50%; top:0; width:22px; height:22px; translate:-50% -50%; border-radius:50%; background:#D4AF37; box-shadow:0 0 0 9px rgba(212,175,55,.18); }
.ga-fd-home .eyebrow{ justify-content:center; }
.ga-fd-card{ max-width:720px; margin:28px auto 0; background:#fff; border:1px solid #E4E1DA; padding:clamp(30px,5vw,56px); position:relative; }
.ga-fd-card::before{ content:""; position:absolute; inset:8px; border:1px solid #D4AF37; opacity:.5; pointer-events:none; }
.ga-fd-card h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(1.8rem,3.4vw,2.6rem) !important; color:#14181F !important; }
.ga-fd-card ul{ list-style:none; padding:0; margin:22px 0 0; text-align:left; }
.ga-fd-card li{ padding:14px 0 14px 30px; border-top:1px solid #E4E1DA; position:relative; color:#3A4250; }
.ga-fd-card li::before{ content:""; position:absolute; left:0; top:25px; width:14px; height:1px; background:#D4AF37; }
.ga-fd-sign{ margin-top:26px; font-family:'Mrs Saint Delafield','Playfair Display',cursive; font-size:clamp(3.4rem,7vw,5.2rem); line-height:1; color:#14181F; display:inline-block; padding:0 .25em; clip-path:inset(0 100% 0 0); transition:clip-path 2.4s cubic-bezier(.65,0,.35,1); }
.ga-fd-sign.ga-on{ clip-path:inset(0 0 0 0); }
.ga-fd-role{ margin:4px 0 24px; font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:#9C7A22; font-weight:600; }
@media (prefers-reduced-motion:reduce){ .ga-fd-sign{ clip-path:none; transition:none; } }
@media(max-width:860px){ .ga-fd-top{ grid-template-columns:1fr; } .ga-fd-route::before{ left:8px; } .ga-fd-stop{ grid-template-columns:1fr; gap:10px; padding-left:36px; } .ga-fd-stop::before{ left:8px; } .ga-fd-wh, .ga-fd-stop:nth-child(even) .ga-fd-wh{ text-align:left; order:0; } }
@media(max-width:520px){ .ga-fd-hero{ padding-top:130px !important; } }

/* ============================================================
   Site-wide header for pages that had the slim header
   ============================================================ */
header.ga-gh-wrap{ background:#07101E !important; padding:0 !important; border-bottom:1px solid rgba(255,255,255,.08) !important; }
header.ga-gh-wrap > .ga-gh{ max-width:1320px; margin:0 auto; padding:18px 24px; display:flex; align-items:center; gap:28px; }
.ga-gh-logo{ display:flex; align-items:center; gap:10px; font-family:'Playfair Display',serif; font-size:1.3rem; color:#fff !important; text-decoration:none; flex:0 0 auto; }
.ga-gh-logo svg{ width:26px; height:26px; }
.ga-gh-links{ display:flex; gap:24px; margin:0 auto; }
.ga-gh-links a, .ga-gh-auth a{ color:rgba(255,255,255,.82) !important; font-family:'Plus Jakarta Sans',sans-serif; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; text-decoration:none; transition:color .3s; white-space:nowrap; }
.ga-gh-links a:hover, .ga-gh-auth a:hover{ color:#E9CE7A !important; }
.ga-gh-auth{ display:flex; align-items:center; gap:18px; flex:0 0 auto; }
.ga-gh-cta{ border:1px solid rgba(255,255,255,.5); padding:11px 18px; color:#fff !important; }
.ga-gh-signup{ background:#D4AF37; color:#07101E !important; padding:11px 18px; font-weight:600 !important; }
.ga-gh-signup:hover{ background:#fff; color:#07101E !important; }
.ga-gh-burger{ display:none; margin-left:auto; width:40px; height:34px; background:none; border:0; cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:5px; }
.ga-gh-burger span{ display:block; width:22px; height:1.5px; background:#fff; }
.ga-gh-menu{ position:fixed; inset:0; z-index:1000; background:#07101E; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; }
.ga-gh-menu[hidden]{ display:none; }
.ga-gh-menu a{ color:#fff; font-family:'Playfair Display',serif; font-size:1.45rem; text-decoration:none; }
.ga-gh-menu .ga-gh-mcta{ font-family:'Plus Jakarta Sans',sans-serif; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; border:1px solid #D4AF37; padding:13px 22px; margin-top:6px; }
.ga-gh-close{ position:absolute; top:22px; right:20px; width:44px; height:44px; background:none; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; font-size:1.5rem; line-height:1; cursor:pointer; }
@media(max-width:1180px){ .ga-gh-cta{ display:none; } .ga-gh-links{ gap:18px; } }
@media(max-width:980px){ .ga-gh-links,.ga-gh-auth{ display:none; } .ga-gh-burger{ display:flex; } header.ga-gh-wrap > .ga-gh{ padding:16px; } }

/* Journal articles: Plan this trip, closing invitation, related reading */
body.ga-art .partner-section-label, body.ga-art .related-label{ font-size:.62rem !important; letter-spacing:.28em !important; text-transform:uppercase; color:#9C7A22 !important; font-weight:600 !important; margin-bottom:18px !important; }
body.ga-art .partner-grid{ display:grid !important; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) !important; gap:0 !important; border-top:1px solid #14181F; border-bottom:1px solid #E4E1DA; }
body.ga-art .partner-card{ display:flex !important; flex-direction:column; align-items:flex-start; padding:26px 24px 24px !important; border:0 !important; border-right:1px solid #E4E1DA !important; border-radius:0 !important; background:#fff !important; box-shadow:none !important; transition:background .4s !important; transform:none !important; }
body.ga-art .partner-card:last-child{ border-right:0 !important; }
body.ga-art .partner-card:hover{ background:#F6F3EE !important; }
body.ga-art .partner-card-logo{ height:44px !important; width:100%; background:none !important; padding:0 !important; border:0 !important; display:flex !important; align-items:center; justify-content:flex-start !important; border-radius:0 !important; }
body.ga-art .partner-card-logo img{ max-height:30px !important; max-width:130px !important; width:auto !important; height:auto !important; object-fit:contain; filter:grayscale(1) brightness(.75) contrast(1.4); opacity:.7; transition:filter .4s, opacity .4s; }
body.ga-art .partner-card:hover .partner-card-logo img{ filter:none; opacity:1; }
body.ga-art .partner-card-body{ padding:0 !important; margin-top:18px; }
body.ga-art .partner-card-cat{ font-size:.56rem !important; letter-spacing:.22em !important; text-transform:uppercase; color:#9C7A22 !important; font-weight:600 !important; }
body.ga-art .partner-card-name{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.35rem !important; color:#14181F !important; margin-top:6px; }
body.ga-art .partner-card-cta{ display:inline-flex !important; align-items:center; gap:8px; margin-top:14px; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; color:#14181F !important; font-size:.6rem !important; letter-spacing:.2em; text-transform:uppercase; font-weight:600 !important; }
body.ga-art .partner-card-cta::after{ content:"\2192"; font-size:.95rem; transition:translate .3s; }
body.ga-art .partner-card:hover .partner-card-cta::after{ translate:5px 0; }
body.ga-art .cta-box{ margin-top:56px !important; background:#07101E !important; color:#fff; border-radius:0 !important; padding:clamp(32px,5vw,56px) !important; text-align:left !important; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; border:0 !important; }
body.ga-art .cta-box p{ color:rgba(255,255,255,.76) !important; font-size:.98rem !important; margin:0 !important; }
body.ga-art .cta-box p strong{ display:block; font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1.25; color:#fff; margin-bottom:10px; }
body.ga-art .cta-box .btn-primary{ background:#D4AF37 !important; color:#07101E !important; border-radius:0 !important; white-space:nowrap; }
body.ga-art .cta-box .btn-primary:hover{ background:#fff !important; }
body.ga-art .related{ border-top:0 !important; margin-top:56px !important; padding-top:0 !important; }
body.ga-art .related-links{ border-top:1px solid #14181F; gap:0 !important; }
body.ga-art .related-links a{ display:flex !important; justify-content:space-between; padding:18px 0; border-bottom:1px solid #E4E1DA; font-family:'Playfair Display',serif; font-weight:400 !important; font-size:1.2rem !important; color:#14181F !important; transition:padding .35s; }
body.ga-art .related-links a::after{ content:"\2192"; color:#9C7A22; }
body.ga-art .related-links a:hover{ padding-left:10px; }
@media(max-width:640px){ body.ga-art .partner-card{ border-right:0 !important; border-bottom:1px solid #E4E1DA !important; } body.ga-art .cta-box{ grid-template-columns:1fr; } }

/* ============================================================
   Budget Planner — split planner with a live estimate
   ============================================================ */
body.ga-bp .ga-bp-head{ max-width:760px; margin:0 0 40px; }
body.ga-bp .ga-bp-head h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.2rem,4.6vw,3.6rem) !important; line-height:1.05 !important; margin-top:12px; color:#14181F !important; }
body.ga-bp .ga-bp-head h2 em{ color:#9C7A22; font-style:italic; }
body.ga-bp .ga-bp-head p{ margin-top:12px; color:#6A7280 !important; }
.ga-bp-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0; border:1px solid #E4E1DA; align-items:stretch; }
body.ga-bp .planner-card{ background:#F6F3EE !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; padding:clamp(28px,4vw,50px) !important; margin:0 !important; }
body.ga-bp .planner-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:26px 24px !important; }
body.ga-bp .planner-grid .field:first-child{ grid-column:1/-1; }
body.ga-bp .planner-grid .field:last-child{ grid-column:1/-1; }
body.ga-bp .field label{ font-size:.58rem !important; letter-spacing:.22em !important; text-transform:uppercase; font-weight:600 !important; color:#6A7280 !important; }
body.ga-bp .field select, body.ga-bp .field input{ width:100%; border:0 !important; border-bottom:1px solid #14181F !important; border-radius:0 !important; background:transparent !important; padding:12px 0 !important; font-family:'Playfair Display',serif; font-size:1.35rem !important; color:#14181F !important; box-shadow:none !important; }
body.ga-bp .field select:focus, body.ga-bp .field input:focus{ border-bottom-color:#D4AF37 !important; outline:none; }
body.ga-bp .calc-btn{ width:100%; border-radius:0 !important; }
body.ga-bp .tier-toggle{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:0 !important; margin-top:28px !important; border:1px solid #14181F; }
body.ga-bp .tier-btn{ border:0 !important; border-right:1px solid #14181F !important; border-radius:0 !important; background:transparent !important; color:#14181F !important; padding:14px 6px !important; font-size:.62rem !important; letter-spacing:.2em; text-transform:uppercase; font-weight:600 !important; cursor:pointer; transition:background .3s,color .3s; }
body.ga-bp .tier-btn:last-child{ border-right:0 !important; }
body.ga-bp .tier-btn.active{ background:#14181F !important; color:#fff !important; }
body.ga-bp .empty-hint{ display:flex !important; align-items:center; justify-content:center; text-align:center; background:#07101E; color:rgba(255,255,255,.6) !important; font-family:'Playfair Display',serif; font-style:italic; font-size:1.2rem !important; padding:40px !important; }
body.ga-bp .empty-hint[style*="none"]{ display:none !important; }
body.ga-bp .results{ background:#07101E !important; color:#fff; padding:clamp(28px,4vw,50px) !important; margin:0 !important; border-radius:0 !important; }
body.ga-bp .result-head{ display:block !important; border-bottom:1px solid rgba(255,255,255,.14); padding-bottom:24px; }
body.ga-bp .result-head h2{ font-family:'Plus Jakarta Sans',sans-serif !important; font-size:.62rem !important; letter-spacing:.28em !important; text-transform:uppercase; color:#E9CE7A !important; font-weight:600 !important; }
body.ga-bp .result-total{ text-align:left !important; margin-top:14px; }
body.ga-bp .result-total .amt{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.4rem,5vw,3.8rem) !important; color:#fff !important; line-height:1.05; }
body.ga-bp .result-total .label{ color:rgba(255,255,255,.6) !important; font-size:.84rem !important; margin-top:6px; }
body.ga-bp .breakdown-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:0 !important; margin-top:6px !important; }
body.ga-bp .breakdown-card{ background:none !important; border:0 !important; border-bottom:1px solid rgba(255,255,255,.12) !important; border-radius:0 !important; padding:20px 16px 18px 0 !important; box-shadow:none !important; }
body.ga-bp .b-label{ font-size:.56rem !important; letter-spacing:.22em !important; text-transform:uppercase; color:#E9CE7A !important; font-weight:600 !important; }
body.ga-bp .b-amt{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.45rem !important; color:#fff !important; margin-top:6px; }
body.ga-bp .b-note{ color:rgba(255,255,255,.55) !important; font-size:.78rem !important; margin-top:4px; }
body.ga-bp .daily-avg{ background:none !important; border:0 !important; border-radius:0 !important; padding:22px 0 0 !important; display:flex !important; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; }
body.ga-bp .d-label{ color:rgba(255,255,255,.6) !important; font-size:.8rem !important; }
body.ga-bp .d-amt{ font-family:'Playfair Display',serif !important; font-size:1.4rem !important; color:#E9CE7A !important; font-weight:400 !important; }
body.ga-bp .not-included{ margin-top:22px !important; background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:0 !important; color:rgba(255,255,255,.7) !important; font-size:.84rem !important; padding:16px 18px !important; }
body.ga-bp .not-included strong{ color:#fff; } body.ga-bp .not-included a{ color:#E9CE7A !important; }
body.ga-bp .cta-band{ margin-top:60px !important; border-radius:0 !important; background:#F6F3EE !important; color:#14181F !important; border:0 !important; border-left:2px solid #D4AF37 !important; }
body.ga-bp .cta-band h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; color:#14181F !important; font-size:clamp(1.5rem,2.6vw,2rem) !important; }
body.ga-bp .cta-band p{ color:#3A4250 !important; }
@media(max-width:860px){ .ga-bp-grid{ grid-template-columns:1fr; } }

/* Closing invitation bands, site-wide: square, premium */
.cta-band{ border-radius:0 !important; box-shadow:none !important; background:#07101E !important; padding:clamp(32px,5vw,60px) !important; display:grid !important; grid-template-columns:1fr auto; gap:28px; align-items:center; border:0 !important; position:relative; }
.cta-band::before{ content:""; position:absolute; inset:10px; border:1px solid rgba(212,175,55,.35); pointer-events:none; }
.cta-band h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(1.5rem,2.8vw,2.2rem) !important; line-height:1.2 !important; color:#fff !important; }
.cta-band p{ color:rgba(255,255,255,.72) !important; margin-top:8px; }
.cta-band .btn-primary{ background:#D4AF37 !important; color:#07101E !important; border-radius:0 !important; white-space:nowrap; position:relative; z-index:1; }
.cta-band .btn-primary:hover{ background:#fff !important; }
@media(max-width:700px){ .cta-band{ grid-template-columns:1fr; } }
body.ga-bp .cta-band::before{ display:none; }

/* Privacy Policy & Terms — calm reading layout */
.doc-hero{ background:#F6F3EE !important; padding:150px 0 60px !important; border-bottom:1px solid #E4E1DA !important; }
.doc-hero h1{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(2.8rem,6vw,4.8rem) !important; line-height:1 !important; color:#14181F !important; }
.doc-hero .updated{ margin-top:14px; font-size:.62rem !important; letter-spacing:.24em; text-transform:uppercase; color:#9C7A22 !important; font-weight:600; }
.doc-layout{ display:grid !important; grid-template-columns:240px minmax(0,1fr) !important; gap:clamp(30px,6vw,90px) !important; padding-top:70px !important; padding-bottom:110px !important; }
.doc-layout .toc{ position:sticky; top:110px; align-self:start; border-top:1px solid #14181F; padding-top:14px; }
.doc-layout .toc-label{ font-size:.58rem !important; letter-spacing:.26em !important; text-transform:uppercase; color:#9C7A22 !important; font-weight:600 !important; margin-bottom:10px; }
.doc-layout .toc a{ display:block; padding:7px 0 7px 14px !important; border-left:1px solid #E4E1DA !important; font-size:.84rem !important; color:#6A7280 !important; transition:color .3s, border-color .3s; }
.doc-layout .toc a:hover, .doc-layout .toc a.ga-cur{ color:#14181F !important; border-left-color:#D4AF37 !important; }
.doc-layout h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(1.6rem,2.6vw,2.1rem) !important; color:#14181F !important; margin-top:56px !important; padding-top:24px; border-top:1px solid #E4E1DA; }
.doc-layout h2:first-of-type{ margin-top:0 !important; border-top:0; padding-top:0; }
.doc-layout h3{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:1.25rem !important; color:#14181F !important; }
.doc-layout p, .doc-layout li{ color:#3A4250 !important; font-size:1rem !important; line-height:1.85 !important; max-width:72ch; }
.doc-layout ul{ padding-left:0; list-style:none; }
.doc-layout li{ position:relative; padding-left:24px; margin:8px 0; }
.doc-layout li::before{ content:""; position:absolute; left:0; top:.85em; width:12px; height:1px; background:#D4AF37; }
.doc-layout a:not(.toc a){ color:#9C7A22 !important; }
@media(max-width:860px){ .doc-layout{ grid-template-columns:1fr !important; } .doc-layout .toc{ position:static; } .doc-hero{ padding-top:120px !important; } }

/* Partners: keep wide affiliate banners inside the screen on phones */
#featured-nordvpn img, #featured-nordvpn a, #featured-nordvpn iframe{ max-width:100% !important; height:auto !important; }
#featured-nordvpn .wrap, #featured-nordvpn .wrap > *{ min-width:0; max-width:100%; }
#featured-nordvpn{ overflow-x:clip; }
#featured-nordvpn a{ display:block; min-width:0; }

/* ===== Destination guides · Toolkit box (Lagoon) and Expert box (Photo Split) ===== */
section.ga-tkl{ position:relative; padding:0 !important; background:#07101E !important; overflow:hidden; min-height:520px; display:flex; align-items:center; }
.ga-tkl-bg{ position:absolute; inset:0; }
.ga-tkl-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
.ga-tkl-shade{ position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,16,30,.84) 0%,rgba(7,16,30,.56) 45%,rgba(7,16,30,.06) 80%); }
.ga-tkl-in{ position:relative; z-index:1; width:100%; max-width:1180px; margin:0 auto; padding:clamp(48px,7vw,88px) max(24px, env(safe-area-inset-right,0px)) clamp(48px,7vw,88px) max(24px, env(safe-area-inset-left,0px)); display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.ga-tkl-card{ max-width:500px; color:#fff; min-width:0; }
.ga-tkl-k{ font-size:.66rem; letter-spacing:.3em; text-transform:uppercase; font-weight:700; color:#E9CE7A; }
.ga-tkl-card h3{ font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(2.2rem,4.6vw,3.4rem); line-height:1.04; letter-spacing:-.01em; margin:12px 0 0; color:#fff; text-wrap:balance; }
.ga-tkl-card p{ color:rgba(255,255,255,.84); margin:16px 0 0; font-size:.98rem; line-height:1.75; font-weight:300; }
.ga-tkl-row{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:28px; }
.ga-tkl-price{ font-family:'Playfair Display',serif; font-size:2.6rem; line-height:1; color:#fff; }
.ga-tkl-price small{ font-family:'Plus Jakarta Sans',sans-serif; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.65); font-weight:700; margin-left:10px; vertical-align:middle; }
.ga-tkl .toolkit-cta-btn.ga-tkl-btn, .ga-tkl .toolkit-owned-badge{ background:#D4AF37 !important; color:#07101E !important; border:0 !important; border-radius:0 !important; padding:17px 28px !important; font-size:.74rem !important; letter-spacing:.16em; text-transform:uppercase; font-weight:700 !important; box-shadow:none !important; transition:background .3s, color .3s, translate .3s !important; }
.ga-tkl .toolkit-cta-btn.ga-tkl-btn:hover, .ga-tkl .toolkit-owned-badge:hover{ background:#fff !important; color:#07101E !important; translate:0 -2px; transform:none !important; }
.ga-tkl-cover{ width:150px; flex:none; rotate:4deg; box-shadow:0 26px 44px -16px rgba(0,0,0,.65); display:block; }
@media(max-width:760px){ section.ga-tkl{ min-height:0; } .ga-tkl-shade{ background:rgba(7,16,30,.68); } .ga-tkl-cover{ display:none; } }

section.ga-xps{ padding:0 !important; background:#F6F3EE !important; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:460px; }
.ga-xps-ph{ position:relative; min-height:300px; overflow:hidden; }
.ga-xps-ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.ga-xps-copy{ padding:clamp(40px,6vw,80px) max(24px, env(safe-area-inset-right,0px)) clamp(40px,6vw,80px) clamp(24px,5vw,72px); display:flex; flex-direction:column; justify-content:center; min-width:0; max-width:640px; }
.ga-xps-k{ font-size:.66rem; letter-spacing:.3em; text-transform:uppercase; font-weight:700; color:#9C7A22; }
.ga-xps-copy h3{ font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(2rem,3.6vw,2.8rem); line-height:1.1; letter-spacing:-.01em; margin:12px 0 0; color:#14181F; text-wrap:balance; }
.ga-xps-copy h3 em{ color:#9C7A22; }
.ga-xps-copy p{ color:#3A4250; margin:14px 0 0; max-width:46ch; font-size:.96rem; line-height:1.75; font-weight:300; }
.ga-xps-acts{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.ga-xps-btn{ display:inline-flex; align-items:center; justify-content:center; background:#14181F; color:#fff; padding:16px 26px; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; text-decoration:none; transition:background .3s, color .3s, translate .3s; }
.ga-xps-btn:hover{ background:#D4AF37; color:#07101E; translate:0 -2px; }
.ga-xps-btn.ga-xps-line{ background:transparent; color:#14181F; box-shadow:inset 0 0 0 1px #14181F; }
.ga-xps-btn.ga-xps-line:hover{ background:#14181F; color:#fff; }
.ga-xps-hours{ margin-top:18px; font-size:.78rem; color:#6A7280; }
.ga-xps-btn:focus-visible, .ga-tkl-btn:focus-visible{ outline:2px solid #9C7A22; outline-offset:3px; }
@media(max-width:820px){ section.ga-xps{ grid-template-columns:1fr; } .ga-xps-copy{ padding-left:max(24px, env(safe-area-inset-left,0px)); } }
@media(prefers-reduced-motion:reduce){ .ga-xps-btn, .ga-tkl-btn{ transition:none !important; } }

/* ===== Continent pages + Destinations page: text beside the places ===== */
.ga-side-wrap{ display:grid; grid-template-columns:minmax(240px,300px) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; }
.ga-side-note{ position:sticky; top:110px; padding-top:4px; }
.ga-side-note .eyebrow{ font-size:.66rem !important; letter-spacing:.3em !important; text-transform:uppercase; color:#9C7A22 !important; font-weight:700; justify-content:flex-start !important; }
.ga-side-note h2{ font-family:'Playfair Display',serif !important; font-weight:400 !important; font-size:clamp(1.5rem,2.2vw,1.95rem) !important; line-height:1.15 !important; margin:12px 0 0 !important; color:#14181F; text-wrap:balance; }
.ga-side-note p{ font-size:.9rem !important; line-height:1.8 !important; color:#3A4250 !important; margin:14px 0 0 !important; font-weight:300; }
.ga-side-more p:first-child{ margin-top:14px !important; }
.ga-side-toggle{ margin-top:16px; background:none; border:0; border-bottom:1px solid #D4AF37; padding:5px 0; font-family:inherit; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:#14181F; cursor:pointer; }
.ga-side-toggle:hover{ color:#9C7A22; }
.ga-side-toggle:focus-visible{ outline:2px solid #9C7A22; outline-offset:3px; }
.ga-side-main{ min-width:0; }
@media(max-width:900px){
  .ga-side-wrap{ grid-template-columns:1fr; gap:24px; }
  .ga-side-note{ position:static; padding-bottom:4px; border-bottom:1px solid #E4E1DA; }
}

/* ===== Destinations page · "Don't see your destination yet?" (Name the Place) ===== */
section.ga-place{ position:relative; padding:0 !important; background:#07101E !important; min-height:540px; display:flex; align-items:center; overflow:hidden; }
.ga-place-bg{ position:absolute; inset:0; } .ga-place-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
.ga-place-shade{ position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,16,30,.86) 0%,rgba(7,16,30,.48) 58%,rgba(7,16,30,.14) 100%); }
.ga-place-in{ position:relative; z-index:1; width:100%; max-width:1180px; margin:0 auto; padding:clamp(56px,8vw,96px) max(24px, env(safe-area-inset-right,0px)) clamp(56px,8vw,96px) max(24px, env(safe-area-inset-left,0px)); color:#fff; }
.ga-place-in > *{ max-width:600px; }
.ga-place-k{ font-size:.66rem; letter-spacing:.3em; text-transform:uppercase; font-weight:700; color:#E9CE7A; }
.ga-place-in h3{ font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(2.3rem,4.8vw,3.6rem); line-height:1.04; letter-spacing:-.01em; margin:14px 0 0; color:#fff; text-wrap:balance; }
.ga-place-in p{ color:rgba(255,255,255,.84); margin:16px 0 0; font-size:1rem; line-height:1.75; font-weight:300; }
.ga-place-form{ display:flex; margin-top:28px; background:#fff; max-width:540px; }
.ga-place-form input{ flex:1; min-width:0; border:0; padding:18px 18px; font-family:'Plus Jakarta Sans',sans-serif; font-size:.98rem; color:#14181F; background:transparent; }
.ga-place-form input::placeholder{ color:#6A7280; }
.ga-place-form input:focus{ outline:2px solid #9C7A22; outline-offset:-2px; }
.ga-place-form button{ border:0; background:#D4AF37; color:#07101E; padding:0 26px; font-family:'Plus Jakarta Sans',sans-serif; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; cursor:pointer; white-space:nowrap; transition:background .3s; }
.ga-place-form button:hover{ background:#fff; }
.ga-place-form button:focus-visible, .ga-place-sugg button:focus-visible{ outline:2px solid #E9CE7A; outline-offset:2px; }
.ga-place-sugg{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.ga-place-sugg button{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.35); color:#fff; padding:7px 13px; font-size:.78rem; cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; transition:background .25s, color .25s; }
.ga-place-sugg button:hover{ background:#fff; color:#07101E; }
.ga-place-hours{ margin-top:18px; font-size:.78rem; color:rgba(255,255,255,.62); }
.ga-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media(max-width:640px){ .ga-place-shade{ background:rgba(7,16,30,.7); } .ga-place-form{ flex-direction:column; } .ga-place-form button{ padding:16px; } }
@media(prefers-reduced-motion:reduce){ .ga-place-form button, .ga-place-sugg button{ transition:none; } }

/* ===== 1C · Guide cards: "Explore Experiences" as a full-width line ===== */
.intent-cta{ display:flex !important; justify-content:space-between; align-items:center; align-self:stretch !important; border:0 !important; border-top:1px solid #14181F !important; border-radius:0 !important; padding:11px 0 2px !important; margin-top:4px; font-size:.68rem !important; letter-spacing:.18em; text-transform:uppercase; font-weight:700 !important; color:#14181F !important; background:none !important; transition:color .25s, padding .3s !important; }
.intent-cta::after{ content:"→"; color:#9C7A22; font-size:.9rem; letter-spacing:0; transition:translate .3s; }
.intent-cta:hover{ color:#9C7A22 !important; } .intent-cta:hover::after{ translate:4px 0; }
.intent-cta:focus-visible{ outline:2px solid #9C7A22; outline-offset:3px; }

/* ===== 2C · "More in [continent]" photo strip ===== */
.ga-rel-wrap{ margin-top:24px; }
.ga-rel-strip{ display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:2px; }
.ga-rel-strip::-webkit-scrollbar{ display:none; }
.ga-rel-strip:focus-visible{ outline:2px solid #9C7A22; outline-offset:3px; }
.ga-rel{ position:relative; flex:0 0 min(44%,420px); height:clamp(220px,24vw,300px); overflow:hidden; scroll-snap-align:start; text-decoration:none; color:#fff; background:#07101E; }
.ga-rel img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.8,.2,1); }
.ga-rel::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,16,30,.78),rgba(7,16,30,0) 58%); }
.ga-rel:hover img{ transform:scale(1.05); }
.ga-rel-t{ position:absolute; left:22px; bottom:18px; z-index:1; font-family:'Playfair Display',serif; font-size:clamp(1.4rem,2.2vw,1.9rem); line-height:1.1; }
.ga-rel-t small{ display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:.6rem; letter-spacing:.26em; text-transform:uppercase; color:#E9CE7A; font-weight:700; margin-bottom:6px; }
.ga-rel-nav{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:16px; }
.ga-rel-all{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:#14181F; border-bottom:1px solid #D4AF37; padding-bottom:3px; text-decoration:none; }
.ga-rel-nav span{ display:flex; gap:8px; }
.ga-rel-nav button{ width:40px; height:40px; border:1px solid #14181F; background:#fff; color:#14181F; cursor:pointer; font-size:.95rem; transition:background .25s, color .25s; }
.ga-rel-nav button:hover:not(:disabled){ background:#14181F; color:#fff; }
.ga-rel-nav button:disabled{ opacity:.3; cursor:default; }
.ga-rel-nav button:focus-visible{ outline:2px solid #9C7A22; outline-offset:2px; }
@media(max-width:640px){ .ga-rel{ flex-basis:82%; } }

/* ===== 3C · "Let a GoAtlas Expert Build the Journey", restyled ===== */
.consult-card{ background:#F6F3EE !important; border:0 !important; border-left:2px solid #D4AF37 !important; border-radius:0 !important; text-align:left !important; max-width:760px !important; padding:clamp(28px,4vw,44px) clamp(24px,4vw,48px) !important; box-shadow:none !important; }
.consult-card .toolkit-eyebrow{ color:#9C7A22 !important; font-size:.64rem !important; letter-spacing:.3em !important; }
.consult-card h3{ font-weight:400 !important; font-size:clamp(1.6rem,2.8vw,2.1rem) !important; line-height:1.15; color:#14181F !important; }
.consult-card p{ margin-left:0 !important; margin-right:0 !important; max-width:52ch !important; color:#3A4250 !important; }
.consult-cta-btn{ background:#14181F !important; color:#fff !important; border:0 !important; border-radius:0 !important; padding:15px 24px !important; font-size:.7rem !important; letter-spacing:.16em; text-transform:uppercase; }
.consult-cta-btn:hover{ background:#D4AF37 !important; color:#07101E !important; }

/* ===== 6A · Interactive Map: split header ===== */
section.hero.ga-map-split{ padding-bottom:0 !important; display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:1fr; align-content:stretch !important; align-items:stretch !important; min-height:min(64vh,560px) !important; padding-top:0 !important; background:#F6F3EE !important; justify-content:stretch !important; }
.ga-map-split .hero-photo{ position:relative !important; inset:auto !important; grid-column:2; grid-row:1; align-self:stretch; height:auto !important; min-height:360px; background:linear-gradient(rgba(7,16,30,.38),rgba(7,16,30,.38)), url('destinations-hero.webp') center/cover no-repeat, #07101E !important; }
.ga-map-split .hero-photo::after{ display:none !important; }
.ga-map-split .hero-inner{ grid-column:1; grid-row:1; align-self:center; max-width:640px !important; margin:0 !important; padding:120px 56px 64px max(24px, calc((100vw - 1320px)/2 + 24px)) !important; }
.ga-map-split .hero-inner h1{ color:#14181F !important; font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(2.8rem,5.6vw,5rem) !important; line-height:.98 !important; }
.ga-map-split .hero-inner p{ color:#3A4250 !important; }
.ga-map-split .eyebrow{ color:#9C7A22 !important; }
.ga-map-split .bread, .ga-map-split .bread a{ color:#6A7280 !important; } .ga-map-split .bread span{ color:#14181F !important; }
@media(max-width:860px){ section.hero.ga-map-split{ grid-template-columns:1fr; } .ga-map-split .hero-photo{ grid-column:1; grid-row:1; min-height:280px; } .ga-map-split .hero-inner{ grid-row:2; padding:36px 20px 44px !important; } }

/* ===== 7A · Consultations: "Before you book" gold-edge note ===== */
.ga-note-gold{ background:#FFFFFF; border:0; border-left:2px solid #D4AF37; padding:18px 22px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.ga-note-gold > span{ flex-shrink:0; }
.ga-note-txt{ margin:0; font-size:.9rem; color:#3A4250; flex:1; min-width:220px; line-height:1.7; }
.ga-note-txt strong{ color:#14181F; }
.ga-note-btn{ background:#14181F; color:#fff !important; padding:13px 20px; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; white-space:nowrap; text-decoration:none; transition:background .25s, color .25s; }
.ga-note-btn:hover{ background:#D4AF37; color:#07101E !important; }
.ga-map-split #mapGlobeCanvas{ display:none !important; }

/* ===== Travel Partners · split header ===== */
section.hero.ga-split-hero{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:min(64vh,560px) !important; padding:0 !important; background:#F6F3EE !important; align-items:stretch !important; }
.ga-split-hero > div:has(> img){ position:relative !important; inset:auto !important; grid-column:2; grid-row:1; min-height:360px; display:block !important; }
.ga-split-hero > div:not(.wrap):not(:has(> img)), .ga-split-hero > canvas{ display:none !important; }
.ga-split-hero > .wrap{ grid-column:1; grid-row:1; align-self:center; max-width:640px !important; margin:0 !important; padding:120px 56px 64px max(24px, calc((100vw - 1320px)/2 + 24px)) !important; text-align:left !important; }
.ga-split-hero h1{ font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(2.4rem,4.6vw,4rem) !important; line-height:1.04 !important; color:#14181F !important; text-shadow:none !important; }
.ga-split-hero .lede, .ga-split-hero p{ color:#3A4250 !important; margin-left:0 !important; }
.ga-split-hero .eyebrow{ color:#9C7A22 !important; justify-content:flex-start !important; }
.ga-split-hero .bread, .ga-split-hero .bread a{ color:#6A7280 !important; } .ga-split-hero .bread span{ color:#14181F !important; }
@media(max-width:860px){ section.hero.ga-split-hero{ grid-template-columns:1fr; } .ga-split-hero > div:has(> img){ grid-column:1; grid-row:1; min-height:260px; } .ga-split-hero > .wrap{ grid-row:2; padding:34px 20px 44px !important; } }

/* ===== Travel Partners · open-on-tap directory ===== */
.ga-dir-grid{ position:relative; }
.ga-dir-item.is-on{ outline:2px solid #D4AF37; outline-offset:-2px; background:#fff !important; }
.ga-tap-panel{ grid-column:1 / -1; background:#fff !important; border:1px solid #14181F; padding:0 !important; scroll-margin-top:110px; }
.ga-dir-grid.ga-tap-on .ga-tap-panel:not(.is-open){ position:absolute !important; left:0; right:0; top:0; visibility:hidden; pointer-events:none; height:0; overflow:hidden; border:0; }
.ga-tap-panel > .wrap{ display:grid !important; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:0; max-width:none !important; padding:0 !important; margin:0 !important; }
.ga-tap-panel .section-head{ grid-column:1; grid-row:1 / span 20; max-width:none !important; margin:0 !important; padding:32px 30px !important; border-right:1px solid #E4E1DA; text-align:left !important; align-self:stretch; }
.ga-tap-panel > .wrap > :not(.section-head){ grid-column:2; min-width:0; overflow-x:auto; padding:0 30px; margin-left:0 !important; margin-right:0 !important; }
.ga-tap-panel > .wrap > :not(.section-head):first-of-type, .ga-tap-panel > .wrap > .section-head + *{ padding-top:30px; }
.ga-tap-panel > .wrap > :last-child{ padding-bottom:30px; }
.ga-tap-panel .eyebrow{ color:#9C7A22 !important; justify-content:flex-start !important; }
.ga-tap-panel h2{ color:#14181F !important; font-family:'Playfair Display',serif; font-weight:400 !important; font-size:clamp(1.6rem,2.6vw,2.2rem) !important; text-align:left !important; }
.ga-tap-panel p{ color:#3A4250 !important; text-align:left !important; }
.ga-tap-panel [style*="border-radius"]{ border-radius:0 !important; }
.ga-tap-panel [style*="box-shadow"]{ box-shadow:none !important; }
.ga-tap-panel [style*="background:#fff"]{ border:1px solid #E4E1DA; }
.ga-tap-panel .section-head > div[style*="display:inline-block"]{ margin-left:0 !important; border:1px solid #E4E1DA; }
.ga-tap-panel [style*="justify-content:center"]{ justify-content:flex-start !important; }
.ga-tap-close{ display:inline-block; margin-top:18px; background:none; border:0; border-bottom:1px solid #D4AF37; padding:5px 0; font-family:inherit; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:#14181F; cursor:pointer; }
.ga-tap-close:focus-visible{ outline:2px solid #9C7A22; outline-offset:3px; }
@media(max-width:820px){
  .ga-tap-panel > .wrap{ grid-template-columns:minmax(0,1fr); }
  .ga-tap-panel .section-head{ grid-row:auto; border-right:0; border-bottom:1px solid #E4E1DA; padding:24px 20px !important; }
  .ga-tap-panel > .wrap > :not(.section-head){ grid-column:1; padding:0 16px; }
}
.ga-place-cta .ga-place-btn{ display:inline-flex; margin-top:26px; background:#D4AF37; color:#07101E; padding:16px 24px; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; text-decoration:none; transition:background .25s; }
.ga-place-cta .ga-place-btn:hover{ background:#fff; }
.ga-split-hero .bread{ justify-content:flex-start !important; text-align:left !important; margin-left:0 !important; }

/* ===== Audit fixes ===== */
/* Buttons and form fields use the site font instead of the browser default (homepage hero left as approved). */
:where(button, input, select, textarea):where(:not(#hero3d *)){ font-family:inherit; }
/* Last rounded boxes squared off */
.static-notice{ border-radius:0 !important; }
.info-grid, .info-grid > *{ border-radius:0 !important; }

/* ===== Partner section on destination guides: Quiet Logo Wall ===== */
.ga-pw{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:44px;align-items:center}
.ga-pw-head h2{margin-top:10px;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;text-wrap:balance}
.ga-pw-head p{color:#3A4250;font-size:.94rem;line-height:1.7;margin:12px 0 0;max-width:34ch}
.ga-pw-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #E4E1DA;border-left:1px solid #E4E1DA}
.ga-pw-tile{background:#FFFFFF;display:grid;justify-items:center;align-content:center;gap:10px;min-height:118px;padding:22px 10px;border-right:1px solid #E4E1DA;border-bottom:1px solid #E4E1DA;text-decoration:none;transition:background .25s}
.ga-pw-tile:hover{background:#F6F3EE}
.ga-pw-tile:focus-visible{outline:2px solid #9C7A22;outline-offset:-2px}
.ga-pw-logo{height:38px;display:flex;align-items:center;justify-content:center}
.ga-pw-logo img{max-height:24px;max-width:108px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.78;transition:filter .3s,opacity .3s}
.ga-pw-logo img.ga-pw-sq{max-height:36px}
.ga-pw-tile:hover .ga-pw-logo img{filter:none;opacity:1}
.ga-pw-name{display:none;font-weight:700;letter-spacing:.06em;font-size:.8rem;text-transform:uppercase;color:#14181F;opacity:.78;text-align:center}
.ga-pw-nologo img{display:none}
.ga-pw-nologo .ga-pw-name{display:block}
.ga-pw-tile:hover .ga-pw-name{opacity:1}
.ga-pw-cat{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#6A7280;text-align:center}
@media(hover:none){.ga-pw-logo img{filter:none;opacity:1}.ga-pw-name{opacity:1}}
@media(max-width:900px){.ga-pw{grid-template-columns:1fr;gap:26px}}
@media(max-width:560px){.ga-pw-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-pw-tile{min-height:104px}}
@media(prefers-reduced-motion:reduce){.ga-pw-tile,.ga-pw-logo img{transition:none}}

/* ===== Experts page consultation packages: Pick and See ===== */
.ga-pk{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);border:1px solid #E4E1DA;background:#FFFFFF;text-align:left}
.ga-pk > p{grid-column:1/-1;padding:28px}
.ga-pk-tabs{display:flex;flex-direction:column;border-right:1px solid #E4E1DA;background:#F6F3EE}
.ga-pk-tab{appearance:none;border:0;border-bottom:1px solid #E4E1DA;background:transparent;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:20px 22px;text-align:left;color:#14181F;transition:background .25s}
.ga-pk-tab:last-child{border-bottom:0}
.ga-pk-tab:hover{background:#EFEBE4}
.ga-pk-tab:focus-visible{outline:2px solid #9C7A22;outline-offset:-2px}
.ga-pk-tab span{font-family:'Playfair Display',Georgia,serif;font-size:1.06rem;line-height:1.3}
.ga-pk-tab em{font-style:normal;font-size:.86rem;font-weight:600;font-variant-numeric:tabular-nums;color:#6A7280;white-space:nowrap}
.ga-pk-tab[aria-selected="true"]{background:#FFFFFF;box-shadow:inset 2px 0 0 #D4AF37}
.ga-pk-tab[aria-selected="true"] em{color:#9C7A22}
.ga-pk-panel{padding:32px 34px;display:grid;gap:16px;align-content:start;min-width:0}
.ga-pk-top{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.ga-pk-top h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:1.7rem;line-height:1.12;margin:0;color:#14181F}
.ga-pk-price{font-family:'Playfair Display',Georgia,serif;font-size:2.4rem;line-height:1;color:#14181F}
.ga-pk-dur{display:grid;gap:7px}
.ga-pk-dur span{font-size:.76rem;color:#6A7280}
.ga-pk-dur i{display:block;height:2px;background:#E4E1DA;position:relative}
.ga-pk-dur b{position:absolute;left:0;top:0;bottom:0;background:#D4AF37}
.ga-pk-desc{margin:0;font-size:.92rem;line-height:1.7;color:#3A4250}
.ga-pk-feat{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.ga-pk-feat li{position:relative;padding-left:18px;font-size:.88rem;line-height:1.55;color:#3A4250}
.ga-pk-feat li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:#9C7A22}
.ga-pk-acts{margin-top:6px}
.ga-pk-btn{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:#14181F;color:#FFFFFF;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:16px 22px;transition:background .25s,color .25s}
.ga-pk-btn:hover{background:#D4AF37;color:#07101E}
.ga-pk-btn span{transition:transform .25s}
.ga-pk-btn:hover span{transform:translateX(4px)}
@media(max-width:860px){
  .ga-pk{grid-template-columns:1fr}
  .ga-pk-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #E4E1DA;scrollbar-width:none}
  .ga-pk-tabs::-webkit-scrollbar{display:none}
  .ga-pk-tab{flex:none;flex-direction:column;gap:2px;border-bottom:0;border-right:1px solid #E4E1DA;padding:14px 16px}
  .ga-pk-tab[aria-selected="true"]{box-shadow:inset 0 -2px 0 #D4AF37}
  .ga-pk-panel{padding:24px 18px}
  .ga-pk-feat{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ga-pk-tab,.ga-pk-btn,.ga-pk-btn span{transition:none}}

/* ===== Phone "desktop site" mode (about 980px wide): homepage header and trip deck fit the screen ===== */
@media(min-width:901px){ .ga-deck-wrap{ grid-template-columns:minmax(260px,400px) minmax(0,1fr); } }
.ga-deck, .ga-dcard, .ga-dcard-tx{ min-width:0; }
@media(min-width:901px) and (max-width:1240px){
  body:has(#hero3d) .nav-links{ gap:9px !important; margin-left:10px; }
  body:has(#hero3d) .nav-links a{ font-size:.66rem !important; letter-spacing:.04em !important; white-space:nowrap; }
  body:has(#hero3d) .nav-cta{ padding:8px 10px !important; font-size:.62rem !important; letter-spacing:.06em !important; white-space:nowrap; margin-left:6px; }
  body:has(#hero3d) .nav-auth{ gap:8px; margin-left:8px; }
  body:has(#hero3d) .nav-login, body:has(#hero3d) .nav-signup{ white-space:nowrap; }
  body:has(#hero3d) .nav-signup{ padding:9px 12px !important; }
}
.ga-deck-soon{ grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); }
@media(min-width:901px) and (max-width:1240px){
  .ga-dcard{ grid-template-columns:1fr 1fr; }
}

/* ===== Cookie banner: Light, in the current site colours (same words and buttons) ===== */
#cookieBanner.cookie-banner{ background:#F6F3EE !important; color:#14181F; border-radius:14px !important; border:0 !important; box-shadow:inset 0 2px 0 #D4AF37, 0 26px 50px -24px rgba(7,16,30,.55) !important; }
#cookieBanner .cookie-text{ color:#3A4250 !important; font-size:.84rem; line-height:1.65; }
#cookieBanner .cookie-text a{ color:#14181F !important; text-decoration:none !important; border-bottom:1px solid #D4AF37; }
#cookieBanner .cookie-btns button{ border-radius:8px !important; font-size:.64rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-weight:700 !important; padding:13px 20px !important; white-space:nowrap; transition:background .25s, color .25s, box-shadow .25s; }
#cookieBanner .cookie-decline{ background:transparent !important; color:#14181F !important; border:0 !important; box-shadow:inset 0 0 0 1px #14181F !important; }
#cookieBanner .cookie-decline:hover{ background:#14181F !important; color:#FFFFFF !important; }
#cookieBanner .cookie-accept{ background:#14181F !important; color:#FFFFFF !important; border:0 !important; }
#cookieBanner .cookie-accept:hover{ background:#D4AF37 !important; color:#14181F !important; }
#cookieBanner .cookie-btns button:focus-visible{ outline:2px solid #9C7A22; outline-offset:2px; }
@media(max-width:640px){
  #cookieBanner.cookie-banner{ left:12px !important; right:12px !important; bottom:12px !important; padding:18px 18px !important; gap:14px !important; }
  #cookieBanner .cookie-text{ font-size:.8rem !important; line-height:1.6 !important; }
  #cookieBanner .cookie-btns button{ padding:12px 10px !important; }
}

/* ===== Header logo: G◎ATLAS in spaced capitals, the globe kept as the O ===== */
.ga-wm{ display:inline-flex !important; align-items:center !important; gap:0 !important; font-family:'Playfair Display',Georgia,serif !important; font-weight:500 !important; font-size:1.22rem !important; letter-spacing:.28em !important; text-transform:uppercase; line-height:1 !important; white-space:nowrap; text-decoration:none; margin-right:-.28em; }
.ga-wm > span[aria-hidden]{ display:inline-flex; align-items:center; }
.ga-wm svg{ width:1.04em !important; height:1.04em !important; margin:0 .22em 0 -.02em !important; transform:translateY(-.03em) !important; flex:none; }
.ga-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media(max-width:900px){ .ga-wm{ font-size:1.08rem !important; } }
@media(min-width:901px) and (max-width:1240px){ body:has(#hero3d) .ga-wm{ font-size:1rem !important; letter-spacing:.22em !important; margin-right:-.22em; } }

/* ===== Phones: budget tables on destination guides fit the screen ===== */
@media(max-width:560px){
  .budget-table th, .budget-table td{ padding:10px 8px !important; }
  .budget-table td{ font-size:.8rem !important; }
  .budget-table th{ font-size:.56rem !important; letter-spacing:.04em !important; }
}
@media(max-width:560px){ .budget-table td{ overflow-wrap:anywhere; } }

/* ===== Phones: partner banners on the Offers page shrink to the screen ===== */
.ga-shelves-sec .ga-shelf > *, .ga-shelf-tiles{ min-width:0; }
.ga-shelf-tiles .banner-tile a{ display:block; max-width:100%; }
@media(max-width:860px){ .ga-shelf-tiles .banner-tile{ flex:1 1 100%; width:100%; box-sizing:border-box; } .ga-shelf-tiles .banner-tile img{ width:100%; height:auto; } }
.ga-foot .ga-wm{ font-size:1.3rem !important; color:#14181F !important; }
.ga-foot .ga-wm svg > circle:first-child{ stroke-width:1.5; } .ga-foot .ga-wm svg > ellipse, .ga-foot .ga-wm svg > line{ stroke-width:.9; }
/* Founder signature: room for the tall K and J so the reveal does not clip them */
.ga-fd-sign{ padding-top:.34em !important; margin-top:4px !important; }

/* ===== Cookie banner: the page softly blurs behind it until the visitor chooses ===== */
.cookie-veil{ position:fixed; inset:0; z-index:249; background:rgba(7,16,30,.22); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); opacity:0; pointer-events:none; transition:opacity .5s ease; }
.cookie-veil.show{ opacity:1; pointer-events:auto; }
@media (prefers-reduced-motion:reduce){ .cookie-veil{ transition:none; } }

/* ---------- Brochure link in the menu: keep every header on one line ---------- */
body:has(#hero3d) .nav-cta, body:has(#hero3d) .nav-login, body:has(#hero3d) .nav-signup{ white-space:nowrap; }
@media (min-width:1241px) and (max-width:1600px){
  body:has(#hero3d) .nav-links{ gap:16px !important; margin-left:20px; }
  body:has(#hero3d) .nav-links a{ letter-spacing:.08em !important; }
  body:has(#hero3d) .nav-cta{ padding:9px 14px !important; margin-left:10px; }
  body:has(#hero3d) .nav-auth{ gap:12px; margin-left:12px; }
}
@media (max-width:1500px){ header.ga-gh-wrap > .ga-gh{ gap:22px; } .ga-gh-links{ gap:18px; } .ga-gh-links a, .ga-gh-auth a{ letter-spacing:.14em; } }
@media (max-width:1340px){ .ga-gh-cta{ display:none; } }
@media (max-width:1180px){ .ga-gh-links{ gap:13px; } .ga-gh-links a, .ga-gh-auth a{ letter-spacing:.1em; font-size:.64rem; } }
@media (min-width:901px) and (max-width:1100px){ body:has(#hero3d) .nav-cta{ display:none !important; } }
@media (max-width:1420px){ .ga-gh-cta{ display:none; } }
@media (max-width:1060px){ header.ga-gh-wrap > .ga-gh{ gap:14px; padding-left:18px; padding-right:18px; } .ga-gh-links{ gap:10px; } .ga-gh-auth{ gap:12px; } }
