/* ============================================================
   WANDER ELITE — site stylesheet (shared by every page)
   Palette, type and components. The design system carried over from v1;
   the "V2 ADDITIONS" section holds the multi-page components.
   ============================================================ */


/* ============================================================
   WANDER ELITE — shared design system
   Luxury hotel offer intelligence, swept daily.
   ============================================================ */

:root{
  /* Core palette */
  --midnight:#0E1B2A;      /* deep navy — nav, heroes, headings */
  --midnight-2:#16293D;
  --ink:#1C2A38;           /* body copy */
  --bone:#FBF8F3;          /* page ground */
  --bone-2:#F3ECE1;        /* recessed panels */
  --card:#FFFFFF;
  --gold:#B08D4F;          /* champagne — the one accent */
  --gold-lt:#C9A96A;
  --gold-wash:rgba(176,141,79,.10);
  --sea:#2E5F6B;           /* secondary accent, "updated" */
  --sea-wash:rgba(46,95,107,.10);
  --muted:#6B6656;
  --line:#E7DFD1;
  --line-soft:#F0E9DD;
  --shadow:0 18px 44px rgba(14,27,42,.09);
  --shadow-lift:0 26px 60px rgba(14,27,42,.16);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-weight:400; font-size:16px; line-height:1.6;
  background:var(--bone); color:var(--ink);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3,h4,.display{font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; letter-spacing:-.005em; color:var(--midnight);}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}

/* ---------- shared type utilities ---------- */
.eyebrow{
  font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold-deep); display:inline-block;
}
.home-hero .eyebrow, .page-hero .eyebrow, .atl .eyebrow, .nl-band .eyebrow, .offer-head .eyebrow, .sec-head-c.on-dark .eyebrow{color:var(--gold-lt);}
.rule{width:52px; height:1px; background:var(--gold); border:0; margin:20px 0;}
.rule.center{margin-left:auto; margin-right:auto;}

.wordmark{display:flex; align-items:center; gap:14px; color:#fff; white-space:nowrap; flex:none;}
.wordmark .crest{
  width:42px; height:42px; flex:none; border:1px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:600;
  color:var(--gold-lt); letter-spacing:.02em;
}
.wordmark .wm-text{line-height:1.15;}
.wordmark .wm-name{
  font-family:'Cormorant Garamond',serif; font-size:25px; font-weight:500;
  letter-spacing:.20em; text-transform:uppercase; color:#fff;
}
.wordmark .wm-sub{
  display:block; font-size:9.5px; font-weight:400; letter-spacing:.30em;
  text-transform:uppercase; color:rgba(255,255,255,.52); margin-top:3px;
}

/* ============================================================
   PAGE HERO (interior pages)
   ============================================================ */
.page-hero{position:relative; min-height:340px; display:flex; align-items:flex-end; overflow:hidden;}
.page-hero{background:var(--midnight);}
.page-hero .ph-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; color:transparent; font-size:0;}
.page-hero::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(100deg,rgba(14,27,42,.86) 0%,rgba(14,27,42,.62) 46%,rgba(14,27,42,.24) 100%),
    linear-gradient(180deg,rgba(14,27,42,.40) 0%,rgba(14,27,42,.12) 40%,rgba(14,27,42,.80) 100%);
}
.page-hero .ph-body{position:relative; z-index:2; max-width:1280px; width:100%; margin:0 auto; padding:60px 40px 46px;}
.page-hero h1{font-size:clamp(40px,5.4vw,62px); line-height:1.04; color:#fff; font-weight:400;}
.page-hero .ph-lead{max-width:620px; margin-top:14px; color:rgba(255,255,255,.80); font-size:16px; font-weight:300; line-height:1.65;}

/* ============================================================
   BANNER / TOOLBAR
   ============================================================ */
.shell{max-width:1280px; margin:0 auto; padding:0 40px;}

.updates{margin-top:30px;}
.updates-inner{
  background:var(--card); border:1px solid var(--line); border-left:2px solid var(--gold);
  padding:20px 26px; display:none; box-shadow:var(--shadow);
}
.updates-inner.show{display:block;}
.updates-title{
  font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase;
  color:var(--midnight); margin-bottom:15px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.updates-title .as-of{letter-spacing:.06em; text-transform:none; color:var(--muted); font-size:12px;}
.chips{display:flex; flex-wrap:wrap; gap:9px;}
.chip{
  display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--ink);
  background:var(--bone); border:1px solid var(--line); padding:7px 15px; cursor:pointer; transition:.18s;
}
.chip:hover{border-color:var(--gold); background:var(--gold-wash);}
.chip .tag{
  font-size:9px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  padding:3px 8px; color:#12202F; background:var(--gold);
}
.chip .tag.updated{background:var(--sea);}

.toolbar{margin-top:30px; display:flex; gap:12px; flex-wrap:wrap; align-items:center;}
.toolbar input[type=text], .toolbar select{
  font-family:'Jost',sans-serif; font-size:14px; color:var(--ink);
  background:var(--card); border:1px solid var(--line); border-radius:0; padding:12px 18px;
  transition:.18s; appearance:none;
}
.toolbar select{padding-right:42px; background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%); background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; cursor:pointer;}
.toolbar input[type=text]{min-width:270px;}
.toolbar input[type=text]::placeholder{color:#6F6A5A;}
.toolbar input[type=text]:focus, .toolbar select:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-wash);}
.toolbar .count{margin-left:auto; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);}

/* ============================================================
   CARDS
   ============================================================ */
.grid{margin-top:26px; padding-bottom:90px; display:grid; grid-template-columns:repeat(auto-fill,minmax(380px,1fr)); gap:26px; align-items:start;}
.card{
  background:var(--card); border:1px solid var(--line); padding:0 30px 28px;
  display:flex; flex-direction:column; position:relative; transition:.26s ease;
  box-shadow:0 10px 26px rgba(14,27,42,.05);
}
.card::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold); opacity:0; transition:.26s;}
.card:hover{transform:translateY(-5px); border-color:#DACDB6; box-shadow:var(--shadow-lift);}
.card:hover::before{opacity:1;}

.card-top{display:flex; align-items:center; gap:14px; padding:26px 0 4px; margin-bottom:8px;}
.logo-chip{
  position:relative; width:52px; height:52px; flex:none;
  border:1px solid var(--line); background:#fff;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.logo-chip i{
  font-family:'Cormorant Garamond',serif; font-style:normal; font-weight:600;
  font-size:17px; letter-spacing:.04em; color:var(--gold);
}
.logo-chip img{position:absolute; inset:0; margin:auto; width:30px; height:30px; object-fit:contain; color:transparent; font-size:0;}
.card-top .ct-text{min-width:0; flex:1;}
.brand-name{
  display:block; font-size:11px; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  color:var(--midnight);
}
.brand-source{display:block; font-size:11px; color:var(--muted); letter-spacing:.04em; margin-top:2px;}
.fresh{
  font-size:9px; font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  color:#12202F; background:var(--gold); padding:4px 10px; flex:none; align-self:flex-start;
}
.fresh.updated{background:var(--sea); color:#fff;}

.card h2{font-size:27px; line-height:1.18; margin:8px 0 10px; font-weight:500;}
.scope{font-size:13px; color:var(--muted); margin-bottom:14px; line-height:1.5;}
.summary{font-size:14.5px; font-weight:300; line-height:1.68; color:var(--ink); margin-bottom:18px;}
.tags{
  display:flex; flex-wrap:wrap; gap:8px 30px; margin-bottom:18px;
  padding-top:14px; border-top:1px solid var(--line-soft);
}
/* Descriptive metadata, NOT interactive. Deliberately borderless, unfilled
   and off the accent colour so it can never be mistaken for a link or chip.
   The only link on the card is .btn-view at the bottom. */
.fact{display:flex; flex-direction:column; gap:3px;}
.fact-k{
  font-size:9px; font-weight:400; letter-spacing:.20em; text-transform:uppercase;
  color:#6F6A5A;
}
.fact-v{
  font-family:'Cormorant Garamond',Georgia,serif; font-size:17px; font-weight:500;
  line-height:1.2; color:var(--midnight); letter-spacing:.005em;
}
.terms{
  font-size:13px; font-weight:300; color:var(--muted); line-height:1.6;
  background:var(--bone); border-left:1px solid var(--gold); padding:13px 16px; margin-bottom:18px;
}
.terms b{color:var(--midnight); font-weight:500; letter-spacing:.02em;}

.props{margin-bottom:20px;}
.props-label{font-size:10px; font-weight:500; letter-spacing:.20em; text-transform:uppercase; color:var(--muted); margin-bottom:11px;}
.props-links{display:flex; flex-wrap:wrap; gap:8px;}
.prop-link{
  font-size:12.5px; color:var(--midnight); border:1px solid var(--line);
  padding:6px 13px; transition:.16s; background:var(--bone);
}
.prop-link:hover{background:var(--midnight); color:#fff; border-color:var(--midnight);}

.card-foot{margin-top:auto; padding-top:6px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.btn-view{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11px; font-weight:500; letter-spacing:.20em; text-transform:uppercase;
  color:var(--midnight); border-bottom:1px solid var(--gold); padding:8px 0 7px; transition:.2s;
}
.btn-view:hover{color:var(--gold); gap:15px;}

.card.flash{animation:flash 1.8s ease;}
@keyframes flash{0%,100%{box-shadow:0 10px 26px rgba(14,27,42,.05);} 20%{box-shadow:0 0 0 2px var(--gold),0 26px 60px rgba(14,27,42,.16);}}

.empty{grid-column:1/-1; text-align:center; padding:100px 20px; color:var(--muted);}
.empty .big{font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--midnight); margin-bottom:10px;}

/* ---------- destination cards (domestic / international) ---------- */
.card .region{font-size:11px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--midnight);}
.dest-sub{font-size:13px; color:var(--muted); margin-bottom:20px; letter-spacing:.03em;}
.sec{margin-bottom:20px;}
.sec-head{
  font-size:10px; font-weight:500; letter-spacing:.20em; text-transform:uppercase;
  color:var(--midnight); padding-bottom:9px; margin-bottom:12px; border-bottom:1px solid var(--line-soft);
}
.deal-row{
  display:flex; align-items:flex-start; gap:13px; padding:11px 13px; margin-bottom:7px;
  background:var(--bone); border:1px solid transparent; transition:.16s;
}
.deal-row:hover{border-color:var(--gold); background:var(--gold-wash);}
.deal-row .logo-chip{width:34px; height:34px;}
.deal-row .logo-chip img{width:20px; height:20px;}
.deal-row .logo-chip i{font-size:12px;}
.deal-row .dr-text{min-width:0;}
.deal-name{display:block; font-size:13.5px; font-weight:500; color:var(--midnight); line-height:1.35;}
.deal-note{display:block; font-size:12.5px; font-weight:300; color:var(--muted); margin-top:3px; line-height:1.45;}
.none{font-size:13px; font-weight:300; color:#6F6A5A; font-style:italic; padding:8px 0;}

.home-hero{position:relative; min-height:88vh; display:flex; align-items:center; overflow:hidden;}
.home-hero{background:var(--midnight);}
.home-hero .hh-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; color:transparent; font-size:0; animation:slowzoom 26s ease-out forwards;}
@keyframes slowzoom{from{transform:scale(1.06);} to{transform:scale(1);}}
.home-hero::after{content:""; position:absolute; inset:0; background:linear-gradient(105deg,rgba(14,27,42,.90) 0%,rgba(14,27,42,.72) 42%,rgba(14,27,42,.30) 100%);}
.home-hero .hh-body{position:relative; z-index:2; max-width:1280px; width:100%; margin:0 auto; padding:96px 40px;}
.home-hero .hh-inner{max-width:720px;}
.home-hero h1{font-size:clamp(46px,6.6vw,84px); line-height:1.02; color:#fff; font-weight:300; margin-top:20px;}
.home-hero h1 em{font-style:italic; color:var(--gold-lt);}
.home-hero .lede{margin-top:26px; font-size:18px; font-weight:300; line-height:1.72; color:rgba(255,255,255,.86);}
.home-hero .lede + .lede{margin-top:18px; font-size:16px; color:rgba(255,255,255,.66);}
.home-hero .hh-cta{margin-top:38px; display:flex; gap:14px; flex-wrap:wrap;}

.btn{
  display:inline-flex; align-items:center; gap:11px; font-size:11px; font-weight:500;
  letter-spacing:.20em; text-transform:uppercase; padding:16px 30px; transition:.22s; border:1px solid;
}
.btn.gold{background:var(--gold); border-color:var(--gold); color:#12202F;}
.btn.gold:hover{background:transparent; color:var(--gold-lt);}
.btn.ghost{background:transparent; border-color:rgba(255,255,255,.36); color:#fff;}
.btn.ghost:hover{border-color:var(--gold); color:var(--gold-lt);}

/* --- tenets --- */
.tenets{padding:92px 0; background:var(--bone);}
.tenets-head{text-align:center; max-width:660px; margin:0 auto 58px;}
.tenets-head h2{font-size:clamp(32px,3.6vw,44px); font-weight:400; margin-top:14px;}
.tenets-head p{margin-top:14px; color:var(--muted); font-weight:300; font-size:15.5px; line-height:1.7;}
.tenets-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.tenet{background:var(--card); padding:44px 36px;}
.tenet .num{font-family:'Cormorant Garamond',serif; font-size:15px; letter-spacing:.24em; color:var(--gold); display:block;}
.tenet h3{font-size:26px; font-weight:500; margin:16px 0 12px;}
.tenet p{font-size:14.5px; font-weight:300; line-height:1.72; color:var(--muted);}

/* --- brand strip --- */
.brands{padding:78px 0 84px; background:var(--bone); border-top:1px solid var(--line-soft);}
.brands-head{text-align:center; margin-bottom:44px;}
.brands-head h2{font-size:30px; font-weight:400; margin-top:12px;}
.brands-head p{margin-top:10px; color:var(--muted); font-weight:300; font-size:14.5px;}
.brand-strip{display:flex; flex-wrap:wrap; justify-content:center; gap:14px;}
.brand-tile{
  display:flex; align-items:center; gap:12px; background:var(--card);
  border:1px solid var(--line); padding:12px 18px 12px 12px; transition:.2s;
}
.brand-tile:hover{border-color:var(--gold); transform:translateY(-2px); box-shadow:var(--shadow);}
.brand-tile .logo-chip{width:38px; height:38px; border:0; background:transparent;}
.brand-tile .logo-chip img{width:24px; height:24px;}
.brand-tile .logo-chip i{font-size:13px;}
.brand-tile span.bt-name{font-size:12px; font-weight:400; letter-spacing:.13em; text-transform:uppercase; color:var(--midnight); white-space:nowrap;}
.brands-note{text-align:center; margin-top:34px; font-size:13px; font-weight:300; color:var(--muted);}

/* destination cards have no brand chip — keep the badge to the right */
.card-top.plain{justify-content:space-between; align-items:center;}
.card-top.plain .ct-text{flex:1;}

/* the chip in the updates banner is a real button now */
.chip{font-family:'Jost',sans-serif; text-align:left; line-height:1.4;}

/* empty state */
.empty p{margin-top:8px; font-size:14px; font-weight:300;}

/* skip link */
.skip{position:absolute; left:-9999px; top:0; background:var(--gold); color:#12202F; padding:12px 20px; z-index:999; font-size:12px; letter-spacing:.16em; text-transform:uppercase;}
.skip:focus{left:0;}

/* keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}

.mini-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px;}
.mini{
  background:var(--card); border:1px solid var(--line); padding:22px 24px 20px;
  display:flex; flex-direction:column; transition:.22s ease;
}
.mini:hover{transform:translateY(-3px); border-color:#DACDB6; box-shadow:var(--shadow);}
.mini-top{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.mini-top .logo-chip{width:40px; height:40px;}
.mini-top .logo-chip img{width:24px; height:24px;}
.mini-top .logo-chip i{font-size:13px;}
.mini-brand{
  flex:1; font-size:10px; font-weight:500; letter-spacing:.20em;
  text-transform:uppercase; color:var(--midnight);
}
.mini h3{font-size:21px; line-height:1.22; font-weight:500; margin-bottom:12px;}
.mini-facts{
  display:flex; gap:24px; padding-top:12px; margin-bottom:16px;
  border-top:1px solid var(--line-soft);
}
.mini-facts span{display:flex; flex-direction:column; gap:2px;}
.mini-facts b{
  font-size:8.5px; font-weight:400; letter-spacing:.20em;
  text-transform:uppercase; color:#6F6A5A;
}
.mini-facts em{
  font-family:'Cormorant Garamond',Georgia,serif; font-style:normal;
  font-size:15px; font-weight:500; color:var(--midnight);
}
.mini-link{
  margin-top:auto; font-size:10px; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase; color:var(--midnight);
  border-bottom:1px solid var(--gold); padding-bottom:5px; align-self:flex-start;
  transition:.2s;
}
.mini-link:hover{color:var(--gold);}
.bn-foot{margin-top:36px; text-align:center;}

/* ============================================================
   FEEDBACK POPUP
   ============================================================ */
.feedback-overlay{
  position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  background:rgba(14,27,42,.62); padding:20px;
  opacity:0; visibility:hidden; transition:opacity .3s ease;
}
.feedback-overlay[hidden]{display:none;}
.feedback-overlay.show{opacity:1; visibility:visible;}
.feedback-modal{
  background:var(--card); max-width:440px; width:100%; padding:36px 34px 30px;
  border-top:2px solid var(--gold); box-shadow:var(--shadow-lift); position:relative;
  transform:translateY(14px); transition:transform .3s ease;
}
.feedback-overlay.show .feedback-modal{transform:translateY(0);}
.feedback-close{
  position:absolute; top:12px; right:12px; width:32px; height:32px; border:0; background:transparent;
  color:var(--muted); font-size:24px; line-height:1; cursor:pointer; transition:.18s; font-family:Georgia,serif;
}
.feedback-close:hover{color:var(--midnight);}
.feedback-modal h3{font-size:25px; margin:8px 0 14px; font-weight:500;}
.feedback-copy{font-size:14.5px; font-weight:300; line-height:1.68; color:var(--muted); margin-bottom:20px;}
.feedback-modal textarea{
  width:100%; font-family:'Jost',sans-serif; font-size:14px; color:var(--ink);
  background:var(--bone); border:1px solid var(--line); padding:13px 15px; resize:vertical; min-height:110px;
  transition:.18s;
}
.feedback-modal textarea::placeholder{color:#6F6A5A;}
.feedback-modal textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-wash);}
.feedback-actions{display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px;}
.feedback-dismiss{
  font-family:'Jost',sans-serif; font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); background:transparent; border:0; cursor:pointer; padding:8px 0; transition:.18s;
}
.feedback-dismiss:hover{color:var(--midnight);}
.feedback-send{
  font-family:'Jost',sans-serif; font-size:11px; font-weight:500; letter-spacing:.20em; text-transform:uppercase;
  color:#12202F; background:var(--gold); border:1px solid var(--gold); padding:13px 26px; cursor:pointer; transition:.22s;
}
.feedback-send:hover{background:transparent; color:var(--gold);}
.feedback-send:disabled{opacity:.55; cursor:default;}
.feedback-status{margin-top:12px; font-size:13px; color:var(--muted); min-height:1.2em;}
.feedback-status.ok{color:var(--sea);}
.feedback-status.err{color:#A93F32;}
@media(max-width:600px){
  .feedback-modal{padding:30px 24px 24px;}
}


/* ============================================================
   V2 ADDITIONS — multi-page site
   ============================================================ */
:root{ --gold-deep:#83652F; --brick:#8A3B2E; }
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.fact-k{color:#6F6A5A;}
.inline{color:var(--gold-deep); border-bottom:1px solid currentColor;}
button.btn{font-family:'Jost',sans-serif; cursor:pointer;}
.btn.dark{background:var(--midnight); border-color:var(--midnight); color:#fff;}
.btn.dark:hover{background:transparent; color:var(--midnight);}
.btn.block{width:100%; justify-content:center;}
.center-cta{text-align:center; margin-top:44px;}

/* ---------- masthead ---------- */
.masthead{background:var(--midnight); color:#fff; border-bottom:1px solid rgba(201,169,106,.32); position:sticky; top:0; z-index:60;}
.masthead-inner{max-width:1280px; margin:0 auto; padding:14px 40px; display:flex; align-items:center; gap:24px;}
.mast-right{display:flex; align-items:center; gap:22px; margin-left:auto;}
.mast-nav{display:flex; gap:0;}
.mast-nav a{
  font-size:11.5px; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,255,255,.74);
  padding:10px 11px; border-bottom:1px solid transparent; transition:.2s; white-space:nowrap;
}
.mast-nav a:hover{color:#fff; border-bottom-color:var(--gold);}
.mast-nav a.active{color:var(--gold-lt); border-bottom-color:var(--gold);}
.mast-actions{display:flex; align-items:center; gap:10px;}
.search-btn{
  display:inline-flex; align-items:center; gap:8px; background:none; border:0; cursor:pointer;
  color:rgba(255,255,255,.74); font:400 11.5px 'Jost',sans-serif; letter-spacing:.13em; text-transform:uppercase; padding:10px;
}
.search-btn:hover{color:var(--gold-lt);}
.btn-cta{
  font-size:11px; font-weight:500; letter-spacing:.17em; text-transform:uppercase; padding:12px 18px;
  background:var(--gold); color:#12202F; border:1px solid var(--gold); white-space:nowrap; transition:.2s;
}
.btn-cta:hover{background:transparent; color:var(--gold-lt);}
.nav-toggle{display:none; width:44px; height:44px; margin-left:auto; background:none; border:1px solid rgba(255,255,255,.25); cursor:pointer; position:relative;}
.nav-toggle span{position:absolute; left:12px; top:21px; width:18px; height:1.5px; background:#fff; transition:background .15s;}
.nav-toggle span::before, .nav-toggle span::after{content:""; position:absolute; left:0; width:100%; height:1.5px; background:#fff; transition:transform .2s, top .2s;}
.nav-toggle span::before{top:-6px;} .nav-toggle span::after{top:6px;}
.masthead.nav-open .nav-toggle span{background:transparent;}
.masthead.nav-open .nav-toggle span::before{top:0; transform:rotate(45deg);}
.masthead.nav-open .nav-toggle span::after{top:0; transform:rotate(-45deg);}

/* ---------- search overlay ---------- */
.search-overlay{position:fixed; inset:0; z-index:220; background:rgba(14,27,42,.72); display:flex; justify-content:center; align-items:flex-start; padding:90px 20px 20px; opacity:0; visibility:hidden; transition:opacity .2s;}
.search-overlay[hidden]{display:none;}
.search-overlay.show{opacity:1; visibility:visible;}
.search-panel{background:var(--card); width:100%; max-width:680px; border-top:2px solid var(--gold); box-shadow:var(--shadow-lift); max-height:calc(100vh - 130px); display:flex; flex-direction:column;}
.search-row{display:flex; align-items:center; border-bottom:1px solid var(--line);}
.search-row input{flex:1; border:0; padding:20px 24px; font:400 17px 'Jost',sans-serif; outline:none; background:transparent; color:var(--ink); min-width:0;}
.search-close{border:0; background:none; font-size:28px; padding:0 20px; cursor:pointer; color:var(--muted);}
.search-results{overflow:auto; padding:6px 0;}
.sr-item{display:block; padding:12px 24px; border-left:2px solid transparent;}
.sr-item:hover, .sr-item.sel{background:var(--gold-wash); border-left-color:var(--gold);}
.sr-t{display:block; font-size:15px; font-weight:500; color:var(--midnight);}
.sr-k{font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); margin-right:8px; font-weight:500;}
.sr-d{display:block; font-size:13px; font-weight:300; color:var(--muted); margin-top:2px; line-height:1.45;}
.sr-empty{padding:22px 24px; color:var(--muted); font-size:14px;}

/* ---------- breadcrumbs, sub-navigation ---------- */
.crumbs{background:var(--bone-2); border-bottom:1px solid var(--line); font-size:12px; letter-spacing:.04em; color:var(--muted);}
.crumbs .shell{padding-top:12px; padding-bottom:12px; display:flex; flex-wrap:wrap; gap:4px 9px; align-items:center;}
.crumbs a:hover{color:var(--gold-deep);}
.crumbs i{font-style:normal; color:#B9B19E;}
.crumbs span[aria-current]{color:var(--midnight); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:60ch;}
.subnav{background:var(--card); border-bottom:1px solid var(--line);}
.subnav .shell{display:flex; gap:2px; overflow-x:auto; scrollbar-width:none;}
.subnav .shell::-webkit-scrollbar{display:none;}
.subnav a{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:16px 14px 14px; border-bottom:2px solid transparent; white-space:nowrap; transition:.15s;}
.subnav a:hover{color:var(--midnight);}
.subnav a.active{color:var(--midnight); border-bottom-color:var(--gold);}
.page-hero .ph-meta{margin-top:12px; font-size:12px; letter-spacing:.1em; color:rgba(255,255,255,.6);}

/* ---------- ratings ---------- */
.rating{display:inline-block; font-size:10px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; padding:5px 10px; border:1px solid; line-height:1.2; white-space:nowrap;}
.rating.exceptional{background:var(--gold); border-color:var(--gold); color:#12202F;}
.rating.worth{background:var(--sea-wash); border-color:var(--sea); color:var(--sea);}
.rating.fits{background:transparent; border-color:#B9B19E; color:#6b6555;}
.rating-row{margin:2px 0 6px;}
.legend{margin:38px auto 0; max-width:1040px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px 40px; font-size:13px; color:var(--muted); font-weight:300; line-height:1.55;}
.legend-title{grid-column:1/-1; text-align:center; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--midnight); font-weight:500;}
.legend-item{display:flex; flex-direction:column; align-items:flex-start; gap:8px;}
.fresh.soon{background:transparent; color:var(--gold-deep); border:1px solid var(--gold);}

/* ---------- listing cards ---------- */
.ocard[hidden], .empty[hidden]{display:none;}
.card h2 a{color:inherit;} .card h2 a:hover{color:var(--gold-deep);}
.ocard .card-foot{gap:20px; justify-content:flex-start;}
.ext{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--line); padding:8px 0 7px; transition:.2s;}
.ext:hover{color:var(--gold-deep); border-bottom-color:var(--gold);}
.block-h{font-size:32px; font-weight:400; margin:46px 0 4px;}
.block-h a:hover{color:var(--gold-deep);}
.cross{margin-top:26px; font-size:14.5px; color:var(--muted); font-weight:300;}
.cross a{color:var(--midnight); border-bottom:1px solid var(--gold);}
.hub-group{margin-top:34px;}
.shell > .grid:first-child, .shell > .updates + .toolbar + .grid{margin-top:26px;}

/* ---------- home: hero ---------- */
.home-hero{min-height:0; align-items:flex-start;}
.home-hero .hh-body{padding:52px 40px 56px;}
.home-hero .hh-inner{max-width:760px;}
.home-hero h1{font-size:clamp(40px,5vw,66px); margin-top:14px;}
.home-hero .lede{margin-top:18px; font-size:17px; line-height:1.66;}
.home-hero .hh-cta{margin-top:26px;}
.hh-cred{margin-top:20px; font-size:12.5px; letter-spacing:.06em; color:rgba(255,255,255,.62);}

/* ---------- home: sections ---------- */
.sec-head-c{text-align:center; max-width:760px; margin:0 auto 34px;}
.sec-head-c.left{text-align:left; margin-left:0;}
.sec-head-c h2{font-size:clamp(32px,3.8vw,46px); font-weight:400; margin-top:12px; line-height:1.12;}
.sec-head-c p{margin-top:12px; color:var(--muted); font-weight:300; font-size:16px; line-height:1.7;}
.sec-head-c.on-dark h2{color:#fff;} .sec-head-c.on-dark p{color:rgba(255,255,255,.72);}

.w5{padding:48px 0 84px; background:var(--bone);}
.w5.on-page{padding:56px 0 64px;}
.w5-asof{text-align:center; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin:-20px 0 26px;}
.w5-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:24px; align-items:stretch;}
.w5-card:nth-child(-n+2){grid-column:span 3;}
.w5-card:nth-child(n+3){grid-column:span 2;}
.w5-card{background:var(--card); border:1px solid var(--line); border-top:2px solid var(--gold); padding:26px 28px 22px; display:flex; flex-direction:column; box-shadow:0 10px 26px rgba(14,27,42,.05); transition:.26s ease;}
.w5-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift);}
.w5-top{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:16px; min-height:28px;}
.w5-num{font-family:'Cormorant Garamond',serif; font-size:30px; color:var(--gold); line-height:1;}
.w5-brand{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.w5-brand .logo-chip{width:38px; height:38px;} .w5-brand .logo-chip img{width:22px; height:22px;} .w5-brand .logo-chip i{font-size:13px;}
.w5-brand .brand-name{flex:1; min-width:0;}
.w5-card h3{font-size:27px; line-height:1.16;}
.w5-card h3 a:hover{color:var(--gold-deep);}
.w5-where{font-size:13px; color:var(--muted); margin:8px 0 12px; line-height:1.5;}
.w5-value{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; color:var(--gold-deep); line-height:1.35; margin-bottom:14px;}
.w5-why .fact-k{display:block; margin-bottom:6px;}
.w5-why p{font-size:14.5px; font-weight:300; line-height:1.68;}
.w5-facts{display:flex; flex-wrap:wrap; gap:12px 26px; padding:14px 0 16px; margin-top:16px; border-top:1px solid var(--line-soft);}
.w5-facts .fact-v{font-size:15.5px;}
.w5-card .card-foot{margin-top:auto; gap:18px; justify-content:flex-start;}
.w5-fine{font-size:11.5px; color:#6F6A5A; margin-top:14px;}

.save{padding:84px 0; background:var(--card); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.cats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.cat{background:var(--card); padding:34px 28px 28px; display:flex; flex-direction:column; transition:.2s; position:relative;}
.cat::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold); opacity:0; transition:.2s;}
.cat:hover{background:var(--bone);} .cat:hover::before{opacity:1;}
.cat-count{font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep);}
.cat h3{font-size:28px; margin:12px 0 10px; line-height:1.15;}
.cat p{font-size:14.5px; font-weight:300; color:var(--muted); line-height:1.65; flex:1;}
.cat-go{margin-top:22px; font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--midnight); border-bottom:1px solid var(--gold); align-self:flex-start; padding-bottom:5px;}

.atl{padding:88px 0 92px; background:var(--midnight); color:#fff;}
.tiles{display:grid; gap:20px;}
.tiles-4{grid-template-columns:repeat(4,1fr);}
.tiles-top{margin-top:44px; margin-bottom:8px;}
.tile{position:relative; display:flex; overflow:hidden; min-height:300px; background:var(--midnight-2); border:1px solid rgba(201,169,106,.2); transition:.3s;}
.tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.78; transition:transform .7s cubic-bezier(.2,.7,.3,1); color:transparent; font-size:0;}
.tile::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(14,27,42,.08) 0%,rgba(14,27,42,.55) 52%,rgba(14,27,42,.93) 100%);}
.tile:hover{border-color:var(--gold); box-shadow:var(--shadow-lift);} .tile:hover img{transform:scale(1.06);}
.tile-body{position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:flex-end; padding:26px 24px 22px;}
.tile-title{font-family:'Cormorant Garamond',serif; font-size:29px; color:#fff; line-height:1.1;}
.tile-sub{font-size:13.5px; color:rgba(255,255,255,.8); margin-top:6px; font-weight:300; line-height:1.45;}
.tile-note{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt); margin-top:12px;}
.tile-go{margin-top:14px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#fff; font-weight:500; transition:.2s;}
.tile:hover .tile-go{color:var(--gold-lt);}

.dest{padding:84px 0; background:var(--bone);}
.brands{padding:78px 0 84px;}
.brand-strip-top{margin-top:44px;}
.soon{padding:84px 0; background:var(--bone-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.mini h3 a:hover{color:var(--gold-deep);}
.mini-top .rating{font-size:9px; padding:4px 8px;}

.pick{background:var(--card); border-top:1px solid var(--line-soft);}
.pick{padding:76px 0;}
.pick-grid{display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:0;}
.pick-fig{min-height:440px; position:relative; margin:0; background:var(--bone-2);}
.pick-fig img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; color:transparent; font-size:0;}
.pick-body{padding:12px 0 12px 64px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start;}
.pick-body h2{font-size:clamp(30px,3.4vw,42px); font-weight:400; margin:14px 0 20px; line-height:1.15;}
.pick-body p{font-size:15.5px; font-weight:300; line-height:1.75; color:var(--muted); margin-bottom:14px;}
.pick-body .btn{margin-top:16px;}

.why{padding:84px 0; background:var(--bone);}
.why .tenets-grid{margin-top:0;}

/* ---------- offer page ---------- */
.offer-head{background:var(--midnight); color:#fff; padding:42px 0 40px;}
.oh-top{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:16px;}
.oh-top .logo-chip{width:44px; height:44px; border-color:rgba(255,255,255,.2);}
.oh-brand{font-size:11.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-lt);}
.offer-head h1{color:#fff; font-size:clamp(34px,4.6vw,56px); font-weight:400; line-height:1.08; max-width:900px;}
.oh-scope{margin-top:14px; color:rgba(255,255,255,.74); font-weight:300; max-width:760px; line-height:1.6;}

/* ---------- quotable summary block: directly under an H1, dark hero context ---------- */
.page-summary{margin-top:16px; max-width:760px; font-family:'Cormorant Garamond',Georgia,serif; font-size:19px; font-weight:400; line-height:1.6; color:rgba(255,255,255,.88);}
.page-summary .verified{display:inline; font-family:'Jost',sans-serif; font-size:12.5px; font-weight:300; color:rgba(255,255,255,.55); margin-left:2px;}
.home-hero .page-summary{color:rgba(255,255,255,.88); max-width:640px;}
.offer-layout{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px; padding-top:48px; padding-bottom:40px; align-items:start;}
.offer-layout section{margin-bottom:38px;}
.offer-layout h2{font-size:30px; font-weight:500; margin-bottom:14px;}
.offer-layout p{font-size:16px; font-weight:300; line-height:1.78;}
.take{background:var(--card); border:1px solid var(--line); border-left:3px solid var(--gold); padding:28px 32px;}
.take.unreviewed{border-left-color:var(--line);}
.take-rating{display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap;}
.offer-layout .take-rating span:last-child{font-size:13.5px; color:var(--muted);}
.ticks{list-style:none;}
.ticks li{position:relative; padding-left:26px; margin-bottom:10px; font-size:15.5px; font-weight:300; line-height:1.65;}
.ticks li::before{content:""; position:absolute; left:2px; top:.72em; width:11px; height:1px; background:var(--gold);}
.offer-layout .fine-print{font-size:12.5px; color:var(--muted); line-height:1.55;}
.offer-layout .bestfor{font-family:'Cormorant Garamond',serif; font-size:23px; color:var(--midnight); font-weight:500;}

/* ---------- visible FAQ: plain Q&A, no accordion, so it stays in the static HTML ---------- */
.faq h2{font-size:26px; margin-bottom:18px;}
.faq h3{font-size:17px; font-weight:500; margin:20px 0 6px; color:var(--midnight);}
.faq h3:first-of-type{margin-top:0;}
.faq p{font-size:15.5px; font-weight:300; line-height:1.7; color:var(--ink);}
.plain{list-style:none;}
.plain li{margin-bottom:9px; font-size:15.5px; font-weight:300; line-height:1.6;}
.plain a{color:var(--midnight); border-bottom:1px solid var(--gold);}
.offer-aside{position:sticky; top:96px;}
.summary-box{background:var(--card); border:1px solid var(--line); border-top:2px solid var(--gold); padding:26px 26px 24px; box-shadow:var(--shadow);}
.summary-box h2{font-size:24px; margin-bottom:12px;}
.summary-box dl > div{padding:10px 0; border-top:1px solid var(--line-soft);}
.summary-box dt{font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:#6F6A5A;}
.summary-box dd{font-size:14.5px; color:var(--midnight); margin-top:2px; line-height:1.45;}
.summary-box dd a{border-bottom:1px solid var(--gold);}
.summary-box .btn{margin-top:20px;}
.summary-box .fine-print{margin-top:14px;}
.related{background:var(--bone-2); padding:20px 0 0; border-top:1px solid var(--line);}
.related .block-h{margin-top:34px;}
.props-links{display:flex; flex-wrap:wrap; gap:8px;}

/* ---------- destinations, brands, atlanta ---------- */
.pgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; margin-top:20px;}
.pgrid-top{margin-top:34px;}
.pcard{background:var(--card); border:1px solid var(--line); padding:22px 24px 20px; display:flex; flex-direction:column; gap:4px; transition:.2s;}
.pcard:hover{border-color:var(--gold); transform:translateY(-3px); box-shadow:var(--shadow);}
.pc-kicker{font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep);}
.pc-name{font-family:'Cormorant Garamond',serif; font-size:26px; color:var(--midnight); line-height:1.15;}
.pc-sub{font-size:13px; color:var(--muted);}
.pc-atl{font-size:13px; color:var(--ink); font-weight:300; margin-top:8px; line-height:1.5;}
.pc-atl b{display:block; font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:#6F6A5A; font-weight:400;}
.pc-go{margin-top:auto; padding-top:14px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--midnight);}
.atl-box{margin-top:34px; background:var(--card); border:1px solid var(--line); border-left:2px solid var(--gold); padding:20px 26px; max-width:760px;}
.atl-box p{font-size:16px; font-weight:300; margin-top:6px; line-height:1.6;}
.atl-easy a{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); border-bottom:1px solid var(--gold);}
.deal-list{margin-top:18px; max-width:880px;}
.brand-notes{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:26px; margin-top:34px; padding:24px 28px; background:var(--card); border:1px solid var(--line);}
.brand-notes p{font-size:15px; margin-top:6px; line-height:1.7; font-weight:300;}
.brand-notes a{border-bottom:1px solid var(--gold);}
.brand-about p{font-size:16px; font-weight:300; line-height:1.75; max-width:760px; margin-top:8px;}
.brand-table{margin-top:18px; border-top:1px solid var(--line);}
.brand-row{display:grid; grid-template-columns:52px 1.2fr 2fr auto; gap:18px; align-items:center; padding:14px 6px; border-bottom:1px solid var(--line); transition:.15s;}
.brand-row:hover{background:var(--gold-wash);}
.br-name{font-family:'Cormorant Garamond',serif; font-size:23px; color:var(--midnight);}
.br-types{font-size:13px; color:var(--muted);}
.br-n{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--midnight);}

/* ---------- guides, prose, forms ---------- */
.guide-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:24px; margin:44px 0 24px;}
.guide-card{background:var(--card); border:1px solid var(--line); border-top:2px solid var(--gold); padding:32px 32px 28px; display:flex; flex-direction:column; gap:12px; transition:.2s;}
.guide-card:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.guide-card h2{font-size:29px; line-height:1.15;}
.guide-card p{font-size:15px; font-weight:300; color:var(--muted); line-height:1.7; flex:1;}
.shell.narrow{max-width:900px;}
.prose-page{padding:60px 0 24px;}
.prose-page h1{font-size:clamp(36px,5vw,58px); font-weight:400; line-height:1.08; margin:12px 0 18px;}
.prose-lede{font-size:19px; font-weight:300; color:var(--muted); line-height:1.7;}
.prose-meta{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#6F6A5A; margin-top:14px;}
.prose{margin-top:30px;}
.prose h2{font-size:30px; margin:38px 0 12px;}
.prose p, .prose li{font-size:16.5px; font-weight:300; line-height:1.8; margin-bottom:14px;}
.prose ul, .prose ol{padding-left:22px; margin-bottom:14px;}
.prose a:not(.btn){color:var(--midnight); border-bottom:1px solid var(--gold);}
.prose strong{font-weight:500;}
.prose .btn{margin-top:8px;}
.rating-defs{display:grid; gap:16px; margin:18px 0 8px;}
.rating-defs > div{display:flex; align-items:baseline; gap:16px; flex-wrap:wrap;}
.rating-defs p{margin:0; font-size:15.5px;}
.contact-form{display:grid; gap:8px; max-width:560px;}
.contact-form label{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--midnight); margin-top:10px;}
.contact-form label span{text-transform:none; letter-spacing:0; color:var(--muted);}
.contact-form input, .contact-form textarea{font:400 15px 'Jost',sans-serif; padding:13px 15px; border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:0;}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-wash);}
.contact-form .btn{justify-self:start; margin-top:14px;}
.contact-form .nl-status{color:var(--muted);} .contact-form .nl-status.ok{color:var(--sea);} .contact-form .nl-status.err{color:#A93F32;}
.hp{position:absolute; left:-9999px;}
.w5-list{padding-left:22px;}
.notfound{padding:120px 40px; text-align:center; max-width:720px;}
.notfound h1{font-size:clamp(38px,5vw,56px); font-weight:400; margin:14px 0 18px;}
.notfound p{font-size:17px; font-weight:300; color:var(--muted);}
.notfound a{color:var(--midnight); border-bottom:1px solid var(--gold);}

/* ---------- footer ---------- */
.site-foot{background:var(--midnight); color:rgba(255,255,255,.6); padding:64px 40px 44px; border-top:1px solid rgba(201,169,106,.3);}
.site-foot-inner{max-width:1280px; margin:0 auto; text-align:left;}
.foot-top{display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1);}
.foot-brand p{margin-top:18px; font-size:13.5px; font-weight:300; line-height:1.7; color:rgba(255,255,255,.55); max-width:320px;}
.fcol h4{font-family:'Jost',sans-serif; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-lt); font-weight:500; margin-bottom:16px;}
.fcol ul{list-style:none;} .fcol li{margin-bottom:10px;}
.fcol a{font-size:14px; color:rgba(255,255,255,.68); font-weight:300; transition:.15s;} .fcol a:hover{color:var(--gold-lt);}
.site-foot .fine{max-width:920px; margin:26px 0 0; font-size:12.5px; font-weight:300; line-height:1.75; color:rgba(255,255,255,.5);}
.site-foot .fine a{color:var(--gold-lt); border-bottom:1px solid rgba(201,169,106,.4);}
.site-foot .legal{margin-top:24px; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.55);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1180px){
  .mast-nav a{padding:10px 9px; letter-spacing:.11em;}
  .search-btn span{display:none;}
}
@media(max-width:1060px){
  .masthead-inner{padding:12px 24px;}
  .nav-toggle{display:block;}
  .mast-right{display:none; position:absolute; top:100%; left:0; right:0; margin:0; background:var(--midnight); flex-direction:column; align-items:stretch; gap:0; padding:8px 24px 22px; border-bottom:1px solid rgba(201,169,106,.32); box-shadow:0 20px 40px rgba(14,27,42,.35);}
  .masthead.nav-open .mast-right{display:flex;}
  .mast-nav{flex-direction:column;}
  .mast-nav a{padding:14px 0; border-bottom:1px solid rgba(255,255,255,.09); font-size:12px;}
  .mast-actions{justify-content:space-between; padding-top:16px;}
  .search-btn span{display:inline;}
}
@media(max-width:980px){
  .w5-card:nth-child(n){grid-column:span 3;}
  .w5-card:nth-child(5){grid-column:span 6;}
  .cats{grid-template-columns:repeat(2,1fr);}
  .tiles-4{grid-template-columns:repeat(2,1fr);}
  .pick-grid{grid-template-columns:1fr;}
  .pick-fig{min-height:300px;}
  .pick-body{padding:36px 0 0;}
  .pick{padding:44px 0 56px;}
  .offer-layout{grid-template-columns:1fr; gap:8px;}
  .foot-top{grid-template-columns:repeat(2,1fr);}
  .foot-brand{grid-column:1/-1;}
}
@media(max-width:700px){
  .w5-grid{grid-template-columns:1fr;}
  .w5-card:nth-child(n){grid-column:auto;}
  .cats{grid-template-columns:1fr;}
  .tiles-4{grid-template-columns:1fr 1fr; gap:12px;}
  .tile, .tile-body{min-height:220px;}
  .tile-title{font-size:24px;} .tile-body{padding:18px 16px 16px;}
  .home-hero .hh-body{padding:52px 22px 56px;}
  .home-hero .hh-cta{flex-direction:column; align-items:stretch;}
  .w5, .save, .atl, .dest, .soon, .why, .nl-band{padding-top:56px; padding-bottom:60px;}
  .w5-card{padding:22px 20px 20px;}
  .nl-inline{padding:30px 22px 28px;}
  .take{padding:22px 20px;}
  .brand-row{grid-template-columns:44px 1fr auto; gap:12px;}
  .br-types{display:none;}
  .site-foot{padding:48px 22px 36px;}
  .prose-page{padding-top:40px;}
  .notfound{padding:80px 22px;}
}
@media(max-width:420px){
  .tiles-4{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr;}
}
@media(max-width:374.98px){
  .home-hero .hh-body{padding:45px 22px 51px;}
  .home-hero .page-summary{margin-top:12px;}
  .home-hero .lede{margin-top:14px; font-size:16px; line-height:1.6;}
  .home-hero .hh-cta{margin-top:20px;}
  .home-hero .hh-cta .btn{padding-top:13px; padding-bottom:13px;}
  .home-hero .hh-cred{margin-top:16px;}
}


h1, h2, h3{text-wrap:balance;}
.mini .rating-row{margin:-2px 0 10px;}
.legend-item .rating{margin:0;}
@media(max-width:700px){.legend{grid-template-columns:1fr;}}
.btn.block{justify-content:space-between; text-align:left;}
.oh-cta{margin-top:26px;}
@media(max-width:980px){ .oh-cta .btn{width:100%; justify-content:space-between;} }
.offer-head .rating.worth{background:rgba(255,255,255,.06); border-color:#7fbcc9; color:#bfe3ea;}
.offer-head .rating.fits{border-color:rgba(255,255,255,.4); color:rgba(255,255,255,.78);}

/* ============================================================
   PUNCH-LIST REFINEMENTS
   ============================================================ */
.logo-chip.l3 i{font-size:.72em; letter-spacing:0;}

/* ---------- Wander Elite 5: compact editorial cards ---------- */
.w5-card{padding:0; overflow:hidden; border-top:0; position:relative;}
.w5-card::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold); z-index:2;}
.w5-photo{position:relative; aspect-ratio:2/1; background:var(--bone-2); overflow:hidden;}
.w5-card:nth-child(n+3) .w5-photo{aspect-ratio:16/9;}
.w5-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.3,1);}
.w5-card:hover .w5-photo img{transform:scale(1.04);}
.w5-rating{position:absolute; top:16px; left:16px;}
.w5-rating .rating{box-shadow:0 2px 10px rgba(14,27,42,.25);}
.w5-rating .rating.worth{background:#fff;}
.w5-rating .rating.fits{background:#fff;}
.w5-body{padding:22px 26px 22px; display:flex; flex-direction:column; flex:1;}
.w5-brand{margin-bottom:8px;}
.w5-value{font-size:20px; margin:8px 0 12px;}
.w5-why{font-size:14.5px; font-weight:300; line-height:1.65; margin:0;}
.w5-why .fact-k{display:block; margin-bottom:5px;}
.w5-facts{margin-top:14px; padding:12px 0 14px;}
.w5-body .card-foot{margin-top:auto; padding-top:2px;}

/* list cards follow the same order: brand, deal, value, why, best for, deadline, CTA */
.card-value{font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:18px; color:var(--gold-deep); line-height:1.35; margin:0 0 10px;}

/* ---------- offers sub-navigation: six choices and a "More" menu ---------- */
.subnav .shell{overflow:visible; flex-wrap:wrap; align-items:stretch;}
.subnav-more{position:relative; margin-left:auto;}
.subnav-more summary{list-style:none; cursor:pointer; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:16px 14px 14px; border-bottom:2px solid transparent; white-space:nowrap; user-select:none;}
.subnav-more summary::-webkit-details-marker{display:none;}
.subnav-more summary::after{content:"\25BE"; margin-left:7px; font-size:10px;}
.subnav-more summary:hover, .subnav-more[open] summary{color:var(--midnight);}
.subnav-more summary.active{color:var(--midnight); border-bottom-color:var(--gold);}
.more-list{position:absolute; right:0; top:100%; z-index:40; background:var(--card); border:1px solid var(--line); border-top:2px solid var(--gold); box-shadow:var(--shadow); min-width:210px; display:flex; flex-direction:column; padding:6px 0;}
.more-list a{padding:12px 20px; border-bottom:0; letter-spacing:.12em;}
.more-list a:hover{background:var(--gold-wash);}

/* ---------- offer page: the Take comes first, on every screen size ---------- */
.offer-layout{grid-template-columns:minmax(0,1fr) 340px; grid-template-areas:"take aside" "rest aside"; grid-template-rows:auto 1fr; column-gap:56px; row-gap:0; align-items:start;}
.offer-take{grid-area:take; margin-bottom:38px;}
.offer-aside{grid-area:aside; align-self:start;}
.offer-rest{grid-area:rest; min-width:0;}
.choose{scroll-margin-top:96px;}
.choose > p{max-width:640px;}
.choose .props-links{margin-top:14px;}
.plain-link{color:var(--midnight); border-bottom:1px solid var(--gold);}
.offer-layout section{margin-bottom:38px;}

/* ---------- motion, focus ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .home-hero .hh-img{animation:none;}
  .w5-photo img, .tile img, .board img{transition:none;}
}
.search-panel :focus-visible, .feedback-modal :focus-visible{outline-offset:2px;}

@media(max-width:980px){
  .offer-layout{grid-template-columns:1fr; grid-template-areas:"take" "aside" "rest"; grid-template-rows:auto;}
  .offer-aside{position:static; margin:0 0 30px; order:0;}
  .offer-take{margin-bottom:24px;}
  .nl-compact .nl-form{flex-wrap:wrap; justify-content:flex-start; max-width:none;}
  .nl-compact .nl-status{position:static; margin-top:0;}
}
@media(max-width:700px){
  .summary-box{padding:20px 20px 18px;}
  .summary-box dl > .secondary{display:none;}
  .subnav a, .subnav-more summary{padding:13px 11px 11px; font-size:11px;}
  .more-list{right:auto; left:auto; min-width:190px;}
  .w5-body{padding:20px 20px 20px;}
  .nl-compact{padding:20px 20px;}
  .nl-compact .nl-form{flex-direction:column; align-items:stretch;}
  .nl-compact .nl-form .btn{width:100%; justify-content:center;}
}

/* ---------- responsive rules carried over from v1 that the rebuild dropped ---------- */
.grid{grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));}
@media(max-width:980px){
  .tenets-grid{grid-template-columns:1fr;}
  .tenet{padding:34px 26px;}
}
@media(max-width:900px){
  .shell{padding:0 22px;}
  .page-hero .ph-body{padding:48px 22px 38px;}
}
@media(max-width:600px){
  .card{padding:0 22px 24px;}
  .grid{gap:20px;}
  .toolbar input[type=text]{min-width:100%;}
  .toolbar .count{margin-left:0;}
  .page-hero{min-height:0;}
  .page-hero .ph-body{padding:44px 20px 34px;}
  .mini-grid{grid-template-columns:1fr;}
}

/* ---------- smallest text stays legible (10.5px minimum) ---------- */
.fact-k, .mini-facts b, .pc-atl b, .props-label, .fresh, .chip .tag{font-size:10.5px;}
.rating{font-size:10.5px;}
.legend-title, .cat-count, .pc-kicker, .summary-box dt, .brand-source{font-size:10.5px;}
@media(max-width:420px){
  .masthead-inner{padding:12px 16px; gap:10px;}
  .wordmark{gap:10px;}
  .wordmark .crest{width:32px; height:32px; font-size:14px;}
  .wordmark .wm-name{font-size:17px; letter-spacing:.11em;}
  .wordmark .wm-sub{font-size:7.5px; letter-spacing:.2em;}
  .nav-toggle{width:42px; height:42px;}
}
.search-row:focus-within{box-shadow:inset 0 -2px 0 var(--gold);}

/* Holiday pages: the coverage note on a card and the fine-print block.
   Descriptive only, so it stays off the accent color and never looks clickable. */
.card-season{font-size:13.5px; font-weight:300; line-height:1.6; color:var(--ink); margin:-6px 0 16px; padding-left:12px; border-left:2px solid var(--line);}
.card-season b{font-weight:500; color:var(--midnight);}
.card-season .cs-note{display:block; color:var(--muted); margin-top:4px;}
.season-intro{max-width:760px; margin-top:36px;}
.season-intro p{font-size:16.5px; font-weight:300; line-height:1.8; margin-bottom:14px;}
.season-alert{max-width:760px; margin-top:18px; font-size:15px; font-weight:400; color:var(--midnight);}
.fine-block{max-width:760px; margin-top:40px; padding:20px 22px; background:var(--card); border:1px solid var(--line);}
.fine-block p{font-size:15px; font-weight:300; line-height:1.7;}
.fine-block b{font-weight:500; color:var(--midnight);}
.season-notes{max-width:760px;}
.season-notes .ticks{margin-top:14px;}
.season-notes .ticks b{font-weight:500; color:var(--midnight);}
.season-link{margin-top:14px;}

/* Home page "Holiday planning" band: one or two seasonal tiles. */
.season-band{padding:72px 0 56px;}
.tiles-1{grid-template-columns:minmax(0,560px); justify-content:center;}
.tiles-2{grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1000px; margin:0 auto;}
.season-band .tile{min-height:260px;}
@media (max-width:620px){ .tiles-2{grid-template-columns:1fr; gap:12px;} .season-band{padding-top:48px;} }
