/* ============================================================
   ATLAS GUIDE — DESTINATION OF THE WEEK
   destination-of-week.css · Requires global.css + header-footer.css
   ------------------------------------------------------------
   "The Route" system: the page is read as a numbered trail
   through one week, not a dossier of boxed cards. Alternating
   full-width editorial panels, dark interlude bands for rhythm,
   ledger lists for Stay/Eat/Budget, marginalia asides beside
   running text. dow-* classes only.
   ============================================================ */

:root{
  --dow-green-900:#1A3A2B;
  --dow-green-800:#1A5745;
  --dow-green-700:#236B54;
  --dow-green-600:#2E7A5F;
  --dow-gold-500:#C9A227;
  --dow-gold-400:#C9A85C;
  --dow-parchment:#FAF3E1;
  --dow-paper:#FFFDF8;
  --dow-wash:#F0E9D6;
  --dow-ink:#22301F;
  --dow-ink-mid:#4B4A3E;
  --dow-serif:'Playfair Display', serif;
  --dow-sans:'DM Sans', sans-serif;
  --dow-hand:'Caveat', cursive;
}
.dow-page{background:var(--dow-parchment); color:var(--dow-ink); font-family:var(--dow-sans); line-height:1.7;}
.dow-page *{box-sizing:border-box;}
.dow-wrap{max-width:1040px; margin:0 auto;}

/* ============ HERO ============ */
.dow-hero{position:relative;}
.dow-hero-photo{
  height:92vh; min-height:600px; width:100%; position:relative; overflow:hidden;
  clip-path: polygon(0 0,100% 0,100% 97%,97.5% 98%,95% 96.3%,92.5% 98.2%,90% 96.5%,87.5% 98.3%,85% 96.6%,82.5% 98.4%,80% 96.7%,77.5% 98.4%,75% 96.7%,72.5% 98.3%,70% 96.6%,67.5% 98.4%,65% 96.7%,62.5% 98.3%,60% 96.6%,57.5% 98.4%,55% 96.7%,52.5% 98.3%,50% 96.6%,47.5% 98.4%,45% 96.7%,42.5% 98.3%,40% 96.6%,37.5% 98.4%,35% 96.7%,32.5% 98.3%,30% 96.6%,27.5% 98.4%,25% 96.7%,22.5% 98.3%,20% 96.6%,17.5% 98.4%,15% 96.7%,12.5% 98.3%,10% 96.6%,7.5% 98.4%,5% 96.7%,2.5% 98.3%,0 97%);
}
.dow-hero-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%;}
.dow-hero-photo::before{content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(20,32,23,.15) 0%, rgba(20,32,23,.55) 55%, rgba(15,24,17,.94) 100%);}
.dow-stamp{
  position:absolute; top:40px; right:40px; z-index:3; width:132px; height:132px; border-radius:50%;
  border:2.5px dashed rgba(250,243,225,.75); display:flex; align-items:center; justify-content:center; transform:rotate(9deg);
}
.dow-stamp-inner{text-align:center; color:var(--dow-parchment); font-family:var(--dow-sans);}
.dow-stamp-top{display:block; font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.85;}
.dow-stamp-week{display:block; font-family:var(--dow-serif); font-size:1.65rem; font-weight:700; margin:2px 0;}
.dow-stamp-bottom{display:block; font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.85;}
.dow-hero-text{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:0 clamp(24px,6vw,80px) 54px; color:#fff;}
.dow-breadcrumb{display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-size:.66rem; font-weight:700; color:rgba(255,255,255,.4); margin-bottom:20px; text-transform:uppercase; letter-spacing:.14em;}
.dow-breadcrumb a{color:rgba(255,255,255,.4); text-decoration:none;}
.dow-breadcrumb a:hover{color:var(--dow-gold-400);}
.dow-breadcrumb span{color:rgba(255,255,255,.2);}
.dow-hero-kicker{font-family:var(--dow-hand); font-size:1.6rem; color:var(--dow-gold-400); display:block; margin-bottom:8px; transform:rotate(-1.5deg);}
.dow-hero-title{font-family:var(--dow-serif); font-weight:800; font-style:italic; font-size:clamp(3rem,8vw,5.6rem); line-height:.95; margin:0 0 18px; max-width:16ch;}
.dow-hero-sub{font-size:1.08rem; color:rgba(255,255,255,.72); max-width:56ch; margin:0 0 24px;}
.dow-hero-meta{display:flex; gap:8px; flex-wrap:wrap;}
.dow-hero-pill{font-size:.72rem; font-weight:600; color:rgba(255,255,255,.75); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:5px 12px; border-radius:2px;}

.dow-route-teaser{height:26px; background:var(--dow-green-900); position:relative; overflow:hidden;}
.dow-route-teaser svg{position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:2px;}

/* ============ MASTHEAD ============ */
.dow-masthead{position:sticky; top:0; z-index:50; background:var(--dow-green-900); color:var(--dow-parchment); padding:14px clamp(24px,6vw,80px); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.78rem; border-top:1px solid rgba(201,168,92,.25);}
.dow-masthead-nav{display:flex; gap:18px; flex-wrap:wrap; align-items:center;}
.dow-masthead-nav .label{opacity:.5; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em;}
.dow-masthead-nav a{color:rgba(250,243,225,.78); text-decoration:none; font-weight:600;}
.dow-masthead-nav a.active{color:var(--dow-gold-400);}
.dow-masthead-fact{opacity:.7;}

/* ============ LEDE: asymmetric magazine opener with marginalia ============ */
.dow-lede{padding:64px clamp(24px,6vw,80px) 20px; display:grid; grid-template-columns:0.9fr 1.5fr 0.7fr; gap:34px; align-items:start;}
.dow-lede-label{font-size:.68rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--dow-gold-500); margin-bottom:14px;}
.dow-lede-pull{font-family:var(--dow-serif); font-style:italic; font-weight:600; font-size:1.55rem; line-height:1.3; color:var(--dow-green-800); border-left:3px solid var(--dow-gold-500); padding-left:18px;}
.dow-lede-body p{font-size:1.04rem; color:var(--dow-ink-mid); margin:0 0 16px;}
.dow-lede-body p:first-of-type::first-letter{font-family:var(--dow-serif); font-weight:800; font-size:3.8em; float:left; line-height:.76; margin:6px 10px 0 0; color:var(--dow-green-800);}
.dow-marginalia{display:flex; flex-direction:column; gap:22px; padding-top:8px;}
.dow-margin-fact{border-top:1px solid rgba(26,58,43,.16); padding-top:10px;}
.dow-margin-fact span{display:block; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--dow-ink-mid); margin-bottom:4px;}
.dow-margin-fact strong{font-family:var(--dow-serif); font-size:1.15rem; color:var(--dow-green-800); display:block;}
.dow-margin-fact em{font-family:var(--dow-hand); font-style:normal; font-size:1.15rem; color:var(--dow-gold-500); display:block; margin-top:2px;}

/* ============ INTERLUDE: dark full-bleed rhythm band ============ */
.dow-interlude{background:var(--dow-green-900); color:var(--dow-parchment); padding:70px clamp(24px,6vw,80px); position:relative; overflow:hidden;}
.dow-interlude::before{content:''; position:absolute; inset:0; opacity:.5; background:repeating-linear-gradient(0deg, transparent 0 47px, rgba(255,255,255,.02) 47px 48px);}
.dow-interlude-inner{position:relative; max-width:760px; margin:0 auto; text-align:center;}
.dow-interlude-label{font-size:.66rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--dow-gold-400); margin-bottom:18px;}
.dow-interlude-quote{font-family:var(--dow-serif); font-style:italic; font-weight:600; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.35; color:#fff;}
.dow-interlude-stub{display:inline-flex; align-items:center; gap:14px; margin-top:28px; padding:12px 22px; border:1px dashed rgba(201,168,92,.5); font-size:.82rem; color:var(--dow-gold-400);}

/* ============ THE ROUTE: numbered alternating stops ============ */
.dow-route-head{padding:70px clamp(24px,6vw,80px) 10px; text-align:center;}
.dow-route-head .dow-lede-label{text-align:center;}
.dow-route-head h2{font-family:var(--dow-serif); font-size:clamp(2rem,4vw,2.8rem); color:var(--dow-green-800); margin:0 0 12px;}
.dow-route-head p{max-width:56ch; margin:0 auto; color:var(--dow-ink-mid); font-size:1rem;}

.dow-route{position:relative; padding:20px clamp(24px,6vw,80px) 30px;}
.dow-route::before{
  content:''; position:absolute; left:50%; top:0; bottom:60px; width:2px;
  background:repeating-linear-gradient(180deg, var(--dow-gold-500) 0 10px, transparent 10px 20px);
  transform:translateX(-1px); z-index:0;
}
.dow-stop{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:center; margin-bottom:8px; z-index:1;}
.dow-stop-media{height:280px; background:linear-gradient(135deg, var(--dow-green-600), var(--dow-green-900)); display:flex; align-items:center; justify-content:center; font-size:3rem; position:relative; overflow:hidden;}
.dow-stop-media img{width:100%; height:100%; object-fit:cover;}
.dow-stop-text{padding:0 clamp(20px,4vw,56px); position:relative;}
.dow-stop-num{font-family:var(--dow-serif); font-size:5.5rem; font-weight:800; line-height:1; color:rgba(26,58,43,.08); position:absolute; top:-30px; left:clamp(10px,3vw,40px); z-index:-1;}
.dow-stop-text .dow-hand-note{font-family:var(--dow-hand); font-size:1.15rem; color:var(--dow-gold-500); display:block; margin-bottom:4px;}
.dow-stop-text h3{font-family:var(--dow-serif); font-size:1.5rem; color:var(--dow-green-800); margin:0 0 10px;}
.dow-stop-text p{font-size:.95rem; color:var(--dow-ink-mid); margin:0;}
.dow-stop.reverse .dow-stop-media{order:2;}
.dow-stop.reverse .dow-stop-text{order:1; text-align:right;}
.dow-stop.reverse .dow-stop-num{right:clamp(10px,3vw,40px); left:auto;}
.dow-stop-node{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2; width:14px; height:14px; border-radius:50%; background:var(--dow-parchment); border:3px solid var(--dow-gold-500);}

/* ============ LEDGER: Stay / Eat / Book lists ============ */
.dow-ledger-section{padding:70px clamp(24px,6vw,80px) 10px;}
.dow-ledger{margin-top:26px;}
.dow-ledger-row{display:flex; align-items:baseline; gap:12px; padding:18px 0; border-bottom:1px solid rgba(26,58,43,.14); flex-wrap:wrap;}
.dow-ledger-row:first-child{border-top:1px solid rgba(26,58,43,.14);}
.dow-ledger-name{font-family:var(--dow-serif); font-size:1.15rem; color:var(--dow-green-800); white-space:nowrap;}
.dow-ledger-leader{flex:1; border-bottom:1px dotted rgba(26,58,43,.35); position:relative; top:-5px; min-width:20px;}
.dow-ledger-price{font-size:.82rem; font-weight:800; color:var(--dow-gold-500); white-space:nowrap;}
.dow-ledger-desc{flex-basis:100%; font-size:.9rem; color:var(--dow-ink-mid); margin-top:6px;}

/* ============ BUDGET: comparative bars ============ */
.dow-budget-bars{margin-top:30px; display:flex; flex-direction:column; gap:22px;}
.dow-budget-row{display:grid; grid-template-columns:140px 1fr 90px; align-items:center; gap:16px;}
.dow-budget-row-label{font-family:var(--dow-serif); font-size:1rem; color:var(--dow-green-800);}
.dow-budget-track{height:14px; background:rgba(26,58,43,.08); position:relative;}
.dow-budget-fill{height:100%; background:linear-gradient(90deg, var(--dow-green-600), var(--dow-gold-500));}
.dow-budget-row-amount{font-family:var(--dow-serif); font-size:.95rem; color:var(--dow-ink); text-align:right; font-weight:700;}
.dow-cost-table{margin-top:34px; background:var(--dow-wash); padding:26px 28px;}
.dow-cost-table h3{font-family:var(--dow-serif); font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; color:var(--dow-ink); margin:0 0 14px;}
.dow-cost-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:0 30px;}
.dow-cost-item{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid rgba(26,58,43,.1); font-size:.85rem;}
.dow-cost-item span{color:var(--dow-ink-mid);}
.dow-cost-item strong{color:var(--dow-green-800); font-family:var(--dow-serif);}

/* ============ PRACTICALITIES: newspaper columns with chips ============ */
.dow-practicalities{padding:70px clamp(24px,6vw,80px) 10px;}
.dow-practical-cols{column-count:2; column-gap:44px; margin-top:24px;}
.dow-practical-cols h3{font-family:var(--dow-serif); font-size:1.1rem; color:var(--dow-green-800); margin:0 0 8px; break-after:avoid;}
.dow-practical-cols p{font-size:.94rem; color:var(--dow-ink-mid); margin:0 0 22px; break-inside:avoid;}
.dow-safety-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:28px;}
.dow-safety-chip{background:var(--dow-paper); border-left:3px solid var(--dow-gold-500); padding:16px 18px;}
.dow-safety-chip h4{font-family:var(--dow-serif); font-size:.92rem; color:var(--dow-ink); margin:0 0 6px;}
.dow-safety-chip p{font-size:.82rem; color:var(--dow-ink-mid); margin:0;}

/* ============ TAPED NOTE ============ */
.dow-taped{margin:0 clamp(24px,6vw,80px); background:#FFF9E8; border:1px solid rgba(201,162,39,.35); padding:34px clamp(24px,4vw,46px); position:relative; transform:rotate(-.6deg); box-shadow:0 10px 24px rgba(26,58,43,.08);}
.dow-taped::before{content:''; position:absolute; top:-14px; left:38px; width:70px; height:26px; background:rgba(201,168,92,.55); transform:rotate(-4deg);}
.dow-taped-label{font-family:var(--dow-hand); font-size:1.45rem; color:var(--dow-green-800); margin-bottom:8px; display:block;}
.dow-taped h3{font-family:var(--dow-serif); font-size:1.4rem; margin:0 0 10px; color:var(--dow-ink);}
.dow-taped p{font-size:1rem; color:var(--dow-ink-mid); margin:0;}

/* ============ SIGN-OFF ============ */
.dow-signoff{margin:80px 0 0; background:var(--dow-green-900); color:var(--dow-parchment); padding:60px clamp(24px,6vw,80px); text-align:center;}
.dow-signoff-lead{font-family:var(--dow-serif); font-style:italic; font-size:1.35rem; max-width:60ch; margin:0 auto 20px; color:#fff;}
.dow-signoff-sig{font-family:var(--dow-hand); font-size:1.8rem; color:var(--dow-gold-400);}
.dow-signoff-links{margin-top:26px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.dow-signoff-links a{font-size:.82rem; font-weight:700; color:var(--dow-parchment); border:1px solid rgba(250,243,225,.35); padding:10px 20px; text-decoration:none;}
.dow-signoff-links a.primary{background:var(--dow-gold-500); color:var(--dow-green-900); border-color:var(--dow-gold-500);}

.dow-crosslinks{padding:2.6rem clamp(24px,6vw,80px); background:rgba(26,107,95,.03); text-align:center;}
.dow-crosslinks h2{font-family:var(--dow-serif); font-size:1.4rem; font-weight:700; color:var(--dow-ink); margin-bottom:1.4rem; font-style:italic;}
.dow-crosslinks-grid{display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center;}
.dow-crosslinks-grid a{display:inline-flex; align-items:center; padding:.5rem 1.1rem; border-radius:100px; background:var(--dow-paper); border:1px solid rgba(26,58,43,.1); color:var(--dow-ink); text-decoration:none; font-size:.84rem; font-weight:550; transition:all .3s;}
.dow-crosslinks-grid a:hover{background:var(--dow-green-800); color:#fff; transform:translateY(-2px);}

/* ============ HUB: intro band ============ */
.dow-hub-intro{padding:70px clamp(24px,6vw,80px) 10px; text-align:center;}
.dow-hub-intro .dow-lede-label{text-align:center;}
.dow-hub-intro h1{font-family:var(--dow-serif); font-size:clamp(2.4rem,5vw,3.4rem); color:var(--dow-green-800); margin:0 0 16px; font-style:italic; font-weight:800;}
.dow-hub-intro p{max-width:62ch; margin:0 auto; color:var(--dow-ink-mid); font-size:1.04rem;}

/* ============ HUB: current week feature ============ */
.dow-hub-current{
  margin:0 0 0 0; background:var(--dow-green-900); color:var(--dow-parchment);
  display:grid; grid-template-columns:1fr 1fr; overflow:hidden; position:relative; min-height:520px;
}
.dow-hub-current-media{position:relative; overflow:hidden;}
.dow-hub-current-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.dow-hub-current-media::before{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,32,23,.15), rgba(20,32,23,.55));}
.dow-hub-current-text{padding:48px clamp(28px,4vw,56px); display:flex; flex-direction:column; justify-content:center;}
.dow-hub-current-stamp{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  font-size:.66rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--dow-gold-400);
  border:1px dashed rgba(201,168,92,.5); padding:6px 14px; margin-bottom:22px;
}
.dow-hub-current-text h2{font-family:var(--dow-serif); font-style:italic; font-weight:800; font-size:clamp(2rem,4vw,2.8rem); margin:0 0 14px; line-height:1;}
.dow-hub-current-text p{font-size:1rem; color:rgba(250,243,225,.72); max-width:48ch; margin:0 0 26px;}
.dow-hub-current-cta{
  display:inline-flex; align-items:center; gap:10px; align-self:flex-start;
  background:var(--dow-gold-500); color:var(--dow-green-900); font-weight:700; font-size:.9rem;
  padding:13px 24px; text-decoration:none;
}
.dow-hub-current-cta:hover{background:var(--dow-gold-400);}

/* ============ HUB: archive grid ============ */
.dow-archive{padding:80px clamp(24px,6vw,80px) 20px;}
.dow-archive-head{display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:34px;}
.dow-archive-head h2{font-family:var(--dow-serif); font-size:1.9rem; color:var(--dow-green-800); margin:0;}
.dow-archive-head span{font-family:var(--dow-hand); font-size:1.15rem; color:var(--dow-gold-500);}
.dow-archive-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.dow-archive-card{background:var(--dow-paper); border:1px solid rgba(26,58,43,.12); text-decoration:none; color:inherit; display:block; transition:transform .25s, box-shadow .25s;}
.dow-archive-card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(26,58,43,.12);}
.dow-archive-media{height:170px; background:linear-gradient(135deg, var(--dow-green-600), var(--dow-green-900)); position:relative; overflow:hidden;}
.dow-archive-media img{width:100%; height:100%; object-fit:cover;}
.dow-archive-week{
  position:absolute; top:12px; left:12px; z-index:2;
  font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--dow-parchment);
  background:rgba(20,32,23,.65); padding:4px 10px;
}
.dow-archive-body{padding:16px 18px 20px;}
.dow-archive-body .dow-hand-note{font-family:var(--dow-hand); font-size:1.05rem; color:var(--dow-gold-500); display:block; margin-bottom:2px;}
.dow-archive-body h3{font-family:var(--dow-serif); font-size:1.15rem; color:var(--dow-green-800); margin:0 0 6px;}
.dow-archive-body p{font-size:.85rem; color:var(--dow-ink-mid); margin:0;}

/* ============ HUB: coming next week teaser ============ */
.dow-next-week{
  margin:0 clamp(24px,6vw,80px) 90px; border:2px dashed rgba(26,58,43,.25);
  padding:44px clamp(24px,4vw,60px); text-align:center; background:var(--dow-paper);
}
.dow-next-week .dow-lede-label{text-align:center; margin-bottom:10px;}
.dow-next-week h2{font-family:var(--dow-serif); font-style:italic; font-weight:700; font-size:1.5rem; color:var(--dow-green-800); margin:0 0 12px;}
.dow-next-week p{font-family:var(--dow-hand); font-size:1.35rem; color:var(--dow-gold-500); max-width:52ch; margin:0 auto;}

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .dow-lede{grid-template-columns:1fr; gap:26px;}
  .dow-marginalia{flex-direction:row; flex-wrap:wrap; gap:20px;}
  .dow-margin-fact{flex:1 1 140px;}
  .dow-practical-cols{column-count:1;}
}
@media (max-width:820px){
  .dow-stop, .dow-stop.reverse{grid-template-columns:1fr;}
  .dow-stop-media, .dow-stop.reverse .dow-stop-media{order:1;}
  .dow-stop-text, .dow-stop.reverse .dow-stop-text{order:2; text-align:left; padding:24px clamp(20px,4vw,40px) 0;}
  .dow-stop.reverse .dow-stop-num{left:clamp(10px,3vw,40px); right:auto;}
  .dow-route::before{left:24px;}
  .dow-stop-node{left:24px;}
}
@media (max-width:640px){
  .dow-budget-row{grid-template-columns:100px 1fr 70px; gap:10px;}
  .dow-cost-grid{grid-template-columns:1fr;}
  .dow-masthead{flex-direction:column; align-items:flex-start;}
  .dow-safety-grid{grid-template-columns:1fr;}
  .dow-hub-current{grid-template-columns:1fr;}
  .dow-hub-current-media{height:260px;}
  .dow-archive-grid{grid-template-columns:1fr;}
}
@media (min-width:641px) and (max-width:960px){
  .dow-archive-grid{grid-template-columns:1fr 1fr;}
}