/* ============================================================
   THE PATTAYA RESTAURANT GUIDE — Premium Dark Editorial
   Issue IV · 2026 · Single canonical stylesheet
   Loaded on every page, wins all overrides via specificity.
============================================================ */

/* ============= TOKENS — REFINED LUXURY PALETTE v4.5 ============= */
:root{
  /* Deeper, warmer dark base (subtle brown undertone, not pure black) */
  --bg:#0a0908 !important;
  --bg-card:#13110d !important;
  --bg-elev:#181510 !important;
  --bg-deep:#070605 !important;
  /* Refined champagne — cooler, more muted, less orange */
  --gold:#b89968 !important;
  --gold-bright:#cdaf83 !important;
  --gold-deep:#8d7445 !important;
  /* Warm aged-paper ivory (not pure cream) */
  --ivory:#ede5d3 !important;
  --ivory-soft:#c2bba9 !important;
  --tan:#9a9485 !important;
  --mute:#6e6a60 !important;
  --line:rgba(237,229,211,.08) !important;
  --line-gold:rgba(184,153,104,.20) !important;
  --line-gold-strong:rgba(184,153,104,.36) !important;
  --green:#7eb888 !important;
  --red:#c4504c !important;
  --serif:'Playfair Display','Cormorant Garamond',Georgia,serif !important;
  --italic:'Cormorant Garamond','Cormorant',Georgia,serif !important;
  --sans:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',Roboto,sans-serif !important;
  /* Legacy aliases — pages reference these vars; remap them so text is visible on dark bg */
  --t:#ede5d3 !important;
  --black:#ede5d3 !important;
  --tl:#9a9485 !important;
  --bd:rgba(237,229,211,.08) !important;
  --bd-strong:rgba(237,229,211,.18) !important;
  --bd-gold:rgba(184,153,104,.20) !important;
  --accent:#b89968 !important;
  --ac:#b89968 !important;
  --p:#b89968 !important;
  --pd:#8d7445 !important;
  --g:#7eb888 !important;
  --cd:#13110d !important;
}

/* ============= PREMIUM TYPOGRAPHY REFINEMENTS ============= */
html,body{
  font-feature-settings:'kern' 1,'liga' 1,'onum' 1,'pnum' 1 !important;
  font-variant-numeric:oldstyle-nums proportional-nums !important;
  text-rendering:optimizeLegibility !important;
}
/* Tabular figures for prices, hours, ratings, ranks */
.hours-tbl,.hours-tbl td,.entry .rank,.entry .num,.dish-list li::before,
.price-tag,.hero-meta-item,.sim-meta,.rating,.aggregate-rating,
.year,.issue-mast .iss,td.hr-time{
  font-variant-numeric:tabular-nums lining-nums !important;
  font-feature-settings:'tnum' 1,'lnum' 1 !important;
}

/* Letterpress effect on large serif display — subtle inset shadow */
h1,h2,.hero h1,.section-title-band h2,.issue-mast .ttl,.entry h2{
  text-shadow:0 1px 0 rgba(0,0,0,.35),0 0 30px rgba(184,153,104,.04) !important;
}

/* Fine letter-spacing for premium serifs */
h1{letter-spacing:-.024em !important}
h2{letter-spacing:-.018em !important}
h3{letter-spacing:-.012em !important}

/* Small-caps eyebrows — proper editorial typography */
.eyebrow,.section-eyebrow,.crumbs,.tile .eyebrow,
.hero-eyebrow,.rf-eyebrow-tag,.cont-eyebrow,
.cards .eyebrow,.sim-cuisine,.pa-btn,.sec-btn,.share-btn,
.share-bar > *,.share-row > *{
  font-feature-settings:'kern' 1,'smcp' 1,'c2sc' 0 !important;
}

/* ============= DECORATIVE ORNAMENTS ============= */
/* Section ornament divider — gold diamond ✦ between editorial sections */
.ornament,
.section + .section::before,
hr.ornament{
  content:'\2756';  /* black diamond minus white X = ornamental */
  display:block;
  text-align:center;
  font-size:1.1rem;
  color:var(--gold);
  margin:48px 0;
  letter-spacing:.6em;
  opacity:.7;
}
/* Three-diamond ornament */
.ornament-trio::before,
.ornament-trio::after{
  content:'\2756 \2756 \2756';
  display:block;
  text-align:center;
  color:var(--gold);
  letter-spacing:.6em;
  font-size:.85rem;
  opacity:.55;
  margin:36px 0;
}

/* Hairline gold rule centered (replaces hr where decorative) */
.gold-rule{
  display:block;
  width:48px;
  height:1px;
  background:var(--gold);
  margin:24px auto;
  opacity:.6;
}
.gold-rule.long{width:120px}
.gold-rule.short{width:24px}

/* Section divider with central ornament */
.divider-ornament{
  display:flex;
  align-items:center;
  gap:18px;
  margin:56px auto;
  max-width:520px;
}
.divider-ornament::before,.divider-ornament::after{
  content:'';
  flex:1;
  height:1px;
  background:var(--line-gold);
}
.divider-ornament span,.divider-ornament .o{
  color:var(--gold);
  font-size:.9rem;
  letter-spacing:.3em;
  font-style:italic;
  font-family:var(--italic);
}

/* ============= REFINED HEADER / BRAND WORDMARK ============= */
header .brand{
  font-family:var(--serif) !important;
  font-size:1.1rem !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--ivory) !important;
  font-weight:500 !important;
  font-style:normal !important;
}
header .brand .accent,header .brand em{
  color:var(--gold) !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-family:var(--italic) !important;
  letter-spacing:.01em !important;
}

/* ============= REFINED HERO — wider asymmetric breathing room ============= */
.hero-content{padding:48px 28px 56px !important}
.hero-eyebrow{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.78rem !important;
  letter-spacing:.18em !important;
  text-transform:none !important;
  font-weight:500 !important;
  color:var(--gold) !important;
}
.hero-eyebrow .sep,.hero-eyebrow b{
  width:14px !important;
  height:1px !important;
  background:var(--gold) !important;
  display:inline-block !important;
}
.hero h1{
  font-weight:600 !important;
  letter-spacing:-.026em !important;
  line-height:1.02 !important;
  text-shadow:0 2px 0 rgba(0,0,0,.5),0 0 40px rgba(0,0,0,.3) !important;
}
.hero-meta{
  font-family:var(--sans) !important;
  font-size:.82rem !important;
  letter-spacing:.04em !important;
  color:var(--ivory) !important;
  opacity:.92;
}

/* ============= ISSUE MASTHEAD — refined editorial wordmark ============= */
.issue-mast{
  padding:48px 22px 32px !important;
  background:var(--bg) !important;
  text-align:center !important;
  border-bottom:1px solid var(--line-gold) !important;
}
.issue-mast .iss{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.92rem !important;
  letter-spacing:.18em !important;
  text-transform:none !important;
  color:var(--gold) !important;
  font-weight:400 !important;
  margin-bottom:14px !important;
}
.issue-mast .iss::before{content:'\2014\00a0';color:var(--gold);opacity:.6}
.issue-mast .iss::after{content:'\00a0\2014';color:var(--gold);opacity:.6}
.issue-mast .ttl{
  font-family:var(--serif) !important;
  font-size:clamp(2.4rem,5vw,3.8rem) !important;
  font-weight:500 !important;
  letter-spacing:-.022em !important;
  color:var(--ivory) !important;
}
.issue-mast .sub{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:1.25rem !important;
  color:var(--gold-bright) !important;
  margin-top:12px !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
}

/* ============= REFINED EYEBROWS — italic + spaced ============= */
.section-eyebrow,.eyebrow{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.86rem !important;
  letter-spacing:.16em !important;
  text-transform:none !important;
  font-weight:500 !important;
  color:var(--gold) !important;
}
/* Keep tracked uppercase for some labels (cuisine tags, breadcrumbs) */
.crumbs,.sim-cuisine,.rf-eyebrow-tag,.cont-eyebrow,.cards .eyebrow{
  font-family:var(--sans) !important;
  font-style:normal !important;
  text-transform:uppercase !important;
}

/* ============= DROP CAPS — bigger, hand-set feel ============= */
.intro > p:first-of-type::first-letter,
article > p:first-of-type::first-letter,
.review-body > p:first-of-type::first-letter,
.our-take > p:first-of-type::first-letter,
.review > p:first-of-type::first-letter{
  font-family:var(--serif) !important;
  font-size:5.6rem !important;
  font-weight:500 !important;
  color:var(--gold) !important;
  float:left !important;
  line-height:.78 !important;
  margin:14px 18px -2px 0 !important;
  letter-spacing:-.04em !important;
  text-shadow:0 2px 0 rgba(0,0,0,.4) !important;
}
@media (max-width:640px){
  .intro > p:first-of-type::first-letter,
  article > p:first-of-type::first-letter,
  .review-body > p:first-of-type::first-letter{
    font-size:3.8rem !important;
    margin:8px 12px -2px 0 !important;
  }
}

/* ============= REFINED PULL QUOTE ============= */
.pull-quote,.entry-pull,article blockquote{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:clamp(1.5rem,2.8vw,2.2rem) !important;
  line-height:1.32 !important;
  color:var(--ivory) !important;
  text-align:center !important;
  max-width:880px !important;
  margin:64px auto !important;
  padding:48px 32px 40px !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
  position:relative !important;
  font-weight:400 !important;
  letter-spacing:-.005em !important;
}
.pull-quote::before,article blockquote::before{
  content:'\201C';
  position:absolute;
  top:-20px;
  left:50%;
  transform:translateX(-50%);
  background:var(--bg);
  padding:0 18px;
  font-size:3.2rem;
  color:var(--gold);
  line-height:1;
  font-family:var(--serif);
  font-style:italic;
  font-weight:500;
}
.pull-quote::after{
  content:'\2756';
  display:block;
  margin:18px auto 0;
  color:var(--gold);
  opacity:.5;
  font-size:.85rem;
  letter-spacing:.4em;
}

/* ============= REFINED ENTRY CARDS — magazine-style ============= */
.entry{
  background:transparent !important;
  border:0 !important;
  border-top:1px solid var(--line-gold) !important;
  margin:0 !important;
  padding:64px 0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:32px !important;
}
@media (min-width:880px){
  .entry{grid-template-columns:1.2fr 1fr !important;align-items:start !important;gap:48px !important}
  .entry:nth-child(even){grid-template-columns:1fr 1.2fr !important}
  .entry:nth-child(even) .entry-img,.entry:nth-child(even) > .img{grid-column:2}
  .entry:nth-child(even) .entry-body,.entry:nth-child(even) .body,.entry:nth-child(even) > .content{grid-column:1;grid-row:1}
}
.entry-img,.entry > .img,.entry .photo{
  background-color:var(--bg-elev) !important;
  background-size:cover !important;
  background-position:center !important;
  aspect-ratio:5/4 !important;
  position:relative !important;
}
.entry .rank,.entry .num,.entry .position{
  font-family:var(--serif) !important;
  font-style:italic !important;
  font-size:5.2rem !important;
  font-weight:400 !important;
  color:var(--gold) !important;
  position:absolute !important;
  bottom:24px !important;
  left:28px !important;
  z-index:2 !important;
  text-shadow:0 4px 16px rgba(0,0,0,.6) !important;
  font-variant-numeric:oldstyle-nums !important;
}
.entry .body,.entry-body,.entry > .content{padding:0 !important}
.entry h2,.entry h3,.entry-name{
  font-family:var(--serif) !important;
  font-size:clamp(1.6rem,2.6vw,2.1rem) !important;
  font-weight:500 !important;
  letter-spacing:-.018em !important;
  margin:0 0 16px !important;
  color:var(--ivory) !important;
  line-height:1.1 !important;
}
.entry .meta{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.92rem !important;
  letter-spacing:.04em !important;
  color:var(--gold) !important;
  margin-bottom:20px !important;
}

/* ============= REFINED ACTION BAR — softer, more elegant ============= */
.primary-actions{
  background:transparent !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
}
.pa-btn{
  font-family:var(--sans) !important;
  font-size:.68rem !important;
  letter-spacing:.32em !important;
  font-weight:500 !important;
  padding:28px 18px !important;
  color:var(--ivory) !important;
  border-color:var(--line-gold) !important;
}
.pa-btn:hover{background:rgba(184,153,104,.06) !important;color:var(--gold) !important}
.pa-btn .ic{color:var(--gold) !important;opacity:.85}

/* ============= REFINED FOOTER — magazine colophon ============= */
footer{
  background:var(--bg-deep) !important;
  border-top:1px solid var(--line-gold) !important;
  padding:96px 28px 64px !important;
  margin-top:120px !important;
  text-align:center !important;
  position:relative;
}
footer::before{
  content:'\2756';
  display:block;
  text-align:center;
  font-size:.9rem;
  color:var(--gold);
  letter-spacing:.6em;
  opacity:.55;
  margin-bottom:32px;
}
footer .footer-brand,footer h3{
  font-family:var(--serif) !important;
  color:var(--ivory) !important;
  font-size:1.8rem !important;
  font-weight:500 !important;
  letter-spacing:-.012em !important;
  margin-bottom:18px !important;
}
footer .footer-brand em,footer h3 .accent{
  color:var(--gold) !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-family:var(--italic) !important;
}
footer p{
  color:var(--tan) !important;
  margin:10px auto !important;
  max-width:520px !important;
  font-size:.94rem !important;
  line-height:1.65 !important;
  font-style:italic !important;
  font-family:var(--italic) !important;
}
footer .footer-rule{
  width:60px;
  height:1px;
  background:var(--gold);
  margin:32px auto;
  display:block;
  opacity:.6;
}
footer .footer-meta{
  font-family:var(--sans) !important;
  font-size:.66rem !important;
  letter-spacing:.42em !important;
  text-transform:uppercase !important;
  color:var(--mute) !important;
  margin-top:32px !important;
  font-weight:500 !important;
}
footer a{color:var(--gold-bright) !important;border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color .15s}
footer a:hover{border-bottom-color:var(--gold-bright) !important;color:var(--gold) !important}

/* ============= REFINED SHARE BAR — elegant single line ============= */
.share-bar,.share-row,.action-row{
  border:0 !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
  background:transparent !important;
  margin:48px 0 !important;
}
.share-bar > *,.share-row > *,.action-row > *,.sec-btn,.share-btn{
  border-right:1px solid var(--line) !important;
  font-size:.66rem !important;
  letter-spacing:.32em !important;
  font-weight:500 !important;
  padding:22px 18px !important;
  color:var(--ivory-soft) !important;
}
.share-bar > *:hover,.share-row > *:hover,.sec-btn:hover{
  background:rgba(184,153,104,.04) !important;
  color:var(--gold) !important;
}

/* ============= REFINED PHOTOS — warm tone treatment ============= */
.entry-img,.sim-img,.rf-img,.cont-img,.cards .card-img,.card-img,
.hero{
  /* Subtle warm color treatment for editorial cohesion (very gentle) */
  filter:saturate(.92) contrast(1.02);
}
.entry-img::after,.sim-img::after,.rf-img::after,.cont-img::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,transparent 60%,rgba(10,9,8,.3));
  pointer-events:none;
}

/* ============= REFINED LINKS / HOVER ============= */
a{transition:color .25s ease}
article a,.sim-card a,.entry a,p a{
  color:var(--gold-bright) !important;
  border-bottom:1px solid var(--line-gold) !important;
  padding-bottom:1px;
  transition:border-color .2s;
}
article a:hover,p a:hover{border-bottom-color:var(--gold) !important;color:var(--gold) !important}

/* ============= ROMAN NUMERAL ISSUE STAMP ============= */
.issue-stamp{
  display:inline-block;
  font-family:var(--italic);
  font-style:italic;
  color:var(--gold);
  font-size:.92rem;
  letter-spacing:.16em;
  font-weight:400;
}
.issue-stamp::before{content:'\2014\00a0\00a0';color:var(--gold);opacity:.5}
.issue-stamp::after{content:'\00a0\00a0\2014';color:var(--gold);opacity:.5}

/* ============= BYLINE — italic editorial ============= */
.byline{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.92rem !important;
  color:var(--tan) !important;
  letter-spacing:.02em !important;
  text-align:center;
  margin:24px 0 36px;
}
.byline em,.byline .gold,.byline strong{
  color:var(--gold) !important;
  font-style:italic !important;
  font-weight:400 !important;
}
.byline::before{content:'\2014\00a0';color:var(--gold);opacity:.5}
.byline::after{content:'\00a0\2014';color:var(--gold);opacity:.5}

/* ============= REFINED BORDERS — hairline gold ============= */
.intro,.criteria,.closing,.callout,.lede-band{
  border:0 !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
  background:transparent !important;
  padding:36px 0 !important;
  margin:32px 0 !important;
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
}

/* ============= LEDE — italic display moment ============= */
.lede{
  font-family:var(--italic) !important;
  font-size:1.6rem !important;
  line-height:1.42 !important;
  color:var(--ivory) !important;
  font-style:italic !important;
  font-weight:400 !important;
  letter-spacing:-.005em !important;
  margin:0 auto 48px !important;
  max-width:760px !important;
  text-align:left;
}
.lede::first-line{color:var(--gold-bright)}

/* ============= TABLE — hours-tbl refinement ============= */
.hours-tbl{width:100% !important;border-collapse:collapse !important}
.hours-tbl tr{border-bottom:1px solid var(--line) !important}
.hours-tbl td{padding:16px 0 !important;font-size:.92rem !important;color:var(--ivory-soft) !important}
.hours-tbl .hr-day{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-weight:500 !important;
  color:var(--ivory) !important;
}
.hours-tbl tr.today{background:rgba(184,153,104,.04) !important}
.hours-tbl tr.today td,.hours-tbl tr.today .hr-day{color:var(--gold) !important}

/* ============= UTILITY — italic moments ============= */
.italic-display{font-family:var(--italic);font-style:italic;font-weight:400}

/* ============================================================
   v4.6 — HOMEPAGE EDITORIAL CHROME
============================================================ */

/* Issue masthead (homepage top stamp) */
.issue-masthead{
  text-align:center !important;
  padding:36px 22px 28px !important;
  background:var(--bg) !important;
  border-bottom:1px solid var(--line-gold) !important;
}
.issue-masthead .iss-line{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.92rem !important;
  color:var(--gold) !important;
  letter-spacing:.16em !important;
  margin-bottom:12px !important;
  display:inline-block !important;
}
.issue-masthead .iss-line::before{content:'\2014\00a0\00a0';color:var(--gold);opacity:.5}
.issue-masthead .iss-line::after{content:'\00a0\00a0\2014';color:var(--gold);opacity:.5}

/* Primary nav */
.nav-links{
  display:flex !important;
  justify-content:center !important;
  gap:36px !important;
  flex-wrap:wrap !important;
  padding:18px 22px !important;
  background:var(--bg) !important;
  border-bottom:1px solid var(--line) !important;
}
.nav-links a{
  color:var(--ivory-soft) !important;
  font-size:.7rem !important;
  letter-spacing:.32em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  text-decoration:none !important;
  position:relative !important;
  padding:6px 0 !important;
  transition:color .2s !important;
}
.nav-links a:hover{color:var(--gold) !important}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:1px;
  background:var(--gold);
  transition:width .25s ease;
}
.nav-links a:hover::after{width:100%}
.nav-links a.on,.nav-links a[aria-current]{color:var(--gold) !important}
.nav-links a.on::after,.nav-links a[aria-current]::after{width:100%}

/* Homepage hero — full-bleed editorial cover */
.hero{
  position:relative !important;
}
.hero-bg{
  position:absolute !important;
  inset:0 !important;
  background-size:cover !important;
  background-position:center !important;
  z-index:0 !important;
}
.hero-vignette{
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(ellipse 80% 60% at 50% 50%,transparent 30%,rgba(10,9,8,.6) 100%),
    linear-gradient(180deg,rgba(10,9,8,.20) 0%,rgba(10,9,8,.50) 60%,rgba(10,9,8,.92) 100%) !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.hero-inner{
  position:relative !important;
  z-index:2 !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:80px 28px 64px !important;
  text-align:center !important;
}
.hero-eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  gap:18px !important;
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.92rem !important;
  letter-spacing:.16em !important;
  color:var(--gold) !important;
  font-weight:400 !important;
  text-transform:none !important;
  margin-bottom:32px !important;
}
.hero-eyebrow .rule{width:36px;height:1px;background:var(--gold);display:inline-block;opacity:.7}
.hero h1{
  font-family:var(--serif) !important;
  font-size:clamp(3rem,7vw,5.4rem) !important;
  font-weight:500 !important;
  letter-spacing:-.028em !important;
  line-height:.96 !important;
  color:var(--ivory) !important;
  margin:0 0 28px !important;
  text-shadow:0 3px 0 rgba(0,0,0,.5),0 0 50px rgba(0,0,0,.4) !important;
}
.hero h1 em{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-weight:400 !important;
  color:var(--gold-bright) !important;
}
.hero-stats{
  display:flex !important;
  justify-content:center !important;
  gap:0 !important;
  margin:48px auto 24px !important;
  max-width:680px !important;
}
.hero-stat{
  flex:1 !important;
  padding:18px 16px !important;
  border-right:1px solid var(--line-gold) !important;
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.85rem !important;
  color:var(--gold) !important;
  letter-spacing:.04em !important;
}
.hero-stat:last-child{border-right:0 !important}
.hero-stat b{
  display:block !important;
  font-family:var(--serif) !important;
  font-size:2rem !important;
  font-style:normal !important;
  font-weight:500 !important;
  color:var(--ivory) !important;
  margin-bottom:4px !important;
  letter-spacing:-.012em !important;
  font-variant-numeric:oldstyle-nums !important;
}
.hero-scroll{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.78rem !important;
  letter-spacing:.18em !important;
  color:var(--ivory-soft) !important;
  margin-top:36px !important;
  opacity:.7;
}
.hero-scroll::after{content:' \2193';color:var(--gold)}

/* Restaurant Of The Day band */
.choice,#rotd-band{
  background:var(--bg-deep) !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
  padding:48px 28px !important;
  text-align:center !important;
}
.choice .eyebrow,#rotd-band .eyebrow{
  font-family:var(--italic) !important;
  font-style:italic !important;
  color:var(--gold) !important;
  margin-bottom:14px !important;
}
.choice h2,#rotd-band h2{
  font-family:var(--serif) !important;
  font-size:clamp(1.8rem,3.6vw,2.6rem) !important;
  margin:0 0 16px !important;
  color:var(--ivory) !important;
}
.choice p,#rotd-band p{color:var(--ivory-soft) !important;font-style:italic;font-family:var(--italic);max-width:620px;margin:0 auto;font-size:1.05rem}

/* Editor letter band (homepage) */
.editor-letter-band{
  text-align:center !important;
  padding:80px 28px 72px !important;
  background:var(--bg) !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
}
.editor-letter-band .eyebrow{
  font-family:var(--italic) !important;
  font-style:italic !important;
  color:var(--gold) !important;
  margin-bottom:24px !important;
}
.editor-letter-band blockquote,.editor-letter-band .pull{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:clamp(1.6rem,3vw,2.2rem) !important;
  line-height:1.42 !important;
  color:var(--ivory) !important;
  max-width:880px !important;
  margin:0 auto 32px !important;
  font-weight:400 !important;
  letter-spacing:-.005em !important;
  border:0 !important;
  padding:0 !important;
}
.editor-letter-band .signoff,.editor-letter-band .signature{
  font-family:var(--italic) !important;
  font-style:italic !important;
  color:var(--gold-bright) !important;
  margin-top:28px !important;
  font-size:1.05rem !important;
}

/* In This Issue rail (homepage 3-up) */
.in-this-issue{
  padding:80px 28px 64px !important;
  max-width:1280px !important;
  margin:0 auto !important;
}
.in-this-issue h2{
  text-align:center !important;
  font-family:var(--serif) !important;
  font-size:clamp(1.8rem,3.4vw,2.6rem) !important;
  margin:0 0 14px !important;
}
.in-this-issue h2 em{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-weight:400 !important;
  color:var(--gold-bright) !important;
}
.iti-grid,.iti-cards{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:48px !important;
  border-top:1px solid var(--line-gold) !important;
}
@media (min-width:880px){.iti-grid,.iti-cards{grid-template-columns:1fr 1fr 1fr}}
.iti-card{
  padding:48px 32px 56px !important;
  border-right:1px solid var(--line) !important;
  border-bottom:1px solid var(--line-gold) !important;
  text-decoration:none !important;
  color:inherit !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  transition:background .2s !important;
}
.iti-card:hover{background:rgba(184,153,104,.04) !important}
.iti-card:last-child{border-right:0 !important}
.iti-num{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:1.4rem !important;
  color:var(--gold) !important;
  font-weight:400 !important;
  letter-spacing:.04em !important;
  font-variant-numeric:oldstyle-nums !important;
}
.iti-tag,.iti-tag-row{
  font-family:var(--sans) !important;
  font-size:.66rem !important;
  letter-spacing:.32em !important;
  text-transform:uppercase !important;
  color:var(--gold) !important;
  font-weight:600 !important;
}
.iti-card h3,.iti-name{
  font-family:var(--serif) !important;
  font-size:clamp(1.4rem,2.2vw,1.8rem) !important;
  font-weight:500 !important;
  color:var(--ivory) !important;
  letter-spacing:-.014em !important;
  line-height:1.12 !important;
  margin:0 !important;
  transition:color .2s !important;
}
.iti-card:hover h3,.iti-card:hover .iti-name{color:var(--gold-bright) !important}
.iti-deck,.iti-card p{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:1.02rem !important;
  line-height:1.5 !important;
  color:var(--ivory-soft) !important;
  margin:0 !important;
}

/* Eaten This Week band */
.etw-band{
  padding:80px 28px !important;
  background:var(--bg-deep) !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
}
.etw-band .eyebrow,.etw-eyebrow{
  font-family:var(--italic) !important;
  font-style:italic !important;
  color:var(--gold) !important;
  text-align:center !important;
  display:block !important;
  margin-bottom:18px !important;
}
.etw-h{
  text-align:center !important;
  font-family:var(--serif) !important;
  font-size:clamp(1.8rem,3.4vw,2.6rem) !important;
  color:var(--ivory) !important;
  margin:0 0 48px !important;
}
.etw-h em{font-family:var(--italic) !important;font-style:italic !important;color:var(--gold-bright) !important;font-weight:400 !important}

/* Features Desk (homepage long-reads rail) */
.features-desk,.notes-rail{
  padding:80px 28px !important;
  max-width:1280px !important;
  margin:0 auto !important;
}
.features-desk h2,.notes-rail h2{
  font-family:var(--serif) !important;
  font-size:clamp(1.8rem,3.4vw,2.6rem) !important;
  margin:0 0 14px !important;
  text-align:center !important;
}
.features-desk h2 em,.notes-rail h2 em{
  font-family:var(--italic) !important;font-style:italic !important;color:var(--gold-bright) !important;font-weight:400 !important;
}

.fd-grid,.nr-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:48px !important;
  border-top:1px solid var(--line-gold) !important;
}
@media (min-width:760px){.fd-grid,.nr-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.fd-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.fd-card,.nr-card{
  padding:32px 28px 40px !important;
  border-right:1px solid var(--line) !important;
  border-bottom:1px solid var(--line-gold) !important;
  text-decoration:none !important;
  color:inherit !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  transition:background .2s !important;
}
.fd-card:hover,.nr-card:hover{background:rgba(184,153,104,.04) !important}
@media (min-width:1100px){.fd-card:nth-child(4n){border-right:0 !important}}
@media (min-width:760px) and (max-width:1099px){.fd-card:nth-child(2n){border-right:0 !important}}
.fd-img{
  aspect-ratio:5/4 !important;
  background-size:cover !important;
  background-position:center !important;
  background-color:var(--bg-elev) !important;
  margin:0 0 12px !important;
  filter:saturate(.92) contrast(1.02) !important;
}
.fd-tag-row,.nr-eyebrow,.cat{
  font-family:var(--sans) !important;
  font-size:.62rem !important;
  letter-spacing:.32em !important;
  text-transform:uppercase !important;
  color:var(--gold) !important;
  font-weight:600 !important;
}
.fd-name,.nr-title,.fd-card h3,.nr-card h3{
  font-family:var(--serif) !important;
  font-size:1.25rem !important;
  font-weight:500 !important;
  color:var(--ivory) !important;
  line-height:1.18 !important;
  letter-spacing:-.012em !important;
  margin:0 !important;
  transition:color .2s !important;
}
.fd-card:hover .fd-name,.nr-card:hover .nr-title{color:var(--gold-bright) !important}
.fd-deck,.nr-deck{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.95rem !important;
  line-height:1.5 !important;
  color:var(--ivory-soft) !important;
  margin:0 !important;
}
.fd-card .date,.nr-meta,.date{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.8rem !important;
  color:var(--tan) !important;
  letter-spacing:.04em !important;
}

/* ============================================================
   v4.6 — RESTAURANT BODY POLISH (article rhythm)
============================================================ */

/* Each .section in restaurant pages — proper editorial spacing */
.section{
  padding:64px 28px !important;
  max-width:1280px !important;
  margin:0 auto !important;
}
.section + .section{
  border-top:1px solid var(--line) !important;
}
.section .section-eyebrow{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.95rem !important;
  letter-spacing:.14em !important;
  text-transform:none !important;
  color:var(--gold) !important;
  margin-bottom:16px !important;
  display:inline-block !important;
  font-weight:400 !important;
}
.section .section-eyebrow::before{content:'\2014\00a0';color:var(--gold);opacity:.5}
.section h2{
  font-family:var(--serif) !important;
  font-size:clamp(2rem,3.6vw,2.8rem) !important;
  font-weight:500 !important;
  letter-spacing:-.022em !important;
  line-height:1.06 !important;
  margin:0 0 32px !important;
  max-width:880px !important;
  color:var(--ivory) !important;
}

/* Pros/Cons grid (.pc-grid) */
.pc-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:24px !important;
  border-top:1px solid var(--line-gold) !important;
}
@media (min-width:760px){.pc-grid{grid-template-columns:1fr 1fr}}
.pc-col{
  padding:32px 32px 36px !important;
  border-right:1px solid var(--line) !important;
  border-bottom:1px solid var(--line-gold) !important;
  background:transparent !important;
  border-radius:0 !important;
}
.pc-col:last-child{border-right:0 !important}
.pc-col h4{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:1.05rem !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
  font-weight:400 !important;
  margin:0 0 18px !important;
  color:var(--gold) !important;
}
.pc-col.con h4{color:var(--gold-deep) !important}
.pc-col ul{list-style:none !important;padding:0 !important;margin:0 !important}
.pc-col li{
  position:relative !important;
  padding:10px 0 10px 24px !important;
  border:0 !important;
  border-bottom:1px solid var(--line) !important;
  color:var(--ivory-soft) !important;
  font-size:.95rem !important;
  line-height:1.55 !important;
  background:transparent !important;
}
.pc-col li:last-child{border-bottom:0 !important}
.pc-col li::before{
  content:'';
  position:absolute;
  left:0;
  top:20px;
  width:14px;
  height:1px;
  background:var(--gold);
  opacity:.7;
}

/* Article body — paragraph rhythm */
.section p,article p,.review-body p{
  font-family:var(--sans) !important;
  font-size:1.04rem !important;
  line-height:1.78 !important;
  color:var(--ivory-soft) !important;
  max-width:680px !important;
  margin:0 auto 1.5em !important;
  letter-spacing:-.003em !important;
}
.section p strong,article p strong{color:var(--ivory) !important;font-weight:600}

/* First paragraph after h2 = lede style */
.section h2 + p,.section .lede,article > p:first-of-type{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:1.32rem !important;
  line-height:1.5 !important;
  color:var(--ivory) !important;
  font-weight:400 !important;
  letter-spacing:-.005em !important;
  max-width:760px !important;
}
.section h2 + p::first-line,article > p:first-of-type::first-line{color:var(--gold-bright)}

/* Long lists in article body — more refined */
.section ul,.section ol,article ul,article ol{
  max-width:680px;
  margin:24px auto !important;
  padding-left:0;
}
.section ul li,article ul li{
  list-style:none !important;
  padding:8px 0 8px 28px !important;
  position:relative !important;
  color:var(--ivory-soft) !important;
  line-height:1.6 !important;
  font-size:1rem !important;
}
.section ul li::before,article ul li::before{
  content:'\2756';
  position:absolute;
  left:0;
  top:9px;
  color:var(--gold);
  opacity:.65;
  font-size:.7em;
  letter-spacing:0;
}

/* ============================================================
   v4.6 — MICRO-INTERACTIONS
============================================================ */

/* Smooth scroll site-wide */
html{scroll-behavior:smooth !important}

/* Subtle hero photo zoom on hover (entry photos) */
.entry-img,.fd-img,.iti-card .iti-img,.sim-img,.rf-img{
  overflow:hidden;
  transition:transform .8s ease;
}
.entry:hover .entry-img,.fd-card:hover .fd-img,.iti-card:hover .iti-img{
  transform:scale(1.02);
}

/* Gentle gold underline grow on text links inside cards */
.entry h2 a,.entry h3 a,.fd-name a,.nr-title a,.iti-name a{
  color:inherit !important;
  text-decoration:none !important;
  border-bottom:0 !important;
  background-image:linear-gradient(var(--gold),var(--gold));
  background-size:0 1px;
  background-position:0 100%;
  background-repeat:no-repeat;
  transition:background-size .35s ease;
}
.entry:hover h2 a,.entry:hover h3 a,.fd-card:hover .fd-name a,.nr-card:hover .nr-title a{
  background-size:100% 1px;
}

/* Refined cursor on interactive elements */
button,.pa-btn,.sec-btn,.share-btn,.iti-card,.fd-card,.nr-card,.entry,.sim-card,.rf-card{cursor:pointer}

/* Selection */
::selection{background:var(--gold);color:var(--bg);text-shadow:none}

/* Focus ring — gold for accessibility */
:focus-visible{outline:2px solid var(--gold) !important;outline-offset:3px !important;border-radius:0 !important}

/* ============================================================
   v4.6 — ASYMMETRIC DETAILS
============================================================ */

/* Photo + caption pattern */
figure,.figure{
  margin:48px auto;
  max-width:880px;
  padding:0;
}
figure img,.figure img{
  width:100%;
  display:block;
  filter:saturate(.92) contrast(1.02);
}
figcaption,.figure-caption{
  font-family:var(--italic);
  font-style:italic;
  font-size:.88rem;
  color:var(--tan);
  text-align:center;
  margin-top:14px;
  letter-spacing:.02em;
  line-height:1.5;
}
figcaption::before{content:'\2756 \00a0';color:var(--gold);opacity:.6}

/* Sidebar / pull-out box */
.sidebar,.pullout{
  background:var(--bg-elev) !important;
  border-left:2px solid var(--gold) !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
  padding:28px 32px !important;
  margin:36px 0 !important;
}
.sidebar h4,.pullout h4{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:.92rem !important;
  letter-spacing:.14em !important;
  color:var(--gold) !important;
  margin:0 0 14px !important;
  font-weight:400 !important;
  text-transform:none !important;
}
.sidebar p,.pullout p{margin:0 !important;color:var(--ivory) !important;font-size:.95rem !important;line-height:1.6 !important}

/* Numbers in restaurant ranking — italic Cormorant display */
.rank-num,.entry .position{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-variant-numeric:oldstyle-nums !important;
}

/* ============= HARD RESET / GLOBAL ============= */
html,body{
  background:var(--bg) !important;
  color:var(--ivory) !important;
  font-family:var(--sans) !important;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
*{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}

a{color:var(--gold);text-decoration:none;transition:color .15s}
a:hover{color:var(--gold-bright)}

::selection{background:var(--gold);color:var(--bg)}

/* Film grain overlay */
body::before{
  content:'';
  position:fixed;inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:.035;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
}

/* ============= TYPOGRAPHY ============= */
h1,h2,h3,h4,h5,h6{
  font-family:var(--serif) !important;
  color:var(--ivory) !important;
  font-weight:700;
  letter-spacing:-.012em;
  line-height:1.18;
  margin:0 0 .5em;
}
h1{font-size:clamp(2rem,5vw,3.4rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
h3{font-size:clamp(1.2rem,2.2vw,1.6rem)}
h4{font-size:1.15rem}

p,li{color:var(--ivory-soft) !important;font-family:var(--sans);font-size:1rem;line-height:1.65;margin:0 0 1em}

article p,article li{color:var(--ivory-soft) !important}
article blockquote{
  border-left:2px solid var(--gold) !important;
  padding-left:24px;
  margin:32px 0;
  font-family:var(--italic);
  font-size:1.25rem;
  font-style:italic;
  color:var(--gold-bright) !important;
  line-height:1.5;
}

.eyebrow,.section-eyebrow,.crumbs,.results-count,.tile .eyebrow{
  font-size:.66rem !important;
  letter-spacing:.32em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  color:var(--gold) !important;
}

/* ============= CHROME — HEADER / NAV ============= */
header{
  background:var(--bg) !important;
  border-bottom:1px solid var(--line-gold) !important;
  padding:14px 22px !important;
  position:sticky;
  top:0;
  z-index:100;
}
header .nav,header > div{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
header a,header .brand,header .back{
  color:var(--tan) !important;
  font-size:.72rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
header a:hover,header .back:hover{color:var(--gold) !important}
header .brand{
  font-family:var(--serif) !important;
  font-size:1.05rem !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  color:var(--ivory) !important;
  font-weight:700 !important;
}
header .brand .accent,header .brand em{
  color:var(--gold) !important;
  font-style:italic;
  font-weight:500;
}

/* ============= BREADCRUMBS ============= */
nav.crumbs,.crumbs{
  background:var(--bg) !important;
  border-bottom:1px solid var(--line) !important;
  padding:18px 22px !important;
  max-width:none !important;
  margin:0 !important;
  font-size:.66rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--tan) !important;
  font-weight:600 !important;
}
.crumbs > *{max-width:1280px;margin:0 auto}
.crumbs a{color:var(--tan) !important;text-decoration:none !important}
.crumbs a:hover{color:var(--gold) !important}
.crumbs .sep,.crumbs span{color:var(--mute) !important;margin:0 10px !important}

/* ============= HERO ============= */
.hero{
  position:relative;
  min-height:46vh !important;
  max-height:560px !important;
  background-size:cover !important;
  background-position:center !important;
  /* Editorial fallback: when photo fails this still looks intentional */
  background-color:#15130f !important;
  background-blend-mode:normal;
  overflow:hidden;
}
/* Subtle radial light spot when no photo (visible through any photo too — adds depth) */
.hero{
  background-image:
    radial-gradient(ellipse 70% 90% at 50% 40%,rgba(201,160,95,.08),transparent 65%),
    radial-gradient(ellipse 100% 100% at 50% 100%,rgba(13,12,10,.5),transparent 70%) !important;
}
/* When a page sets inline style="background-image:url(...)", that wins (specificity of inline > class).
   In that case our radial gradients are replaced by the photo. The fallback color #15130f stays. */
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(13,12,10,.10) 0%,rgba(13,12,10,.45) 55%,rgba(13,12,10,.92) 100%) !important;
  pointer-events:none;
  z-index:1;
}
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 30%,rgba(13,12,10,.55) 100%);
  pointer-events:none;
  z-index:1;
}
@media (min-width:900px){.hero{min-height:54vh !important;max-height:620px !important}}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(13,12,10,.10) 0%,rgba(13,12,10,.45) 50%,rgba(13,12,10,.92) 100%) !important;
}
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 30%,rgba(13,12,10,.55) 100%);
  pointer-events:none;
}
.hero-content{
  position:absolute !important;
  left:0;right:0;bottom:0;
  padding:36px 28px 44px !important;
  max-width:1280px;
  margin:0 auto;
  z-index:2;
}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:.62rem !important;
  letter-spacing:.36em !important;
  text-transform:uppercase;
  font-weight:600;
  color:var(--gold) !important;
  margin-bottom:14px !important;
}
.hero-eyebrow .sep,.hero-eyebrow b{
  width:24px;height:1px;
  background:var(--gold);
  display:inline-block;
}
.hero h1{
  font-family:var(--serif) !important;
  font-size:clamp(2.2rem,5.4vw,3.8rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.022em !important;
  color:var(--ivory) !important;
  margin:0 0 14px !important;
  max-width:920px;
  font-weight:700 !important;
}
.hero-meta,.hero-meta-item{
  color:var(--ivory-soft) !important;
  font-size:.85rem !important;
}
.hero-meta-item .star{color:var(--gold) !important}
.hero-meta-divider{background:rgba(245,241,232,.25) !important}
.hero-status{font-size:.68rem !important;letter-spacing:.2em !important;color:var(--ivory) !important}
.hero-fav{
  background:rgba(13,12,10,.55) !important;
  color:var(--gold) !important;
  border:1px solid var(--line-gold-strong) !important;
}
.hero-fav:hover{background:rgba(13,12,10,.85) !important;border-color:var(--gold) !important}
.hero-fav.saved{background:var(--gold) !important;color:var(--bg) !important;border-color:var(--gold) !important}

/* ============= ACTION BAR ============= */
.primary-actions{
  background:var(--bg-card) !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
}
.primary-actions-inner{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
}
@media (min-width:560px){.primary-actions-inner{grid-template-columns:repeat(3,1fr)}}
.pa-btn{
  background:transparent !important;
  color:var(--ivory) !important;
  font-family:var(--sans) !important;
  font-size:.72rem !important;
  font-weight:600 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  padding:24px 18px !important;
  text-decoration:none !important;
  border-bottom:1px solid var(--line) !important;
  border-right:1px solid var(--line) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  transition:background .15s,color .15s;
}
.pa-btn:hover{background:var(--bg-elev) !important;color:var(--gold) !important}
.pa-btn:last-child{border-right:0 !important}
@media (min-width:560px){.pa-btn{border-bottom:0 !important}}
.pa-btn .ic{color:var(--gold) !important}
.pa-btn[disabled]{opacity:.3;pointer-events:none}

/* ============= SECTIONS / CARDS ============= */
.section,article,main > section{
  max-width:1280px;
  margin:0 auto;
  padding:48px 28px;
}
.section-h,.section h2,.section-title{
  font-family:var(--serif) !important;
  color:var(--ivory) !important;
  margin-bottom:24px !important;
}

.intro,.criteria,.closing,.callout,.lede-band,.eds-note{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  padding:28px 32px !important;
  margin:0 0 24px !important;
  border-radius:0 !important;
  color:var(--ivory-soft) !important;
}
.intro p,.criteria p,.closing p,.callout p,.intro li,.criteria li,.closing li{
  color:var(--ivory-soft) !important;
}
.intro h3,.criteria h3,.closing h3,.callout h3,.intro h4,.criteria h4,.closing h4{
  color:var(--ivory) !important;
  font-family:var(--serif) !important;
  margin-top:0 !important;
}

.lede{
  font-family:var(--italic) !important;
  font-size:1.4rem !important;
  line-height:1.5 !important;
  color:var(--gold-bright) !important;
  font-style:italic !important;
  font-weight:400 !important;
  margin:0 0 32px !important;
  max-width:740px;
}

/* Drop cap on first paragraph of intros + restaurant reviews */
.intro > p:first-of-type::first-letter,
article > p:first-of-type::first-letter,
.review-body > p:first-of-type::first-letter,
.our-take > p:first-of-type::first-letter,
.review > p:first-of-type::first-letter{
  font-family:var(--serif);
  font-size:4.6rem;
  font-weight:700;
  color:var(--gold);
  float:left;
  line-height:.82;
  margin:8px 14px -4px 0;
  letter-spacing:-.02em;
}

/* Body copy rhythm — long-form readable */
article p,.review-body p,.our-take p,.intro p{
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}
article > h2,article > h3{max-width:680px;margin-left:auto;margin-right:auto;margin-top:48px}
article blockquote{max-width:740px;margin-left:auto;margin-right:auto}

/* Pull quote — full-bleed editorial moment */
.pull-quote,.entry-pull{
  font-family:var(--italic) !important;
  font-style:italic !important;
  font-size:clamp(1.4rem,2.6vw,2rem) !important;
  line-height:1.35 !important;
  color:var(--gold-bright) !important;
  text-align:center !important;
  max-width:880px !important;
  margin:48px auto !important;
  padding:32px 24px !important;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
  position:relative !important;
}
.pull-quote::before{
  content:'\201C';
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  background:var(--bg);
  padding:0 14px;
  font-size:2.4rem;
  color:var(--gold);
  line-height:1;
  font-family:var(--serif);
}

/* Section title with editorial eyebrow + gold rule */
.section-title-band{
  text-align:center;
  margin:64px 0 32px;
}
.section-title-band .eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-size:.62rem;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  margin-bottom:14px;
}
.section-title-band .eyebrow::before,
.section-title-band .eyebrow::after{
  content:'';width:32px;height:1px;background:var(--gold);
}
.section-title-band h2,.section-title-band h3{
  font-family:var(--serif);
  font-size:clamp(1.8rem,3.4vw,2.6rem);
  color:var(--ivory);
  margin:0;
}

/* ============= RANKING ENTRIES (/best/) ============= */
.entry{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  border-radius:0 !important;
  margin:0 0 32px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
.entry-img,.entry .photo,.entry > .img{
  background-color:var(--bg-elev) !important;
  background-size:cover !important;
  background-position:center !important;
  aspect-ratio:16/9;
  position:relative;
}
.entry-img::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(13,12,10,.85)) !important;
}
.entry .rank,.entry .num,.entry .position{
  font-family:var(--serif) !important;
  font-size:3.8rem !important;
  color:var(--gold) !important;
  line-height:1;
  position:absolute;
  bottom:16px;
  left:24px;
  z-index:2;
  font-weight:700;
}
.entry .body,.entry-body,.entry > .content{padding:28px 32px !important}
.entry h2,.entry h3,.entry-name,.entry .name{
  font-family:var(--serif) !important;
  color:var(--ivory) !important;
  font-size:1.5rem !important;
  margin:0 0 12px !important;
}
.entry .meta{color:var(--tan) !important;font-size:.82rem !important;letter-spacing:.04em}
.entry blockquote{
  border-left:2px solid var(--gold) !important;
  padding-left:20px !important;
  margin:18px 0 !important;
  font-family:var(--italic) !important;
  font-size:1.1rem !important;
  font-style:italic !important;
  color:var(--gold-bright) !important;
}
.entry p{color:var(--ivory-soft) !important;line-height:1.65 !important}

/* CTA chips inside entries */
.entry-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.entry-actions a,.entry .btn,.entry-cta a{
  background:transparent !important;
  border:1px solid var(--line-gold-strong) !important;
  color:var(--gold-bright) !important;
  border-radius:0 !important;
  padding:12px 20px !important;
  font-size:.72rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  text-decoration:none !important;
  transition:all .15s;
}
.entry-actions a:hover,.entry .btn:hover,.entry-cta a:hover{
  background:var(--gold) !important;
  color:var(--bg) !important;
  border-color:var(--gold) !important;
}

/* ============= FAQ ============= */
.faq details,.faq-list details{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  border-radius:0 !important;
  margin:0 0 12px !important;
  padding:0 !important;
  overflow:hidden;
}
.faq summary,.faq-list summary{
  color:var(--ivory) !important;
  font-family:var(--serif) !important;
  font-size:1.1rem !important;
  padding:20px 24px !important;
  cursor:pointer;
  list-style:none;
  position:relative;
}
.faq summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}
.faq summary::after,.faq-list summary::after{
  content:'+';
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  color:var(--gold) !important;
  font-size:1.6rem;
  font-weight:300;
  font-family:var(--sans);
}
.faq details[open] summary::after,.faq-list details[open] summary::after{content:'−'}
.faq p,.faq-list p{
  color:var(--ivory-soft) !important;
  padding:0 24px 22px !important;
  margin:0 !important;
}

/* ============= TILES / GRIDS ============= */
.tile,.card,.row{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  border-radius:0 !important;
}
.tile h3,.card h3,.row h3{color:var(--ivory) !important;font-family:var(--serif) !important}
.tile p,.card p,.row p{color:var(--ivory-soft) !important}

/* Related rankings chips */
.related-lists a,section .related-lists a{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  color:var(--gold-bright) !important;
  border-radius:0 !important;
  padding:14px 18px !important;
  text-decoration:none !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
}
.related-lists a:hover{background:var(--gold) !important;color:var(--bg) !important;border-color:var(--gold) !important}

/* ============= SHARE BAR ============= */
.share-bar,.share-row{
  border-color:var(--line) !important;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:24px 0;
}
.share-row a,.share-btn,.sec-btn{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  color:var(--gold-bright) !important;
  padding:12px 20px !important;
  font-size:.72rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  border-radius:0 !important;
  text-decoration:none !important;
  transition:all .15s;
}
.share-row a:hover,.share-btn:hover,.sec-btn:hover{
  background:var(--gold) !important;
  color:var(--bg) !important;
  border-color:var(--gold) !important;
}

/* ============= HOURS TABLE ============= */
.hours-tbl,.hours-tbl tr{border-color:var(--line) !important}
.hours-tbl td{color:var(--ivory-soft) !important;border-color:var(--line) !important;padding:12px 0 !important}
.hr-day{color:var(--ivory) !important;font-weight:600}
.hours-tbl tr.today td,.hours-tbl tr.today .hr-day{
  color:var(--gold) !important;
  background:rgba(201,160,95,.06) !important;
}

/* ============= MENU ITEMS ============= */
.menu-item,.dish,.sig-list li{
  background:var(--bg-elev) !important;
  border:1px solid var(--line) !important;
  padding:18px 22px !important;
  margin:0 0 10px !important;
  border-radius:0 !important;
  color:var(--ivory-soft) !important;
}
.menu-item h4{color:var(--ivory) !important;font-family:var(--serif) !important;margin:0 0 6px !important}
.menu-item p,.dish p{color:var(--ivory-soft) !important;margin:0 !important}
.price-tag{
  background:var(--bg-card) !important;
  color:var(--gold) !important;
  border:1px solid var(--line-gold) !important;
  padding:4px 12px !important;
  font-size:.85rem !important;
  font-weight:600 !important;
  border-radius:0 !important;
}
.thai{color:var(--gold) !important;font-style:italic !important}

/* ============= AMENITIES / PROS-CONS ============= */
.amen,.amen-grid li,.tips li{
  background:var(--bg-card) !important;
  color:var(--ivory-soft) !important;
  border:1px solid var(--line) !important;
  padding:14px 18px !important;
}
.amen b,.amen-grid li b{color:var(--ivory) !important}
.pc-pro{background:rgba(126,184,136,.06) !important;border:1px solid rgba(126,184,136,.18) !important;padding:18px 22px}
.pc-con{background:rgba(201,160,95,.06) !important;border:1px solid var(--line-gold) !important;padding:18px 22px}
.pc-pro h4{color:var(--green) !important}
.pc-con h4{color:var(--gold) !important}
.pc-pro li,.pc-con li{color:var(--ivory-soft) !important;border-color:var(--line) !important}

/* ============= FORMS / INPUTS ============= */
input[type=text],input[type=email],input[type=search],textarea,select,.search-box input,.controls input{
  background:var(--bg-card) !important;
  color:var(--ivory) !important;
  border:1px solid var(--line-gold) !important;
  border-radius:0 !important;
  padding:12px 16px !important;
  font-family:var(--sans) !important;
  font-size:.95rem !important;
}
input:focus,textarea:focus,select:focus{
  outline:none !important;
  border-color:var(--gold) !important;
}

/* ============= FOOTER ============= */
footer{
  background:var(--bg-deep) !important;
  border-top:1px solid var(--line-gold) !important;
  color:var(--tan) !important;
  padding:64px 28px 48px !important;
  margin-top:80px !important;
  text-align:center;
  font-size:.85rem;
}
footer h3,footer .footer-brand{
  font-family:var(--serif) !important;
  color:var(--ivory) !important;
  font-size:1.4rem !important;
  margin-bottom:12px !important;
}
footer h3 .accent,footer .footer-brand em{color:var(--gold) !important;font-style:italic}
footer p{color:var(--tan) !important;margin:6px 0 !important}
footer a{color:var(--gold-bright) !important}
footer a:hover{color:var(--gold) !important}

/* ============= UTILITY ============= */
.muted-line,.byline,.bottom-meta,.page-meta{color:var(--tan) !important}
.byline em,.byline .gold{color:var(--gold) !important;font-style:italic}
.dish-bullet,.tips li::before,.dish-list li::before{color:var(--gold) !important}

/* QR modal */
.qr-modal{background:rgba(0,0,0,.92) !important}
.qr-card{background:var(--bg-card) !important;color:var(--ivory) !important;border:1px solid var(--line-gold-strong) !important;border-radius:0 !important}
.qr-card h3{color:var(--ivory) !important}
.qr-card p{color:var(--ivory-soft) !important}
.qr-url{background:var(--bg) !important;color:var(--gold-bright) !important;border:1px solid var(--line) !important}
.qr-close{background:var(--gold) !important;color:var(--bg) !important;border:0 !important}

/* Toast */
.fav-toast,.toast{background:var(--gold) !important;color:var(--bg) !important;border-radius:0 !important;font-weight:600}

/* ============= EDITORIAL ELEMENTS ============= */
.editors-letter,.eds-note{
  margin:36px 0;
  padding:32px 40px;
  border-top:1px solid var(--line-gold) !important;
  border-bottom:1px solid var(--line-gold) !important;
  background:rgba(201,160,95,.04) !important;
  position:relative;
}
.editors-letter::before,.eds-note::before{
  content:'Editor’s Note';
  position:absolute;top:-9px;left:32px;
  background:var(--bg);
  padding:0 14px;
  font-size:.55rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--gold);
  font-weight:600;
}
.editors-letter p,.eds-note p{
  font-family:var(--italic);
  font-size:1.2rem;
  font-style:italic;
  line-height:1.55;
  color:var(--gold-bright) !important;
  margin:0 0 14px !important;
}

/* Issue masthead */
.issue-mast{
  text-align:center;
  padding:28px 22px 22px;
  border-bottom:1px solid var(--line-gold);
  background:var(--bg);
}
.issue-mast .iss{
  font-size:.6rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  margin-bottom:10px;
}
.issue-mast .ttl{
  font-family:var(--serif);
  font-size:clamp(2.2rem,5vw,3.4rem);
  color:var(--ivory);
  font-weight:700;
  letter-spacing:-.018em;
}
.issue-mast .sub{
  font-family:var(--italic);
  font-style:italic;
  color:var(--gold-bright);
  font-size:1.1rem;
  margin-top:8px;
}

/* ============= REVEAL ANIMATION (always visible, JS optionally enhances) ============= */
/* Default: visible. JS adds .js-anim class to body if it loads, only then reveal animates */
.reveal{opacity:1;transform:none}
body.js-anim .reveal:not(.in){opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
body.js-anim .reveal.in{opacity:1;transform:none}
/* Failsafe: even if JS adds js-anim but observer fails, force visible after 1.5s */
body.js-anim .reveal{animation:rfRevealForce 0s 1.5s forwards}
@keyframes rfRevealForce{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1 !important;transform:none !important;animation:none !important;transition:none !important}
}

/* ============= MOBILE NAV ============= */
.mob-nav{background:var(--bg) !important;border-top:1px solid var(--line-gold) !important}
.mob-nav a{color:var(--tan) !important}
.mob-nav a.on,.mob-nav a:hover{color:var(--gold) !important}

/* ============= MOBILE RESPONSIVE PASS ============= */
@media (max-width:640px){
  /* Header tighter on mobile */
  header{padding:10px 16px !important}
  header .nav,header > div{gap:12px !important}
  header .brand{font-size:.92rem !important}
  header a,header .back{font-size:.62rem !important;letter-spacing:.14em !important}

  /* Crumbs single-line truncated */
  nav.crumbs,.crumbs{padding:14px 16px !important;font-size:.6rem !important;letter-spacing:.16em !important;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .crumbs .sep,.crumbs span{margin:0 6px !important}

  /* Hero shorter on mobile */
  .hero{min-height:42vh !important;max-height:480px !important}
  .hero-content{padding:24px 18px 28px !important}
  .hero h1{font-size:clamp(1.7rem,7vw,2.6rem) !important;line-height:1.06 !important}
  .hero-eyebrow{font-size:.56rem !important;letter-spacing:.28em !important;margin-bottom:10px !important}
  .hero-meta{flex-wrap:wrap !important;gap:10px 14px !important;font-size:.78rem !important}
  .hero-fav{top:14px !important;right:14px !important;width:38px !important;height:38px !important}

  /* Action bar stacks */
  .primary-actions-inner{grid-template-columns:1fr !important}
  .pa-btn{padding:18px 14px !important;border-right:0 !important;border-bottom:1px solid var(--line) !important;font-size:.68rem !important;letter-spacing:.18em !important}
  .pa-btn:last-child{border-bottom:0 !important}

  /* Share bar — horizontal scroll on mobile */
  .share-bar,.share-row,.action-row{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  .share-bar::-webkit-scrollbar,.share-row::-webkit-scrollbar,.action-row::-webkit-scrollbar{display:none}
  .share-bar > *,.share-row > *,.action-row > *,.sec-btn,.share-btn{
    flex:0 0 auto !important;
    padding:14px 18px !important;
    font-size:.62rem !important;
    letter-spacing:.18em !important;
  }

  /* Section padding tighter */
  .section,article,main > section{padding:32px 18px !important}

  /* Sim-grid single column */
  .sim-grid{grid-template-columns:1fr !important}
  .sim-card{padding:18px 0 !important}
  .sim-card:nth-child(odd),.sim-card:nth-child(even){padding-left:0 !important;padding-right:0 !important;border-right:0 !important}
  .sim-img,.sim-card img{width:80px !important;height:80px !important}
  .sim-name{font-size:1rem !important}

  /* Continue reading rail single column */
  .rf-grid,.cont-grid,.cards{grid-template-columns:1fr !important}
  .rf-card,.cont-card,.cards .card{border-right:0 !important;padding:20px 18px 24px !important}
  .rf-img,.cont-img,.cards .card-img,.cards .img{aspect-ratio:16/9 !important}

  /* Entry cards tighter */
  .entry .body,.entry-body,.entry > .content{padding:22px 20px !important}
  .entry h2,.entry h3,.entry-name{font-size:1.25rem !important}
  .entry .rank,.entry .num{font-size:2.8rem !important;bottom:12px !important;left:18px !important}

  /* Intro / criteria / closing tighter */
  .intro,.criteria,.closing,.callout{padding:22px 20px !important}

  /* Drop cap smaller */
  .intro > p:first-of-type::first-letter,
  article > p:first-of-type::first-letter,
  .review-body > p:first-of-type::first-letter{
    font-size:3.4rem !important;
    margin:6px 10px -2px 0 !important;
  }

  /* Pull quote */
  .pull-quote,.entry-pull{padding:24px 18px !important;font-size:1.2rem !important}

  /* Footer */
  footer{padding:48px 18px 36px !important;margin-top:64px !important}
  footer h3,footer .footer-brand{font-size:1.25rem !important}

  /* Hours table */
  .hours-tbl td{padding:10px 12px !important;font-size:.85rem !important}

  /* Tips cards */
  .tips li{padding:14px 18px 14px 36px !important;font-size:.95rem !important}
  .tips li::before{left:14px !important;top:24px !important;width:12px !important}

  /* Practical detail chips smaller */
  .amen li,.amen-grid li{padding:10px 14px !important;font-size:.74rem !important}

  /* Dish list */
  .dish-list li{padding:18px 0 18px 44px !important;font-size:.98rem !important}
  .dish-list li::before{top:20px !important;font-size:.85rem !important}

  /* Issue masthead */
  .issue-mast{padding:22px 16px 18px !important}
  .issue-mast .ttl{font-size:clamp(1.7rem,6vw,2.4rem) !important}
}

@media (max-width:380px){
  .hero h1{font-size:1.6rem !important}
  .entry h2,.entry h3,.entry-name{font-size:1.1rem !important}
  .pull-quote,.entry-pull{font-size:1.05rem !important}
}

/* ============= "YOU MIGHT ALSO LIKE" / SIMILAR ============= */
.sim-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:24px !important;
  border-top:1px solid var(--line-gold) !important;
}
@media (min-width:600px){.sim-grid{grid-template-columns:1fr 1fr !important}}
.sim-card{
  display:flex !important;
  gap:18px !important;
  padding:24px 0 !important;
  border-bottom:1px solid var(--line) !important;
  text-decoration:none !important;
  color:inherit !important;
  align-items:flex-start !important;
  transition:background .15s;
}
@media (min-width:600px){
  .sim-card:nth-child(odd){border-right:1px solid var(--line) !important;padding-right:28px !important}
  .sim-card:nth-child(even){padding-left:28px !important}
}
.sim-card:hover{background:rgba(201,160,95,.04) !important}
.sim-card:hover .sim-name{color:var(--gold-bright) !important}
.sim-img,.sim-card img,.sim-card .img{
  width:96px !important;
  height:96px !important;
  flex-shrink:0 !important;
  background-color:var(--bg-elev) !important;
  background-size:cover !important;
  background-position:center !important;
  border-radius:0 !important;
}
.sim-cuisine{
  font-size:.62rem !important;
  text-transform:uppercase !important;
  letter-spacing:.32em !important;
  color:var(--gold) !important;
  font-weight:600 !important;
  margin-bottom:8px !important;
  display:block !important;
}
.sim-name{
  font-family:var(--serif) !important;
  font-size:1.15rem !important;
  font-weight:700 !important;
  line-height:1.22 !important;
  color:var(--ivory) !important;
  margin-bottom:8px !important;
  letter-spacing:-.005em !important;
}
.sim-meta{font-size:.82rem !important;color:var(--tan) !important;letter-spacing:.02em}
.sim-meta .star{color:var(--gold) !important}

/* Internal link list ("More restaurants in Jomtien") */
.il-list{list-style:none !important;padding:0 !important;margin:24px 0 0 !important;border-top:1px solid var(--line-gold) !important}
.il-list li a{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:22px 0 !important;
  border-bottom:1px solid var(--line) !important;
  text-decoration:none !important;
  color:var(--ivory) !important;
  font-family:var(--serif) !important;
  font-size:1.1rem !important;
  font-weight:500 !important;
  letter-spacing:-.005em !important;
  transition:color .15s;
}
.il-list li a:hover{color:var(--gold) !important}
.il-list li a .arr{color:var(--gold) !important;transition:transform .15s}
.il-list li a:hover .arr{transform:translateX(6px)}

/* ============= "WHAT TO ORDER" NUMBERED LIST ============= */
.dish-list{margin:24px 0 !important;padding:0 !important;list-style:none !important;counter-reset:dish}
.dish-list li{
  counter-increment:dish !important;
  padding:22px 0 22px 56px !important;
  border-top:1px solid var(--line) !important;
  position:relative !important;
  font-size:1.05rem !important;
  line-height:1.65 !important;
  color:var(--ivory-soft) !important;
}
.dish-list li:first-child{border-top:0 !important}
.dish-list li::before{
  content:counter(dish,decimal-leading-zero) !important;
  position:absolute !important;
  left:0 !important;
  top:24px !important;
  font-family:var(--serif) !important;
  font-size:.95rem !important;
  font-weight:700 !important;
  color:var(--gold) !important;
  font-variant-numeric:tabular-nums !important;
  letter-spacing:.04em !important;
  font-style:italic !important;
}

/* ============= "INSIDER TIPS" — proper editorial bullets ============= */
.tips{list-style:none !important;padding:0 !important;margin:24px 0 0 !important}
.tips li{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  padding:18px 22px 18px 44px !important;
  margin:0 0 10px !important;
  position:relative !important;
  font-size:1rem !important;
  line-height:1.6 !important;
  color:var(--ivory-soft) !important;
}
.tips li::before{
  content:'' !important;
  position:absolute !important;
  left:18px !important;
  top:28px !important;
  width:14px !important;
  height:1px !important;
  background:var(--gold) !important;
}

/* ============= PRACTICAL DETAILS / AMENITIES CHIPS ============= */
.amen,.amen-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:20px 0 !important;
  border:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.amen li,.amen-grid li{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  padding:12px 18px !important;
  margin:0 !important;
  font-size:.8rem !important;
  font-weight:600 !important;
  color:var(--ivory) !important;
  letter-spacing:.04em !important;
  list-style:none !important;
}
.amen li b,.amen-grid li b{color:var(--gold) !important;font-weight:600;margin-right:4px}

/* ============= SHARE / CTA CHIPS (SHARE / QR / PRINT / COPY / MARK VISITED) ============= */
.share-bar,.share-row,.action-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:0 !important;
  border:1px solid var(--line-gold) !important;
  margin:32px 0 !important;
  background:var(--bg-card) !important;
}
.share-bar > *,.share-row > *,.action-row > *,.sec-btn,.share-btn{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:18px 16px !important;
  background:transparent !important;
  border:0 !important;
  border-right:1px solid var(--line) !important;
  color:var(--ivory) !important;
  font-family:var(--sans) !important;
  font-size:.7rem !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  text-decoration:none !important;
  border-radius:0 !important;
  cursor:pointer;
  transition:background .15s,color .15s;
}
.share-bar > *:last-child,.share-row > *:last-child,.action-row > *:last-child{border-right:0 !important}
.share-bar > *:hover,.share-row > *:hover,.sec-btn:hover,.share-btn:hover{background:var(--bg-elev) !important;color:var(--gold) !important}
.share-bar svg,.share-row svg,.sec-btn svg{color:var(--gold) !important;flex-shrink:0}

/* ============= "CONTINUE READING" RAIL CARDS ============= */
.rf-grid,.cont-grid,.cards{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  border-top:1px solid var(--line-gold) !important;
  margin-top:24px !important;
}
@media (min-width:760px){.rf-grid,.cont-grid,.cards{grid-template-columns:1fr 1fr 1fr}}
@media (min-width:1024px){.rf-grid{grid-template-columns:repeat(4,1fr)}}
.rf-card,.cont-card,.cards .card{
  display:flex !important;
  flex-direction:column !important;
  text-decoration:none !important;
  color:inherit !important;
  border:0 !important;
  border-right:1px solid var(--line) !important;
  border-bottom:1px solid var(--line) !important;
  padding:24px 22px 28px !important;
  background:transparent !important;
  border-radius:0 !important;
  transition:background .2s;
}
.rf-card:hover,.cont-card:hover,.cards .card:hover{background:rgba(201,160,95,.04) !important}
.rf-img,.cont-img,.cards .card-img,.cards .img{
  aspect-ratio:5/4 !important;
  background-size:cover !important;
  background-position:center !important;
  background-color:var(--bg-elev) !important;
  margin:0 0 16px !important;
}
.rf-eyebrow-tag,.cont-eyebrow,.cards .eyebrow{
  font-size:.6rem !important;
  letter-spacing:.36em !important;
  text-transform:uppercase !important;
  color:var(--gold) !important;
  font-weight:600 !important;
  margin-bottom:8px !important;
}
.rf-name,.cont-name,.cards .card h3{
  font-family:var(--serif) !important;
  font-size:1.1rem !important;
  line-height:1.25 !important;
  color:var(--ivory) !important;
  font-weight:700 !important;
  letter-spacing:-.005em !important;
}
.rf-card:hover .rf-name,.cont-card:hover .cont-name,.cards .card:hover h3{color:var(--gold-bright) !important}

/* Reveal animation override — make sure cards are visible */
.rf-card.reveal,.cont-card.reveal,.cards .card.reveal,.sim-card.reveal{opacity:1 !important;transform:none !important}

/* ============= LOCATION / WHERE TO FIND IT ============= */
.location-block,.address-block{
  background:var(--bg-card) !important;
  border:1px solid var(--line-gold) !important;
  padding:28px 32px !important;
  margin:24px 0 !important;
}
.location-block h3,.address-block h3{color:var(--ivory) !important;font-family:var(--serif) !important}
.location-block p,.address-block p{color:var(--ivory-soft) !important;margin:6px 0}

/* ============= FOOTER REBUILD ============= */
footer{
  background:var(--bg-deep) !important;
  border-top:1px solid var(--line-gold) !important;
  color:var(--tan) !important;
  padding:80px 28px 56px !important;
  margin-top:96px !important;
  text-align:center !important;
}
footer .footer-brand,footer h3{
  font-family:var(--serif) !important;
  color:var(--ivory) !important;
  font-size:1.6rem !important;
  font-weight:700 !important;
  margin-bottom:14px !important;
}
footer .footer-brand em,footer h3 .accent{color:var(--gold) !important;font-style:italic;font-weight:500}
footer p{color:var(--tan) !important;margin:8px auto !important;max-width:540px;font-size:.92rem;line-height:1.6}
footer a{color:var(--gold-bright) !important}
footer a:hover{color:var(--gold) !important}
footer .footer-rule{
  width:60px;height:1px;background:var(--gold);margin:24px auto;display:block;
}
footer .footer-meta{
  font-size:.7rem !important;
  letter-spacing:.32em !important;
  text-transform:uppercase !important;
  color:var(--mute) !important;
  margin-top:24px !important;
}

/* ============= SECTION INTRO BAND ============= */
.section-intro,.section-eyebrow-band{
  text-align:center;
  padding:48px 28px 32px;
}
.section-intro .eyebrow,.section-eyebrow-band .eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  margin-bottom:18px;
}
.section-intro .eyebrow .rule,.section-eyebrow-band .eyebrow .rule{
  width:32px;height:1px;background:var(--gold);
}
.section-intro h2,.section-eyebrow-band h2{
  font-family:var(--serif) !important;
  font-size:clamp(1.8rem,3.2vw,2.4rem) !important;
  color:var(--ivory) !important;
  margin:0 0 12px !important;
}

/* ============= SECTION DIVIDER (gold rule) ============= */
.section-rule,hr{
  border:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line-gold) 30%,var(--line-gold) 70%,transparent);
  margin:48px 0;
}

/* ============= PRINT ============= */
@media print{
  body::before{display:none}
  body{background:#fff !important;color:#000 !important}
  .hero{min-height:auto !important;background:#fff !important;height:auto !important}
  .hero::before,.hero::after{display:none !important}
  header,footer,.primary-actions,.share-bar,.qr-modal,.toast,.mob-nav{display:none !important}
}
