/* ───────────────────────────────────────────────────────────────────────
   EAS SINGLE POST — THE FIELD JOURNAL
   Template:  eas-single-post-field-journal-v3  →  single.php
   Namespace: .eas-st-  (every class — zero collision with WP/Foxiz)
   Version:   3.0 Production · May 2026

   BULLETPROOF CSS STRATEGY (three layers):
   1. Namespace .eas-st-  — plugins cannot target unknown classes
   2. .eas-st-root scope  — specificity 0-2-0 walls out WP/Foxiz 0-1-0
   3. Surgical reset on p/h/a/ul inside root — kills inherited corruption
   !important used on 3 structural properties only (marked inline)

   DUAL-MODE SLOT PATTERN (PHP → Studio):
   Every dynamic value has a comment block showing:
     WP:     PHP template tag for single.php
     STUDIO: window.easStudio.data key for Streamlit shim
     FIELD:  data-eas-field attribute read by eas-studio-shim.js
   Placeholder content = real copy for browser preview

   MOOD SYSTEM:
   data-mood on .eas-st-root — CSS variable overrides per journey type
   dawn (default) | intimate | landmark | expedition | editorial

   LAYOUT ALTERNATES:
   data-layout on .eas-st-root — structural variants
   document (default) | cinematic
─────────────────────────────────────────────────────────────────────── */

/* ── CSS CUSTOM PROPERTIES — :root level, safe globally ──────────────── */
:root {
  --eas-parchment:  #F6F1E9;
  --eas-linen:      #EDE7DB;
  --eas-paper:      #FDFAF6;
  --eas-ink:        #1E1A15;
  --eas-ink-2:      #3D3630;
  --eas-ink-3:      #6B6258;
  --eas-ink-4:      #9E9690;
  --eas-clay:       #A85C38;
  --eas-clay-lt:    #C47450;
  --eas-clay-dm:    #7A3E22;
  --eas-clay-xs:    rgba(168,92,56,.07);
  --eas-clay-sm:    rgba(168,92,56,.15);
  --eas-clay-md:    rgba(168,92,56,.32);
  --eas-sage:       #4A5E44;
  --eas-rule:       rgba(30,26,21,.10);
  --eas-rule-2:     rgba(30,26,21,.055);
  --eas-ease:       cubic-bezier(0.22, 1, 0.36, 1);
  /* Mood tokens — overridden per data-mood */
  --eas-bg:         var(--eas-parchment);
  --eas-accent:     var(--eas-clay);
  --eas-accent-xs:  var(--eas-clay-xs);
  --eas-accent-md:  var(--eas-clay-md);
}

/* ── MOOD OVERRIDES ───────────────────────────────────────────────────── */
.eas-st-root[data-mood="intimate"]   { --eas-bg:#FBF6EF; --eas-accent:#B56040; --eas-accent-xs:rgba(181,96,64,.07); --eas-accent-md:rgba(181,96,64,.30); }
.eas-st-root[data-mood="landmark"]   { --eas-bg:#F2EDE3; --eas-accent:#7A3E22; --eas-accent-xs:rgba(122,62,34,.07); --eas-accent-md:rgba(122,62,34,.28); }
.eas-st-root[data-mood="expedition"] { --eas-bg:#EDE8DC; --eas-accent:#4A5E44; --eas-accent-xs:rgba(74,94,68,.07);  --eas-accent-md:rgba(74,94,68,.28);  }
.eas-st-root[data-mood="editorial"]  { --eas-bg:#F9F5EE; --eas-accent:#8B4A28; --eas-accent-xs:rgba(139,74,40,.06); --eas-accent-md:rgba(139,74,40,.26); }

/* ── SURGICAL RESET — kills Foxiz + WP core typography ──────────────── */
.eas-st-root,.eas-st-root *,.eas-st-root *::before,.eas-st-root *::after { box-sizing:border-box; }
.eas-st-root p,
.eas-st-root h1,.eas-st-root h2,.eas-st-root h3,.eas-st-root h4,
.eas-st-root ul,.eas-st-root ol,.eas-st-root li,
.eas-st-root blockquote,.eas-st-root figure,.eas-st-root figcaption { margin:0; padding:0; font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit; font-family:inherit; }
.eas-st-root a { text-decoration:none; color:inherit; }
.eas-st-root img { display:block; max-width:100%; }

/* ── ROOT ─────────────────────────────────────────────────────────────── */
.eas-st-root {
  background: var(--eas-bg);
  color: var(--eas-ink);
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 18px; line-height: 1.86; font-weight: 300;
  overflow-x: hidden !important; /* structural */
}

/* ── READING BAR ──────────────────────────────────────────────────── */
.eas-st-rbar {
  position: fixed; top: 0; left: 0;
  height: 2px; width: 0%;
  background: var(--eas-clay);
  z-index: 9999; pointer-events: none;
  transition: width .07s linear;
}

/* ── NAVIGATION ────────────────────────────────────────────────────── */
.eas-st-nav {
  position: fixed !important;
  top: 0; left: 0; right: 0; z-index: 1000; height: 64px;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center; padding: 0 48px;
  background: rgba(246,241,233,.97);
  border-bottom: 1px solid var(--eas-rule);
  backdrop-filter: blur(8px);
  transition: background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.eas-st-nav-left { display:flex; align-items:center; gap:28px; }
.eas-st-nav-left a, .eas-st-nav-right a {
  font-family:'Overpass Mono',monospace;
  font-size:9px; letter-spacing:2px; text-transform:uppercase;
  color:var(--eas-ink-3); font-weight:400; transition:color .3s ease;
}
.eas-st-nav-left a:hover, .eas-st-nav-right a:hover { color:var(--eas-ink); }
.eas-st-nav-center {
  font-family:'Playfair Display',serif;
  font-size:13px; font-weight:400; letter-spacing:.5px;
  color:var(--eas-ink); text-align:center; white-space:nowrap;
  transition: color .3s ease;
}
.eas-st-nav-right { display:flex; align-items:center; justify-content:flex-end; gap:24px; }
.eas-st-nav-begin {
  font-family:'Overpass Mono',monospace !important;
  font-size:9px !important; letter-spacing:2px; text-transform:uppercase;
  font-weight:400 !important; color:var(--eas-paper) !important;
  background:var(--eas-ink) !important; padding:9px 22px; transition:background .22s, border-color .3s ease;
}
.eas-st-nav-begin:hover { background:var(--eas-clay) !important; }

/* ── Nav transparency — over hero image on load, solid after 80px scroll ── */
.eas-st-nav:not(.eas-st-nav--solid) {
  background: transparent !important;
  border-bottom-color: transparent !important;
  backdrop-filter: none !important;
}
.eas-st-nav:not(.eas-st-nav--solid) .eas-st-nav-left a,
.eas-st-nav:not(.eas-st-nav--solid) .eas-st-nav-right a {
  color: var(--eas-paper) !important;
}
.eas-st-nav:not(.eas-st-nav--solid) .eas-st-nav-center {
  color: var(--eas-paper) !important;
}
.eas-st-nav:not(.eas-st-nav--solid) .eas-st-nav-begin {
  background: transparent !important;
  color: var(--eas-paper) !important;
  border: 1px solid rgba(253,250,246,.50) !important;
}

/* ── ZONE 1: EDITORIAL MASTHEAD ────────────────────────────────────── */
.eas-st-masthead { margin-top:0; background:var(--eas-paper); border-bottom:1px solid var(--eas-rule); padding:0 48px; position:relative; }

.eas-st-issue-strip { display:flex; align-items:center; justify-content:space-between; padding:18px 0; border-bottom:1px solid var(--eas-rule-2); }
.eas-st-issue-left { display:flex; align-items:center; gap:28px; }
.eas-st-issue-num { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-accent); }
.eas-st-issue-sep { width:1px; height:14px; background:var(--eas-rule); flex-shrink:0; }
.eas-st-issue-cat { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--eas-ink-3); }
.eas-st-issue-right { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:1.5px; color:var(--eas-ink-4); }

.eas-st-title-block { padding:56px 0 0; position:relative; overflow:hidden; }
.eas-st-title-wm { position:absolute; top:-0.05em; right:-0.08em; font-family:'Playfair Display',serif; font-size:18vw; font-weight:900; line-height:1; color:rgba(30,26,21,0.008); pointer-events:none; user-select:none; letter-spacing:-.05em; }
.eas-st-kicker { display:flex; align-items:center; gap:16px; margin-bottom:32px; position:relative; z-index:1; }
.eas-st-kicker-line { width:40px; height:1px; background:var(--eas-accent); }
.eas-st-kicker-text { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-accent); }
.eas-st-root .eas-st-h1 { font-family:'Playfair Display',serif !important; font-size:clamp(54px,7.5vw,108px) !important; font-weight:700 !important; line-height:.92 !important; color:var(--eas-ink) !important; letter-spacing:-.03em; max-width:880px; position:relative; z-index:1; margin-bottom:0; }
.eas-st-root .eas-st-h1 em { font-style:normal !important; font-weight:400 !important; color:var(--eas-accent) !important; }
.eas-st-deck-bar { display:grid !important; grid-template-columns:1fr 340px; gap:48px; align-items:end; padding:40px 0 52px; border-top:1px solid var(--eas-rule); margin-top:40px; position:relative; z-index:1; }
.eas-st-deck { font-family:'Source Serif 4',serif; font-size:clamp(15px,1.4vw,19px); font-weight:300; font-style:normal; color:var(--eas-ink-2); line-height:1.65; }
.eas-st-title-meta { display:flex; flex-direction:column; gap:14px; align-items:flex-end; }
.eas-st-meta-author-row { display:flex; align-items:center; gap:14px; justify-content:flex-end; }
.eas-st-meta-avatar { width:42px; height:42px; border:1px solid var(--eas-accent-md); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:14px; color:var(--eas-accent); background:var(--eas-accent-xs); flex-shrink:0; }
.eas-st-meta-name { font-family:'Source Serif 4',serif; font-size:14px; color:var(--eas-ink); font-weight:500; text-align:right; }
.eas-st-meta-role { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--eas-accent); text-align:right; }
.eas-st-meta-details { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:1px; color:var(--eas-ink-4); text-align:right; line-height:1.8; }

/* ── ZONE 2: PHOTO BAND ────────────────────────────────────────────── */
.eas-st-photo-band { margin-top:0; position:relative; height:clamp(360px,48vw,580px); overflow:hidden !important; }
.eas-st-photo-sky { position:absolute; inset:0; }
.eas-st-photo-flora { position:absolute; bottom:0; left:0; right:0; }
.eas-st-photo-veil { position:absolute; inset:0; background:linear-gradient(to bottom,transparent 42%,rgba(246,241,233,.14) 74%,rgba(246,241,233,.52) 100%); }
.eas-st-photo-caption-bar { background:var(--eas-linen); border-bottom:1px solid var(--eas-rule); padding:15px 48px; display:flex; align-items:center; justify-content:space-between; }
.eas-st-pcap-text { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:1.5px; color:var(--eas-ink-3); }
.eas-st-pcap-share { display:flex; gap:12px; }
.eas-st-pcap-link { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--eas-ink-4); padding:4px 12px; border:1px solid var(--eas-rule); cursor:pointer; transition:color .18s, border-color .18s; }
.eas-st-pcap-link:hover { color:var(--eas-accent); border-color:var(--eas-accent-md); }

/* ── ZONE 3: THREE-COLUMN MAGAZINE BODY ─────────────────────────────── */
.eas-st-magazine-body { display:grid !important; grid-template-columns:148px 1fr 272px; max-width:1280px; margin:0 auto; padding:0 48px; align-items:start; min-height:100vh; }

/* ── Margin notes column ─────────────────────────────────────────── */
.eas-st-margin-col { padding-top:72px; padding-right:32px; position:sticky !important; top:80px; }
.eas-st-margin-col::after { content:''; position:absolute; top:72px; right:0; bottom:0; width:1px; background:linear-gradient(to bottom,var(--eas-rule-2),var(--eas-rule) 30%,var(--eas-rule) 70%,transparent); }
.eas-st-m-vol { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--eas-ink-4); writing-mode:vertical-rl; text-orientation:mixed; transform:rotate(180deg); margin-bottom:28px; display:block; }
.eas-st-mc-line { display:flex; align-items:flex-start; gap:10px; padding:8px 0; border-top:1px solid var(--eas-rule-2); cursor:pointer; transition:border-color .18s; }
.eas-st-mc-line:hover { border-top-color:var(--eas-accent); }
.eas-st-mc-n { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1px; color:var(--eas-ink-4); padding-top:2px; flex-shrink:0; min-width:14px; }
.eas-st-mc-line.active .eas-st-mc-n { color:var(--eas-accent); }
.eas-st-mc-label { font-family:'Source Serif 4',serif; font-size:11px; color:var(--eas-ink-3); line-height:1.45; font-style:normal; }
.eas-st-mc-line.active .eas-st-mc-label { color:var(--eas-ink); }

/* ── Article copy ─────────────────────────────────────────────────── */
.eas-st-copy { padding:72px 56px 88px; border-right:1px solid var(--eas-rule-2); }
.eas-st-root .eas-st-copy p { color:var(--eas-ink) !important; font-size:18px !important; line-height:1.9; margin-bottom:28px; font-weight:300 !important; font-family:'Source Serif 4',serif !important; text-align:justify; }
.eas-st-dropcap::first-letter { font-family:'Playfair Display',serif; float:left; font-size:7em; line-height:.72; font-weight:400; font-style:normal; color:var(--eas-accent); padding-right:8px; padding-top:6px; }
.eas-st-s-head { display:flex; align-items:baseline; gap:20px; margin:68px 0 28px; padding-bottom:16px; border-bottom:1px solid var(--eas-rule); }
.eas-st-s-num { font-family:'Playfair Display',serif; font-size:11px; font-style:normal; color:var(--eas-accent); flex-shrink:0; }
.eas-st-s-title { font-family:'Playfair Display',serif; font-size:29px; font-weight:500; color:var(--eas-ink); line-height:1.15; letter-spacing:-.02em; }
.eas-st-s-rule { flex:1; height:1px; background:var(--eas-rule); margin-bottom:4px; }
.eas-st-eyebrow { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-accent); margin:44px 0 14px; display:block; }

.eas-st-pull-quote { margin:72px -56px; padding:64px 56px; background:var(--eas-linen); position:relative; text-align:center; overflow:hidden; }
.eas-st-pull-quote::before { content:'\201C'; position:absolute; top:-40px; left:50%; transform:translateX(-50%); font-family:'Playfair Display',serif; font-size:24rem; font-weight:900; line-height:1; opacity:.035; color:var(--eas-accent); pointer-events:none; }
.eas-st-pull-quote blockquote { font-family:'Playfair Display',serif; font-size:clamp(21px,2.8vw,36px); font-weight:400; font-style:normal; color:var(--eas-ink); line-height:1.35; letter-spacing:-.01em; max-width:760px; margin:0 auto 28px; position:relative; z-index:1; }
.eas-st-pull-cite { display:block; font-style:normal; font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-accent); position:relative; z-index:1; }

.eas-st-field-note { display:grid !important; grid-template-columns:3px 1fr; gap:0; margin:48px 0; overflow:hidden; }
.eas-st-fn-rule { background:var(--eas-accent); }
.eas-st-fn-body { padding:20px 24px; background:var(--eas-accent-xs); border:1px solid var(--eas-clay-sm); border-left:none; }
.eas-st-fn-label { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-accent); margin-bottom:8px; display:block; }
.eas-st-fn-text { font-family:'Source Serif 4',serif; font-size:15px; color:var(--eas-ink-2); line-height:1.72; font-style:normal; margin:0; }

.eas-st-mid-image { margin:60px -56px; position:relative; }
.eas-st-mid-canvas { width:100%; height:300px; overflow:hidden; position:relative; }
.eas-st-mid-footer { padding:15px 56px; display:flex; align-items:baseline; gap:16px; background:var(--eas-linen); border-top:1px solid var(--eas-rule); }
.eas-st-mid-num { font-family:'Playfair Display',serif; font-size:11px; font-style:normal; color:var(--eas-accent); flex-shrink:0; }
.eas-st-mid-cap { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:1.2px; color:var(--eas-ink-3); line-height:1.6; }

.eas-st-clay-rule { height:1px; border:none; background:linear-gradient(to right,transparent,var(--eas-clay-sm) 20%,var(--eas-clay-md) 50%,var(--eas-clay-sm) 80%,transparent); margin:52px 0; }

.eas-st-tags { margin-top:56px; padding-top:32px; border-top:1px solid var(--eas-rule); }
.eas-st-tags-label { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--eas-ink-4); margin-bottom:14px; display:block; }
.eas-st-tags-wrap { display:flex; flex-wrap:wrap; gap:8px; }
.eas-st-tag { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:2px; text-transform:uppercase; padding:6px 14px; border:1px solid var(--eas-rule); color:var(--eas-ink-3); cursor:pointer; transition:color .18s,border-color .18s,background .18s; }
.eas-st-tag:hover,.eas-st-tag.eas-st-tag-hi { color:var(--eas-accent); border-color:var(--eas-accent-md); background:var(--eas-accent-xs); }

/* ── SIDEBAR — 8 components ───────────────────────────────────────── */
.eas-st-sidebar { padding:72px 0 72px 36px; position:sticky !important; top:80px; align-self:start; }

/* Universal sidebar component label */
.eas-st-sb-label { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-ink-4); display:block; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--eas-rule); }

/* Universal link style for sidebar */
.eas-st-sb-link { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--eas-accent); display:inline-flex; align-items:center; gap:8px; transition:gap .18s; }
.eas-st-sb-link:hover { gap:14px; }

/* C1: Journey Match Card */
.eas-st-sb-journey { border-top:3px solid var(--eas-accent); background:var(--eas-paper); padding:22px; margin-bottom:3px; }
.eas-st-jc-type { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2.5px; text-transform:uppercase; color:var(--eas-accent); margin-bottom:10px; }
.eas-st-jc-title { font-family:'Playfair Display',serif; font-size:18px; font-weight:500; color:var(--eas-ink); line-height:1.22; margin-bottom:10px; letter-spacing:-.01em; }
.eas-st-jc-body { font-family:'Source Serif 4',serif; font-size:13px; color:var(--eas-ink-3); line-height:1.7; margin-bottom:18px; font-style:normal; }

/* C2: Itinerary Match — "The route in this journal" */
.eas-st-sb-itinerary { background:var(--eas-paper); border:1px solid var(--eas-rule); border-left:2px solid var(--eas-accent-md); padding:20px 22px; margin-bottom:3px; }
.eas-st-sbi-name { font-family:'Playfair Display',serif; font-size:16px; font-weight:500; color:var(--eas-ink); letter-spacing:-.01em; margin-bottom:12px; line-height:1.2; }
.eas-st-sbi-stops { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin-bottom:14px; }
.eas-st-sbi-stop { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1px; color:var(--eas-ink-3); }
.eas-st-sbi-arr { font-family:'Overpass Mono',monospace; font-size:8px; color:var(--eas-accent-md); margin:0 2px; }
.eas-st-sbi-nights { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1.5px; color:var(--eas-ink-4); margin-bottom:14px; }

/* C3: Departure Intelligence — scarcity grounded in capacity */
.eas-st-sb-departure { background:var(--eas-linen); padding:20px 22px; margin-bottom:3px; }
.eas-st-sbd-next { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:6px; }
.eas-st-sbd-month { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:var(--eas-ink); letter-spacing:-.02em; }
.eas-st-sbd-slots { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1px; color:var(--eas-clay); text-align:right; line-height:1.5; }
.eas-st-sbd-circuit { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1.5px; color:var(--eas-ink-3); margin-bottom:14px; }
.eas-st-sbd-divider { height:1px; background:var(--eas-rule); margin:14px 0; }
/* Offers — framed as insider intelligence, not a sale */
.eas-st-sbd-offer-kicker { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--eas-accent); display:block; margin-bottom:6px; }
.eas-st-sbd-offer-text { font-family:'Source Serif 4',serif; font-size:13px; font-style:normal; color:var(--eas-ink-2); line-height:1.6; margin-bottom:14px; display:block; }

/* C4: Seasonal Signal */
.eas-st-sb-season { background:var(--eas-paper); border:1px solid var(--eas-rule); padding:20px 22px; margin-bottom:3px; }
.eas-st-season-bar { height:4px; background:var(--eas-rule); position:relative; margin:10px 0 8px; border-radius:2px; }
.eas-st-season-peak { position:absolute; height:100%; background:var(--eas-accent); border-radius:2px; left:50%; width:25%; }
.eas-st-season-now { position:absolute; top:50%; transform:translate(-50%,-50%); width:10px; height:10px; border-radius:50%; background:var(--eas-ink); border:2px solid var(--eas-paper); left:34%; }
.eas-st-season-meta { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1px; color:var(--eas-ink-3); line-height:1.7; }
.eas-st-season-meta strong { color:var(--eas-accent); font-weight:400; }

/* C5: Guide Profile */
.eas-st-sb-guide { background:var(--eas-paper); border:1px solid var(--eas-rule); padding:20px 22px; margin-bottom:3px; }
.eas-st-guide-row { display:flex; align-items:center; gap:14px; margin-bottom:10px; }
.eas-st-guide-avatar { width:40px; height:40px; border:1px solid var(--eas-accent-md); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:13px; font-style:normal; color:var(--eas-accent); background:var(--eas-accent-xs); flex-shrink:0; }
.eas-st-guide-name { font-family:'Playfair Display',serif; font-size:15px; font-weight:500; color:var(--eas-ink); }
.eas-st-guide-spec { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1.5px; text-transform:uppercase; color:var(--eas-accent); }
.eas-st-guide-note { font-family:'Source Serif 4',serif; font-size:12px; font-style:normal; color:var(--eas-ink-3); line-height:1.65; margin-bottom:12px; }

/* C6: Price Anchor */
.eas-st-sb-price { background:var(--eas-linen); padding:20px 22px; margin-bottom:3px; }
.eas-st-price-from { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--eas-ink-4); margin-bottom:6px; }
.eas-st-price-figure { font-family:'Playfair Display',serif; font-size:2.1rem; font-weight:700; color:var(--eas-ink); line-height:1; margin-bottom:4px; letter-spacing:-.02em; }
.eas-st-price-sub { font-family:'Source Serif 4',serif; font-size:12px; font-style:normal; color:var(--eas-ink-3); line-height:1.55; margin-bottom:16px; }
.eas-st-price-btn { display:block; text-align:center; font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2.5px; text-transform:uppercase; background:var(--eas-ink); color:var(--eas-parchment); padding:12px 16px; transition:background .22s; }
.eas-st-price-btn:hover { background:var(--eas-accent); }

/* C7: Trust Signal (shortcode wrapper) */
.eas-st-sb-trust { background:var(--eas-paper); border:1px solid var(--eas-rule); padding:20px 22px; margin-bottom:3px; }
.eas-st-trust-quote { font-family:'Source Serif 4',serif; font-size:13px; font-style:normal; color:var(--eas-ink-2); line-height:1.65; margin-bottom:8px; }
.eas-st-trust-who { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1px; color:var(--eas-ink-4); }

/* C8: Scroll-triggered Intent CTA */
.eas-st-sb-intent { padding:22px 0 0; border-top:1px solid var(--eas-rule); margin-top:4px; opacity:0; transform:translateY(8px); transition:opacity .5s var(--eas-ease),transform .5s var(--eas-ease); pointer-events:none; }
.eas-st-sb-intent.eas-st-visible { opacity:1; transform:none; pointer-events:auto; }
.eas-st-intent-copy { font-family:'Playfair Display',serif; font-size:15px; font-weight:400; font-style:normal; color:var(--eas-ink); line-height:1.42; margin-bottom:12px; }
.eas-st-intent-note { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1.5px; color:var(--eas-ink-4); margin-bottom:14px; line-height:1.6; }
.eas-st-intent-btn { display:block; text-align:center; font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2.5px; text-transform:uppercase; border:1px solid var(--eas-ink); color:var(--eas-ink); padding:12px 16px; transition:all .22s var(--eas-ease); }
.eas-st-intent-btn:hover { background:var(--eas-accent); border-color:var(--eas-accent); color:var(--eas-paper); }

/* ── ZONE 4: AUTHOR BAND ─────────────────────────────────────────── */
.eas-st-author-band { background:var(--eas-linen); border-top:1px solid var(--eas-rule); border-bottom:1px solid var(--eas-rule); }
.eas-st-author-inner { max-width:1280px; margin:0 auto; padding:64px 48px; display:grid !important; grid-template-columns:148px 1fr 272px; align-items:center; }
.eas-st-author-left { padding-right:32px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.eas-st-author-lbl { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-accent); }
.eas-st-author-av { width:72px; height:72px; border:1px solid var(--eas-accent-md); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:22px; font-style:normal; color:var(--eas-accent); background:var(--eas-accent-xs); }
.eas-st-author-body { padding:0 56px 0 0; border-right:1px solid var(--eas-rule); }
.eas-st-author-name { font-family:'Playfair Display',serif; font-size:24px; font-weight:400; font-style:normal; color:var(--eas-ink); margin-bottom:4px; }
.eas-st-author-role { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--eas-accent); margin-bottom:16px; }
.eas-st-author-bio { font-family:'Source Serif 4',serif; font-size:14px; font-weight:300; color:var(--eas-ink-2); line-height:1.82; }
.eas-st-author-right { padding-left:48px; }
.eas-st-author-qte { font-family:'Playfair Display',serif; font-size:16px; font-style:normal; font-weight:400; color:var(--eas-ink-2); line-height:1.55; border-left:2px solid var(--eas-accent); padding-left:20px; }

/* ── ZONE 5: RELATED — editorial card grid ────────────────────────── */
.eas-st-related-section { background:var(--eas-parchment); border-bottom:1px solid var(--eas-rule); }
.eas-st-related-inner { max-width:1280px; margin:0 auto; padding:80px 48px; }
.eas-st-sec-head { display:flex; align-items:center; gap:24px; margin-bottom:48px; }
.eas-st-sec-cap { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:3px; text-transform:uppercase; color:var(--eas-ink-4); white-space:nowrap; }
.eas-st-sec-rule { flex:1; height:1px; background:var(--eas-rule); }

.eas-st-related-grid { display:grid !important; grid-template-columns:repeat(3,1fr); gap:2px; }
.eas-st-rcard { background:var(--eas-paper); display:flex; flex-direction:column; overflow:hidden; cursor:pointer; border-top:2px solid transparent; transition:border-top-color .28s var(--eas-ease); }
.eas-st-rcard:hover { border-top-color:var(--eas-accent); }
.eas-st-rcard-img { height:218px; position:relative; overflow:hidden; flex-shrink:0; }
.eas-st-rcard-img-bg { position:absolute; inset:0; transition:transform .45s var(--eas-ease); }
.eas-st-rcard:hover .eas-st-rcard-img-bg { transform:scale(1.05); }
.eas-st-rcard-kicker { display:flex; align-items:center; justify-content:space-between; padding:14px 24px 0; }
.eas-st-rcard-cat { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2.5px; text-transform:uppercase; color:var(--eas-accent); }
.eas-st-rcard-meta { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:.5px; color:var(--eas-ink-4); display:flex; align-items:center; gap:8px; }
.eas-st-rcard-meta-dot { color:var(--eas-rule); }
.eas-st-rcard-body { padding:16px 24px 28px; flex:1; display:flex; flex-direction:column; }
.eas-st-rcard-title { font-family:'Playfair Display',serif; font-size:20px; font-weight:500; color:var(--eas-ink); line-height:1.22; letter-spacing:-.01em; flex:1; margin-bottom:12px; transition:color .18s; }
.eas-st-rcard:hover .eas-st-rcard-title { color:var(--eas-accent); }
.eas-st-rcard-deck { font-family:'Source Serif 4',serif; font-size:13px; font-style:normal; color:var(--eas-ink-3); line-height:1.65; margin-bottom:16px; }
.eas-st-rcard-authority { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--eas-rule-2); }
.eas-st-rcard-read { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:1px; color:var(--eas-ink-4); }
.eas-st-rcard-arrow { font-family:'Overpass Mono',monospace; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--eas-accent); opacity:0; transform:translateX(-8px); transition:opacity .2s,transform .2s; display:inline-flex; align-items:center; gap:6px; }
.eas-st-rcard:hover .eas-st-rcard-arrow { opacity:1; transform:none; }

/* ── ZONE 6: FOOTER CTA ──────────────────────────────────────────── */
.eas-st-footer-cta { background:var(--eas-parchment); padding:110px 48px; position:relative; }
.eas-st-fcta-ghost { display:none; }
.eas-st-fcta-inner { max-width:820px; position:relative; z-index:1; }
.eas-st-root .eas-st-fcta-pre { font-family:'Overpass Mono',monospace !important; font-size:9px !important; letter-spacing:4px; text-transform:uppercase; color:var(--eas-accent) !important; margin-bottom:28px; display:flex; align-items:center; gap:16px; }
.eas-st-root .eas-st-fcta-pre::after { content:''; flex:1; height:1px; background:var(--eas-clay-sm); max-width:120px; }
.eas-st-root .eas-st-fcta-title { font-family:'Playfair Display',serif !important; font-size:clamp(42px,6vw,84px) !important; font-weight:700 !important; line-height:.92 !important; color:var(--eas-ink) !important; letter-spacing:-.04em; margin-bottom:32px; }
.eas-st-root .eas-st-fcta-title em { font-style:normal !important; font-weight:400 !important; color:var(--eas-accent) !important; }
.eas-st-root .eas-st-fcta-body { font-family:'Source Serif 4',serif !important; font-size:17px !important; font-weight:300 !important; font-style:normal !important; color:var(--eas-ink-2) !important; max-width:520px; line-height:1.72; margin-bottom:48px; }
.eas-st-fcta-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.eas-st-fcta-btn { font-family:'Overpass Mono',monospace; font-size:10px; letter-spacing:3px; text-transform:uppercase; background:var(--eas-ink); color:var(--eas-paper) !important; padding:18px 52px; border:2px solid var(--eas-ink); transition:all .25s var(--eas-ease); }
.eas-st-fcta-btn:hover { background:var(--eas-accent); border-color:var(--eas-accent); }
.eas-st-root .eas-st-fcta-ghost-btn { font-family:'Source Serif 4',serif !important; font-size:14px !important; font-style:normal !important; color:var(--eas-ink-3) !important; border-bottom:1px solid var(--eas-rule); padding-bottom:2px; transition:color .2s; }
.eas-st-root .eas-st-fcta-ghost-btn:hover { color:var(--eas-accent) !important; }
.eas-st-root .eas-st-fcta-note { margin-top:18px; font-family:'Overpass Mono',monospace !important; font-size:8px !important; letter-spacing:1.5px; color:var(--eas-ink-4) !important; }

/* ── Footer bar ────────────────────────────────────────────────────── */
.eas-st-fbar { background:var(--eas-ink); padding:22px 48px; display:flex; align-items:center; justify-content:space-between; }
.eas-st-fbar-logo { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:2.5px; text-transform:uppercase; color:rgba(246,241,233,.32); }
.eas-st-fbar-links { display:flex; gap:28px; }
.eas-st-fbar-links a { font-family:'Overpass Mono',monospace; font-size:8px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(246,241,233,.22); transition:color .18s; }
.eas-st-fbar-links a:hover { color:rgba(246,241,233,.6); }

/* ── Foxiz visual header suppression on single posts ─────────────── */
.single .site-header,
.single .rb-header,
.single #masthead,
.single .eas-progress-bar { display:none !important; }

/* ─────────────────────────────────────────────────────────────────────
   EAS SINGLE POST — CSS PATCH · May 2026
───────────────────────────────────────────────────────────────────── */

/* ── FIX 1: Watermark — fully hidden on live site ────────────────── */
.eas-st-root .eas-st-title-wm {
    display: none !important;
}

/* ── FIX 2: Foxiz visual header + footer CSS suppression ─────────── */
.single .rb-header,
.single #site-header,
.single .rb-site-header,
.single .foxiz-header,
.single #rb-header,
.single [class*="rb-header"],
.single [id*="foxiz-header"] {
    display: none !important;
}
.single .rb-footer,
.single #site-footer,
.single .rb-site-footer,
.single .foxiz-footer,
.single #rb-footer,
.single [class*="rb-footer"],
.single [id*="foxiz-footer"] {
    display: none !important;
}
.single #wpadminbar { display: block !important; }

/* ── FIX 3: Body text justify ────────────────────────────────────── */
.eas-st-root .eas-st-copy p,
.eas-st-root .eas-st-copy > p {
    text-align: justify !important;
    text-justify: inter-word;
}

/* ── FIX 4: Margin column z-index — prevents vertical text bleed ── */
.eas-st-root .eas-st-magazine-body {
    position: relative;
}
.eas-st-root .eas-st-margin-col {
    z-index: 0 !important;
    position: sticky !important;
    top: 80px;
    align-self: start;
}
.eas-st-root .eas-st-copy {
    position: relative;
    z-index: 1;
}
.eas-st-root .eas-st-sidebar {
    z-index: 0;
    position: sticky !important;
    top: 80px;
    align-self: start;
}

/* ── FIX 5: Foxiz TOC block residual layout removal ─────────────── */
.eas-st-root .rb-toc,
.eas-st-root .foxiz-toc,
.eas-st-root [class*="rb-toc"],
.eas-st-root [class*="foxiz-toc"] {
    display: none !important;
}


/* ── Custom cursor — pointer:fine devices only (desktop) ─────────── */
@media (pointer:fine) {
  .eas-st-root { cursor: none; }
  .eas-st-root a, .eas-st-root button,
  .eas-st-root [data-share], .eas-st-root [data-target] {
    cursor: none;
  }
  #eas-cursor-dot {
    position: fixed;
    top: 0; left: 0;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #B8780A;
    box-shadow: 0 0 0 1px #F2EBD9, 0 0 0 2px #1A0F06;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%,-50%);
    transition: width .15s ease, height .15s ease, opacity .2s ease;
    opacity: 1;
  }
  #eas-cursor-ring {
    position: fixed;
    top: 0; left: 0;
    width: 32px; height: 32px;
    border-radius: 50%;
    border: 1.5px solid #B8780A;
    box-shadow: 0 0 0 1px rgba(26,15,6,0.4);
    pointer-events: none;
    z-index: 9998;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: opacity .3s ease, width .2s ease, height .2s ease;
  }
  #eas-cursor-dot.is-link {
    width: 4px; height: 4px; opacity: .5;
  }
  #eas-cursor-ring.is-link {
    opacity: .45; width: 40px; height: 40px;
  }
  #eas-cursor-dot.is-hidden,
  #eas-cursor-ring.is-hidden { opacity: 0 !important; }
}

/* ─────────────────────────────────────────────────────────────────────────
   EAS SINGLE POST — MOBILE RESPONSIVE BREAKPOINTS · May 2026
   APPEND to END of eas-single-post.css — do not modify rules above
────────────────────────────────────────────────────────────────────────── */

/* ── 1024px: collapse margin column, adjust grids ─────────────────────── */
@media (max-width: 1024px) {

  /* ZONE 5 — Margin column hidden */
  .eas-st-margin-col {
    display: none !important;
  }

  /* Magazine body: content + sidebar only */
  .eas-st-magazine-body {
    grid-template-columns: 1fr 248px !important;
    padding: 0 32px !important;
  }

  /* Author band: avatar + body, no quote column */
  .eas-st-author-inner {
    grid-template-columns: 100px 1fr !important;
    padding: 48px 32px !important;
  }
  .eas-st-author-right { display: none !important; }
  .eas-st-author-body  { border-right: none !important; padding-right: 0 !important; }
}

/* ── 768px: full mobile — single column, reduced padding ──────────────── */
@media (max-width: 768px) {

  /* ZONE 1 — Nav: brand left, Begin right, left links hidden */
  .eas-st-nav {
    grid-template-columns: 1fr auto !important;
    padding: 0 20px !important;
    height: 56px !important;
  }
  .eas-st-nav-left { display: none !important; }
  .eas-st-nav-center {
    font-size: 11px !important;
    letter-spacing: 0.3px !important;
    text-align: left !important;
  }
  .eas-st-nav-right { gap: 12px !important; }
  .eas-st-nav-right a:not(.eas-st-nav-begin) { display: none !important; }

  /* ZONE 2 — Magazine: single column, no sidebar */
  .eas-st-magazine-body {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
  }
  .eas-st-margin-col { display: none !important; }
  .eas-st-sidebar    { display: none !important; }

  /* ZONE 3 — Masthead */
  .eas-st-masthead { padding: 24px 20px !important; }
  .eas-st-issue-strip {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 14px 0 !important;
  }
  .eas-st-title-block { padding: 32px 0 0 !important; }
  .eas-st-root .eas-st-h1 {
    font-size: clamp(2rem, 8vw, 3.5rem) !important;
  }
  .eas-st-deck-bar {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 28px 0 36px !important;
  }
  .eas-st-deck { font-size: 1rem !important; }
  .eas-st-title-meta { align-items: flex-start !important; }
  .eas-st-meta-author-row { justify-content: flex-start !important; }
  .eas-st-meta-name, .eas-st-meta-role, .eas-st-meta-details { text-align: left !important; }

  /* ZONE 4 — Photo band */
  .eas-st-photo-band {
    height: clamp(240px, 56vw, 360px) !important;
    margin-top: 0 !important;
  }
  .eas-st-photo-caption-bar {
    padding: 10px 20px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  /* ZONE 6 — Body copy */
  .eas-st-copy {
    padding: 48px 20px 64px !important;
    border-right: none !important;
  }
  .eas-st-root .eas-st-copy p {
    font-size: 1rem !important;
    line-height: 1.75 !important;
  }
  .eas-st-pull-quote  { margin: 40px 0 !important; padding: 40px 20px !important; }
  .eas-st-field-note  { margin: 32px 0 !important; }
  .eas-st-mid-image   { margin: 40px 0 !important; }
  .eas-st-mid-canvas  { height: 220px !important; }

  /* ZONE 7 — Footer CTA */
  .eas-st-footer-cta { padding: 48px 24px !important; }
  .eas-st-root .eas-st-fcta-title {
    font-size: clamp(1.8rem, 7vw, 2.5rem) !important;
  }
  .eas-st-fcta-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
  }
  .eas-st-fcta-btn {
    text-align: center !important;
    padding: 16px 24px !important;
  }

  /* Author band mobile */
  .eas-st-author-inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 40px 20px !important;
  }
  .eas-st-author-left  { flex-direction: row !important; align-items: center !important; padding-right: 0 !important; }
  .eas-st-author-body  { padding: 0 !important; border-right: none !important; }
  .eas-st-author-right { display: none !important; }

  /* Related grid mobile */
  .eas-st-related-inner { padding: 48px 20px !important; }
  .eas-st-related-grid  { grid-template-columns: 1fr !important; }

  /* Footer bar mobile */
  .eas-st-fbar {
    flex-direction: column !important;
    gap: 14px !important;
    padding: 20px !important;
    text-align: center !important;
  }
  .eas-st-fbar-links {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 16px !important;
  }
}
