/* Sleep By The Beach — Luxury coastal editorial.
   Aesthetic reference: Aman Resorts, Belmond, Rosewood, Condé Nast Traveler.
   Photography carries color; typography stays quiet and elegant. */

@import url('https://fonts.googleapis.com/css2?family=Prata&family=Jost:wght@300;400;500;600&display=swap');

:root{
  /* Palette pulled from the brand logo: teal SLEEP + amber sun. */
  --cream:#f6f0e4;
  --cream-2:#ede6d4;
  --sand:#d9e6ec;              /* soft ocean blue, replacing the yellow strip */
  --sand-2:#b9ced7;
  --ink:#14444a;                /* deep teal, same family as logo SLEEP */
  --ink-2:#2a5b62;
  --mute:#6e8287;
  --rule:#d8cbad;
  --accent:#1e7f88;             /* logo teal */
  --accent-2:#e5831c;            /* logo orange (BY THE BEACH) */
  --sun:#f2b53a;                 /* logo yellow sun */
  --display:"Prata", "Cormorant Garamond", Georgia, serif;
  --sans:"Jost", -apple-system, "Helvetica Neue", sans-serif;
  --shadow-soft:0 16px 40px rgba(20,68,74,.1);
  --shadow:0 30px 70px rgba(20,68,74,.2);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--cream)}
body{
  background:
    linear-gradient(rgba(245,236,220,.62), rgba(245,236,220,.62)),
    url("/static/sand-bg.jpg") center/cover fixed,
    var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  font-size:17.5px;
  line-height:1.75;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--ink);text-decoration:none;transition:color .3s ease}
a:hover{color:var(--accent)}
.wrap{width:min(calc(100% - 48px), 1280px);margin:0 auto}
.wrap-narrow{width:min(calc(100% - 48px), 780px);margin:0 auto}

/* ───── Header / nav ───── */
header.site{
  position:absolute;top:0;left:0;right:0;z-index:10;
  padding:38px 0;
}
header.site .bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
}
header.site .wordmark{
  display:inline-flex;align-items:center;line-height:1;
  background:rgba(20,68,74,.92);
  padding:10px 22px;border-radius:8px;
  border:1.5px solid rgba(242,181,58,.45);
  backdrop-filter:blur(8px);
  box-shadow:0 6px 26px rgba(0,0,0,.18);
  transition:background .3s ease, transform .3s ease;
  flex-shrink:0;
}
header.site .logo{
  height:74px;width:auto;display:block;
  max-width:none;flex-shrink:0;object-fit:contain;
  transition:opacity .3s ease;
}
@media (max-width:700px){
  header.site .logo{height:52px;width:auto;max-width:none}
  header.site .wordmark{padding:12px 24px}
  header.site .bar{flex-wrap:wrap;gap:12px}
}
header.site .wordmark:hover{transform:translateY(-1px)}
header.site.ink .wordmark{background:rgba(20,68,74,.95);box-shadow:0 4px 18px rgba(0,0,0,.10)}
header.site.ink .logo{height:68px}
header.site nav{
  display:flex;gap:36px;align-items:center;
}
header.site nav a{
  color:var(--cream);
  font-size:13px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:400;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}
header.site nav a:hover{color:var(--sand-2)}
/* Inverted header for non-hero pages */
header.site.ink .wordmark,
header.site.ink nav a{color:var(--ink);text-shadow:none}
header.site.ink nav a:hover{color:var(--accent)}

/* ───── Hero ───── */
.hero{
  position:relative;
  height:min(96vh, 1000px);
  min-height:700px;
  overflow:hidden;
  background:var(--ink);
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:saturate(1.02);
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.1) 35%, rgba(0,0,0,.55) 100%);
}
.hero-content{
  position:absolute;inset:0;display:flex;align-items:flex-end;
  padding:0 0 8vh 0;
}
.hero-content .inner{
  width:min(calc(100% - 48px), 1280px);margin:0 auto;color:var(--cream);
}
.hero-eyebrow{
  font-size:13px;letter-spacing:.46em;text-transform:uppercase;font-weight:400;
  color:var(--sun);margin-bottom:28px;
}
.hero h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(56px,8.5vw,138px);
  line-height:1;letter-spacing:-.015em;
  max-width:15ch;margin:0 0 32px;
  color:var(--cream);
}
.hero .lede{
  font-size:clamp(19px,1.5vw,24px);font-weight:300;line-height:1.55;
  max-width:58ch;color:rgba(245,241,234,.92);margin-bottom:40px;
  letter-spacing:.005em;
}
.hero .cta-row{display:flex;gap:18px;flex-wrap:wrap}
.btn-line{
  display:inline-block;padding:18px 34px;
  font-family:var(--sans);font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;
  color:var(--cream);border:1px solid rgba(245,241,234,.6);
  transition:all .35s ease;
}
.btn-line:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.btn-solid{
  display:inline-block;padding:18px 34px;
  font-family:var(--sans);font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;
  color:var(--ink);background:var(--cream);border:1px solid var(--cream);
  transition:all .35s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.btn-solid:hover{background:var(--sun);border-color:var(--sun);color:var(--ink)}

/* ───── Section conventions ───── */
.section{padding:140px 0}
.section-head{text-align:center;margin-bottom:80px}
.section-head .kicker{
  font-size:13px;letter-spacing:.44em;text-transform:uppercase;
  color:var(--accent-2);margin-bottom:22px;font-weight:500;
}
.section-head h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(40px,4.8vw,68px);letter-spacing:-.01em;line-height:1.1;
  color:var(--ink);max-width:22ch;margin:0 auto 22px;
}
.section-head .sub{
  font-size:18px;color:var(--mute);max-width:60ch;margin:0 auto;
  line-height:1.7;font-weight:300;
}

/* ───── Destination cards — magazine feature cards (atmospheric) ───── */
.dest-grid{
  display:grid;gap:48px 32px;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
}
.dest-card{
  display:block;color:var(--ink);
  background:#fff;
  border:1px solid var(--rule);
  border-radius:6px;
  overflow:hidden;
  position:relative;
  box-shadow:0 6px 18px rgba(20,68,74,.06);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),
             box-shadow .55s cubic-bezier(.2,.8,.2,1),
             border-color .35s ease;
}
.dest-card:hover{
  color:var(--ink);
  transform:translateY(-8px);
  box-shadow:0 28px 60px rgba(20,68,74,.18);
  border-color:rgba(30,127,136,.28);
}
.dest-card .frame{
  position:relative;overflow:hidden;
  aspect-ratio:4/5;
  background:var(--sand);
  margin:0;
}
.dest-card .frame img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(1.04);
  transition:transform 1.6s cubic-bezier(.2,.8,.2,1), filter .6s ease;
}
.dest-card:hover .frame img{transform:scale(1.06);filter:saturate(1.12)}
.dest-card .frame::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.18) 0%, transparent 28%, transparent 55%, rgba(0,0,0,.45) 100%);
  pointer-events:none;
}
.dest-card .frame .badge{
<<<<<<< Updated upstream
  position:absolute;top:20px;left:22px;z-index:2;
  font-size:13px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--cream);font-weight:500;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
=======
  position:absolute;
  top:auto;bottom:18px;left:18px;z-index:2;
  font-family:var(--sans);
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--cream);font-weight:600;
  background:rgba(20,68,74,.85);
  padding:6px 11px;border-radius:2px;
  text-shadow:none;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
>>>>>>> Stashed changes
}
.dest-card h3{
  font-family:var(--display);font-weight:400;
  font-size:30px;line-height:1.08;letter-spacing:-.005em;
  color:var(--ink);
  margin:26px 28px 0;
  position:relative;
  padding-bottom:16px;
}
.dest-card h3::after{
  content:"";position:absolute;left:0;bottom:0;
  width:32px;height:1.5px;background:var(--accent-2);
  transition:width .45s cubic-bezier(.2,.8,.2,1);
}
.dest-card:hover h3::after{width:72px}
.dest-card .meta{
  font-family:var(--sans);
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--accent-2);font-weight:600;
  margin:18px 28px 12px;
}
.dest-card .tagline{
  font-family:var(--sans);
  font-size:15.5px;line-height:1.6;color:var(--ink-2);font-weight:300;
  margin:0 28px 28px;
  max-width:none;
}

/* ───── Aside / editorial strip ───── */
.editorial-strip{
  background:var(--sand);
  padding:110px 0;
  text-align:center;
}
.editorial-strip .kicker{
  font-size:13px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--accent);font-weight:500;margin-bottom:26px;
}
.editorial-strip blockquote{
  font-family:var(--display);font-weight:400;font-style:normal;
  font-size:clamp(24px,2.8vw,38px);
  line-height:1.35;max-width:28ch;margin:0 auto 24px;
  color:var(--ink);letter-spacing:-.002em;
}
.editorial-strip .attr{
  font-size:13px;letter-spacing:.4em;text-transform:uppercase;color:var(--mute);
  font-weight:400;
}

/* ───── Destination detail ───── */
.dest-hero{
  position:relative;height:min(82vh, 800px);min-height:560px;overflow:hidden;background:var(--ink);
}
.dest-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.dest-hero .bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.55) 100%);
}
.dest-hero .overlay{
  position:absolute;inset:0;display:flex;align-items:flex-end;
  padding-bottom:9vh;
}
.dest-hero .overlay .inner{
  width:min(calc(100% - 48px), 1280px);margin:0 auto;color:var(--cream);
}
.dest-hero .overlay .crumbs{
  font-size:13px;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(245,241,234,.72);margin-bottom:22px;
}
.dest-hero .overlay .crumbs a{color:rgba(245,241,234,.72)}
.dest-hero .overlay .crumbs a:hover{color:var(--sand-2)}
.dest-hero .overlay .crumbs span{margin:0 14px}
.dest-hero .overlay h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(52px,7vw,104px);line-height:.98;letter-spacing:-.01em;
  color:var(--cream);margin-bottom:22px;
}
.dest-hero .overlay .sub{
  font-size:clamp(16px,1.25vw,19px);font-weight:300;max-width:52ch;
  color:rgba(245,241,234,.88);
}

.dest-profile{padding:110px 0 70px}
.dest-profile .grid{
  display:grid;grid-template-columns:1.25fr .9fr;gap:80px;
}
.dest-profile .intro{
  font-family:var(--display);font-size:clamp(22px,2vw,28px);
  line-height:1.5;font-weight:400;color:var(--ink);
  max-width:40ch;
}
.facts-table{
  border-top:1px solid var(--rule);
  font-family:var(--sans);
}
.facts-table .row{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
  padding:18px 0;border-bottom:1px solid var(--rule);
}
.facts-table .label{
  font-size:13px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--mute);font-weight:500;align-self:center;
}
.facts-table .value{
  font-family:var(--display);font-size:22px;font-weight:400;
  color:var(--ink);letter-spacing:-.005em;
}

/* ───── Property listings (editorial spreads) ───── */
.listings-head{
  text-align:center;padding:50px 0 68px;
}
.listings-head .kicker{
  font-size:13px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--accent);font-weight:500;margin-bottom:14px;
}
.listings-head h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(32px,3.6vw,50px);line-height:1.15;letter-spacing:-.005em;
}
.listings-head .affiliate-note{
  max-width:52ch;margin:28px auto 0;
  font-size:13.5px;color:var(--mute);font-weight:300;line-height:1.7;
  letter-spacing:.005em;font-style:italic;
}
.listings-head .affiliate-note a{color:var(--accent);border-bottom:1px solid var(--rule)}
.listings-head .affiliate-note a:hover{color:var(--ink);border-color:var(--ink)}
.listings{padding:0 0 100px}
.spread{
  display:grid;grid-template-columns:1.1fr 1fr;gap:64px;
  align-items:center;
  padding:72px 0;border-bottom:1px solid var(--rule);
}
.spread.reverse{grid-template-columns:1fr 1.1fr}
.spread.reverse .img-block{order:2}
.spread .img-block{
  position:relative;aspect-ratio:5/4;overflow:hidden;background:var(--sand);
}
.spread .img-block img{width:100%;height:100%;object-fit:cover}
.spread .body{padding:0 16px}
.spread .body .num{
  font-family:var(--sans);font-size:13px;letter-spacing:.36em;text-transform:uppercase;
  color:var(--accent);margin-bottom:18px;font-weight:500;
}
.spread .body h3{
  font-family:var(--display);font-weight:400;
  font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.005em;
  margin-bottom:14px;
}
.spread .body .type{
  font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--mute);margin-bottom:20px;font-weight:400;
}
.spread .body .facts{
  display:flex;flex-wrap:wrap;gap:14px 26px;
  margin-bottom:22px;
  font-size:13.5px;color:var(--ink-2);
}
.spread .body .facts span{display:inline-flex;align-items:center;gap:8px}
.spread .body .facts span::before{
  content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
  background:var(--accent);
}
.spread .body p{
  font-size:16px;line-height:1.75;color:var(--ink-2);margin-bottom:26px;
  max-width:48ch;font-weight:300;
}
.spread .body .price{
  font-family:var(--display);font-size:32px;font-weight:400;color:var(--ink);
  margin-bottom:4px;letter-spacing:-.01em;
}
.spread .body .price .per{
  font-family:var(--sans);font-size:13px;color:var(--mute);
  letter-spacing:.28em;text-transform:uppercase;margin-left:8px;font-weight:400;
}
.spread .body .cta{
  display:inline-block;margin-top:24px;
  padding:13px 28px;
  font-family:var(--sans);font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--cream);background:var(--ink);border:1px solid var(--ink);
  font-weight:500;transition:all .3s ease;
}
.spread .body .cta:hover{background:var(--accent);border-color:var(--accent);color:var(--cream)}

/* ───── Newsletter strip ───── */
.letter{
  background:var(--ink);color:var(--cream);
  padding:110px 0;text-align:center;
}
.letter .kicker{
  font-size:13px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--sand-2);font-weight:500;margin-bottom:22px;
}
.letter h2{
  font-family:var(--display);font-weight:400;color:var(--cream);
  font-size:clamp(32px,3.6vw,48px);line-height:1.15;letter-spacing:-.005em;
  max-width:22ch;margin:0 auto 20px;
}
.letter p{
  color:rgba(245,241,234,.72);font-size:16px;line-height:1.7;font-weight:300;
  max-width:48ch;margin:0 auto 32px;
}
.letter form{
  display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap;
  justify-content:center;
}
.letter input[type=email]{
  flex:1;min-width:240px;padding:15px 18px;
  background:transparent;border:1px solid rgba(245,241,234,.35);
  color:var(--cream);font-family:var(--sans);font-size:14px;font-weight:300;
  letter-spacing:.02em;
}
.letter input::placeholder{color:rgba(245,241,234,.5)}
.letter button{
  padding:15px 30px;background:var(--cream);color:var(--ink);border:1px solid var(--cream);
  font-family:var(--sans);font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;cursor:pointer;transition:all .3s ease;
}
.letter button:hover{background:transparent;color:var(--cream)}

/* ───── Footer ───── */
footer.site{
  background:
    linear-gradient(rgba(245,236,220,.72), rgba(245,236,220,.78)),
    url("/static/sand-bg-rippled.jpg") center/cover no-repeat,
    var(--cream-2);
  color:var(--ink-2);
  padding:70px 0 40px;margin-top:0;
  border-top:1px solid var(--rule);
}
footer.site .grid{
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr 1fr;gap:32px;
}
footer.site h5{
  font-family:var(--display);font-weight:400;
  font-size:22px;letter-spacing:-.005em;margin-bottom:18px;color:var(--ink);
}
footer.site p{font-size:14px;line-height:1.7;color:var(--mute);font-weight:300;max-width:42ch}
footer.site ul{list-style:none}
footer.site li{margin-bottom:10px}
footer.site a{
  color:var(--ink-2);font-size:13px;font-weight:300;letter-spacing:.01em;
}
footer.site a:hover{color:var(--accent)}
footer.site .label{
  font-size:13px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--mute);margin-bottom:14px;font-weight:500;
}
footer.site .bottom{
  margin-top:48px;padding-top:24px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
  font-size:13px;color:var(--mute);letter-spacing:.02em;
}

/* ───── Editorial static pages ───── */
/* Ocean variant of partner-spotlight — editorial dawn-Atlantic image with a
   creative vertical clear-to-ink gradient. Upper portion lets the photo breathe
   (kicker + headline read against soft water + sky), cards pinned to the lower
   darker band. Used on /about/ as the rest between the sand body + sand footer. */
.partner-spotlight.ocean{
  position:relative;min-height:720px;
  padding:120px 8vw 90px;
  color:#fff;background:#0a1316;
  overflow:hidden;
}
.partner-spotlight.ocean .ps-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:saturate(1.04) brightness(.96);
  transition:transform 14s ease;
}
.partner-spotlight.ocean:hover .ps-bg{transform:scale(1.025)}
.partner-spotlight.ocean .ps-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      rgba(8,18,28,0) 0%,
      rgba(8,18,28,.10) 28%,
      rgba(8,18,28,.55) 62%,
      rgba(6,14,22,.88) 100%);
}
.partner-spotlight.ocean .ps-inner{
  position:relative;z-index:1;
  max-width:1200px;margin:0 auto;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:480px;
}
.partner-spotlight.ocean .ps-head{
  text-align:center;max-width:640px;margin:0 auto 56px;
}
.partner-spotlight.ocean .ps-kicker{color:rgba(255,255,255,.7);font-weight:500}
.partner-spotlight.ocean h2{color:#fff;font-style:italic;letter-spacing:-.018em}
.partner-spotlight.ocean .ps-sub{color:rgba(255,255,255,.78)}
.partner-spotlight.ocean .ps-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.partner-spotlight.ocean .ps-card:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.32);
}
.partner-spotlight.ocean .ps-card-mark{color:#f5d68a}
.partner-spotlight.ocean .ps-card h4{color:#fff}
.partner-spotlight.ocean .ps-card p{color:rgba(255,255,255,.78)}
.partner-spotlight.ocean .ps-card-cta{color:#f5d68a;border-bottom-color:#f5d68a}
.partner-spotlight.ocean .ps-disclosure{color:rgba(255,255,255,.50)}
@media (max-width:760px){
  .partner-spotlight.ocean{min-height:600px;padding:90px 6vw 70px}
  .partner-spotlight.ocean .ps-inner{min-height:380px}
}
.partner-spotlight.light .ps-kicker{color:var(--accent)}
.partner-spotlight.light h2{color:var(--ink);font-style:italic}
.partner-spotlight.light .ps-sub{color:var(--ink);opacity:.78}
.partner-spotlight.light .ps-card{background:rgba(255,255,255,.55);border:1px solid var(--rule);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.partner-spotlight.light .ps-card:hover{background:rgba(255,255,255,.78);border-color:var(--accent)}
.partner-spotlight.light .ps-card-mark{color:var(--accent)}
.partner-spotlight.light .ps-card h4{color:var(--ink)}
.partner-spotlight.light .ps-card p{color:var(--ink);opacity:.75}
.partner-spotlight.light .ps-card-cta{color:var(--accent);border-bottom-color:var(--accent)}
.partner-spotlight.light .ps-disclosure{color:var(--ink);opacity:.55}

.page-strip{position:relative;height:300px;margin-top:80px;overflow:hidden}
.page-strip .bg{position:absolute;inset:0;background-size:cover;background-position:center 60%}
.page-strip .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,30,38,.35), rgba(20,30,38,.55))}
.page-strip .overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;padding:0 24px}
.page-strip .strip-quote{font-family:var(--display);font-size:30px;line-height:1.3;font-style:italic;font-weight:400;text-align:center;max-width:42ch;letter-spacing:-.005em;text-shadow:0 2px 12px rgba(0,0,0,.45)}
@media (max-width:760px){.page-strip{height:220px;margin-top:56px}.page-strip .strip-quote{font-size:22px}}

.page-hero{
  position:relative;height:min(60vh,560px);min-height:380px;overflow:hidden;background:var(--ink);
}
.page-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.3), rgba(0,0,0,.5))}
.page-hero .overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding-bottom:7vh;color:var(--cream)}
.page-hero .overlay h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(44px,5.5vw,80px);line-height:1;letter-spacing:-.01em;
  color:var(--cream);
}
.prose{
  padding:90px 0 110px;
}
.prose h3{
  font-family:var(--display);font-weight:400;font-size:28px;
  margin:40px 0 14px;letter-spacing:-.005em;
}
.prose p{
  font-size:17px;line-height:1.8;color:var(--ink-2);margin-bottom:18px;font-weight:300;
  max-width:62ch;
}
.prose p.lede{
  font-family:var(--display);font-size:clamp(22px,2vw,28px);line-height:1.5;
  color:var(--ink);font-weight:400;margin-bottom:28px;max-width:36ch;
}
.prose a{color:var(--accent);border-bottom:1px solid var(--rule)}
.prose a:hover{color:var(--ink);border-color:var(--ink)}

/* ───── Responsive ───── */
@media (max-width:880px){
  header.site nav{gap:20px}
  header.site nav a{font-size:13px;letter-spacing:.2em}
  .dest-profile .grid{grid-template-columns:1fr;gap:40px}
  .spread, .spread.reverse{grid-template-columns:1fr;gap:30px}
  .spread.reverse .img-block{order:1}
  footer.site .grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media (max-width:560px){
  .section{padding:66px 0}
  .editorial-strip{padding:70px 0}
  .letter{padding:70px 0}
  footer.site .grid{grid-template-columns:1fr}
  .hero-content{padding-bottom:6vh}
  .hero{min-height:520px}
}

/* ── Daily editorial note (homepage) ── */
.daily-note{
  padding:52px 56px;background:#fff;
  border:1px solid var(--rule);border-radius:6px;
  box-shadow:var(--shadow);
  border-top:3px solid var(--accent-2);
}
.daily-note .dn-tag{font-family:var(--sans);font-size:13px;letter-spacing:.36em;color:var(--accent-2);font-weight:500;text-transform:uppercase;margin-bottom:10px}
.daily-note .dn-date{font-family:var(--sans);font-size:13px;color:var(--mute);margin-bottom:22px;letter-spacing:.08em}
.daily-note h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.005em;margin:0 0 22px;color:var(--ink)}
.daily-note .dn-body p{font-size:17px;line-height:1.8;color:var(--ink-2);margin:0 0 14px;font-weight:300}
.daily-note .dn-body a{color:var(--accent);border-bottom:1px solid var(--rule)}
.daily-note .dn-body a:hover{color:var(--ink);border-color:var(--ink)}
.daily-note .dn-kicker{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--display);font-style:italic;color:var(--accent);font-size:16px;line-height:1.6}


/* ── Trust bar ── */
.trust-bar{padding:28px 0;text-align:center;background:var(--ink);color:var(--cream)}
.trust-bar span{font-family:var(--sans);font-size:13.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream);font-weight:400}
.trust-bar .sep{margin:0 18px;opacity:.35;color:var(--sun)}

/* ── Podcast feature (cinematic dark section) ── */
.podcast-feature{
  background:var(--ink);
  padding:90px 0;
  margin:60px 0;
}
.pf-inner{
  width:min(calc(100% - 48px),1200px);margin:0 auto;
  display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;
}
.pf-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.4)}
.pf-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.pf-kicker{
  font-family:var(--sans);font-size:13px;letter-spacing:.36em;
  text-transform:uppercase;color:var(--sun);margin-bottom:20px;font-weight:500;
}
.podcast-feature h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(28px,3.2vw,44px);line-height:1.12;
  color:#fff;margin:0 0 20px;letter-spacing:-.01em;
}
.podcast-feature .pf-text p{
  font-family:var(--sans);font-size:17px;line-height:1.75;
  color:rgba(245,241,234,.72);margin:0 0 28px;font-weight:300;
}
.podcast-feature .btn-solid{
  background:var(--cream);color:var(--ink);
  padding:14px 28px;font-family:var(--sans);font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  border-radius:4px;display:inline-block;
}
.podcast-feature .btn-solid:hover{background:var(--sun);color:var(--ink)}
@media (max-width:860px){
  .podcast-feature{padding:60px 0}
  .pf-inner{grid-template-columns:1fr;gap:32px}
}

/* ── Featured properties (homepage) ── */
.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}
.featured-card{position:relative;border-radius:6px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);transition:transform .35s ease,box-shadow .35s ease}
.featured-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.featured-card .frame{aspect-ratio:4/3;overflow:hidden}
.featured-card .frame img{width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.featured-card:hover .frame img{transform:scale(1.05)}
.featured-card .badge{position:absolute;top:14px;left:14px;background:rgba(10,12,18,.72);color:#fff;font-family:var(--sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border-radius:3px;backdrop-filter:blur(4px)}
.featured-card .card-body{padding:22px 24px 26px}
.featured-card h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;margin:0 0 8px;color:var(--ink)}
.featured-card .card-meta{font-family:var(--sans);font-size:13px;color:var(--mute);margin-bottom:16px;letter-spacing:.02em}
.featured-card .card-meta span+span::before{content:"·";margin:0 8px;opacity:.5}
.featured-card .card-cta{display:inline-block;font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--accent);text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:2px;transition:color .2s}
.featured-card .card-cta:hover{color:var(--ink)}

/* ── How We Pick (method grid) ── */
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.method-grid .col{padding:44px 38px;background:var(--sand);border:none;border-radius:0;border-left:4px solid var(--accent);box-shadow:none}
.method-grid .col h3{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,30px);line-height:1.15;margin:0 0 18px;color:var(--ink)}
.method-grid .col p{font-family:var(--sans);font-size:16.5px;line-height:1.75;color:var(--ink-2);font-weight:300;margin:0}
@media(max-width:880px){.method-grid{grid-template-columns:1fr;gap:20px}}

/* ── Seasonal spotlight ── */
.spotlight{position:relative;min-height:60vh;display:flex;align-items:center;overflow:hidden}
.spotlight .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease}
.spotlight:hover .bg{transform:scale(1.03)}
.spotlight::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(10,12,18,.8) 0%,rgba(10,12,18,.5) 45%,rgba(10,12,18,.15) 100%)}
.spotlight .inner{position:relative;z-index:1;width:min(calc(100% - 48px),1280px);margin:0 auto;padding:100px 0}
.spotlight .spot-kicker{font-family:var(--sans);font-size:13px;letter-spacing:.36em;text-transform:uppercase;color:var(--sun);margin-bottom:20px}
.spotlight h2{font-family:var(--display);font-weight:400;font-size:clamp(44px,6vw,76px);line-height:1.05;color:#fff;margin:0 0 22px;max-width:700px}
.spotlight p{font-family:var(--sans);font-size:18px;line-height:1.7;color:rgba(255,255,255,.85);margin:0 0 34px;font-weight:300;max-width:560px}
.spotlight .btn-solid{background:var(--cream);color:var(--ink);padding:16px 32px;font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border-radius:4px;text-decoration:none;display:inline-block}
.spotlight .btn-solid:hover{background:var(--sun);color:var(--ink)}
@media(max-width:880px){.spotlight{min-height:420px}.spotlight .inner{padding:60px 0}}

/* ── CJ banner section (homepage) ── */
.cj-home-banner{padding:50px 0;text-align:center;background:linear-gradient(135deg,#f8f5ef 0%,#f0ebe2 100%)}
.cj-home-banner .label{font-family:var(--sans);font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:#8a7e68;margin-bottom:18px}
.cj-home-banner a{display:inline-block}
.cj-home-banner img{max-width:100%;height:auto;border-radius:4px}
.cj-home-banner .sub-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.cj-home-banner .sub-links a{font-family:var(--sans);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#5a7a80;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.cj-home-banner .disc{font-family:var(--sans);font-size:13px;color:#a09680;margin:18px 0 0;letter-spacing:.04em}

/* ── Newsletter card ── */
.letter-card{
  background:#fff;color:var(--ink);
  padding:56px 52px;border-radius:6px;
  box-shadow:var(--shadow);
  border-top:3px solid var(--accent-2);
}
.letter-card .kicker{color:var(--accent-2)}
.letter-card h2{color:var(--ink)}
.letter-card p{color:var(--ink-2)}
.letter-card input[type=email]{
  background:#fff;color:var(--ink);
  border:1px solid var(--rule);
}
.letter-card input[type=email]::placeholder{color:var(--mute)}
.letter-card button{
  background:var(--ink);color:var(--cream);
}
.letter-card button:hover{background:var(--accent)}
<<<<<<< Updated upstream
=======

/* ─────────────────── Guide pages — elite editorial ─────────────────── */
.guide-shell{
  display:block;
  width:min(calc(100% - 48px), 780px);
  margin:0 auto;
  position:relative;
}
.guide-shell.has-toc{
  /* Body stays centered at 780px (matches /about/, /contact/ etc.).
     The TOC floats out to the left margin on wide screens via .guide-toc
     absolute positioning; on narrower screens it falls back to the top. */
  display:block;
  width:min(calc(100% - 48px), 780px);
  margin-left:auto;
  margin-right:auto;
}
.guide-shell.has-toc .guide-toc{
  position:absolute;top:0;left:-292px;width:220px;
}
.guide-toc{
  position:sticky;top:120px;align-self:start;
  font-family:var(--sans);
  border-left:1px solid var(--rule);
  padding:6px 0 6px 22px;
}
@media (max-width:1180px){
  .guide-shell.has-toc .guide-toc{
    position:static;width:auto;margin-bottom:48px;
    border-left:none;border-bottom:1px solid var(--rule);
    padding:0 0 22px 0;
  }
}
.guide-toc .toc-label{
  font-size:11px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--accent-2);font-weight:500;margin-bottom:18px;
}
.guide-toc ol{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:14px;
  counter-reset:tocsec;
}
.guide-toc li{
  counter-increment:tocsec;
  font-size:14px;line-height:1.45;color:var(--mute);
}
.guide-toc li::before{
  content:counter(tocsec, decimal-leading-zero);
  font-size:10.5px;letter-spacing:.18em;color:var(--accent-2);
  margin-right:10px;font-weight:500;
}
.guide-toc a{
  color:var(--ink-2);font-weight:300;
  border-bottom:1px solid transparent;transition:border-color .25s, color .25s;
}
.guide-toc a:hover{color:var(--ink);border-color:var(--accent)}
.guide-body{min-width:0}

.guide-meta{
  display:flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mute);font-weight:500;
  border-left:2px solid var(--accent-2);
  padding:6px 0 6px 14px;margin:0 0 28px;
}
.guide-meta .dot{opacity:.5;letter-spacing:0}

.guide-rentals-pills{
  margin:54px 0 0;padding:28px 32px;
  background:var(--cream-2);border:1px solid var(--rule);border-radius:6px;
}
.guide-rentals-pills .pills-label{
  font-family:var(--sans);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--mute);margin-bottom:14px;font-weight:500;
}
.guide-rentals-pills .pills-row{display:flex;flex-wrap:wrap;gap:10px}
.guide-rentals-pills .pill{
  display:inline-block;padding:9px 16px;
  border:1px solid rgba(36,86,104,.25);border-radius:999px;
  font-family:var(--sans);font-size:13px;color:var(--ink);
  text-decoration:none;font-weight:400;transition:all .22s;
}
.guide-rentals-pills .pill:hover{border-color:var(--accent);color:var(--accent)}
.guide-rentals-pills .pill-solid{
  background:var(--ink);color:var(--cream);border-color:var(--ink);
}
.guide-rentals-pills .pill-solid:hover{background:var(--accent);border-color:var(--accent);color:var(--cream)}

/* "Ready to book?" navy gradient CTA — matches destination Booking banners */
.booking-cta-block{
  margin:54px 0 0;
  background:linear-gradient(135deg,#003580 0%,#00224f 100%);
  border-radius:8px;color:#fff;
  overflow:hidden;
}
.booking-cta-block .bcb-inner{padding:48px 44px;text-align:center}
.booking-cta-block .bcb-kicker{
  font-family:var(--sans);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:#febb02;margin-bottom:14px;font-weight:600;
}
.booking-cta-block .bcb-title{
  font-family:var(--display);font-weight:400;font-size:30px;line-height:1.2;
  color:#fff;margin:0 0 12px;letter-spacing:-.005em;
}
.booking-cta-block .bcb-sub{
  font-family:var(--sans);font-size:16px;line-height:1.6;
  color:rgba(255,255,255,.82);font-weight:300;margin:0 auto 26px;
  max-width:48ch;
}
.booking-cta-block .bcb-ctas{
  display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center;
}
.booking-cta-block .bcb-primary{
  display:inline-block;padding:14px 30px;
  background:#febb02;color:#003580;text-decoration:none;
  font-family:var(--sans);font-size:12.5px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:700;border-radius:4px;
  transition:transform .2s;
}
.booking-cta-block .bcb-primary:hover{transform:translateY(-1px)}
.booking-cta-block .bcb-secondary{
  display:inline-block;padding:14px 22px;
  color:#fff;text-decoration:none;
  font-family:var(--sans);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;border:1px solid rgba(255,255,255,.45);
  border-radius:4px;font-weight:400;transition:border-color .25s,background .25s;
}
.booking-cta-block .bcb-secondary:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.booking-cta-block .bcb-disclosure{
  font-family:var(--sans);font-size:11px;font-style:italic;
  color:rgba(255,255,255,.6);margin:18px 0 0;
}

.guide-related{margin:54px 0 0}
.guide-related h3{
  font-family:var(--display);font-weight:400;font-size:22px;
  color:var(--ink);margin:0 0 14px;
}
.guide-related ul{margin:0;padding:0 0 0 18px}
.guide-related li{font-size:16px;line-height:1.6;color:var(--ink-2);margin-bottom:10px;font-weight:300}
.guide-related a{color:var(--accent);border-bottom:1px solid var(--rule)}
.guide-related a:hover{color:var(--ink);border-color:var(--ink)}

.guide-credibility{
  margin:60px 0 0;padding:24px 0 0;
  border-top:1px solid var(--rule);
}
.guide-credibility p{
  font-family:var(--sans);font-size:13px;line-height:1.7;
  color:var(--mute);font-style:italic;font-weight:300;margin:0;
  max-width:60ch;
}

/* ─────────────────── Guides index — featured + CTA strip ─────────────────── */
.featured-guide-card{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  background:#fff;border-radius:8px;overflow:hidden;
  box-shadow:var(--shadow-soft);text-decoration:none;color:var(--ink);
  transition:transform .35s, box-shadow .35s;margin-bottom:8px;
}
.featured-guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}
.featured-guide-card .fgc-image{
  background-size:cover;background-position:center;min-height:280px;
  transition:transform 6s ease;
}
.featured-guide-card:hover .fgc-image{transform:scale(1.04)}
.featured-guide-card .fgc-body{padding:42px 44px;display:flex;flex-direction:column;justify-content:center}
.featured-guide-card .fgc-kicker{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);margin-bottom:14px;font-weight:600;
}
.featured-guide-card h2{
  font-family:var(--display);font-weight:400;font-size:30px;line-height:1.15;
  color:var(--ink);margin:0 0 12px;letter-spacing:-.01em;
}
.featured-guide-card p{
  font-family:var(--sans);font-size:16px;line-height:1.6;
  color:var(--mute);font-weight:300;margin:0 0 22px;
}
.featured-guide-card .fgc-cta{
  font-family:var(--sans);font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);font-weight:600;
  border-bottom:1.5px solid var(--accent);padding-bottom:2px;align-self:flex-start;
}

.guides-list{display:grid;grid-template-columns:1fr;gap:14px}
.guide-row{
  display:block;padding:24px 28px;
  background:rgba(36,86,104,.04);border:1px solid rgba(36,86,104,.1);
  border-radius:6px;text-decoration:none;color:var(--ink);
  transition:transform .22s, border-color .22s;
}
.guide-row:hover{transform:translateY(-2px);border-color:rgba(36,86,104,.35);color:var(--ink)}
.guide-row h3{
  font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;
  color:var(--ink);margin:0 0 6px;
}
.guide-row p{font-family:var(--sans);font-size:14.5px;line-height:1.5;color:var(--mute);margin:0;font-weight:300}

.guides-cta-strip{
  position:relative;
  padding:140px 8vw;text-align:center;
  background:#14444a url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=2400&q=82&auto=format&fit=crop') center/cover no-repeat;
  color:#fff;
  margin-top:80px;
  overflow:hidden;
}
.guides-cta-strip::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(20,68,74,.78) 0%, rgba(0,17,22,.55) 100%);
  z-index:0;
}
.guides-cta-strip::after{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:80px;height:2px;background:var(--accent-2);z-index:1;
}
.guides-cta-strip > .wrap-narrow{position:relative;z-index:1}
.guides-cta-strip .kicker{
  color:var(--sun) !important;
}
.guides-cta-strip h2{
  color:#fff !important;
  font-size:clamp(36px,4.5vw,54px) !important;
  letter-spacing:-.012em !important;
}
.guides-cta-strip > .wrap-narrow > p{
  color:rgba(255,255,255,.85) !important;
  font-size:18px !important;
}
.guides-cta-strip .gcs-primary{
  background:var(--cream) !important;color:var(--ink) !important;
  padding:17px 36px !important;font-size:13px !important;
  box-shadow:0 14px 40px rgba(0,0,0,.25);
}
.guides-cta-strip .gcs-primary:hover{transform:translateY(-2px)}
.guides-cta-strip .gcs-secondary{
  color:#fff !important;
  border-color:rgba(255,255,255,.5) !important;
  font-size:12.5px !important;
  padding:17px 28px !important;
}
.guides-cta-strip .gcs-secondary:hover{
  border-color:var(--sun) !important;color:var(--sun) !important;
  background:rgba(255,255,255,.04);
}
.guides-cta-strip .gcs-disclosure{
  color:rgba(255,255,255,.55) !important;
}
@media (max-width:560px){
  .guides-cta-strip{padding:90px 6vw}
}
.guides-cta-strip .kicker{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:18px;
}
.guides-cta-strip h2{
  font-family:var(--display);font-weight:400;font-size:clamp(32px,4vw,46px);
  line-height:1.1;color:var(--ink);margin:0 0 14px;letter-spacing:-.01em;
}
.guides-cta-strip > .wrap-narrow > p{
  font-family:var(--sans);font-size:17px;line-height:1.6;
  color:var(--ink-2);font-weight:300;margin:0 auto 32px;max-width:54ch;
}
.guides-cta-strip .gcs-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center}
.guides-cta-strip .gcs-primary{
  display:inline-block;padding:15px 32px;
  background:var(--ink);color:var(--cream);text-decoration:none;
  font-family:var(--sans);font-size:12.5px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;border-radius:4px;
  transition:transform .2s;
}
.guides-cta-strip .gcs-primary:hover{transform:translateY(-1px)}
.guides-cta-strip .gcs-secondary{
  display:inline-block;padding:15px 26px;
  color:var(--ink);text-decoration:none;
  font-family:var(--sans);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;border:1px solid var(--rule);border-radius:4px;
  font-weight:400;transition:border-color .22s, color .22s;
}
.guides-cta-strip .gcs-secondary:hover{border-color:var(--accent);color:var(--accent)}
.guides-cta-strip .gcs-disclosure{
  font-family:var(--sans);font-size:11px;font-style:italic;
  color:var(--mute);margin:22px 0 0;
}

/* ─────────────────── Responsive ─────────────────── */
@media (max-width:880px){
  .guide-shell.has-toc{grid-template-columns:1fr;gap:32px}
  .guide-toc{
    position:relative;top:auto;
    border-left:none;border-top:1px solid var(--rule);
    padding:18px 0 0;margin-bottom:20px;
  }
  .guide-toc ol{flex-direction:row;flex-wrap:wrap;gap:10px 18px}
  .featured-guide-card{grid-template-columns:1fr}
  .featured-guide-card .fgc-image{min-height:220px}
  .featured-guide-card .fgc-body{padding:32px 28px}
}
@media (max-width:560px){
  .guide-rentals-pills{padding:22px 22px}
  .booking-cta-block .bcb-inner{padding:36px 24px}
  .booking-cta-block .bcb-title{font-size:24px}
  .guides-cta-strip{padding:60px 6vw}
}

/* ─────────────────── Trip Essentials trio (Flights / Cars / Hotels) ─────────────────── */
.trip-essentials{margin:64px 0 0}
.trip-essentials .te-head{margin-bottom:30px}
.trip-essentials .te-eyebrow{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:12px;
}
.trip-essentials .te-title{
  font-family:var(--display);font-weight:400;font-size:30px;line-height:1.15;
  color:var(--ink);margin:0 0 10px;letter-spacing:-.005em;
}
.trip-essentials .te-sub{
  font-family:var(--sans);font-size:16px;line-height:1.65;
  color:var(--mute);font-weight:300;margin:0;max-width:58ch;
}
.trip-essentials .te-trio{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  background:var(--cream-2);
}
.trip-essentials .te-card{
  display:block;padding:36px 32px;text-decoration:none;color:var(--ink);
  border-right:1px solid var(--rule);
  transition:background .3s ease;position:relative;
}
.trip-essentials .te-card:last-child{border-right:none}
.trip-essentials .te-card:hover{background:#fff;color:var(--ink)}
.trip-essentials .te-glyph{
  font-size:28px;color:var(--accent-2);
  margin-bottom:18px;line-height:1;letter-spacing:0;
  transition:transform .4s ease;
}
.trip-essentials .te-card:hover .te-glyph{transform:translateX(4px)}
.trip-essentials .te-card-eyebrow{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:10px;
}
.trip-essentials .te-card h4{
  font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;
  color:var(--ink);margin:0 0 10px;letter-spacing:-.005em;
}
.trip-essentials .te-card p{
  font-family:var(--sans);font-size:15px;line-height:1.6;
  color:var(--ink-2);font-weight:300;margin:0 0 18px;
}
.trip-essentials .te-cta{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);font-weight:600;
  border-bottom:1px solid var(--accent);padding-bottom:2px;
}
.trip-essentials .te-disclosure{
  font-family:var(--sans);font-size:11px;font-style:italic;
  color:var(--mute);margin:14px 0 0;text-align:right;
}

/* ─────────────────── Related guides — rich card grid (replaces bullets) ─────────────────── */
.related-rich{margin:64px 0 0}
.related-rich .rr-head{margin-bottom:26px;border-top:1px solid var(--rule);padding-top:36px}
.related-rich .rr-eyebrow{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:10px;
}
.related-rich .rr-title{
  font-family:var(--display);font-weight:400;font-size:30px;line-height:1.15;
  color:var(--ink);margin:0;letter-spacing:-.005em;
}
.related-rich .rr-trio{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.related-rich .rr-card{
  display:block;background:#fff;border-radius:6px;overflow:hidden;
  box-shadow:0 4px 14px rgba(20,68,74,.06);
  text-decoration:none;color:var(--ink);
  transition:transform .35s ease, box-shadow .35s ease;
}
.related-rich .rr-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(20,68,74,.14);
  color:var(--ink);
}
.related-rich .rr-image{
  aspect-ratio:5/3;background-size:cover;background-position:center;
  transition:transform 6s ease;
  position:relative;
}
.related-rich .rr-image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 65%, rgba(0,0,0,.3) 100%);
}
.related-rich .rr-card:hover .rr-image{transform:scale(1.04)}
.related-rich .rr-card-body{padding:22px 24px 26px}
.related-rich .rr-card-eyebrow{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:8px;
}
.related-rich .rr-card h4{
  font-family:var(--display);font-weight:400;font-size:20px;line-height:1.22;
  color:var(--ink);margin:0 0 8px;letter-spacing:-.005em;
}
.related-rich .rr-card p{
  font-family:var(--sans);font-size:14.5px;line-height:1.55;
  color:var(--mute);font-weight:300;margin:0 0 14px;
}
.related-rich .rr-card-cta{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);font-weight:600;
  border-bottom:1px solid var(--accent);padding-bottom:2px;
}

/* ─────────────────── Around the coast — destination mini-grid ─────────────────── */
.guide-coast{
  margin:64px 0 0;padding:48px 0 50px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
}
.guide-coast .gc-head{margin-bottom:28px;text-align:center}
.guide-coast .gc-eyebrow{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:12px;
}
.guide-coast .gc-title{
  font-family:var(--display);font-weight:400;font-size:28px;line-height:1.2;
  color:var(--ink);margin:0 0 10px;letter-spacing:-.005em;
}
.guide-coast .gc-sub{
  font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--mute);
  font-weight:300;margin:0 auto;max-width:50ch;
}
.guide-coast .gc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;
}
.guide-coast .gc-card{
  display:block;text-decoration:none;color:var(--ink);
  transition:transform .35s ease;
}
.guide-coast .gc-card:hover{transform:translateY(-3px);color:var(--ink)}
.guide-coast .gc-image{
  position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;
  border-radius:4px;overflow:hidden;
  transition:filter .3s ease;
}
.guide-coast .gc-image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,.4) 100%);
}
.guide-coast .gc-state{
  position:absolute;top:10px;left:12px;z-index:2;
  font-family:var(--sans);font-size:9.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--cream);font-weight:600;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.guide-coast .gc-card-name{
  font-family:var(--display);font-weight:400;font-size:17px;line-height:1.2;
  color:var(--ink);margin-top:10px;letter-spacing:-.005em;
}
.guide-coast .gc-card:hover .gc-card-name{color:var(--accent)}

/* ─────────────────── Inline newsletter — guide-letter ─────────────────── */
.guide-letter{
  margin:64px 0 0;padding:48px 32px;
  background:var(--cream);border:1px solid var(--rule);border-radius:6px;
  text-align:center;position:relative;
}
.guide-letter .gl-rule{
  position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  width:48px;height:2px;background:var(--accent-2);
}
.guide-letter .gl-eyebrow{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:14px;
}
.guide-letter .gl-title{
  font-family:var(--display);font-weight:400;font-size:28px;line-height:1.2;
  color:var(--ink);margin:0 0 12px;letter-spacing:-.005em;
}
.guide-letter .gl-sub{
  font-family:var(--sans);font-size:15.5px;line-height:1.65;
  color:var(--mute);font-weight:300;margin:0 auto 24px;max-width:54ch;
}
.guide-letter .gl-form{
  display:flex;gap:8px;max-width:440px;margin:0 auto;flex-wrap:wrap;justify-content:center;
}
.guide-letter .gl-form input[type=email]{
  flex:1;min-width:220px;padding:13px 16px;
  border:1px solid rgba(20,68,74,.18);border-radius:4px;
  font-family:var(--sans);font-size:14.5px;font-weight:300;color:var(--ink);
  background:#fff;
  transition:border-color .25s ease;
}
.guide-letter .gl-form input[type=email]:focus{outline:none;border-color:var(--accent)}
.guide-letter .gl-form input[type=email]::placeholder{color:var(--mute)}
.guide-letter .gl-form button{
  padding:13px 22px;background:var(--ink);color:var(--cream);
  border:0;border-radius:4px;cursor:pointer;
  font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;
  transition:background .25s ease, transform .2s ease;
}
.guide-letter .gl-form button:hover{background:var(--accent);transform:translateY(-1px)}

/* ─────────────────── Responsive ─────────────────── */
@media (max-width:880px){
  .trip-essentials .te-trio{grid-template-columns:1fr}
  .trip-essentials .te-card{border-right:none;border-bottom:1px solid var(--rule)}
  .trip-essentials .te-card:last-child{border-bottom:none}
  .related-rich .rr-trio{grid-template-columns:1fr;gap:18px}
  .guide-coast .gc-grid{grid-template-columns:repeat(2,1fr);gap:14px}
}
@media (max-width:560px){
  .trip-essentials .te-card{padding:28px 22px}
  .trip-essentials .te-title,
  .related-rich .rr-title{font-size:24px}
  .guide-coast{padding:36px 0 40px}
  .guide-coast .gc-title{font-size:24px}
  .guide-letter{padding:36px 22px}
  .guide-letter .gl-title{font-size:23px}
}

/* Mobile nav fix — Contact was overflowing on narrow screens */
@media (max-width:600px){
  header.site nav{
    flex-wrap:wrap;
    justify-content:center;
    gap:12px 18px;
    width:100%;
    margin-top:6px;
  }
  header.site nav a{
    font-size:11.5px;
    letter-spacing:.18em;
  }
}

/* ─────────────────── Guides index — rich grid + partners duo ─────────────────── */
.guides-grid-rich{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.guide-rich-card{
  display:block;background:#fff;border-radius:6px;overflow:hidden;
  box-shadow:0 6px 18px rgba(20,68,74,.06);
  text-decoration:none;color:var(--ink);
  transition:transform .35s ease, box-shadow .35s ease;
  border:1px solid var(--rule);
}
.guide-rich-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 50px rgba(20,68,74,.16);color:var(--ink);
}
.guide-rich-card .grc-image{
  aspect-ratio:5/3;background-size:cover;background-position:center;
  position:relative;transition:transform 6s ease;
}
.guide-rich-card .grc-image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(0,0,0,.32) 100%);
}
.guide-rich-card:hover .grc-image{transform:scale(1.04)}
.guide-rich-card .grc-body{padding:24px 26px 28px}
.guide-rich-card .grc-kicker{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:10px;
}
.guide-rich-card h3{
  font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;
  color:var(--ink);margin:0 0 10px;letter-spacing:-.005em;
}
.guide-rich-card p{
  font-family:var(--sans);font-size:14.5px;line-height:1.55;
  color:var(--mute);font-weight:300;margin:0 0 14px;
}
.guide-rich-card .grc-cta{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);font-weight:600;
  border-bottom:1px solid var(--accent);padding-bottom:2px;
}

.partners-duo{
  background:linear-gradient(180deg,#0d1419 0%,#162028 100%);
  color:#e8dfc8;
  padding:90px 6vw 70px;
}
.partners-duo .pd-grid{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:0;
}
.partners-duo .pd-col{
  padding:0 48px;
  border-right:1px solid rgba(194,168,120,.18);
}
.partners-duo .pd-col:last-child{border-right:none}
.partners-duo .pd-kicker{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:#c2a878;font-weight:600;margin-bottom:14px;
}
.partners-duo h3{
  font-family:var(--display);font-weight:400;font-size:32px;line-height:1.15;
  color:#fff;margin:0 0 14px;letter-spacing:-.005em;
}
.partners-duo p{
  font-family:var(--sans);font-size:16px;line-height:1.65;
  color:#cfc4a8;font-weight:300;margin:0 0 24px;max-width:42ch;
}
.partners-duo .pd-cta{
  display:inline-block;padding:14px 28px;
  background:#c2a878;color:#0d1419;text-decoration:none;
  font-family:var(--sans);font-size:12.5px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:700;border-radius:4px;
  transition:transform .2s, background .25s;
}
.partners-duo .pd-cta:hover{transform:translateY(-1px);background:#d4ba8f;color:#0d1419}
.partners-duo .pd-vrbo .pd-cta{background:#3a8c97;color:#fff}
.partners-duo .pd-vrbo .pd-cta:hover{background:#4ba3af;color:#fff}
.partners-duo .pd-cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.partners-duo .pd-cta-link{
  font-family:var(--sans);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:#e8dfc8;text-decoration:none;
  border-bottom:1px solid rgba(232,223,200,.4);padding-bottom:2px;
  transition:color .25s, border-color .25s;
}
.partners-duo .pd-cta-link:hover{color:#c2a878;border-color:#c2a878}
.partners-duo .pd-disclosure{
  text-align:center;font-family:var(--sans);font-size:11px;
  color:#7a705e;font-style:italic;margin:48px 0 0;
}
@media (max-width:880px){
  .guides-grid-rich{grid-template-columns:1fr}
  .partners-duo .pd-grid{grid-template-columns:1fr;gap:48px}
  .partners-duo .pd-col{border-right:none;padding:0 0 48px;border-bottom:1px solid rgba(194,168,120,.18)}
  .partners-duo .pd-col:last-child{border-bottom:none;padding-bottom:0}
}
@media (max-width:560px){
  .partners-duo{padding:64px 6vw 50px}
  .partners-duo h3{font-size:26px}
}

/* ─────────────────── Destinations index — The Atlas (premium) ─────────────────── */
.atlas-hero{
  position:relative;min-height:600px;
  display:flex;align-items:center;
  overflow:hidden;background:var(--ink);
}
.atlas-hero .atlas-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:saturate(1.05);
}
.atlas-hero .atlas-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(20,68,74,.78) 0%, rgba(0,17,22,.55) 60%, rgba(0,17,22,.78) 100%);
}
.atlas-hero .atlas-inner{
  position:relative;z-index:1;
  width:min(calc(100% - 48px), 1080px);margin:0 auto;
  padding:140px 0 110px;color:#fff;
}
.atlas-hero .atlas-eyebrow{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.42em;
  text-transform:uppercase;color:var(--sun);font-weight:600;margin-bottom:28px;
}
.atlas-hero h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(46px,6.5vw,92px);line-height:1.02;letter-spacing:-.012em;
  color:#fff;margin:0 0 28px;max-width:18ch;
}
.atlas-hero .atlas-lede{
  font-family:var(--sans);font-size:clamp(17px,1.4vw,21px);font-weight:300;
  line-height:1.65;color:rgba(255,255,255,.86);max-width:62ch;margin:0 0 36px;
}
.atlas-hero .atlas-jumprow{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:0 16px;border-top:1px solid rgba(255,255,255,.18);
  padding-top:24px;margin-top:8px;
}
.atlas-hero .atlas-jumprow a{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,255,255,.78);font-weight:500;
  padding:6px 0;transition:color .25s;
}
.atlas-hero .atlas-jumprow a:hover{color:var(--sun)}
.atlas-hero .atlas-jump-sep{color:rgba(255,255,255,.3);font-size:11px}

/* Criteria — three numbered editorial columns */
.atlas-criteria{
  background:var(--cream);
  padding:90px 0 70px;
  border-bottom:1px solid var(--rule);
}
.atlas-criteria .ac-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:48px;
}
.atlas-criteria .ac-num{
  font-family:var(--display);font-weight:400;font-size:56px;
  line-height:1;color:var(--accent-2);
  letter-spacing:-.01em;margin-bottom:20px;opacity:.85;
}
.atlas-criteria h3{
  font-family:var(--display);font-weight:400;font-size:24px;
  line-height:1.2;color:var(--ink);margin:0 0 12px;letter-spacing:-.005em;
}
.atlas-criteria p{
  font-family:var(--sans);font-size:15.5px;line-height:1.7;
  color:var(--ink-2);font-weight:300;margin:0;
}

/* Editorial spreads — alternating sides */
.atlas-spreads{
  background:var(--cream);
  padding:80px 0 100px;
}
.atlas-spread{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;
  width:min(calc(100% - 48px), 1180px);margin:0 auto 100px;
  scroll-margin-top:80px;
}
.atlas-spread:last-child{margin-bottom:0}
.atlas-spread.reverse{direction:rtl}
.atlas-spread.reverse > *{direction:ltr}
.atlas-spread .as-frame{
  position:relative;overflow:hidden;border-radius:6px;
  aspect-ratio:5/4;background:var(--sand);
  box-shadow:0 30px 70px rgba(20,68,74,.18);
}
.atlas-spread .as-frame a{display:block;width:100%;height:100%}
.atlas-spread .as-frame img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.6s cubic-bezier(.2,.8,.2,1);
}
.atlas-spread .as-frame:hover img{transform:scale(1.04)}
.atlas-spread .as-frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, transparent 60%, rgba(0,0,0,.32) 100%);
}
.atlas-spread .as-state{
  position:absolute;bottom:18px;left:18px;z-index:2;
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:#fff;font-weight:600;
  background:rgba(20,68,74,.85);padding:6px 12px;border-radius:2px;
  backdrop-filter:blur(6px);
}
.atlas-spread .as-num{
  font-family:var(--sans);font-size:11px;letter-spacing:.42em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:18px;
}
.atlas-spread .as-body h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(36px,4.4vw,58px);line-height:1.05;letter-spacing:-.012em;
  color:var(--ink);margin:0 0 16px;
}
.atlas-spread .as-meta{
  font-family:var(--sans);font-size:12px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--mute);font-weight:500;margin-bottom:22px;
}
.atlas-spread .as-meta-sep{margin:0 8px;opacity:.5}
.atlas-spread .as-tagline{
  font-family:var(--display);font-style:italic;
  font-size:21px;line-height:1.45;color:var(--ink-2);
  margin:0 0 18px;font-weight:400;
}
.atlas-spread .as-blurb{
  font-family:var(--sans);font-size:16px;line-height:1.7;
  color:var(--ink-2);font-weight:300;margin:0 0 26px;max-width:50ch;
}
.atlas-spread .as-cta{
  display:inline-block;padding:14px 28px;
  background:var(--ink);color:var(--cream);text-decoration:none;
  font-family:var(--sans);font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;border-radius:4px;
  transition:background .25s, transform .2s;
}
.atlas-spread .as-cta:hover{background:var(--accent);transform:translateY(-1px);color:var(--cream)}

/* Partners trio — premium dark band */
.atlas-partners{
  background:linear-gradient(180deg,#0d1419 0%,#162028 100%);
  color:#e8dfc8;
  padding:110px 6vw 80px;
}
.atlas-partners .ap-head{
  text-align:center;max-width:760px;margin:0 auto 60px;
}
.atlas-partners .ap-eyebrow{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.36em;
  text-transform:uppercase;color:#c2a878;font-weight:600;margin-bottom:18px;
}
.atlas-partners h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(36px,4.6vw,58px);line-height:1.1;letter-spacing:-.012em;
  color:#fff;margin:0 0 18px;
}
.atlas-partners > .ap-head > p{
  font-family:var(--sans);font-size:17px;line-height:1.7;
  color:#cfc4a8;font-weight:300;margin:0;
}
.atlas-partners .ap-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  max-width:1200px;margin:0 auto;
  border-top:1px solid rgba(194,168,120,.2);
  border-bottom:1px solid rgba(194,168,120,.2);
}
.atlas-partners .ap-card{
  display:flex;flex-direction:column;gap:18px;
  padding:48px 36px;text-decoration:none;color:inherit;
  border-right:1px solid rgba(194,168,120,.2);
  transition:background .35s ease;
  position:relative;
}
.atlas-partners .ap-card:last-child{border-right:none}
.atlas-partners .ap-card:hover{background:rgba(194,168,120,.06);color:inherit}
.atlas-partners .ap-mark{
  font-family:var(--display);font-weight:400;font-size:24px;
  color:#fff;letter-spacing:-.005em;
}
.atlas-partners .ap-card h4{
  font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;
  color:#fff;margin:0 0 10px;letter-spacing:-.005em;
}
.atlas-partners .ap-card p{
  font-family:var(--sans);font-size:14.5px;line-height:1.65;
  color:#cfc4a8;font-weight:300;margin:0;flex-grow:1;
}
.atlas-partners .ap-cta{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:#c2a878;font-weight:600;
  margin-top:auto;padding-top:8px;
  border-bottom:1px solid #c2a878;display:inline-block;align-self:flex-start;padding-bottom:2px;
  transition:color .25s, border-color .25s;
}
.atlas-partners .ap-card:hover .ap-cta{color:#febb02;border-color:#febb02}
.atlas-partners .ap-disclosure{
  text-align:center;font-family:var(--sans);font-size:11px;font-style:italic;
  color:#7a705e;margin:48px 0 0;letter-spacing:.04em;
}

/* Responsive */
@media (max-width:880px){
  .atlas-hero .atlas-inner{padding:100px 0 80px}
  .atlas-criteria .ac-grid{grid-template-columns:1fr;gap:36px}
  .atlas-spread{grid-template-columns:1fr;gap:32px;margin-bottom:64px}
  .atlas-spread.reverse{direction:ltr}
  .atlas-partners .ap-grid{grid-template-columns:1fr}
  .atlas-partners .ap-card{border-right:none;border-bottom:1px solid rgba(194,168,120,.2)}
  .atlas-partners .ap-card:last-child{border-bottom:none}
}
@media (max-width:560px){
  .atlas-hero{min-height:480px}
  .atlas-criteria{padding:60px 0 40px}
  .atlas-criteria .ac-num{font-size:42px}
  .atlas-spreads{padding:48px 0 60px}
  .atlas-partners{padding:70px 6vw 60px}
}

/* ─────────────────── Destinations index — Cartographic almanac ─────────────────── */
.alm-paper, .alm-toc, .alm-plates, .alm-ledger{
  background:var(--cream);
  background-image:
    radial-gradient(circle at 25% 30%, rgba(20,68,74,.018) 0, transparent 40%),
    radial-gradient(circle at 75% 70%, rgba(20,68,74,.018) 0, transparent 40%);
}

/* Decorative double-line rule with centered fleuron */
.alm-rule{
  position:relative;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  height:5px;
  margin:0 8vw;
  display:flex;align-items:center;justify-content:center;
}
.alm-rule-top{margin-bottom:48px}
.alm-rule-bot{margin-top:48px}
.alm-fleuron{
  background:var(--cream);
  padding:0 14px;
  color:var(--accent-2);
  font-size:18px;line-height:1;
  display:inline-block;
  position:relative;top:0;
  font-family:var(--display);
}

/* ── Frontispiece ── */
.alm-front{padding:60px 0 80px;background:var(--cream)}
.alm-front-inner{
  width:min(calc(100% - 48px), 1080px);
  margin:0 auto;
  text-align:center;
  padding:60px 0 0;
}
.alm-eyebrow{
  font-family:var(--sans);
  font-size:11.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--accent-2);font-weight:600;
  margin-bottom:32px;
}
.alm-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(56px,8vw,108px);line-height:1;
  letter-spacing:-.014em;
  color:var(--ink);
  margin:0 0 30px;
  max-width:14ch;margin-left:auto;margin-right:auto;
}
.alm-title .alm-period{
  color:var(--accent-2);
  font-style:italic;
}
.alm-lede{
  font-family:var(--sans);font-weight:300;
  font-size:clamp(15px,1.2vw,18px);line-height:1.75;
  color:var(--ink-2);
  max-width:60ch;margin:0 auto 56px;
}

/* SVG map */
.alm-map{
  margin:0 auto;max-width:880px;
  padding:24px 0 8px;
}
.alm-map svg{
  width:100%;height:auto;display:block;
  color:var(--ink);
}
.alm-coast{stroke-linejoin:round}
.alm-water-label{
  font-family:var(--display);font-style:italic;
  font-size:13px;fill:var(--ink-2);
  letter-spacing:.18em;opacity:.55;
}
.alm-compass-letter{
  font-family:var(--display);font-size:11px;
  fill:var(--ink);font-style:italic;
  letter-spacing:.05em;
}
.alm-pin{
  cursor:default;
  animation:alm-pin-in .55s cubic-bezier(.2,.9,.3,1) backwards;
  animation-delay:calc(.5s + var(--alm-pin-i, 0) * 80ms);
}
@keyframes alm-pin-in{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
.alm-pin-dot{
  fill:var(--accent-2);
}
.alm-pin-ring{
  fill:none;stroke:var(--accent-2);stroke-width:1;opacity:.5;
}
.alm-pin-num{
  font-family:var(--sans);font-size:9px;font-weight:700;
  letter-spacing:.18em;
  fill:var(--accent-2);
  font-variant-numeric:tabular-nums lining-nums;
}
.alm-pin-name{
  font-family:var(--display);font-size:12px;
  fill:var(--ink);
}

/* ── Table of contents ── */
.alm-toc{
  padding:0 0 70px;
  background:var(--cream);
}
.alm-toc-inner{
  width:min(calc(100% - 48px), 1080px);
  margin:0 auto;
  background:var(--cream-2);
  border:1px solid var(--rule);
  padding:36px 48px 32px;
  position:relative;
}
.alm-toc-inner::before{
  content:"";position:absolute;
  top:8px;left:8px;right:8px;bottom:8px;
  border:1px solid var(--rule);
  pointer-events:none;
  opacity:.6;
}
.alm-toc-head{
  font-family:var(--sans);
  font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--accent-2);font-weight:600;
  margin-bottom:20px;
  text-align:center;
  position:relative;z-index:1;
}
.alm-toc-row{
  display:grid;grid-template-columns:140px 1fr;
  align-items:baseline;gap:24px;
  padding:14px 0;
  border-top:1px solid var(--rule);
  position:relative;z-index:1;
  font-variant-numeric:tabular-nums lining-nums;
}
.alm-toc-row:last-child{border-bottom:1px solid var(--rule)}
.alm-toc-region{
  font-family:var(--sans);
  font-size:10.5px;letter-spacing:.36em;text-transform:uppercase;
  color:var(--accent-2);font-weight:600;
}
.alm-toc-rule{display:none}
.alm-toc-entries{
  display:flex;flex-wrap:wrap;gap:6px 28px;
}
.alm-toc-entries a{
  font-family:var(--display);font-size:18px;
  color:var(--ink);text-decoration:none;
  letter-spacing:-.005em;
  display:inline-flex;align-items:baseline;gap:8px;
  padding:2px 0;
  transition:color .25s;
}
.alm-toc-entries a:hover{color:var(--accent)}
.alm-toc-num{
  font-family:var(--sans);font-size:12px;font-weight:600;
  letter-spacing:.18em;
  color:var(--accent-2);
  font-variant-numeric:tabular-nums lining-nums;
}
.alm-toc-dot{color:var(--mute);opacity:.6}
.alm-toc-state{
  font-family:var(--sans);font-size:13px;font-weight:300;
  color:var(--mute);letter-spacing:.02em;
  margin-left:2px;
}

/* ── Almanac plates ── */
.alm-plates{padding:30px 0 0}
.alm-plate{
  width:min(calc(100% - 48px), 1180px);
  margin:0 auto 80px;
  display:grid;
  grid-template-columns:90px 1fr;
  gap:0;
  scroll-margin-top:80px;
}
.alm-plate-num{
  font-family:var(--display);font-weight:400;
  font-size:96px;line-height:.9;
  color:var(--accent-2);
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums lining-nums;
  padding-top:8px;
  user-select:none;
}
.alm-plate-card{
  background:#fff;
  border:1px solid var(--rule);
  padding:48px 56px 56px;
  display:grid;
  grid-template-columns:280px 1fr;
  grid-template-areas:
    "photo facts"
    "body  body";
  gap:40px 48px;
}
.alm-plate-photo{
  grid-area:photo;
  display:flex;flex-direction:column;
}
.alm-plate-photo a{
  display:block;
  background:var(--cream-2);
  padding:10px;
  border:1px solid var(--ink);
  position:relative;
  transition:box-shadow .35s ease;
  box-shadow:0 4px 14px rgba(20,68,74,.08);
}
.alm-plate-photo a:hover{box-shadow:0 12px 30px rgba(20,68,74,.18)}
.alm-plate-photo img{
  width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
  filter:saturate(.94);
}
.alm-plate-caption{
  font-family:var(--sans);font-size:9.5px;font-weight:600;
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--mute);
  text-align:center;
  margin-top:12px;
  font-variant-numeric:tabular-nums lining-nums;
}

.alm-plate-facts{
  grid-area:facts;
  display:flex;flex-direction:column;justify-content:flex-start;
  padding-top:8px;
}
.alm-fact{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;gap:10px;
  padding:10px 0;
  border-bottom:1px dashed var(--rule);
  font-variant-numeric:tabular-nums lining-nums;
}
.alm-fact:first-child{border-top:1px dashed var(--rule)}
.alm-fact-label{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;
}
.alm-fact-leader{
  border-bottom:1px dotted var(--mute);
  height:1px;
  align-self:center;
  opacity:.55;
}
.alm-fact-value{
  font-family:var(--display);font-size:17px;color:var(--ink);
  letter-spacing:-.005em;
}

.alm-plate-body{grid-area:body;padding-top:8px}
.alm-plate-body h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(38px,4.4vw,56px);line-height:1.02;
  letter-spacing:-.014em;
  color:var(--ink);
  margin:0 0 8px;
}
.alm-plate-state{
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--accent-2);font-weight:600;
  margin-bottom:24px;
}
.alm-plate-pull{
  font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(20px,1.8vw,24px);line-height:1.45;
  color:var(--ink-2);
  margin:0 0 22px;
  border-left:2px solid var(--accent-2);
  padding-left:22px;
  max-width:60ch;
}
.alm-plate-blurb{
  font-family:var(--sans);font-weight:300;
  font-size:16px;line-height:1.75;
  color:var(--ink-2);
  margin:0 0 28px;
  max-width:62ch;
}
.alm-plate-cta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:12px;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink);
  border-bottom:1px solid var(--ink);
  padding-bottom:4px;
  text-decoration:none;
  transition:color .25s, border-color .25s, transform .2s;
}
.alm-plate-cta:hover{
  color:var(--accent-2);
  border-color:var(--accent-2);
  transform:translateX(2px);
}

/* Page break between plates */
.alm-page-break{
  width:min(calc(100% - 48px), 1180px);
  margin:0 auto 80px;
  text-align:center;
  position:relative;
  padding-left:90px;
}
.alm-page-break::before, .alm-page-break::after{
  content:"";display:inline-block;height:1px;
  background:var(--rule);
  vertical-align:middle;
  width:30%;margin:0 18px;
}
.alm-page-break span{
  color:var(--accent-2);font-size:14px;
  font-family:var(--display);
  letter-spacing:.4em;
  vertical-align:middle;
}

/* ── Partner ledger ── */
.alm-ledger{padding:40px 0 100px}
.alm-ledger-inner{
  width:min(calc(100% - 48px), 1080px);
  margin:0 auto;
}
.alm-ledger-head{
  text-align:center;
  max-width:60ch;margin:0 auto 36px;
}
.alm-ledger-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(34px,4vw,52px);line-height:1.08;
  letter-spacing:-.014em;color:var(--ink);
  margin:14px 0 12px;
}
.alm-ledger-sub{
  font-family:var(--sans);font-size:15.5px;line-height:1.7;
  color:var(--ink-2);font-weight:300;margin:0;
}

.alm-ledger-table{
  background:var(--cream-2);
  border:1px solid var(--ink);
  padding:18px 28px;
}
.alm-ledger-row{
  display:grid;
  grid-template-columns:1.1fr 1.5fr 1.6fr 1fr;
  align-items:center;
  gap:24px;
  padding:18px 0;
  border-bottom:1px solid var(--rule);
  font-variant-numeric:tabular-nums lining-nums;
}
.alm-ledger-row:last-child{border-bottom:none}
.alm-ledger-header{
  border-bottom:1px solid var(--ink);
  padding:8px 0 12px;
}
.alm-ledger-header > div{
  font-family:var(--sans);font-size:10px;font-weight:600;
  letter-spacing:.42em;text-transform:uppercase;
  color:var(--accent-2);
}
.alm-ledger-name{
  font-family:var(--display);font-weight:400;
  font-size:21px;letter-spacing:-.005em;
  color:var(--ink);
}
.alm-ledger-type, .alm-ledger-best{
  font-family:var(--sans);font-size:14.5px;line-height:1.55;
  color:var(--ink-2);font-weight:300;
}
.alm-ledger-action a{
  font-family:var(--sans);font-size:12px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);
  border-bottom:1px solid var(--ink);
  padding-bottom:3px;
  text-decoration:none;
  transition:color .25s, border-color .25s;
}
.alm-ledger-action a:hover{color:var(--accent-2);border-color:var(--accent-2)}
.alm-ledger-disclosure{
  text-align:center;
  font-family:var(--sans);font-size:11px;font-style:italic;
  color:var(--mute);margin:24px 0 0;letter-spacing:.04em;
}

/* ── Responsive ── */
@media (max-width:980px){
  .alm-plate{grid-template-columns:1fr;gap:18px}
  .alm-plate-num{
    font-size:64px;line-height:1;padding:0;
    grid-row:auto;text-align:center;
  }
  .alm-plate-card{
    padding:32px 28px 36px;
    grid-template-columns:1fr;
    grid-template-areas:"photo" "facts" "body";
    gap:28px;
  }
  .alm-plate-photo{align-items:center}
  .alm-plate-photo a{max-width:280px;width:100%}
  .alm-page-break{padding-left:0}
  .alm-ledger-row{grid-template-columns:1fr;gap:8px;padding:18px 0;border-bottom:1px solid var(--rule)}
  .alm-ledger-header{display:none}
  .alm-ledger-type::before{content:"Type · ";color:var(--accent-2);font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:600}
  .alm-ledger-best::before{content:"Best for · ";color:var(--accent-2);font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:600}
  .alm-toc-row{grid-template-columns:1fr;gap:8px}
}
@media (max-width:560px){
  .alm-front{padding:40px 0 60px}
  .alm-front-inner{padding:36px 0 0}
  .alm-rule{margin:0 6vw}
  .alm-toc-inner{padding:28px 24px 24px}
  .alm-toc-entries{flex-direction:column;gap:6px}
  .alm-plate-card{padding:24px 22px 28px}
  .alm-fact-value{font-size:15px}
  .alm-plate-pull{font-size:18px;padding-left:14px}
  .alm-plate-num{font-size:54px}
  .alm-page-break::before, .alm-page-break::after{width:24%;margin:0 12px}
  .alm-ledger-table{padding:14px 18px}
  .alm-ledger-name{font-size:19px}
}

/* ─────────────────── Destinations index — cinematic editorial (matches home language) ─────────────────── */

/* Hero override — scoped just to dest-hero-page so home hero stays untouched */
.hero.dest-hero-page{min-height:780px;height:auto}
.hero.dest-hero-page .hero-content{padding:160px 0 9vh}
.hero.dest-hero-page .inner h1{font-size:clamp(48px,7vw,108px);max-width:18ch}

/* ── Editorial destination spreads ── */
.dest-features{
  background:var(--cream);
  padding:30px 0 100px;
}
.dest-feature{
  width:min(calc(100% - 48px), 1280px);
  margin:0 auto 110px;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:80px;
  align-items:center;
  scroll-margin-top:80px;
}
.dest-feature:last-child{margin-bottom:0}
.dest-feature.reverse{direction:rtl}
.dest-feature.reverse > *{direction:ltr}

.dest-feature .df-photo{
  position:relative;
  border-radius:6px;
  overflow:hidden;
  aspect-ratio:5/4;
  background:var(--sand);
  box-shadow:0 30px 70px rgba(20,68,74,.18);
  transition:box-shadow .55s ease, transform .55s ease;
}
.dest-feature .df-photo:hover{
  box-shadow:0 40px 90px rgba(20,68,74,.26);
  transform:translateY(-4px);
}
.dest-feature .df-photo a{display:block;width:100%;height:100%}
.dest-feature .df-photo img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.6s cubic-bezier(.2,.8,.2,1);
  filter:saturate(1.04);
}
.dest-feature .df-photo:hover img{transform:scale(1.05)}
.dest-feature .df-photo-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, transparent 35%, transparent 65%, rgba(0,0,0,.32) 100%);
}
.dest-feature .df-photo-state{
  position:absolute;bottom:20px;left:22px;z-index:2;
  font-family:var(--sans);font-size:11px;font-weight:600;
  letter-spacing:.32em;text-transform:uppercase;color:#fff;
  background:rgba(20,68,74,.85);
  padding:7px 13px;border-radius:2px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.dest-feature .df-body{padding:8px 0}
.dest-feature .df-num{
  font-family:var(--sans);font-size:11.5px;font-weight:600;
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--accent-2);
  margin-bottom:14px;
  font-variant-numeric:tabular-nums lining-nums;
}
.dest-feature .df-region{
  font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.36em;text-transform:uppercase;
  color:var(--mute);margin-bottom:18px;
}
.dest-feature .df-body h3{
  font-family:var(--display);font-weight:400;
  font-size:clamp(40px,4.6vw,62px);line-height:1.02;
  letter-spacing:-.014em;
  color:var(--ink);margin:0 0 18px;
}
.dest-feature .df-tagline{
  font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(20px,1.6vw,24px);line-height:1.4;
  color:var(--ink-2);
  margin:0 0 26px;max-width:48ch;
}
.dest-feature .df-stats{
  display:grid;grid-template-columns:repeat(4, auto);
  gap:0 32px;
  padding:18px 0;margin:0 0 26px;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  font-variant-numeric:tabular-nums lining-nums;
}
.dest-feature .df-stat{display:flex;flex-direction:column;gap:6px;min-width:0}
.dest-feature .df-stat-label{
  font-family:var(--sans);font-size:9.5px;font-weight:600;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--accent-2);
}
.dest-feature .df-stat-val{
  font-family:var(--display);font-size:16px;line-height:1.2;
  color:var(--ink);letter-spacing:-.005em;
}
.dest-feature .df-blurb{
  font-family:var(--sans);font-size:16.5px;line-height:1.75;font-weight:300;
  color:var(--ink-2);
  margin:0 0 28px;max-width:54ch;
}
.dest-feature .df-cta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:12.5px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink);
  border-bottom:1.5px solid var(--ink);
  padding-bottom:4px;text-decoration:none;
  transition:color .25s, border-color .25s, transform .2s;
}
.dest-feature .df-cta:hover{
  color:var(--accent-2);border-color:var(--accent-2);transform:translateX(2px);
}

/* ── Partner spotlight — dark cinematic, mirrors home spotlight ── */
.partner-spotlight{
  position:relative;
  min-height:600px;
  padding:130px 8vw 90px;
  overflow:hidden;
  color:#fff;
  background:#0a1316;
}
.partner-spotlight .ps-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:saturate(1.05);
  transition:transform 12s ease;
}
.partner-spotlight:hover .ps-bg{transform:scale(1.03)}
.partner-spotlight .ps-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(20,68,74,.78) 0%, rgba(0,17,22,.62) 50%, rgba(0,17,22,.82) 100%);
}
.partner-spotlight .ps-inner{
  position:relative;z-index:1;
  max-width:1200px;margin:0 auto;
}
.partner-spotlight .ps-head{
  text-align:center;max-width:680px;margin:0 auto 60px;
}
.partner-spotlight .ps-kicker{
  font-family:var(--sans);font-size:11.5px;font-weight:600;
  letter-spacing:.42em;text-transform:uppercase;
  color:var(--sun);margin-bottom:20px;
}
.partner-spotlight h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(40px,5vw,68px);line-height:1.05;
  letter-spacing:-.014em;color:#fff;margin:0 0 20px;
}
.partner-spotlight .ps-sub{
  font-family:var(--sans);font-size:17px;line-height:1.7;
  color:rgba(255,255,255,.84);font-weight:300;margin:0;
}
.partner-spotlight .ps-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  margin-bottom:36px;
}
.partner-spotlight .ps-card{
  display:flex;flex-direction:column;gap:14px;
  padding:36px 32px 32px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px;
  text-decoration:none;color:inherit;
  transition:background .35s ease, border-color .35s ease, transform .35s ease;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.partner-spotlight .ps-card:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(245,189,2,.4);
  transform:translateY(-4px);
}
.partner-spotlight .ps-card-mark{
  font-family:var(--display);font-weight:400;font-size:24px;
  color:var(--sun);letter-spacing:-.005em;
}
.partner-spotlight .ps-card h4{
  font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;
  color:#fff;margin:0;letter-spacing:-.005em;
}
.partner-spotlight .ps-card p{
  font-family:var(--sans);font-size:14.5px;line-height:1.65;
  color:rgba(255,255,255,.78);font-weight:300;margin:0;flex-grow:1;
}
.partner-spotlight .ps-card-cta{
  font-family:var(--sans);font-size:11.5px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--sun);
  border-bottom:1px solid var(--sun);padding-bottom:3px;
  align-self:flex-start;margin-top:8px;
}
.partner-spotlight .ps-disclosure{
  text-align:center;
  font-family:var(--sans);font-size:11px;font-style:italic;
  color:rgba(255,255,255,.55);margin:0;letter-spacing:.04em;
}

/* ── Responsive ── */
@media (max-width:980px){
  .dest-feature{grid-template-columns:1fr;gap:32px;margin-bottom:80px}
  .dest-feature.reverse{direction:ltr}
  .dest-feature .df-stats{grid-template-columns:repeat(2,1fr);gap:18px 24px}
  .partner-spotlight{padding:90px 6vw 70px}
  .partner-spotlight .ps-cards{grid-template-columns:1fr;gap:18px}
}
@media (max-width:560px){
  .dest-features{padding:20px 0 60px}
  .dest-feature{margin-bottom:60px}
  .dest-feature .df-body h3{font-size:36px}
  .dest-feature .df-tagline{font-size:18px}
  .dest-feature .df-stats{padding:14px 0;gap:12px 18px}
  .partner-spotlight{padding:70px 6vw 60px;min-height:auto}
}
>>>>>>> Stashed changes
