/* ===========================================
   THE RESEARCHER'S ALMANAC
   Editorial Design System
   =========================================== */

/* ---- FONT IMPORTS ---- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400&family=Caveat:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  /* Paper & Ink */
  --alm-paper: #F3EFE6;
  --alm-paper-warm: #EDE8DC;
  --alm-paper-dark: #E8E2D4;
  --alm-ink: #111A2B;
  --alm-ink-light: #1E2D42;
  --alm-ink-muted: #4A5568;
  --alm-ink-faint: #8896A8;
  
  /* Accent — dusty almanac red */
  --alm-red: #B5432C;
  --alm-red-soft: rgba(181, 67, 44, 0.08);
  --alm-red-wash: rgba(181, 67, 44, 0.04);
  
  /* Secondary accents */
  --alm-gold: #A67C3B;
  --alm-green: #4A6741;
  --alm-blue: #2E4A62;
  
  /* Rules */
  --alm-rule: rgba(17, 26, 43, 0.12);
  --alm-rule-strong: rgba(17, 26, 43, 0.25);
  
  /* Typography */
  --alm-serif-display: 'Cormorant Garamond', 'Georgia', 'Times New Roman', serif;
  --alm-serif-body: 'Source Serif 4', 'Georgia', serif;
  --alm-sans: 'Inter', -apple-system, sans-serif;
  --alm-hand: 'Caveat', 'Brush Script', cursive;
  
  /* Spacing */
  --alm-gutter: 24px;
  --alm-col: 72px;
}

/* ===========================================
   BASE RESET FOR ALMANAC
   =========================================== */
body.almanac {
  font-family: var(--alm-serif-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--alm-ink);
  background: var(--alm-paper);
  -webkit-font-smoothing: antialiased;
}

body.almanac h1, 
body.almanac h2, 
body.almanac h3, 
body.almanac h4 {
  font-family: var(--alm-serif-display);
  font-weight: 400;
  line-height: 1.15;
  color: var(--alm-ink);
  letter-spacing: -0.01em;
}

body.almanac h1 { font-size: clamp(2.8rem, 6vw, 4.5rem); font-weight: 300; }
body.almanac h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
body.almanac h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 500; }
body.almanac h4 { font-size: 1.1rem; font-weight: 600; }

body.almanac a {
  color: var(--alm-ink);
  text-decoration: none;
  border-bottom: 0.5px solid var(--alm-rule-strong);
  transition: border-color 0.2s, color 0.2s;
}
body.almanac a:hover {
  color: var(--alm-red);
  border-bottom-color: var(--alm-red);
}

body.almanac p {
  margin-bottom: 1.2em;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

/* ===========================================
   MASTHEAD HEADER
   =========================================== */
.alm-masthead {
  border-bottom: 0.5px solid var(--alm-rule);
  padding: 48px 0 16px;
}
.alm-masthead__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  gap: 24px;
}
.alm-masthead__left {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  line-height: 1.6;
}
.alm-masthead__logo {
  text-align: center;
}
.alm-masthead__logo a {
  border-bottom: none;
  display: inline-block;
}
.alm-masthead__logo img {
  max-height: 28px;
  width: auto;
  opacity: 0.85;
  filter: grayscale(100%) brightness(0.2);
}
.alm-masthead__right {
  text-align: right;
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
}
.alm-masthead__issue {
  cursor: pointer;
  transition: color 0.2s;
}
.alm-masthead__issue:hover {
  color: var(--alm-red);
}

/* ===========================================
   NAVIGATION (ALMANAC OVERRIDE)
   =========================================== */
body.almanac .eq-header {
  background: var(--alm-paper);
  border-bottom: 0.5px solid var(--alm-rule);
}
body.almanac .eq-header__inner {
  max-width: 1140px;
  height: 56px;
}
body.almanac .eq-nav a {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  border-bottom: none;
  padding: 8px 12px;
}
body.almanac .eq-nav a:hover {
  color: var(--alm-ink);
  background: var(--alm-paper-warm);
}
body.almanac .eq-header__actions .eq-btn {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0;
  border: 0.5px solid var(--alm-rule-strong);
  background: transparent;
  color: var(--alm-ink);
  padding: 8px 18px;
}
body.almanac .eq-header__actions .eq-btn--primary {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}
body.almanac .eq-header__actions .eq-btn--primary:hover {
  background: var(--alm-red);
  border-color: var(--alm-red);
  color: var(--alm-paper);
}
body.almanac .eq-menu-toggle {
  border: 0.5px solid var(--alm-rule-strong);
  background: var(--alm-paper);
}

/* Header user dropdown */
body.almanac .eq-header__user {
  position: relative;
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
}
body.almanac .eq-header__user-name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  cursor: pointer;
  color: var(--alm-ink);
  border: 0.5px solid var(--alm-rule-strong);
  transition: all 0.2s;
}
body.almanac .eq-header__user-name::after {
  content: '\25BC';
  font-size: 0.5rem;
  color: var(--alm-ink-faint);
}
body.almanac .eq-header__user:hover .eq-header__user-name {
  background: var(--alm-paper-warm);
}
body.almanac .eq-header__user-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 160px;
  background: var(--alm-paper);
  border: 0.5px solid var(--alm-rule-strong);
  box-shadow: 0 4px 16px rgba(17, 26, 43, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: all 0.2s ease;
  z-index: 200;
}
body.almanac .eq-header__user:hover .eq-header__user-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
body.almanac .eq-header__user-dropdown a {
  display: block;
  padding: 10px 16px;
  font-size: 0.8125rem;
  color: var(--alm-ink-muted);
  border-bottom: 0.5px solid var(--alm-rule);
  border-bottom-color: transparent;
  transition: all 0.15s;
}
body.almanac .eq-header__user-dropdown a:hover {
  background: var(--alm-paper-warm);
  color: var(--alm-ink);
}

/* ===========================================
   EDITORIAL HEADLINE SECTION
   =========================================== */
.alm-frontispiece {
  padding: 64px 0 48px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.alm-frontispiece__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}
.alm-frontispiece__label {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--alm-red);
  margin-bottom: 24px;
  display: block;
}
.alm-frontispiece__headline {
  font-family: var(--alm-serif-display);
  font-size: clamp(2rem, 5vw, 3.8rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--alm-ink);
  margin-bottom: 32px;
  max-width: 900px;
}
.alm-frontispiece__headline em {
  font-style: italic;
  font-weight: 400;
  color: var(--alm-red);
}

/* Editorial opening line — static, normal Almanac body sizing */
.alm-frontispiece__opening {
  font-family: var(--alm-serif-body);
  font-size: clamp(1.0625rem, 2.1vw, 1.35rem);
  line-height: 1.65;
  font-weight: 400;
  color: var(--alm-ink);
  max-width: 760px;
  margin: 0 0 32px;
}

@media (max-width: 767px) {
  .alm-frontispiece__opening {
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-bottom: 24px;
  }
}

/* ---- Almanac content cards -------------------------------------------- */
  }
}

/* "I study ___" prompt */
.alm-prompt {
  margin-bottom: 40px;
}
.alm-prompt__label {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--alm-ink-muted);
  margin-bottom: 12px;
  display: block;
}
.alm-prompt__form {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 480px;
  border-bottom: 0.5px solid var(--alm-rule-strong);
  padding-bottom: 8px;
}
.alm-prompt__form input {
  flex: 1;
  font-family: var(--alm-serif-display);
  font-size: 1.5rem;
  font-weight: 400;
  font-style: italic;
  color: var(--alm-ink);
  background: transparent;
  border: none;
  outline: none;
  padding: 0;
  min-width: 120px;
}
.alm-prompt__form input::placeholder {
  color: var(--alm-ink-faint);
  font-style: italic;
}
.alm-prompt__form button {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--alm-ink);
  color: var(--alm-paper);
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.alm-prompt__form button:hover {
  background: var(--alm-red);
}
.alm-prompt__ghost {
  font-family: var(--alm-serif-display);
  font-size: 1.5rem;
  font-weight: 400;
  font-style: italic;
  color: var(--alm-ink-faint);
  pointer-events: none;
  position: absolute;
  opacity: 0.4;
  transition: opacity 0.4s;
}

/* ===========================================
   FOUR-COLUMN DISPATCHES
   =========================================== */
.alm-dispatches {
  padding: 48px 0 64px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.alm-dispatches__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}
.alm-dispatches__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 32px;
  border-bottom: 0.5px solid var(--alm-rule);
  padding-bottom: 12px;
}
.alm-dispatches__header h2 {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0;
}
.alm-dispatches__header span {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
}
.alm-dispatch-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.alm-dispatch {
  position: relative;
}
.alm-dispatch::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.5px;
  background: var(--alm-rule-strong);
}
.alm-dispatch__kicker {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-red);
  padding-top: 16px;
  margin-bottom: 8px;
  display: block;
}
.alm-dispatch__title {
  font-family: var(--alm-serif-display);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 10px;
}
.alm-dispatch__title a {
  border-bottom: none;
  color: var(--alm-ink);
}
.alm-dispatch__title a:hover {
  color: var(--alm-red);
}
.alm-dispatch__lede {
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--alm-ink-muted);
  margin-bottom: 12px;
}
.alm-dispatch__meta {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
  letter-spacing: 0.02em;
}
.alm-dispatch__meta .alm-deadline {
  color: var(--alm-red);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* ===========================================
   THE CONSTELLATION
   =========================================== */
.alm-constellation {
  padding: 0;
  background: var(--alm-ink);
  position: relative;
  overflow: hidden;
}
.alm-constellation__header {
  position: absolute;
  top: 48px;
  left: 24px;
  right: 24px;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  pointer-events: none;
}
.alm-constellation__header h2 {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 300;
  color: var(--alm-paper);
  margin: 0;
  max-width: 500px;
  line-height: 1.2;
}
.alm-constellation__header h2 em {
  font-style: italic;
  color: var(--alm-paper);
  opacity: 0.7;
}
.alm-constellation__caption {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(243, 239, 230, 0.4);
  text-align: right;
}
.alm-constellation__canvas {
  width: 100%;
  height: 600px;
  display: block;
  cursor: crosshair;
}
.alm-constellation__tooltip {
  position: absolute;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--alm-paper);
  background: rgba(17, 26, 43, 0.9);
  border: 0.5px solid rgba(243, 239, 230, 0.2);
  padding: 6px 12px;
  border-radius: 2px;
  pointer-events: none;
  display: none;
  z-index: 20;
  white-space: nowrap;
}

/* ===========================================
   BUTTONS (global — no body.almanac required)
   =========================================== */
.eq-btn-primary {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 24px;
  background: var(--alm-ink);
  color: #F3EFE6 !important;
  border: 0.5px solid var(--alm-ink);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
.eq-btn-primary:hover {
  background: var(--alm-red);
  border-color: var(--alm-red);
  color: #F3EFE6 !important;
}
.eq-btn-secondary {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 10px 20px;
  background: transparent;
  color: var(--alm-ink) !important;
  border: 0.5px solid var(--alm-rule-strong);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
.eq-btn-secondary:hover {
  background: var(--alm-ink);
  color: #F3EFE6 !important;
  border-color: var(--alm-ink);
}

/* ===========================================
   THE LEDGER
   =========================================== */
.alm-ledger {
  padding: 96px 0;
  background: var(--alm-paper);
  border-bottom: 0.5px solid var(--alm-rule);
}
.alm-ledger__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 64px;
  align-items: start;
}
.alm-ledger__header {
  position: sticky;
  top: 100px;
}
.alm-ledger__header h2 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  margin-bottom: 16px;
}
.alm-ledger__header p {
  font-size: 1.0625rem;
  color: var(--alm-ink-muted);
  line-height: 1.7;
  margin-bottom: 24px;
}
/* Ledger "Open Your Ledger" button — maximum specificity */
.alm-ledger__header a.eq-btn-primary {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 24px;
  background: var(--alm-red);
  color: #F3EFE6 !important;
  border: 0.5px solid var(--alm-red);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
  margin-top: 8px;
}
.alm-ledger__header a.eq-btn-primary:hover {
  background: var(--alm-ink);
  border-color: var(--alm-ink);
  color: #F3EFE6 !important;
}

.alm-ledger__book {
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  box-shadow: 
    0 1px 2px rgba(17, 26, 43, 0.04),
    0 4px 12px rgba(17, 26, 43, 0.06);
  padding: 32px 28px;
  position: relative;
  transform: rotate(-0.3deg);
}
.alm-ledger__book::before {
  content: '';
  position: absolute;
  top: 0;
  left: 36px;
  width: 0.5px;
  height: 100%;
  background: var(--alm-rule);
}
.alm-ledger__entry {
  position: relative;
  padding-left: 32px;
  margin-bottom: 28px;
}
.alm-ledger__entry:last-child {
  margin-bottom: 0;
}
.alm-ledger__entry-title {
  font-family: var(--alm-serif-display);
  font-size: 1.1rem;
  font-weight: 500;
  margin-bottom: 4px;
  color: var(--alm-ink);
}
.alm-ledger__entry-title.crossed {
  text-decoration: line-through;
  text-decoration-color: var(--alm-red);
  text-decoration-thickness: 0.5px;
  color: var(--alm-ink-faint);
}
.alm-ledger__entry-meta {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
  letter-spacing: 0.03em;
  margin-bottom: 6px;
}
.alm-ledger__note {
  font-family: var(--alm-hand);
  font-size: 1rem;
  color: var(--alm-blue);
  line-height: 1.4;
  margin: 0;
  transform: rotate(-1deg);
  transform-origin: left center;
}
.alm-ledger__note--red {
  color: var(--alm-red);
}
.alm-ledger__note--green {
  color: var(--alm-green);
}
.alm-ledger__stamp {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 8px;
  border: 0.5px solid;
  margin-top: 6px;
  transform: rotate(-2deg);
}
.alm-ledger__stamp--submitted {
  color: var(--alm-green);
  border-color: var(--alm-green);
  opacity: 0.7;
}
.alm-ledger__stamp--rejected {
  color: var(--alm-red);
  border-color: var(--alm-red);
  opacity: 0.6;
}
.alm-ledger__stamp--revised {
  color: var(--alm-gold);
  border-color: var(--alm-gold);
  opacity: 0.7;
}

/* ===========================================
   FIELD NOTES
   =========================================== */
.alm-fieldnotes {
  padding: 96px 0;
  background: var(--alm-paper-warm);
  border-bottom: 0.5px solid var(--alm-rule);
}
.alm-fieldnotes__inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.alm-fieldnotes__header {
  text-align: center;
  margin-bottom: 56px;
}
.alm-fieldnotes__header h2 {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin-bottom: 8px;
}
.alm-fieldnotes__header p {
  font-family: var(--alm-serif-display);
  font-size: 1.25rem;
  font-weight: 300;
  font-style: italic;
  color: var(--alm-ink-muted);
  margin: 0;
}
.alm-epigraph {
  margin-bottom: 48px;
  position: relative;
  padding-left: 48px;
}
.alm-epigraph:last-child {
  margin-bottom: 0;
}
.alm-epigraph__quote {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.35;
  color: var(--alm-ink);
  margin-bottom: 16px;
}
.alm-epigraph__quote::before {
  content: '“';
  position: absolute;
  left: 0;
  top: -0.15em;
  font-size: 3rem;
  font-family: var(--alm-serif-display);
  font-weight: 300;
  color: var(--alm-red);
  opacity: 0.3;
  line-height: 1;
}
.alm-epigraph__attribution {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--alm-ink-muted);
  text-transform: uppercase;
}
.alm-epigraph__attribution em {
  font-style: normal;
  color: var(--alm-ink-faint);
  text-transform: none;
}

/* ===========================================
   PRICING AS MASTHEAD
   =========================================== */
.alm-masthead-pricing {
  padding: 96px 0;
  background: var(--alm-paper);
  border-bottom: 0.5px solid var(--alm-rule);
}
.alm-masthead-pricing__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
}
.alm-masthead-pricing__header {
  text-align: center;
  margin-bottom: 56px;
}
.alm-masthead-pricing__header h2 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  margin-bottom: 8px;
}
.alm-masthead-pricing__header p {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  color: var(--alm-ink-muted);
  font-style: italic;
}
.alm-subscribe-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 0.5px solid var(--alm-rule-strong);
}
.alm-subscribe-tier {
  padding: 40px 32px;
  position: relative;
}
.alm-subscribe-tier:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 24px;
  right: 0;
  bottom: 24px;
  width: 0.5px;
  background: var(--alm-rule);
}
.alm-subscribe-tier__name {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin-bottom: 16px;
}
.alm-subscribe-tier__price {
  font-family: var(--alm-serif-display);
  font-size: 2.5rem;
  font-weight: 300;
  color: var(--alm-ink);
  line-height: 1;
  margin-bottom: 8px;
}
.alm-subscribe-tier__price span {
  font-size: 1rem;
  color: var(--alm-ink-faint);
}
.alm-subscribe-tier__period {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  margin-bottom: 28px;
}
.alm-subscribe-tier__features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}
.alm-subscribe-tier__features li {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink-muted);
  padding: 6px 0;
  position: relative;
  padding-left: 16px;
}
.alm-subscribe-tier__features li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--alm-rule-strong);
}
.alm-subscribe-tier__cta {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 24px;
  border: 0.5px solid var(--alm-ink);
  color: var(--alm-ink);
  text-decoration: none;
  transition: all 0.2s;
}
.alm-subscribe-tier__cta:hover {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}
.alm-subscribe-tier--featured {
  background: var(--alm-paper-warm);
}
.alm-subscribe-tier--featured .alm-subscribe-tier__name {
  color: var(--alm-red);
}
.alm-subscribe-tier--featured .alm-subscribe-tier__cta {
  background: var(--alm-ink);
  color: var(--alm-paper);
}
.alm-subscribe-tier--featured .alm-subscribe-tier__cta:hover {
  background: var(--alm-red);
  border-color: var(--alm-red);
}

/* ===========================================
   FAQ (ALMANAC OVERRIDE)
   =========================================== */
body.almanac .eq-faq {
  background: var(--alm-paper);
  padding: 96px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
body.almanac .eq-faq-item {
  border-bottom: 0.5px solid var(--alm-rule);
}
body.almanac .eq-faq-item__question {
  font-family: var(--alm-serif-display);
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--alm-ink);
  padding: 24px 0;
}
body.almanac .eq-faq-item__question:hover {
  color: var(--alm-red);
}
body.almanac .eq-faq-item__answer p {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  color: var(--alm-ink-muted);
  line-height: 1.7;
}
body.almanac .eq-faq-item__icon {
  background: var(--alm-paper-warm);
}
body.almanac .eq-faq-item.is-open .eq-faq-item__icon {
  background: var(--alm-red-soft);
  color: var(--alm-red);
}

/* ===========================================
   FINAL CTA (ALMANAC OVERRIDE)
   =========================================== */
body.almanac .eq-cta-band {
  background: var(--alm-ink);
  padding: 80px 0;
}
body.almanac .eq-cta-band h2 {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 300;
  color: var(--alm-paper);
}
body.almanac .eq-cta-band p {
  color: rgba(243, 239, 230, 0.6);
  font-family: var(--alm-serif-body);
}
body.almanac .eq-cta-band .eq-btn--primary {
  background: var(--alm-paper);
  color: var(--alm-ink);
  border-color: var(--alm-paper);
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 0;
}
body.almanac .eq-cta-band .eq-btn--primary:hover {
  background: var(--alm-red);
  color: var(--alm-paper);
  border-color: var(--alm-red);
}
body.almanac .eq-cta-band .eq-btn--light {
  background: transparent;
  color: var(--alm-paper);
  border-color: rgba(243, 239, 230, 0.3);
  border-radius: 0;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.almanac .eq-cta-band .eq-btn--light:hover {
  border-color: var(--alm-paper);
  background: rgba(243, 239, 230, 0.08);
}

/* ===========================================
   FOOTER (ALMANAC OVERRIDE)
   =========================================== */
body.almanac .eq-footer {
  background: var(--alm-paper-dark);
  border-top: 0.5px solid var(--alm-rule);
  color: var(--alm-ink-muted);
}
body.almanac .eq-footer__brand img {
  filter: grayscale(100%) brightness(0.25);
}
body.almanac .eq-footer__heading {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
}
body.almanac .eq-footer__links a {
  color: var(--alm-ink-faint);
  border-bottom: none;
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
}
body.almanac .eq-footer__links a:hover {
  color: var(--alm-ink);
}
body.almanac .eq-footer__legal {
  border-top: 0.5px solid var(--alm-rule);
}
body.almanac .eq-footer__bottom {
  border-top: 0.5px solid var(--alm-rule);
}
body.almanac .eq-footer__copy {
  color: var(--alm-ink-faint);
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  letter-spacing: 0.02em;
}

/* ===========================================
   RESPONSIVE — ALMANAC
   =========================================== */
@media (max-width: 1024px) {
  .alm-dispatch-grid { grid-template-columns: repeat(2, 1fr); }
  .alm-ledger__inner { grid-template-columns: 1fr; gap: 48px; }
  .alm-ledger__header { position: static; }
  .alm-subscribe-grid { grid-template-columns: 1fr; }
  .alm-subscribe-tier:not(:last-child)::after {
    display: none;
  }
  .alm-subscribe-tier {
    border-bottom: 0.5px solid var(--alm-rule);
  }
  .alm-epigraph { padding-left: 36px; }
  .alm-epigraph__quote::before { font-size: 2.2rem; }
  .alm-masthead__inner { grid-template-columns: 1fr; text-align: center; gap: 8px; }
  .alm-masthead__left, .alm-masthead__right { text-align: center; }
}

@media (max-width: 768px) {
  .alm-dispatch-grid { grid-template-columns: 1fr; }
  .alm-constellation__canvas { height: 420px; }
  .alm-constellation__header {
    flex-direction: column;
    gap: 12px;
  }
  .alm-constellation__header h2 { max-width: 100%; }
  .alm-prompt__form input { font-size: 1.2rem; }
  .alm-frontispiece__headline { font-size: 1.8rem; }
  body.almanac h1 { font-size: 2.2rem; }
  .alm-fieldnotes__header p { font-size: 1.1rem; }
  .alm-epigraph__quote { font-size: 1.2rem; }
}

/* ===========================================
   ENTRANCE ANIMATIONS — ALMANAC
   =========================================== */
body.almanac .eq-animate {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 600ms cubic-bezier(0.22, 1, 0.36, 1), transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
body.almanac .eq-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===========================================
   SCROLLBAR — ALMANAC
   =========================================== */
body.almanac::-webkit-scrollbar {
  width: 6px;
}
body.almanac::-webkit-scrollbar-track {
  background: var(--alm-paper);
}
body.almanac::-webkit-scrollbar-thumb {
  background: var(--alm-rule-strong);
  border-radius: 3px;
}

/* ===========================================
   CONTENT ENGINE — ARCHIVE, SINGLE, LANDING
   Journals | Funding | Jobs
   =========================================== */

/* ---- SHARED: CONTAINER ---- */
.eq-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---- ARCHIVE HERO ---- */
.eq-archive-hero {
  padding: 64px 0 40px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-masthead-label {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--alm-red);
  display: block;
  margin-bottom: 16px;
}
.eq-archive-title {
  font-family: var(--alm-serif-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--alm-ink);
  margin: 0 0 16px;
}
.eq-archive-lede {
  font-family: var(--alm-serif-body);
  font-size: 1.0625rem;
  color: var(--alm-ink-muted);
  line-height: 1.6;
  max-width: 680px;
  margin: 0 0 24px;
}
.eq-archive-stats-bar {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.eq-stat {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  color: var(--alm-ink-faint);
}
.eq-stat strong {
  color: var(--alm-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* ---- LANDING HERO ---- */
.eq-landing-hero {
  padding: 80px 0 48px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-landing-title {
  font-family: var(--alm-serif-display);
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  font-weight: 300;
  line-height: 1.1;
  margin: 0 0 20px;
}
.eq-landing-lede {
  font-family: var(--alm-serif-body);
  font-size: 1.0625rem;
  color: var(--alm-ink-muted);
  line-height: 1.65;
  max-width: 700px;
  margin: 0 0 28px;
}
.eq-landing-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

/* ---- BUTTONS ---- */
body.almanac .eq-btn-primary,
body.almanac a.eq-btn-primary {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 24px;
  background: var(--alm-ink);
  color: var(--alm-paper) !important;
  border: 0.5px solid var(--alm-ink);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
body.almanac .eq-btn-primary:hover,
body.almanac a.eq-btn-primary:hover {
  background: var(--alm-red);
  border-color: var(--alm-red);
  color: var(--alm-paper) !important;
}
body.almanac .eq-btn-secondary,
body.almanac a.eq-btn-secondary {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 10px 20px;
  background: transparent;
  color: var(--alm-ink) !important;
  border: 0.5px solid var(--alm-rule-strong);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
body.almanac .eq-btn-secondary:hover,
body.almanac a.eq-btn-secondary:hover {
  background: var(--alm-ink);
  color: var(--alm-paper) !important;
  border-color: var(--alm-ink);
}
.eq-btn-text {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--alm-ink);
  border-bottom: 0.5px solid var(--alm-rule-strong);
  text-decoration: none;
  padding-bottom: 1px;
  transition: all 0.2s;
}
.eq-btn-text:hover {
  color: var(--alm-red);
  border-bottom-color: var(--alm-red);
}
.eq-btn-save {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 8px 16px;
  background: var(--alm-paper-warm);
  color: var(--alm-ink-muted);
  border: 0.5px solid var(--alm-rule);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
.eq-btn-save:hover {
  background: var(--alm-red-soft);
  color: var(--alm-red);
  border-color: var(--alm-red);
}
.eq-btn-sidebar {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 12px;
}
.eq-btn-apply {
  margin-top: 16px;
}

/* ---- FILTERS ---- */
.eq-archive-filters {
  padding: 20px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-filter-row,
.eq-filter-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.eq-filter-group {
  margin-bottom: 8px;
}
.eq-filter-label {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin-right: 8px;
}
.eq-filter-pill {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  padding: 6px 14px;
  border: 0.5px solid var(--alm-rule);
  color: var(--alm-ink-muted);
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
}
.eq-filter-pill:hover,
.eq-filter-pill.active {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}

/* ---- CARD GRIDS ---- */
.eq-archive-grid {
  padding: 48px 0 80px;
}
.eq-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ---- JOURNAL CARDS ---- */
.eq-journal-card {
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  transition: box-shadow 0.3s, transform 0.3s;
}
.eq-journal-card:hover {
  box-shadow: 0 4px 16px rgba(17, 26, 43, 0.08);
  transform: translateY(-2px);
}
.eq-journal-card-inner {
  padding: 24px;
}
.eq-journal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.eq-journal-discipline {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
}
.eq-journal-badge {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 8px;
}
.eq-badge-gold {
  background: rgba(166, 124, 59, 0.1);
  color: var(--alm-gold);
}
.eq-badge-diamond {
  background: rgba(74, 103, 65, 0.1);
  color: var(--alm-green);
}
.eq-badge-hybrid {
  background: rgba(46, 74, 98, 0.1);
  color: var(--alm-blue);
}
.eq-badge-platinum {
  background: rgba(17, 26, 43, 0.06);
  color: var(--alm-ink-muted);
}
.eq-journal-title {
  font-family: var(--alm-serif-display);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 6px;
}
.eq-journal-title a {
  border-bottom: none;
  color: var(--alm-ink);
}
.eq-journal-title a:hover {
  color: var(--alm-red);
}
.eq-journal-publisher {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  color: var(--alm-ink-muted);
  margin: 0 0 12px;
}
.eq-journal-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.eq-journal-subjects {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}
.eq-subject-tag {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
  background: var(--alm-paper-warm);
  padding: 3px 8px;
  border: 0.5px solid var(--alm-rule);
}
.eq-subject-lg {
  font-size: 0.75rem;
  padding: 4px 10px;
}
.eq-journal-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 0.5px solid var(--alm-rule);
  padding-top: 12px;
}

/* ---- FUNDING CARDS ---- */
.eq-funding-card {
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  transition: box-shadow 0.3s, transform 0.3s;
}
.eq-funding-card:hover {
  box-shadow: 0 4px 16px rgba(17, 26, 43, 0.08);
  transform: translateY(-2px);
}
.eq-funding-card-inner {
  padding: 24px;
}
.eq-funding-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.eq-funding-type {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
}
.eq-deadline-badge {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 4px 10px;
  background: rgba(74, 103, 65, 0.1);
  color: var(--alm-green);
}
.eq-deadline-badge.urgent {
  background: var(--alm-red-soft);
  color: var(--alm-red);
}
.eq-funding-title {
  font-family: var(--alm-serif-display);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 6px;
}
.eq-funding-title a {
  border-bottom: none;
  color: var(--alm-ink);
}
.eq-funding-title a:hover {
  color: var(--alm-red);
}
.eq-funding-funder {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  color: var(--alm-ink-muted);
  margin: 0 0 10px;
}
.eq-funding-excerpt {
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
  color: var(--alm-ink-muted);
  line-height: 1.5;
  margin: 0 0 12px;
}
.eq-funding-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.eq-meta-item {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}
.eq-meta-amount {
  color: var(--alm-ink);
  font-weight: 600;
}
.eq-meta-location {
  color: var(--alm-ink-muted);
}
.eq-meta-salary {
  color: var(--alm-ink);
  font-weight: 600;
}
.eq-meta-highlight {
  font-weight: 600;
  color: var(--alm-ink);
}
.eq-funding-deadline-bar {
  margin-bottom: 16px;
}
.eq-deadline-track {
  height: 3px;
  background: var(--alm-rule);
  margin-bottom: 6px;
}
.eq-deadline-fill {
  height: 100%;
  background: var(--alm-red);
  transition: width 0.6s ease;
}
.eq-deadline-date {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
}
.eq-funding-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 0.5px solid var(--alm-rule);
  padding-top: 12px;
}

/* ---- JOB CARDS ---- */
.eq-job-card {
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  transition: box-shadow 0.3s, transform 0.3s;
}
.eq-job-card:hover {
  box-shadow: 0 4px 16px rgba(17, 26, 43, 0.08);
  transform: translateY(-2px);
}
.eq-job-card-inner {
  padding: 24px;
}
.eq-job-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.eq-job-type {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
}
.eq-job-title {
  font-family: var(--alm-serif-display);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 8px;
}
.eq-job-title a {
  border-bottom: none;
  color: var(--alm-ink);
}
.eq-job-title a:hover {
  color: var(--alm-red);
}
.eq-job-institution {
  margin-bottom: 10px;
}
.eq-inst-name {
  font-family: var(--alm-sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--alm-ink);
  display: block;
}
.eq-dept-name {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}
.eq-dept-sep {
  color: var(--alm-rule-strong);
  margin: 0 6px;
}
.eq-job-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.eq-job-excerpt {
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
  color: var(--alm-ink-muted);
  line-height: 1.5;
  margin: 0 0 12px;
}
.eq-job-deadline {
  border-top: 0.5px solid var(--alm-rule);
  padding-top: 10px;
  margin-bottom: 12px;
}
.eq-deadline-label {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}
.eq-job-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 0.5px solid var(--alm-rule);
  padding-top: 12px;
}

/* ---- PAGINATION ---- */
.eq-pagination {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  gap: 4px;
}
.eq-pagination .page-numbers {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 8px 14px;
  border: 0.5px solid var(--alm-rule);
  color: var(--alm-ink-muted);
  text-decoration: none;
  transition: all 0.2s;
}
.eq-pagination .page-numbers:hover,
.eq-pagination .page-numbers.current {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}

/* ---- EMPTY STATE ---- */
.eq-empty-state {
  text-align: center;
  padding: 64px 24px;
}
.eq-empty-title {
  font-family: var(--alm-serif-display);
  font-size: 1.5rem;
  color: var(--alm-ink);
  margin: 0 0 8px;
}
.eq-empty-state p {
  font-family: var(--alm-serif-body);
  color: var(--alm-ink-muted);
}

/* ===========================================
   SINGLE PAGES — Journals, Funding, Jobs
   =========================================== */

/* ---- BREADCRUMB ---- */
.eq-breadcrumb {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  margin-bottom: 24px;
}
.eq-breadcrumb a {
  color: var(--alm-ink-muted);
  border-bottom: none;
  text-decoration: none;
}
.eq-breadcrumb a:hover {
  color: var(--alm-red);
}
.eq-breadcrumb-sep {
  margin: 0 8px;
  color: var(--alm-rule-strong);
}
.eq-breadcrumb-current {
  color: var(--alm-ink);
}

/* ---- SINGLE HERO ---- */
.eq-single-hero {
  padding: 40px 0 32px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-single-header {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}
.eq-single-discipline,
.eq-single-type {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
}
.eq-single-title {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 12px;
}
.eq-single-subtitle {
  font-family: var(--alm-sans);
  font-size: 0.9375rem;
  color: var(--alm-ink-muted);
}
.eq-institution-name {
  font-weight: 600;
  color: var(--alm-ink);
}

/* ---- SINGLE BODY LAYOUT ---- */
.eq-single-body {
  padding: 48px 0 80px;
}
.eq-single-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
}

/* ---- DETAIL SECTIONS ---- */
.eq-detail-section {
  margin-bottom: 40px;
}
.eq-detail-heading {
  font-family: var(--alm-serif-display);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--alm-ink);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-detail-content {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--alm-ink-muted);
}
.eq-detail-content p {
  margin-bottom: 1em;
}
.eq-detail-note {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink-faint);
  font-style: italic;
}
.eq-detail-about {
  background: var(--alm-paper-warm);
  padding: 24px;
  border: 0.5px solid var(--alm-rule);
}
.eq-detail-about p {
  font-size: 0.9375rem;
  margin-bottom: 0.8em;
}
.eq-detail-about p:last-child {
  margin-bottom: 0;
}

/* ---- RELATED ITEMS ---- */
.eq-related-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.eq-related-item {
  font-family: var(--alm-serif-display);
  font-size: 1.05rem;
  color: var(--alm-ink);
  border-bottom: 0.5px solid var(--alm-rule);
  padding: 10px 0;
  text-decoration: none;
}
.eq-related-item:hover {
  color: var(--alm-red);
}

/* ---- KEYWORD LIST ---- */
.eq-keyword-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.eq-keyword-tag {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-muted);
  background: var(--alm-paper-warm);
  padding: 4px 12px;
  border: 0.5px solid var(--alm-rule);
}

/* ---- SIDEBAR ---- */
.eq-single-sidebar {
  position: sticky;
  top: 100px;
}
.eq-sidebar-panel {
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  padding: 24px;
  margin-bottom: 20px;
}
.eq-panel-highlight {
  background: var(--alm-paper-warm);
}
.eq-panel-title {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-meta-list {
  margin: 0;
  padding: 0;
}
.eq-meta-list dt {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin: 12px 0 2px;
}
.eq-meta-list dt:first-child {
  margin-top: 0;
}
.eq-meta-list dd {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink);
  margin: 0;
  line-height: 1.4;
}
.eq-panel-actions {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 0.5px solid var(--alm-rule);
}
.eq-panel-tip {
  background: var(--alm-paper-warm);
}
.eq-tip-text {
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
  color: var(--alm-ink-muted);
  line-height: 1.5;
  margin: 0 0 12px;
}

/* ===========================================
   LANDING PAGE SECTIONS
   =========================================== */

/* ---- STATS ---- */
.eq-landing-stats {
  padding: 48px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.eq-stat-block {
  text-align: center;
  padding: 16px;
}
.eq-stat-number {
  display: block;
  font-family: var(--alm-serif-display);
  font-size: 2.2rem;
  font-weight: 300;
  color: var(--alm-ink);
  line-height: 1;
  margin-bottom: 6px;
}
.eq-stat-label {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  letter-spacing: 0.04em;
}

/* ---- SAMPLE SECTION ---- */
.eq-landing-sample {
  padding: 64px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-section-title {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  color: var(--alm-ink);
  margin: 0 0 8px;
}
.eq-section-subtitle {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  color: var(--alm-ink-muted);
  margin: 0 0 32px;
}
.eq-landing-cta {
  text-align: center;
  margin-top: 40px;
}

/* ---- DISCIPLINE GRID ---- */
.eq-landing-disciplines {
  padding: 64px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-discipline-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.eq-discipline-card {
  display: flex;
  flex-direction: column;
  padding: 20px;
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  text-decoration: none;
  transition: all 0.2s;
}
.eq-discipline-card:hover {
  background: var(--alm-ink);
  border-color: var(--alm-ink);
}
.eq-discipline-card:hover .eq-discipline-name {
  color: var(--alm-paper);
}
.eq-discipline-card:hover .eq-discipline-count {
  color: rgba(243, 239, 230, 0.6);
}
.eq-discipline-name {
  font-family: var(--alm-serif-display);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--alm-ink);
  margin-bottom: 4px;
}
.eq-discipline-count {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}

/* ---- CATEGORIES ---- */
.eq-landing-categories {
  padding: 64px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-cat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
}
.eq-cat-block h3 {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-cat-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.eq-cat-list li {
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-cat-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  font-family: var(--alm-serif-display);
  font-size: 1.05rem;
  color: var(--alm-ink);
  border-bottom: none;
  text-decoration: none;
}
.eq-cat-list a:hover {
  color: var(--alm-red);
}
.eq-cat-count {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}

/* ---- INFO GRID ---- */
.eq-landing-info {
  padding: 64px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.eq-info-block h3 {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0 0 12px;
}
.eq-info-block p {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink-muted);
  line-height: 1.6;
  margin: 0;
}
.eq-info-block a {
  color: var(--alm-ink);
  border-bottom: 0.5px solid var(--alm-rule-strong);
}
.eq-info-block a:hover {
  color: var(--alm-red);
}

/* ===========================================
   RESPONSIVE — CONTENT ENGINE
   =========================================== */
@media (max-width: 1024px) {
  .eq-card-grid { grid-template-columns: repeat(2, 1fr); }
  .eq-single-grid { grid-template-columns: 1fr; }
  .eq-single-sidebar { position: static; }
  .eq-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .eq-discipline-grid { grid-template-columns: repeat(2, 1fr); }
  .eq-cat-grid { grid-template-columns: 1fr; }
  .eq-info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .eq-card-grid { grid-template-columns: 1fr; }
  .eq-archive-stats-bar { gap: 16px; }
  .eq-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .eq-discipline-grid { grid-template-columns: 1fr; }
  .eq-filter-row,
  .eq-filter-group { gap: 6px; }
  .eq-landing-actions { flex-direction: column; align-items: flex-start; }
  .eq-archive-hero { padding: 40px 0 32px; }
}

/* ===========================================
   ADMIN BAR COMPATIBILITY
   =========================================== */
body.admin-bar .eq-single-sidebar {
  top: 132px;
}

/* ===========================================
   LIVING INSTRUMENT v5.0
   Time Signatures · Compass · Margin · Dossier
   Peer Presence · Seasonal Chapter · Transitions
   =========================================== */

/* ===========================================
   TIME SIGNATURE — Base & Four States
   =========================================== */

/* State indicator in masthead */
.eq-signature-toggle {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin-left: 12px;
  padding: 4px;
  opacity: 0.4;
  transition: opacity 0.3s;
}
.eq-signature-toggle:hover {
  opacity: 1;
}
.eq-sig-indicator {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--alm-ink-faint);
  transition: background 0.4s;
}
body.signature-morning .eq-sig-indicator { background: var(--alm-gold); }
body.signature-midday .eq-sig-indicator { background: var(--alm-blue); }
body.signature-friday .eq-sig-indicator { background: var(--alm-green); }
body.signature-deadline .eq-sig-indicator { background: var(--alm-red); animation: pulse-red 2s infinite; }

@keyframes pulse-red {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* State transition — native navigation should not fade page content */
body {
  transition: background-color 120ms linear;
}
body.is-transitioning {
  opacity: 1;
}

/* ---- MORNING BRIEF (6am–11am, first visits) ---- */
body.signature-morning {
  /* Wide margins, generous whitespace, serif-heavy */
}
body.signature-morning .alm-frontispiece {
  padding: 80px 0 64px;
}
body.signature-morning .alm-frontispiece__headline {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 300;
  max-width: 720px;
}
body.signature-morning .alm-dispatch-grid {
  grid-template-columns: 1fr;
  max-width: 680px;
}
body.signature-morning .alm-dispatch {
  padding: 32px 0;
}
body.signature-morning .alm-dispatch__title {
  font-size: 1.4rem;
}
body.signature-morning .alm-dispatches {
  padding: 32px 0 64px;
}
body.signature-morning .eq-container {
  max-width: 900px;
}

/* ---- MIDDAY SCAN (return visits, 11am–4pm) ---- */
body.signature-midday {
  /* Tighter grid, more items, utilitarian */
}
body.signature-midday .alm-dispatch-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
body.signature-midday .alm-dispatches {
  padding: 32px 0 48px;
}
body.signature-midday .alm-frontispiece {
  padding: 40px 0 32px;
}
body.signature-midday .alm-frontispiece__headline {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
}

/* ---- FRIDAY LEDGER (Fridays after 3pm) ---- */
body.signature-friday {
  /* Weekly close-out view */
}
body.signature-friday .alm-frontispiece {
  display: none;
}
body.signature-friday .alm-dispatches {
  display: none;
}
body.signature-friday .eq-friday-ledger {
  display: block;
  padding: 64px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
body.signature-friday .eq-container {
  max-width: 800px;
}

/* ---- DEADLINE MODE (saved item <72h) ---- */
body.signature-deadline {
  /* Everything fades, one panel, one countdown */
}
body.signature-deadline .alm-frontispiece,
body.signature-deadline .alm-dispatches,
body.signature-deadline .alm-constellation,
body.signature-deadline .alm-fieldnotes,
body.signature-deadline .alm-masthead-pricing,
body.signature-deadline .eq-footer {
  display: none;
}
body.signature-deadline .eq-deadline-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;
  padding: 48px 24px;
}
body.signature-deadline .alm-ledger {
  display: block;
  border-bottom: none;
  padding: 0;
}

/* Hide Friday ledger by default (only shown in friday state) */
.eq-friday-ledger {
  display: none;
}

/* Hide deadline panel by default (only shown in deadline state) */
.eq-deadline-panel {
  display: none;
}

/* State greeting paragraph */
#eq-state-greeting {
  font-family: var(--alm-serif-body);
  font-size: 1.125rem;
  font-style: italic;
  color: var(--alm-ink-muted);
  margin: 0 0 24px;
  line-height: 1.5;
}
#eq-state-greeting[data-state="midday"],
#eq-state-greeting[data-state="deadline"] {
  display: none;
}

/* ===========================================
   THE DISPATCH — Editorial paragraph
   =========================================== */
.eq-dispatch {
  border-bottom: 0.5px solid var(--alm-rule);
  padding: 32px 0;
  margin-bottom: 32px;
}
.eq-dispatch__label {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--alm-red);
  margin-bottom: 12px;
  display: block;
}
.eq-dispatch__body {
  font-family: var(--alm-serif-body);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--alm-ink);
  max-width: 780px;
  margin: 0;
}
.eq-dispatch__body a {
  color: var(--alm-red);
  border-bottom: 0.5px solid rgba(181, 67, 44, 0.3);
  text-decoration: none;
  transition: border-color 0.2s;
}
.eq-dispatch__body a:hover {
  border-bottom-color: var(--alm-red);
}

/* ===========================================
   THE MARGIN RAIL — Fixed right-hand rail
   =========================================== */
#eq-margin-rail {
  position: fixed;
  top: 80px;
  right: 0;
  width: 220px;
  padding: 20px 16px;
  z-index: 50;
  border-left: 0.5px solid var(--alm-rule);
  background: var(--alm-paper);
  min-height: calc(100vh - 80px);
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* When margin is active, shift main content */
body.has-margin-rail .eq-page {
  padding-right: 220px;
}
body.has-margin-rail .alm-frontispiece__inner,
body.has-margin-rail .alm-dispatches__inner,
body.has-margin-rail .eq-container {
  max-width: 900px;
}

/* Margin items */
.margin-item {
  padding: 12px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.margin-item:last-child {
  border-bottom: none;
}
.margin-label {
  display: block;
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin-bottom: 6px;
}
.margin-value {
  display: block;
  font-family: var(--alm-sans);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--alm-ink);
  line-height: 1.3;
}
.margin-detail {
  display: block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  margin-top: 4px;
}
.margin-quiet {
  color: var(--alm-ink-faint);
  font-style: italic;
}
.margin-urgent {
  color: var(--alm-red);
  font-weight: 600;
}
.margin-soon {
  color: var(--alm-gold);
  font-weight: 600;
}
.margin-link {
  font-family: var(--alm-serif-display);
  font-size: 0.9375rem;
  color: var(--alm-ink);
  border-bottom: 0.5px solid var(--alm-rule-strong);
  text-decoration: none;
  line-height: 1.3;
  display: inline;
}
.margin-link:hover {
  color: var(--alm-red);
}
.margin-item[style*="cursor: pointer"] {
  transition: background 0.2s;
}
.margin-item[style*="cursor: pointer"]:hover {
  background: var(--alm-paper-warm);
}
.margin-has-update .margin-value {
  color: var(--alm-green);
}

/* Deadline countdown tick animation */
@keyframes tick {
  0% { opacity: 1; }
  50% { opacity: 0.7; }
  100% { opacity: 1; }
}
#margin-deadline .margin-value {
  font-variant-numeric: tabular-nums;
  animation: tick 1s linear infinite;
}

/* ===========================================
   THE COMPASS
   =========================================== */
.eq-compass {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
  background: rgba(17, 26, 43, 0.6);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 400ms linear, visibility 400ms;
}
.eq-compass.is-open {
  opacity: 1;
  visibility: visible;
}

/* Paper-unfolding animation */
.eq-compass__inner {
  background: var(--alm-paper);
  border: 0.5px solid var(--alm-rule-strong);
  padding: 48px 40px;
  max-width: 520px;
  width: 90%;
  position: relative;
  box-shadow: 0 8px 40px rgba(17, 26, 43, 0.15);
  transform-origin: top center;
  transform: scaleY(0.3) translateY(-20px);
  opacity: 0;
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), opacity 400ms linear;
}
.eq-compass.is-open .eq-compass__inner {
  transform: scaleY(1) translateY(0);
  opacity: 1;
}

.eq-compass__fold {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--alm-ink);
  opacity: 0.8;
}

.eq-compass__label {
  font-family: var(--alm-serif-display);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--alm-ink);
  margin: 0 0 20px;
}

.eq-compass__input {
  width: 100%;
  font-family: var(--alm-serif-body);
  font-size: 1.0625rem;
  color: var(--alm-ink);
  background: transparent;
  border: none;
  border-bottom: 0.5px solid var(--alm-rule-strong);
  padding: 8px 0;
  margin-bottom: 20px;
  outline: none;
}
.eq-compass__input::placeholder {
  color: var(--alm-ink-faint);
  font-style: italic;
}

.eq-compass__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.eq-compass__suggestions button {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  padding: 6px 14px;
  background: var(--alm-paper-warm);
  border: 0.5px solid var(--alm-rule);
  color: var(--alm-ink-muted);
  cursor: pointer;
  transition: all 0.2s;
}
.eq-compass__suggestions button:hover {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}

.eq-compass__hint {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
  margin: 0;
}

/* Compass indicator (shown after setting course) */
#eq-compass-indicator {
  display: none;
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 100;
  padding: 8px 16px;
  background: var(--alm-ink);
  border: 0.5px solid var(--alm-ink);
}
#eq-compass-indicator.is-active {
  display: block;
}
.eq-compass-needle {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--alm-paper);
  letter-spacing: 0.02em;
}

/* ===========================================
   THE DOSSIER
   =========================================== */
#eq-dossier-trigger {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  cursor: pointer;
  padding: 4px 8px;
  border: 0.5px solid var(--alm-rule);
  background: transparent;
  transition: all 0.2s;
}
#eq-dossier-trigger:hover {
  color: var(--alm-ink);
  border-color: var(--alm-ink);
}

#eq-dossier-panel {
  position: fixed;
  top: 0;
  right: -420px;
  width: 400px;
  max-width: 90vw;
  height: 100vh;
  background: var(--alm-paper);
  border-left: 0.5px solid var(--alm-rule-strong);
  z-index: 1500;
  overflow-y: auto;
  padding: 32px 28px;
  transition: right 500ms cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -4px 0 24px rgba(17, 26, 43, 0.08);
}
#eq-dossier-panel.is-open {
  right: 0;
}

.eq-dossier__close {
  position: absolute;
  top: 16px;
  right: 16px;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.eq-dossier__close:hover {
  color: var(--alm-red);
}

.eq-dossier__header {
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-dossier__header h3 {
  font-family: var(--alm-serif-display);
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0 0 6px;
}
.eq-dossier__subtitle {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  font-style: italic;
  color: var(--alm-ink-muted);
  margin: 0;
}

.eq-dossier__entry {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--alm-ink-muted);
  margin: 0 0 12px;
}
.eq-dossier__entry em {
  font-style: italic;
  color: var(--alm-ink);
}
.eq-dossier__empty {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  font-style: italic;
  color: var(--alm-ink-faint);
  padding: 24px 0;
}

.eq-dossier__answer {
  padding: 16px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-dossier__q {
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--alm-ink-muted);
  margin: 0 0 4px;
}
.eq-dossier__a {
  font-family: var(--alm-hand);
  font-size: 1.1rem;
  color: var(--alm-blue);
  margin: 0 0 4px;
  line-height: 1.4;
}
.eq-dossier__date {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  color: var(--alm-ink-faint);
  letter-spacing: 0.04em;
}

/* Weekly question */
#eq-weekly-question {
  background: var(--alm-paper-warm);
  border: 0.5px solid var(--alm-rule);
  padding: 20px 24px;
  margin: 24px 0;
}
.eq-weekly-q {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  color: var(--alm-ink);
  margin: 0 0 12px;
  line-height: 1.5;
}
.eq-weekly-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.eq-weekly-options button {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  padding: 8px 16px;
  background: transparent;
  border: 0.5px solid var(--alm-rule-strong);
  color: var(--alm-ink-muted);
  cursor: pointer;
  transition: all 0.2s;
}
.eq-weekly-options button:hover {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}

/* ===========================================
   PEER PRESENCE (The Reading Room)
   =========================================== */
.eq-peer-presence {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-style: italic;
  color: var(--alm-ink-faint);
  margin-top: 8px;
  letter-spacing: 0.01em;
}

/* ===========================================
   SEASONAL CHAPTER
   =========================================== */
#eq-seasonal-banner {
  background: var(--alm-ink);
  padding: 8px 0;
  text-align: center;
}
.eq-seasonal__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.eq-seasonal__text {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  color: #F3EFE6;
  letter-spacing: 0.02em;
}
body.almanac .eq-seasonal__text a {
  color: #F3EFE6 !important;
  border-bottom: 0.5px solid rgba(243, 239, 230, 0.4);
  text-decoration: none;
}
body.almanac .eq-seasonal__text a:hover {
  color: #fff !important;
  border-bottom-color: #fff;
}
.eq-seasonal__dismiss {
  font-family: var(--alm-sans);
  font-size: 1rem;
  line-height: 1;
  color: rgba(243, 239, 230, 0.6);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  transition: color 0.2s;
}
.eq-seasonal__dismiss:hover {
  color: #F3EFE6;
}

/* ===========================================
   FRIDAY LEDGER (shown only in friday state)
   =========================================== */
.eq-friday-ledger {
  background: var(--alm-paper);
}
.eq-friday-ledger__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}
.eq-friday-ledger__header {
  text-align: center;
  margin-bottom: 48px;
}
.eq-friday-ledger__header h2 {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 400;
  margin: 0 0 8px;
}
.eq-friday-ledger__header p {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  color: var(--alm-ink-muted);
  font-style: italic;
  margin: 0;
}
.eq-friday-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}
.eq-friday-stat {
  text-align: center;
  padding: 24px;
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
}
.eq-friday-stat__number {
  display: block;
  font-family: var(--alm-serif-display);
  font-size: 2rem;
  font-weight: 300;
  color: var(--alm-ink);
  line-height: 1;
  margin-bottom: 4px;
}
.eq-friday-stat__label {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}
.eq-friday-queue {
  border-top: 0.5px solid var(--alm-rule);
  padding-top: 32px;
}
.eq-friday-queue h3 {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0 0 16px;
}
.eq-friday-queue__item {
  padding: 12px 0;
  border-bottom: 0.5px solid var(--alm-rule);
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink-muted);
}
.eq-friday-queue__item:last-child {
  border-bottom: none;
}

/* ===========================================
   DEADLINE PANEL (shown only in deadline state)
   =========================================== */
.eq-deadline-panel {
  background: var(--alm-paper);
}
.eq-deadline-panel__inner {
  text-align: center;
  max-width: 500px;
  padding: 48px 24px;
}
.eq-deadline-panel__urgent {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--alm-red);
  margin-bottom: 16px;
}
.eq-deadline-panel__title {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin: 0 0 16px;
}
.eq-deadline-panel__countdown {
  font-family: var(--alm-serif-display);
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 300;
  color: var(--alm-red);
  line-height: 1;
  margin: 0 0 24px;
  font-variant-numeric: tabular-nums;
}
.eq-deadline-panel__cta {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 14px 32px;
  background: var(--alm-red);
  color: var(--alm-paper);
  border: none;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}
.eq-deadline-panel__cta:hover {
  background: #8e3520;
}

/* ===========================================
   KILL LIST IMPLEMENTATIONS
   =========================================== */

/* Remove hero CTAs that duplicate masthead */
.eq-hero-cta-redundant {
  display: none !important;
}

/* Trusted-by bars killed */
.eq-trusted-by,
.eq-social-proof-bar,
.eq-stats-counter {
  display: none !important;
}

/* Thin bottom rule replaces cookie banner */
.eq-cookie-rule {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--alm-rule);
  z-index: 1000;
}

/* No scroll-triggered animations except .eq-animate */
[style*="animation-play-state: running"],
[style*="animation: fade"] {
  animation: none !important;
}

/* ===========================================
   ENTRANCE ANIMATIONS (intentional only)
   =========================================== */
body .eq-animate {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
body .eq-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.eq-animate-children > * {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.eq-animate-children.is-visible > *:nth-child(1) { transition-delay: 0ms; opacity: 1; transform: translateY(0); }
.eq-animate-children.is-visible > *:nth-child(2) { transition-delay: 80ms; opacity: 1; transform: translateY(0); }
.eq-animate-children.is-visible > *:nth-child(3) { transition-delay: 160ms; opacity: 1; transform: translateY(0); }
.eq-animate-children.is-visible > *:nth-child(4) { transition-delay: 240ms; opacity: 1; transform: translateY(0); }
.eq-animate-children.is-visible > *:nth-child(5) { transition-delay: 320ms; opacity: 1; transform: translateY(0); }
.eq-animate-children.is-visible > *:nth-child(6) { transition-delay: 400ms; opacity: 1; transform: translateY(0); }

/* ===========================================
   RESPONSIVE — LIVING INSTRUMENT
   =========================================== */

/* -- 1024px and below: margin rail becomes thin tab, always visible -- */
@media (max-width: 1024px) {
  #eq-margin-rail {
    width: 52px;
    padding: 16px 6px;
    overflow: hidden;
  }
  #eq-margin-rail .margin-label,
  #eq-margin-rail .margin-value,
  #eq-margin-rail .margin-detail,
  #eq-margin-rail .eq-correspondent__line,
  #eq-margin-rail .eq-correspondent__name {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  #eq-margin-rail .eq-correspondent__svg {
    width: 36px;
    height: 36px;
    margin: 0 auto;
  }
  #eq-margin-rail:hover {
    width: 200px;
    padding: 20px 14px;
    box-shadow: -4px 0 24px rgba(17, 26, 43, 0.08);
  }
  #eq-margin-rail:hover .margin-label,
  #eq-margin-rail:hover .margin-value,
  #eq-margin-rail:hover .margin-detail,
  #eq-margin-rail:hover .eq-correspondent__line,
  #eq-margin-rail:hover .eq-correspondent__name {
    opacity: 1;
    pointer-events: auto;
    position: static;
    width: auto;
    height: auto;
  }
  #eq-margin-rail:hover .eq-correspondent__svg {
    width: 80px;
    height: 80px;
  }
  body.has-margin-rail .eq-page {
    padding-right: 52px;
  }
  body.signature-midday .alm-dispatch-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  body.signature-morning .eq-container {
    max-width: 100%;
  }
  .eq-friday-stats {
    grid-template-columns: 1fr;
  }
}

/* -- 768px and below: hide margin rail, full-width content -- */
@media (max-width: 768px) {
  #eq-margin-rail {
    display: none;
  }
  body.has-margin-rail .eq-page {
    padding-right: 0;
  }
  body.signature-morning .alm-dispatch-grid,
  body.signature-midday .alm-dispatch-grid {
    grid-template-columns: 1fr;
  }
  .eq-compass__inner {
    padding: 32px 24px;
  }
  .eq-compass__label {
    font-size: 1.2rem;
  }
  #eq-dossier-panel {
    width: 100%;
    max-width: 100%;
    right: -100%;
  }
  #eq-seasonal-banner .eq-seasonal__inner {
    flex-direction: column;
    gap: 8px;
    padding: 8px 16px;
  }
  .eq-deadline-panel__countdown {
    font-size: 3rem;
  }
}

/* ===========================================
   ADMIN BAR FIXES
   =========================================== */
body.admin-bar #eq-margin-rail {
  top: 112px;
  min-height: calc(100vh - 112px);
}
body.admin-bar #eq-dossier-panel {
  padding-top: 64px;
}

/* ===========================================
   THE CORRESPONDENT v6.0
   Ink-drawn avatar, intake flows, matching
   =========================================== */

/* ---- CORRESPONDENT IN MARGIN RAIL ---- */
.eq-correspondent {
  padding: 16px 0;
  border-bottom: 0.5px solid var(--alm-rule);
  text-align: center;
}
.eq-correspondent__svg {
  width: 80px;
  height: 80px;
  margin: 0 auto 8px;
  display: block;
}
.eq-correspondent__svg svg {
  width: 100%;
  height: 100%;
}
.eq-correspondent__avatar {
  width: 80px;
  height: 80px;
  margin: 0 auto 8px;
  display: block;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid var(--alm-rule-strong);
  background: var(--alm-paper-warm);
}
.eq-correspondent__line {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-style: italic;
  color: var(--alm-ink-faint);
  letter-spacing: 0.02em;
  line-height: 1.4;
}
.eq-correspondent__name {
  font-family: var(--alm-serif-display);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--alm-ink);
  margin-bottom: 2px;
}
.eq-correspondent__click {
  cursor: pointer;
  transition: opacity 0.2s;
}
.eq-correspondent__click:hover {
  opacity: 0.7;
}

/* Idle breathing animation for the Correspondent SVG */
@keyframes correspondentBreathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}
.eq-correspondent__svg svg {
  width: 100%;
  height: 100%;
  animation: correspondentBreathe 4s ease-in-out infinite;
  transform-origin: center bottom;
}

/* Correspondent "not yet introduced" state — pulsing inkwell */
.eq-correspondent--empty {
  padding: 20px 0;
  text-align: center;
  border-bottom: 0.5px solid var(--alm-rule);
  cursor: pointer;
}
.eq-correspondent--empty .eq-correspondent__inkwell {
  width: 48px;
  height: 48px;
  margin: 0 auto 10px;
  border: 1.5px dashed var(--alm-ink-faint);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--alm-serif-display);
  font-size: 1.25rem;
  color: var(--alm-ink-faint);
  animation: correspondentPulse 2.5s ease-in-out infinite;
}
@keyframes correspondentPulse {
  0%, 100% { border-color: var(--alm-ink-faint); opacity: 0.6; }
  50% { border-color: var(--alm-red); opacity: 1; }
}
.eq-correspondent--empty .eq-correspondent__prompt {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-red);
  letter-spacing: 0.04em;
}

/* ---- CORRESPONDENT INTAKE OVERLAY ---- */
.eq-intake {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3000;
  background: rgba(17, 26, 43, 0.5);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 500ms linear, visibility 500ms;
}
.eq-intake.is-open {
  opacity: 1;
  visibility: visible;
}
.eq-intake__sheet {
  background: var(--alm-paper);
  border: 0.5px solid var(--alm-rule-strong);
  padding: 56px 48px;
  max-width: 600px;
  width: 90%;
  max-height: 85vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 12px 48px rgba(17, 26, 43, 0.12);
}
.eq-intake__close {
  position: absolute;
  top: 16px;
  right: 16px;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.eq-intake__close:hover {
  color: var(--alm-red);
}
.eq-intake__progress {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin-bottom: 32px;
}
.eq-intake__question {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
  font-weight: 400;
  color: var(--alm-ink);
  line-height: 1.25;
  margin: 0 0 24px;
}
.eq-intake__input {
  width: 100%;
  font-family: var(--alm-serif-body);
  font-size: 1.0625rem;
  color: var(--alm-ink);
  background: transparent;
  border: none;
  border-bottom: 0.5px solid var(--alm-rule-strong);
  padding: 10px 0;
  margin-bottom: 20px;
  outline: none;
}
.eq-intake__input::placeholder {
  color: var(--alm-ink-faint);
  font-style: italic;
}
.eq-intake__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.eq-intake__suggestions button {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-weight: 500;
  padding: 8px 16px;
  background: var(--alm-paper-warm);
  border: 0.5px solid var(--alm-rule);
  color: var(--alm-ink-muted);
  cursor: pointer;
  transition: all 0.2s;
}
.eq-intake__suggestions button:hover {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}
.eq-intake__hint {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
  margin: 0;
}
.eq-intake__textarea {
  width: 100%;
  min-height: 120px;
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink);
  background: transparent;
  border: 0.5px solid var(--alm-rule);
  padding: 16px;
  margin-bottom: 20px;
  outline: none;
  resize: vertical;
}
.eq-intake__actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

/* ---- TYPEWRITER REVEAL FOR INTAKE ---- */
.eq-typewriter {
  overflow: hidden;
  border-right: 0.5px solid var(--alm-ink);
  white-space: nowrap;
  animation: typing 1.5s steps(40, end), blink-caret 0.75s step-end infinite;
  max-width: 100%;
}
@keyframes typing {
  from { width: 0; }
  to { width: 100%; }
}
@keyframes blink-caret {
  from, to { border-color: transparent; }
  50% { border-color: var(--alm-ink); }
}

/* ===========================================
   MATCHING PAGES — Journals, Funding, Jobs
   =========================================== */

/* ---- MATCHING LAYOUT ---- */
.eq-match-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: start;
}
.eq-match-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.eq-match-detail {
  position: sticky;
  top: 100px;
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  padding: 28px;
}

/* ---- MATCH CARD (shared across all three) ---- */
.eq-match-card {
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  padding: 24px;
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
}
.eq-match-card:hover {
  border-color: var(--alm-ink);
}
.eq-match-card.is-selected {
  border-color: var(--alm-ink);
  background: var(--alm-paper);
}
.eq-match-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.eq-match-card__kicker {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
}
.eq-match-card__brightness {
  display: flex;
  gap: 2px;
}
.eq-match-card__star {
  width: 6px;
  height: 6px;
  background: var(--alm-ink-faint);
  border-radius: 50%;
}
.eq-match-card__star.is-lit {
  background: var(--alm-gold);
  box-shadow: 0 0 4px rgba(166, 124, 59, 0.4);
}
.eq-match-card__title {
  font-family: var(--alm-serif-display);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 6px;
  color: var(--alm-ink);
}
.eq-match-card__rationale {
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
  font-style: italic;
  color: var(--alm-ink-muted);
  line-height: 1.5;
  margin: 0 0 12px;
}
.eq-match-card__meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}
.eq-match-card__actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 0.5px solid var(--alm-rule);
}

/* ---- MATCH DETAIL PANEL ---- */
.eq-match-detail__title {
  font-family: var(--alm-serif-display);
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0 0 8px;
  padding-bottom: 10px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-match-detail__rationale {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  font-style: italic;
  color: var(--alm-ink-muted);
  line-height: 1.6;
  margin: 0 0 16px;
}
.eq-match-detail__meta {
  margin-bottom: 16px;
}
.eq-match-detail__meta dt {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin: 10px 0 2px;
}
.eq-match-detail__meta dd {
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
  color: var(--alm-ink);
  margin: 0;
}
.eq-match-detail__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 0.5px solid var(--alm-rule);
}

/* ---- INK STAMP ANIMATION ---- */
.eq-stamp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 8px 16px;
  border: 0.5px solid var(--alm-rule);
  cursor: pointer;
  transition: all 0.15s;
  background: transparent;
  color: var(--alm-ink-muted);
}
.eq-stamp:hover {
  border-color: var(--alm-ink);
  color: var(--alm-ink);
}
.eq-stamp.is-saved {
  border-color: var(--alm-green);
  color: var(--alm-green);
  background: rgba(74, 103, 65, 0.05);
}
.eq-stamp.is-dismissed {
  border-color: var(--alm-ink-faint);
  color: var(--alm-ink-faint);
  opacity: 0.5;
}
@keyframes stamp-ink {
  0% { transform: scale(1.4); opacity: 0; }
  40% { transform: scale(0.95); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
.eq-stamp.is-saved .eq-stamp__icon,
.eq-stamp.is-dismissed .eq-stamp__icon {
  animation: stamp-ink 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===========================================
   AI TOOLS — Toolmaker's Bench
   =========================================== */
.eq-bench {
  padding: 48px 0 80px;
}
.eq-bench__header {
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-bench__header h2 {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  font-weight: 400;
  margin: 0 0 8px;
}
.eq-bench__header p {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  color: var(--alm-ink-muted);
  margin: 0;
}
.eq-tool {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 28px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-tool__icon {
  width: 48px;
  height: 48px;
  background: var(--alm-paper-warm);
  border: 0.5px solid var(--alm-rule);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--alm-serif-display);
  font-size: 1.25rem;
  color: var(--alm-ink-muted);
}
.eq-tool__name {
  font-family: var(--alm-serif-display);
  font-size: 1.15rem;
  font-weight: 500;
  margin: 0 0 6px;
}
.eq-tool__usecase {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink-muted);
  line-height: 1.5;
  margin: 0 0 10px;
}
.eq-tool__counter {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}
.eq-tool__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
}

/* ===========================================
   GUIDES — Library Reading List
   =========================================== */
.eq-library {
  padding: 48px 0 80px;
}
.eq-library__header {
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-library__header h2 {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  font-weight: 400;
  margin: 0 0 8px;
}
.eq-library__header p {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  color: var(--alm-ink-muted);
  margin: 0;
}
.eq-guide-chapter {
  margin-bottom: 40px;
}
.eq-guide-chapter__title {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-guide-item {
  padding: 16px 0;
  border-bottom: 0.5px solid var(--alm-rule);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: start;
}
.eq-guide-item__title {
  font-family: var(--alm-serif-display);
  font-size: 1.1rem;
  font-weight: 500;
  margin: 0 0 4px;
}
.eq-guide-item__title a {
  color: var(--alm-ink);
  border-bottom: none;
}
.eq-guide-item__title a:hover {
  color: var(--alm-red);
}
.eq-guide-item__meta {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  display: flex;
  gap: 12px;
}
.eq-guide-item__readtime {
  font-variant-numeric: tabular-nums;
}
.eq-guide-item__bookmark {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  font-style: italic;
  color: var(--alm-green);
}

/* ===========================================
   DASHBOARD — The Ledger
   =========================================== */
.eq-dashboard {
  padding: 48px 0 80px;
}
.eq-dashboard__header {
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-dashboard__header h2 {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  font-weight: 400;
  margin: 0 0 8px;
}
.eq-dash-section {
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-dash-section__title {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0 0 20px;
}
.eq-dash-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.eq-dash-item {
  padding: 16px;
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
}
.eq-dash-item__title {
  font-family: var(--alm-serif-display);
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 4px;
}
.eq-dash-item__meta {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
}
.eq-dash-empty {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  font-style: italic;
  color: var(--alm-ink-faint);
  padding: 24px 0;
}

/* ===========================================
   SINGLE SHEET — Sign In / Register
   =========================================== */
.eq-sheet {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
}
.eq-sheet__inner {
  max-width: 420px;
  width: 100%;
}
.eq-sheet__logo {
  text-align: center;
  margin-bottom: 40px;
}
.eq-sheet__logo img {
  max-width: 160px;
}
.eq-sheet__field {
  margin-bottom: 24px;
}
.eq-sheet__field label {
  display: block;
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-faint);
  margin-bottom: 8px;
}
.eq-sheet__field input {
  width: 100%;
  font-family: var(--alm-serif-body);
  font-size: 1.0625rem;
  color: var(--alm-ink);
  background: transparent;
  border: none;
  border-bottom: 0.5px solid var(--alm-rule-strong);
  padding: 10px 0;
  outline: none;
}
.eq-sheet__field input:focus {
  border-bottom-color: var(--alm-ink);
}
.eq-sheet__submit {
  display: block;
  width: 100%;
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 14px;
  background: var(--alm-ink);
  color: var(--alm-paper);
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 32px;
}
.eq-sheet__submit:hover {
  background: var(--alm-red);
}
.eq-sheet__footer {
  text-align: center;
  margin-top: 24px;
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  color: var(--alm-ink-faint);
}
.eq-sheet__footer a {
  color: var(--alm-ink);
  border-bottom: 0.5px solid var(--alm-rule-strong);
}

/* Divider between form and social auth */
.eq-sheet__divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 28px 0;
}
.eq-sheet__divider::before,
.eq-sheet__divider::after {
  content: '';
  flex: 1;
  height: 0.5px;
  background: var(--alm-rule-strong);
}
.eq-sheet__divider span {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Google Sign-In button */
.eq-btn-google {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 12px;
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--alm-ink);
  background: #fff;
  border: 0.5px solid var(--alm-rule-strong);
  cursor: pointer;
  transition: all 0.2s;
}
.eq-btn-google:hover {
  background: var(--alm-paper-warm);
  border-color: var(--alm-ink-faint);
}

/* Auth form states */
body.almanac .eq-sheet__error {
  background: var(--alm-red-wash);
  border: 0.5px solid rgba(181, 67, 44, 0.25);
  color: var(--alm-red);
  padding: 12px 16px;
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  margin-bottom: 24px;
}
body.almanac .eq-sheet__hint {
  display: block;
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  margin-top: 6px;
}

/* ===========================================
   EDITORIAL LONG-READ (For Researchers / Institutions)
   =========================================== */
.eq-editorial {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}
.eq-editorial__header {
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-editorial__header h1 {
  font-family: var(--alm-serif-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  line-height: 1.1;
  margin: 0 0 12px;
}
.eq-editorial__header .eq-editorial__meta {
  font-family: var(--alm-sans);
  font-size: 0.75rem;
  color: var(--alm-ink-faint);
  letter-spacing: 0.04em;
}
.eq-editorial__body {
  font-family: var(--alm-serif-body);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--alm-ink);
}
.eq-editorial__body p {
  margin-bottom: 1.4em;
}
.eq-editorial__body h2 {
  font-family: var(--alm-serif-display);
  font-size: 1.5rem;
  font-weight: 500;
  margin: 2em 0 0.6em;
  padding-bottom: 8px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-editorial__body h3 {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 2em 0 0.8em;
}
.eq-editorial__body blockquote {
  border-left: 2px solid var(--alm-ink);
  padding-left: 24px;
  margin: 1.5em 0;
  font-style: italic;
}
.eq-editorial__body ul,
.eq-editorial__body ol {
  margin: 1em 0;
  padding-left: 24px;
}
.eq-editorial__body li {
  margin-bottom: 0.5em;
}

/* ===========================================
   BACK-MATTER (How It Works, About, Contact)
   =========================================== */
.eq-backmatter {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}
.eq-backmatter__header {
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-backmatter__header h1 {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 400;
  margin: 0;
}
.eq-backmatter__body {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--alm-ink-muted);
}
.eq-backmatter__body p {
  margin-bottom: 1.2em;
}

/* ===========================================
   PERSISTENT MASTHEAD (all pages)
   =========================================== */
.eq-persistent-masthead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 24px;
  border-bottom: 0.5px solid var(--alm-rule);
  background: var(--alm-paper);
  position: sticky;
  top: 0;
  z-index: 100;
}
.eq-pm__left,
.eq-pm__right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.eq-pm__logo {
  font-family: var(--alm-serif-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--alm-ink);
}
.eq-pm__logo a {
  color: var(--alm-ink);
  border-bottom: none;
  text-decoration: none;
}
.eq-pm__date {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  color: var(--alm-ink-faint);
  letter-spacing: 0.04em;
}
.eq-pm__dossier,
.eq-pm__compass {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--alm-ink-muted);
  background: none;
  border: 0.5px solid var(--alm-rule);
  padding: 4px 10px;
  cursor: pointer;
  transition: all 0.2s;
}
.eq-pm__dossier:hover,
.eq-pm__compass:hover {
  background: var(--alm-ink);
  color: var(--alm-paper);
  border-color: var(--alm-ink);
}

/* ===========================================
   CORRESPONDENT NOTEBOOK (from Dossier)
   =========================================== */
.eq-notebook {
  padding: 24px 0;
}
.eq-notebook__entry {
  padding: 12px 0;
  border-bottom: 0.5px solid var(--alm-rule);
}
.eq-notebook__entry:last-child {
  border-bottom: none;
}
.eq-notebook__pref {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  color: var(--alm-ink-muted);
  line-height: 1.5;
  margin: 0;
}
.eq-notebook__pref strong {
  color: var(--alm-ink);
  font-weight: 600;
}
.eq-notebook__edit {
  font-family: var(--alm-sans);
  font-size: 0.625rem;
  color: var(--alm-ink-faint);
  margin-top: 4px;
  cursor: pointer;
  text-decoration: underline;
}
.eq-notebook__edit:hover {
  color: var(--alm-red);
}

/* ===========================================
   RESPONSIVE — CORRESPONDENT & MATCHING
   =========================================== */
@media (max-width: 1024px) {
  .eq-match-layout {
    grid-template-columns: 1fr;
  }
  .eq-match-detail {
    position: static;
  }
  .eq-dash-grid {
    grid-template-columns: 1fr;
  }
  .eq-tool {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .eq-tool__actions {
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .eq-intake__sheet {
    padding: 40px 24px;
    width: 95%;
  }
  .eq-intake__question {
    font-size: 1.3rem;
  }
  .eq-persistent-masthead {
    padding: 10px 16px;
  }
  .eq-pm__date {
    display: none;
  }
}

/* ===========================================
   ALMANAC HEADER & NAV OVERRIDES
   Re-skins the site header and mobile nav
   with the Almanac's ink/paper palette.
   =========================================== */

/* Site header — ink on paper */
body.almanac .eq-header {
    background: var(--alm-paper);
    border-bottom: 0.5px solid var(--alm-rule);
    box-shadow: none;
}

/* Desktop nav — Almanac typography */
body.almanac .eq-nav a {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--alm-ink-muted);
    padding: 6px 10px;
    border-radius: 0;
    letter-spacing: 0.01em;
    text-decoration: none;
}
body.almanac .eq-nav a:hover,
body.almanac .eq-nav a:focus {
    color: var(--alm-ink);
    background: transparent;
    border-bottom: 0.5px solid var(--alm-rule-strong);
}
body.almanac .eq-nav li.current-menu-item a,
body.almanac .eq-nav li.current_page_item a {
    color: var(--alm-ink);
    background: transparent;
    border-bottom: 0.5px solid var(--alm-ink);
}

/* Header action buttons */
body.almanac .eq-header__actions .eq-btn--ghost {
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--alm-ink-muted);
    border: 0.5px solid var(--alm-rule);
    background: transparent;
    padding: 6px 14px;
    letter-spacing: 0.02em;
    border-radius: 0;
}
body.almanac .eq-header__actions .eq-btn--ghost:hover {
    color: var(--alm-ink);
    border-color: var(--alm-ink);
    background: transparent;
}
body.almanac .eq-header__actions .eq-btn--primary {
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--alm-ink);
    color: var(--alm-paper);
    border: 0.5px solid var(--alm-ink);
    padding: 6px 14px;
    border-radius: 0;
}
body.almanac .eq-header__actions .eq-btn--primary:hover {
    background: var(--alm-red);
    border-color: var(--alm-red);
}

/* Mobile menu toggle — Almanac styled */
body.almanac .eq-menu-toggle {
    background: transparent;
    border: 0.5px solid var(--alm-rule);
    color: var(--alm-ink);
    padding: 8px;
    border-radius: 0;
}
body.almanac .eq-menu-toggle:hover {
    background: var(--alm-ink);
    color: var(--alm-paper);
    border-color: var(--alm-ink);
}
body.almanac .eq-menu-toggle svg {
    stroke: currentColor;
}

/* ===========================================
   MOBILE NAV — Almanac ink palette
   =========================================== */

body.almanac .eq-mobile-nav {
    background: rgba(17, 26, 43, 0.4);
    backdrop-filter: blur(4px);
}
body.almanac .eq-mobile-nav__panel {
    background: var(--alm-ink);
    color: var(--alm-paper);
    max-width: 320px;
}
body.almanac .eq-mobile-nav.is-open .eq-mobile-nav__panel {
    transform: translateX(0);
}
body.almanac .eq-mobile-nav__header img {
    filter: none;
    opacity: 0.9;
}
body.almanac .eq-mobile-nav__close {
    background: rgba(243, 239, 230, 0.08);
    color: var(--alm-paper);
    border: 0.5px solid rgba(243, 239, 230, 0.15);
}
body.almanac .eq-mobile-nav__close:hover {
    background: var(--alm-red);
    border-color: var(--alm-red);
}
body.almanac .eq-mobile-nav__primary a {
    font-family: var(--alm-serif-display);
    font-size: 1.1rem;
    font-weight: 400;
    color: rgba(243, 239, 230, 0.85);
    padding: 10px 0;
    border-radius: 0;
    border-bottom: 0.5px solid rgba(243, 239, 230, 0.08);
}
body.almanac .eq-mobile-nav__primary a:hover {
    background: transparent;
    color: var(--alm-paper);
    border-bottom-color: var(--alm-paper);
}
body.almanac .eq-mobile-nav__divider {
    background: rgba(243, 239, 230, 0.12);
    margin: 20px 0;
}
body.almanac .eq-mobile-nav__secondary a {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    color: rgba(243, 239, 230, 0.5);
    padding: 6px 0;
}
body.almanac .eq-mobile-nav__secondary a:hover {
    color: var(--alm-paper);
}
body.almanac .eq-mobile-nav__cta .eq-btn--primary {
    background: var(--alm-paper);
    color: var(--alm-ink);
    border: none;
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 12px 20px;
    border-radius: 0;
}
body.almanac .eq-mobile-nav__cta .eq-btn--primary:hover {
    background: var(--alm-gold);
    color: var(--alm-paper);
}

/* ===========================================
   READING PROGRESS BAR
   Thin ink line across top of editorial pages
   =========================================== */
.eq-reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--alm-ink);
    transform-origin: left;
    transform: scaleX(0);
    z-index: 9999;
    transition: transform 0.1s linear;
}

/* ===========================================
   BACK-TO-TOP
   Ink stamp that appears after scrolling
   =========================================== */
.eq-back-to-top {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 44px;
    height: 44px;
    background: var(--alm-ink);
    color: var(--alm-paper);
    border: 0.5px solid var(--alm-ink);
    font-family: var(--alm-sans);
    font-size: 1.1rem;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}
.eq-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.eq-back-to-top:hover {
    background: var(--alm-red);
    border-color: var(--alm-red);
}

/* ===========================================
   KEYBOARD SHORTCUTS PANEL
   Shift+? to summon (different from Compass ?)
   =========================================== */
.eq-shortcuts {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4000;
    background: rgba(17, 26, 43, 0.5);
    backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms linear, visibility 300ms;
}
.eq-shortcuts.is-open {
    opacity: 1;
    visibility: visible;
}
.eq-shortcuts__inner {
    background: var(--alm-paper);
    border: 0.5px solid var(--alm-rule-strong);
    padding: 40px 36px;
    max-width: 420px;
    width: 90%;
    box-shadow: 0 8px 40px rgba(17, 26, 43, 0.15);
}
.eq-shortcuts__title {
    font-family: var(--alm-serif-display);
    font-size: 1.3rem;
    font-weight: 400;
    margin: 0 0 20px;
    padding-bottom: 10px;
    border-bottom: 0.5px solid var(--alm-rule);
}
.eq-shortcuts__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.eq-shortcuts__list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 0.5px solid var(--alm-rule);
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    color: var(--alm-ink-muted);
}
.eq-shortcuts__list li:last-child {
    border-bottom: none;
}
.eq-shortcuts__key {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--alm-ink);
    background: var(--alm-paper-warm);
    border: 0.5px solid var(--alm-rule);
    padding: 3px 8px;
    min-width: 32px;
    text-align: center;
}

/* ===========================================
   SCROLL-REVEAL ANIMATIONS
   Sections fade in as they enter viewport
   =========================================== */
.eq-reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 600ms cubic-bezier(0.22, 1, 0.36, 1), transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.eq-reveal-ready .eq-reveal {
    opacity: 0;
    transform: translateY(16px);
}
.eq-reveal-ready .eq-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0);
}
.eq-reveal-delay-1 { transition-delay: 80ms; }
.eq-reveal-delay-2 { transition-delay: 160ms; }
.eq-reveal-delay-3 { transition-delay: 240ms; }
.eq-reveal-delay-4 { transition-delay: 320ms; }

/* ===========================================
   CORRESPONDENT IDLE ANIMATION
   Subtle breathing of the ink figure
   =========================================== */
@keyframes correspondent-breathe {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}
.eq-correspondent__svg svg {
    animation: correspondent-breathe 4s ease-in-out infinite;
    transform-origin: center bottom;
}

/* ===========================================
   LINK INK SPREAD
   Hover effect for editorial links
   =========================================== */
.eq-ink-link {
    position: relative;
    display: inline;
    color: var(--alm-ink);
    border-bottom: 0.5px solid var(--alm-rule-strong);
    text-decoration: none;
    transition: color 0.25s;
}
.eq-ink-link::after {
    content: '';
    position: absolute;
    bottom: -0.5px;
    left: 0;
    width: 0;
    height: 0.5px;
    background: var(--alm-red);
    transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.eq-ink-link:hover {
    color: var(--alm-red);
    border-bottom-color: transparent;
}
.eq-ink-link:hover::after {
    width: 100%;
}

/* ===========================================
   PAGE TRANSITION OVERLAY
   Disabled for seamless native navigation.
   =========================================== */
.eq-page-transition,
.eq-page-transition.is-active {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: none !important;
}

/* ===========================================
   HOVER MICRO-INTERACTIONS
   Subtle lift on cards and dispatches
   =========================================== */
.eq-hover-lift {
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s;
}
.eq-hover-lift:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(17, 26, 43, 0.08);
}

/* ===========================================
   PRINT STYLESHEET
   For editorial long-reads
   =========================================== */
@media print {
    .eq-header,
    .alm-masthead,
    .eq-mobile-nav,
    #eq-margin-rail,
    .eq-footer,
    .eq-cookie-rule,
    .eq-back-to-top,
    .eq-compass,
    .eq-intake,
    #eq-seasonal-banner,
    .eq-menu-toggle {
        display: none !important;
    }
    body {
        background: white !important;
        color: black !important;
    }
    .eq-editorial,
    .eq-backmatter {
        max-width: 100% !important;
        padding: 0 !important;
    }
    a {
        color: black !important;
        text-decoration: underline !important;
    }
    .eq-page {
        padding: 0 !important;
    }
}

/* ===========================================
   TOOLMAKER'S BENCH (AI Tools page)
   =========================================== */
.eq-bench {
  padding: 48px 0 32px;
}
.eq-bench__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px 56px;
  max-width: 920px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 720px) {
  .eq-bench__grid {
    grid-template-columns: 1fr;
    gap: 40px 0;
  }
}
.eq-instrument {
  border-top: 0.5px solid var(--alm-rule, #d5cfc1);
  padding-top: 28px;
}
.eq-instrument__svg {
  width: 80px;
  height: 80px;
  margin-bottom: 16px;
}
.eq-instrument__svg svg {
  width: 100%;
  height: 100%;
}
.eq-instrument__kicker {
  font-family: var(--alm-sans, Inter, system-ui);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--alm-ink-muted, #555);
  margin-bottom: 8px;
  display: block;
}
.eq-instrument__name {
  font-family: var(--alm-serif-display);
  font-size: 1.75rem;
  line-height: 1.2;
  color: var(--alm-ink, #111A2B);
  margin: 0 0 10px;
}
.eq-instrument__use {
  font-family: var(--alm-serif-body);
  font-style: italic;
  font-size: 1rem;
  color: var(--alm-ink-muted, #555);
  margin-bottom: 16px;
  line-height: 1.5;
}
.eq-instrument__body {
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--alm-ink, #111A2B);
  margin-bottom: 20px;
}
.eq-instrument__cta {
  display: inline-block;
  font-family: var(--alm-sans, Inter, system-ui);
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  color: var(--alm-ink, #111A2B);
  border: 0.5px solid var(--alm-ink, #111A2B);
  background: transparent;
  padding: 10px 20px;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease;
}
.eq-instrument__cta:hover {
  background: var(--alm-ink, #111A2B);
  color: var(--alm-paper, #F3EFE6);
}
.eq-instrument__count {
  display: block;
  font-family: var(--alm-serif-body);
  font-style: italic;
  font-size: 0.8125rem;
  color: var(--alm-ink-muted, #555);
  margin-top: 14px;
}
.eq-trust-ledger {
  max-width: 680px;
  margin: 64px auto;
  padding: 40px 32px;
  border-top: 0.5px solid var(--alm-rule, #d5cfc1);
  border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}
.eq-trust-ledger h2 {
  font-family: var(--alm-serif-display);
  font-size: 1.5rem;
  margin: 0 0 20px;
  color: var(--alm-ink, #111A2B);
}
.eq-trust-ledger p {
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--alm-ink, #111A2B);
  margin-bottom: 18px;
}
.eq-trust-ledger__coda {
  font-style: italic;
  color: var(--alm-ink-muted, #555);
  margin-top: 24px;
  font-family: var(--alm-serif-body);
  font-size: 1rem;
  line-height: 1.7;
}

/* ===========================================
   INSTRUMENT MODAL (reuses eq-intake overlay)
   =========================================== */
.eq-instrument-modal__label {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin-bottom: 8px;
  display: block;
}
.eq-instrument-modal__textarea {
  width: 100%;
  min-height: 120px;
  padding: 12px;
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--alm-ink);
  background: var(--alm-paper);
  border: 0.5px solid var(--alm-rule-strong);
  resize: vertical;
  margin-bottom: 16px;
}
.eq-instrument-modal__select {
  width: 100%;
  padding: 10px;
  font-family: var(--alm-sans);
  font-size: 0.875rem;
  color: var(--alm-ink);
  background: var(--alm-paper);
  border: 0.5px solid var(--alm-rule-strong);
  margin-bottom: 16px;
  cursor: pointer;
}
.eq-instrument-modal__result {
  margin-top: 24px;
  padding: 20px;
  background: var(--alm-paper-warm);
  border: 0.5px solid var(--alm-rule);
  font-family: var(--alm-serif-body);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--alm-ink-muted);
}
.eq-instrument-modal__result-title {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin-bottom: 12px;
  display: block;
}

/* ===========================================
   ALMANAC TOAST
   Replaces browser alert() with editorial voice
   =========================================== */
.eq-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  max-width: 480px;
  width: calc(100% - 48px);
  padding: 18px 24px;
  background: var(--alm-ink);
  color: var(--alm-paper);
  font-family: var(--alm-sans);
  font-size: 0.8125rem;
  line-height: 1.6;
  border: 0.5px solid rgba(243, 239, 230, 0.15);
  box-shadow: 0 8px 32px rgba(17, 26, 43, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: all 0.35s ease;
  z-index: 10000;
  pointer-events: none;
}
.eq-toast.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.eq-toast__close {
  position: absolute;
  top: 8px;
  right: 12px;
  font-family: var(--alm-sans);
  font-size: 0.875rem;
  color: rgba(243, 239, 230, 0.4);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
}
.eq-toast__close:hover {
  color: var(--alm-paper);
}

/* ===========================================
   v6.5.0 — TOOLMAKER'S BENCH UPGRADES
   =========================================== */

/* ---- The Demonstration ---- */
.eq-demonstration { padding: 64px 0 48px; text-align: center; border-bottom: 0.5px solid var(--alm-rule, #d5cfc1); }
.eq-demonstration__kicker { display: block; font-family: var(--alm-sans, Inter, system-ui); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted, #555); margin-bottom: 24px; }
.eq-demonstration__text { font-family: var(--alm-serif-display); font-style: italic; font-size: 1.75rem; line-height: 1.4; color: var(--alm-ink, #111A2B); max-width: 720px; margin: 0 auto 16px; min-height: 2.8em; }
.eq-demonstration__text .word { display: inline-block; transition: opacity 250ms ease, text-decoration 250ms ease; }
.eq-demonstration__text .word.is-striking { text-decoration: line-through; opacity: 0.3; }
.eq-demonstration__text .word.is-gone { display: none; }
.eq-demonstration__text.is-settled { font-style: normal; color: var(--alm-ink, #111A2B); }
.eq-demonstration__caption { font-family: var(--alm-serif-body); font-style: italic; font-size: 0.875rem; color: var(--alm-ink-muted, #555); }

/* ---- Instrument in Residence ---- */
.eq-resident { max-width: 720px; margin: 48px auto; padding: 40px 32px; border-top: 1px solid var(--alm-ink, #111A2B); border-bottom: 1px solid var(--alm-ink, #111A2B); text-align: center; }
.eq-resident__kicker { font-family: var(--alm-sans, Inter, system-ui); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-red, #B5432C); margin-bottom: 20px; }
.eq-resident__name { font-family: var(--alm-serif-display); font-size: 2.25rem; margin: 0 0 12px; color: var(--alm-ink, #111A2B); }
.eq-resident__blurb { font-family: var(--alm-serif-body); font-size: 1.0625rem; line-height: 1.6; max-width: 540px; margin: 0 auto; color: var(--alm-ink, #111A2B); }

/* ---- Worked Examples ---- */
.eq-instrument__example { margin: 20px 0; padding: 20px 24px; background: rgba(17, 26, 43, 0.03); border-left: 2px solid var(--alm-red, #B5432C); }
.eq-instrument__example-label { display: block; font-family: var(--alm-sans, Inter, system-ui); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted, #555); margin-bottom: 8px; }
.eq-instrument__example-before p { font-family: var(--alm-serif-body); font-style: italic; font-size: 0.9375rem; color: var(--alm-ink-muted, #555); margin: 0 0 16px; line-height: 1.55; }
.eq-instrument__example-arrow { display: block; font-family: var(--alm-sans, Inter, system-ui); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-red, #B5432C); text-align: center; margin-bottom: 16px; }
.eq-instrument__example-after p { font-family: var(--alm-serif-body); font-size: 0.9375rem; color: var(--alm-ink, #111A2B); margin: 0 0 12px; line-height: 1.55; }
.eq-instrument__example-after p:last-child { margin-bottom: 0; }

/* ---- The Instrument Maker's Oath ---- */
.eq-oath { max-width: 600px; margin: 80px auto; padding: 48px 40px; border-top: 3px double var(--alm-ink, #111A2B); border-bottom: 3px double var(--alm-ink, #111A2B); text-align: center; }
.eq-oath__heading { font-family: var(--alm-serif-display); font-size: 1.75rem; margin: 0 0 32px; color: var(--alm-ink, #111A2B); }
.eq-oath__clauses { list-style: none; counter-reset: oath; padding: 0; margin: 0 0 32px; text-align: left; }
.eq-oath__clauses li { counter-increment: oath; font-family: var(--alm-serif-body); font-style: italic; font-size: 1rem; line-height: 1.7; padding: 14px 0 14px 44px; position: relative; border-bottom: 0.5px solid var(--alm-rule, #d5cfc1); color: var(--alm-ink, #111A2B); }
.eq-oath__clauses li:last-child { border-bottom: none; }
.eq-oath__clauses li::before { content: counter(oath, upper-roman) "."; position: absolute; left: 0; top: 14px; font-family: var(--alm-serif-display); font-style: normal; font-size: 0.875rem; color: var(--alm-red, #B5432C); letter-spacing: 0.05em; }
.eq-oath__signature { font-family: var(--alm-serif-display); font-style: italic; font-size: 1.125rem; color: var(--alm-ink, #111A2B); margin: 0; }

/* ---- Modal Result Panel ---- */
.eq-instrument-modal__result pre { white-space: pre-wrap; font-family: var(--alm-serif-body); font-size: 0.9375rem; line-height: 1.6; color: var(--alm-ink); margin: 0; }
.eq-instrument-modal__result mark { background: rgba(181, 67, 44, 0.12); padding: 0 2px; border-bottom: 0.5px dotted var(--alm-red, #B5432C); cursor: help; }
.eq-instrument-modal__stats { margin-top: 20px; padding: 12px 16px; background: rgba(17, 26, 43, 0.04); font-family: var(--alm-sans, Inter, system-ui); font-size: 0.8125rem; color: var(--alm-ink-muted, #555); }

/* ============================================================
   DETAIL PAGES — Journals, Funding, Jobs (v8.5.0+)
   ============================================================ */
.eq-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; align-items: start; }
@media (max-width: 1024px) { .eq-detail-grid { grid-template-columns: 1fr; gap: 32px; } }

.eq-detail-section { margin-bottom: 48px; }
.eq-detail-section h2 { font-family: var(--alm-serif-display); font-size: 1.5rem; line-height: 1.3; margin-bottom: 16px; }
.eq-detail-section h3 { font-family: var(--alm-serif-display); font-size: 1.125rem; margin: 32px 0 16px; }
.eq-detail-section p { font-family: var(--alm-serif-body); font-size: 1rem; line-height: 1.7; color: var(--alm-ink); margin-bottom: 12px; }

.eq-overview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.eq-overview-item { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: var(--alm-paper); border: 0.5px solid var(--alm-rule); }
.eq-overview-label { font-family: var(--alm-sans); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--alm-ink-muted); }
.eq-overview-value { font-family: var(--alm-sans); font-size: 0.875rem; color: var(--alm-ink); font-weight: 500; }

.eq-detail-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.eq-meta-item { font-family: var(--alm-sans); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--alm-ink-muted); padding: 4px 10px; background: var(--alm-paper); border: 0.5px solid var(--alm-rule); }
.eq-meta-verified { color: #0e8354; border-color: rgba(14, 131, 84, 0.2); }

.eq-method-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.eq-method-item { display: flex; align-items: flex-start; gap: 8px; padding: 12px; border: 0.5px solid var(--alm-rule); }
.eq-method-item.fit { background: rgba(14, 131, 84, 0.05); }
.eq-method-icon { font-size: 1rem; line-height: 1; }

.eq-checklist { list-style: none; padding: 0; }
.eq-checklist li { display: flex; align-items: flex-start; gap: 8px; padding: 8px 0; border-bottom: 0.5px solid var(--alm-rule); }
.eq-checklist li:last-child { border-bottom: none; }
.eq-checklist input[type="checkbox"] { margin-top: 3px; }

.eq-indexing-list { list-style: none; padding: 0; }
.eq-indexing-list li { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 0.875rem; }
.eq-indexing-badge { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; background: var(--alm-paper); border: 0.5px solid var(--alm-rule); }
.eq-indexing-badge--yes { background: rgba(14, 131, 84, 0.08); color: #0e8354; border-color: rgba(14, 131, 84, 0.2); }
.eq-indexing-badge--no { background: rgba(181, 67, 44, 0.05); color: var(--alm-red); border-color: rgba(181, 67, 44, 0.15); }

.eq-detail-requirements { font-family: var(--alm-serif-body); font-size: 1rem; line-height: 1.7; color: var(--alm-ink); }
.eq-detail-requirements p { margin-bottom: 12px; }

.eq-detail-eligibility { font-family: var(--alm-sans); font-size: 0.9375rem; color: var(--alm-ink); padding: 16px; background: var(--alm-paper); border-left: 3px solid var(--alm-ink); }

.eq-detail-sidebar { position: sticky; top: 80px; }
.eq-sidebar-panel { margin-bottom: 24px; }
.eq-sidebar-panel--cta { padding: 20px; border: 1.5px solid var(--alm-ink); }
.eq-sidebar-panel--cta .eq-btn-primary { margin-bottom: 8px; }

.eq-sidebar-related { list-style: none; padding: 0; margin: 0; }
.eq-sidebar-related li { margin-bottom: 8px; }
.eq-sidebar-related a { font-family: var(--alm-serif-body); font-size: 0.875rem; color: var(--alm-ink); text-decoration: none; border-bottom: 0.5px solid var(--alm-rule); }

.eq-expired-note { font-family: var(--alm-sans); font-size: 0.8125rem; color: var(--alm-ink-muted); padding: 12px; background: rgba(181, 67, 44, 0.05); border: 0.5px solid rgba(181, 67, 44, 0.15); }

.eq-empty { text-align: center; padding: 64px 24px; font-family: var(--alm-sans); color: var(--alm-ink-muted); }

.eq-risk-item { display: flex; align-items: flex-start; gap: 8px; padding: 12px 0; border-bottom: 0.5px solid var(--alm-rule); }
.eq-risk-icon { color: var(--alm-red); font-size: 1rem; }
.eq-risk-text { font-size: 0.875rem; color: var(--alm-ink); }

.eq-predatory-alert { margin-top: 16px; padding: 12px 16px; background: rgba(181, 67, 44, 0.05); border: 0.5px solid rgba(181, 67, 44, 0.15); font-family: var(--alm-sans); font-size: 0.8125rem; }
.eq-predatory-alert strong { color: var(--alm-red); }

.eq-detail-list { list-style: none; padding: 0; }
.eq-detail-list li { padding: 6px 0; font-size: 0.9375rem; color: var(--alm-ink); }
.eq-detail-list--fit li { color: var(--alm-ink); }
.eq-detail-list--caution li { color: var(--alm-ink-muted); }

.eq-meta-link { color: var(--alm-red); text-decoration: none; border-bottom: 0.5px solid var(--alm-red); }
.eq-meta-link:hover { color: var(--alm-ink); border-bottom-color: var(--alm-ink); }

.eq-eligibility-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-top: 16px; }
.eq-eligibility-item { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: var(--alm-paper); border: 0.5px solid var(--alm-rule); }
.eq-eligibility-label { font-family: var(--alm-sans); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--alm-ink-muted); }
.eq-eligibility-value { font-family: var(--alm-sans); font-size: 0.875rem; color: var(--alm-ink); font-weight: 500; }

/* ============================================================
   THE LIBRARY — Reading section (v8.7.0)
   ============================================================ */

.eq-library-picks { max-width: 720px; margin: 48px auto 64px; padding: 0 24px 40px; text-align: center; border-bottom: 0.5px solid var(--alm-rule, #d5cfc1); }
.eq-library-picks__kicker { display: block; font-family: var(--alm-sans, Inter, system-ui); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-red, #B5432C); margin-bottom: 20px; }
.eq-library-picks__body { font-family: var(--alm-serif-body); font-size: 1.125rem; line-height: 1.6; color: var(--alm-ink, #111A2B); margin: 0; }
.eq-library-picks__body em a { color: var(--alm-ink, #111A2B); border-bottom: 0.5px solid var(--alm-rule, #d5cfc1); }
.eq-library-picks__body em a:hover { border-bottom-color: var(--alm-red, #B5432C); }

.eq-library-shelves { padding: 0 24px; }
.eq-shelf { display: flex; align-items: stretch; margin: 48px 0; border-top: 1px solid var(--alm-ink, #111A2B); border-bottom: 0.5px solid var(--alm-rule, #d5cfc1); }
.eq-shelf__label { flex: 0 0 120px; padding: 24px 16px; font-family: var(--alm-sans); font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--alm-ink-muted); writing-mode: vertical-rl; transform: rotate(180deg); display: flex; align-items: center; justify-content: flex-end; border-right: 0.5px solid var(--alm-rule); }
.eq-shelf__strip { flex: 1; display: flex; gap: 20px; padding: 24px; overflow-x: auto; scroll-snap-type: x mandatory; }
.eq-shelf__strip::-webkit-scrollbar { height: 6px; }
.eq-shelf__strip::-webkit-scrollbar-thumb { background: var(--alm-rule, #d5cfc1); }
.eq-spine { flex: 0 0 180px; min-height: 240px; padding: 20px; border: 0.5px solid var(--alm-rule); scroll-snap-align: start; display: flex; flex-direction: column; justify-content: space-between; transition: border-color 200ms ease; text-decoration: none; color: var(--alm-ink); }
.eq-spine:hover { border-color: var(--alm-ink); }
.eq-spine__title { font-family: var(--alm-serif-display); font-size: 1.125rem; line-height: 1.25; }
.eq-spine__title.is-read { border-bottom: 0.5px solid var(--alm-red); padding-bottom: 2px; display: inline; }
.eq-spine__date { font-family: var(--alm-sans); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted); }
.eq-shelf__see-all { flex: 0 0 auto; align-self: center; padding: 0 24px; font-family: var(--alm-serif-body); font-style: italic; color: var(--alm-ink-muted); border-bottom: 0.5px solid var(--alm-rule); }
.eq-shelf__empty { font-family: var(--alm-sans); font-size: 0.875rem; color: var(--alm-ink-muted); padding: 24px; }

@media (max-width: 720px) { .eq-shelf { flex-direction: column; } .eq-shelf__label { writing-mode: horizontal-tb; transform: none; flex: 0 0 auto; border-right: none; border-bottom: 0.5px solid var(--alm-rule); } }

.eq-library-colophon { max-width: 560px; margin: 80px auto 48px; text-align: center; font-family: var(--alm-serif-body); font-style: italic; font-size: 0.9375rem; color: var(--alm-ink-muted); }
.eq-library-colophon a { color: var(--alm-ink); border-bottom: 0.5px solid var(--alm-rule); }

.eq-essay-layout { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 64px; max-width: 1080px; margin: 0 auto; padding: 40px 24px; }
@media (max-width: 900px) { .eq-essay-layout { grid-template-columns: 1fr; } }
.eq-essay-body { font-family: var(--alm-serif-body); font-size: 1.125rem; line-height: 1.75; color: var(--alm-ink); max-width: 680px; }
.eq-essay-body > p:first-child::first-letter { font-family: var(--alm-serif-display); font-size: 4.5rem; float: left; line-height: 0.9; margin: 6px 10px -4px 0; color: var(--alm-red); }
.eq-essay-sidebar { position: sticky; top: 80px; font-family: var(--alm-sans); font-size: 0.8125rem; color: var(--alm-ink-muted); border-left: 0.5px solid var(--alm-rule); padding-left: 20px; align-self: start; }
.eq-essay-sidebar p { margin: 0 0 12px; }
.eq-essay-sidebar strong { color: var(--alm-ink); }
.eq-essay-sidebar ul { list-style: none; padding: 0; margin: 0; }
.eq-essay-sidebar ul li { margin: 0 0 8px; }
.eq-essay-sidebar ul li a { color: var(--alm-ink); border-bottom: 0.5px solid var(--alm-rule); }
.eq-essay-colophon { max-width: 680px; margin: 48px 0 0; padding-top: 24px; border-top: 0.5px solid var(--alm-rule); font-style: italic; font-size: 0.875rem; color: var(--alm-ink-muted); }

.eq-field-note-layout { max-width: 620px; margin: 0 auto; padding: 40px 24px; }
.eq-field-note-meta { font-family: var(--alm-sans); font-size: 0.8125rem; color: var(--alm-ink-muted); margin-bottom: 24px; padding-bottom: 16px; border-bottom: 0.5px solid var(--alm-rule); }

.eq-dispatch-layout { max-width: 520px; margin: 0 auto; padding: 40px 24px; }
.eq-dispatch-date { font-family: var(--alm-sans); font-size: 0.8125rem; color: var(--alm-ink-muted); margin-bottom: 24px; }

.eq-archive { padding: 0 24px; }
.eq-archive-list { display: flex; flex-direction: column; gap: 32px; max-width: 720px; margin: 0 auto; }
.eq-archive-item { padding-bottom: 32px; border-bottom: 0.5px solid var(--alm-rule); }
.eq-archive-item__title { font-family: var(--alm-serif-display); font-size: 1.5rem; line-height: 1.3; margin: 0 0 8px; }
.eq-archive-item__title a { color: var(--alm-ink); text-decoration: none; }
.eq-archive-item__meta { font-family: var(--alm-sans); font-size: 0.75rem; color: var(--alm-ink-muted); margin: 0 0 8px; text-transform: uppercase; letter-spacing: 0.06em; }
.eq-archive-item__excerpt { font-family: var(--alm-serif-body); font-size: 0.9375rem; line-height: 1.6; color: var(--alm-ink-muted); margin: 0; }
.eq-library-title.is-read { border-bottom: 0.5px solid var(--alm-red); padding-bottom: 2px; }

/* ============================================================
   THE BENCH — Workshop working surface (v8.8.0)
   ============================================================ */

.eq-bench {
    display: grid;
    grid-template-columns: 220px 1fr 280px;
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 64px;
    align-items: start;
}

@media (max-width: 1024px) {
    .eq-bench { grid-template-columns: 180px 1fr 240px; gap: 16px; padding: 0 16px 48px; }
}
@media (max-width: 767px) {
    .eq-bench { display: flex; flex-direction: column; height: calc(100vh - 60px); gap: 0; padding: 0; max-width: 100%; overflow: hidden; }
    .eq-bench__rail { display: none; }
    .eq-bench__editorial { display: none; }
    .eq-bench__center { display: flex; flex-direction: column; flex: 1; gap: 0; overflow: hidden; }
    .eq-bench__card { display: none; }

    /* Mobile pills */
    .eq-bench__mobile-pills {
        display: flex;
        background: var(--alm-paper);
        border-bottom: 0.5px solid var(--alm-rule);
        padding: 10px 16px;
        flex-shrink: 0;
    }
    .eq-bench__mobile-pills-scroll {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        width: 100%;
    }
    .eq-bench__mobile-pills-scroll::-webkit-scrollbar { display: none; }
    .eq-bench__mobile-pill {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 6px 12px;
        border: 0.5px solid var(--alm-rule);
        border-radius: 100px;
        color: var(--alm-ink);
        text-decoration: none;
        font-family: var(--alm-sans);
        font-size: 0.8125rem;
        white-space: nowrap;
        scroll-snap-align: start;
        flex-shrink: 0;
        background: var(--alm-paper);
        transition: all 0.15s ease;
    }
    .eq-bench__mobile-pill.is-active {
        background: var(--alm-ink);
        color: var(--alm-paper);
        border-color: var(--alm-ink);
        font-weight: 600;
    }
    .eq-bench__mobile-pill.is-resident {
        border-color: var(--alm-red);
    }
    .eq-bench__mobile-pill.is-resident.is-active {
        background: var(--alm-red);
        border-color: var(--alm-red);
    }
    .eq-bench__mobile-pill .eq-bench__instrument-svg { width: 16px; height: 16px; }
    .eq-bench__mobile-pill .eq-bench__instrument-svg svg { width: 100%; height: 100%; }
    .eq-bench__mobile-pill-name { line-height: 1.2; }

    /* Mobile stage */
    .eq-bench__mobile-stage {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 24px 20px;
        display: flex;
        flex-direction: column;
    }
    .eq-bench__mobile-empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        justify-content: center;
        flex: 1;
        gap: 8px;
    }
    .eq-bench__mobile-empty-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 8px;
        color: var(--alm-ink-muted);
        opacity: 0.5;
    }
    .eq-bench__mobile-empty-icon svg { width: 100%; height: 100%; }
    .eq-bench__mobile-empty-name {
        font-family: var(--alm-serif-display);
        font-size: 1.5rem;
        color: var(--alm-ink);
        margin: 0;
        line-height: 1.3;
    }
    .eq-bench__mobile-empty-use {
        font-family: var(--alm-sans);
        font-size: 0.875rem;
        color: var(--alm-ink-muted);
        margin: 0;
        font-style: italic;
    }
    .eq-bench__mobile-empty-description {
        font-family: var(--alm-sans);
        font-size: 0.8125rem;
        color: var(--alm-ink-muted);
        line-height: 1.5;
        max-width: 320px;
        margin: 8px 0 0;
    }
    .eq-bench__mobile-empty-suggestions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
        margin-top: 20px;
        max-width: 340px;
    }
    .eq-bench__mobile-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 14px;
        border: 0.5px solid var(--alm-rule);
        border-radius: 100px;
        color: var(--alm-ink);
        text-decoration: none;
        font-family: var(--alm-sans);
        font-size: 0.8125rem;
        background: var(--alm-paper);
        transition: all 0.15s ease;
        cursor: pointer;
    }
    .eq-bench__mobile-chip:hover {
        background: rgba(17,26,43,0.06);
        border-color: var(--alm-ink);
    }
    .eq-bench__mobile-output-scroll {
        flex: 1;
        overflow-y: auto;
        padding: 0 4px;
    }
    .eq-bench__mobile-output-meta {
        font-family: var(--alm-sans);
        font-size: 0.6875rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--alm-ink-muted);
        margin-bottom: 12px;
    }
    .eq-bench__mobile-output-body {
        font-family: var(--alm-serif-body);
        font-size: 1rem;
        line-height: 1.6;
        color: var(--alm-ink);
    }
    .eq-bench__mobile-output-body pre {
        white-space: pre-wrap;
        font-family: var(--alm-serif-body);
        font-size: 1rem;
        line-height: 1.6;
        color: var(--alm-ink);
        margin: 0;
    }
    .eq-bench__mobile-output-actions {
        display: flex;
        gap: 16px;
        margin-top: 20px;
        padding-top: 16px;
        border-top: 0.5px solid var(--alm-rule);
        font-family: var(--alm-sans);
        font-size: 0.8125rem;
    }
    .eq-bench__mobile-output-actions a {
        color: var(--alm-ink);
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .eq-bench__mobile-output-actions a:hover { color: var(--alm-red); }

    /* Mobile composer */
    .eq-bench__mobile-composer {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        border-top: 0.5px solid var(--alm-rule);
        background: var(--alm-paper);
        flex-shrink: 0;
    }
    .eq-bench__mobile-composer-new {
        font-family: var(--alm-sans);
        font-size: 0.8125rem;
        padding: 8px 14px;
        border: 0.5px solid var(--alm-rule);
        border-radius: 100px;
        background: var(--alm-paper);
        color: var(--alm-ink);
        cursor: pointer;
        flex-shrink: 0;
        white-space: nowrap;
        transition: all 0.15s ease;
    }
    .eq-bench__mobile-composer-new:hover {
        background: rgba(17,26,43,0.06);
    }
    .eq-bench__mobile-composer-new:active {
        background: var(--alm-ink);
        color: var(--alm-paper);
    }
    .eq-bench__mobile-composer-input-wrap {
        flex: 1;
        display: flex;
        align-items: center;
        border: 0.5px solid var(--alm-rule);
        border-radius: 100px;
        padding: 4px 4px 4px 16px;
        background: var(--alm-paper);
        transition: border-color 0.2s ease;
    }
    .eq-bench__mobile-composer-input-wrap:focus-within {
        border-color: rgba(17,26,43,0.35);
    }
    .eq-bench__mobile-composer-input {
        flex: 1;
        border: none;
        outline: none;
        background: transparent;
        font-family: var(--alm-sans);
        font-size: 0.9375rem;
        color: var(--alm-ink);
        line-height: 1.4;
        resize: none;
        padding: 6px 0;
        max-height: 120px;
        min-height: 20px;
    }
    .eq-bench__mobile-composer-input::placeholder {
        color: var(--alm-ink-muted);
        opacity: 0.7;
    }
    .eq-bench__mobile-composer-send {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: none;
        background: var(--alm-ink);
        color: var(--alm-paper);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        flex-shrink: 0;
        transition: opacity 0.15s ease;
        padding: 0;
    }
    .eq-bench__mobile-composer-send:hover { opacity: 0.85; }
    .eq-bench__mobile-composer-send:disabled { opacity: 0.4; cursor: not-allowed; }
    .eq-bench__mobile-composer-send svg {
        width: 18px;
        height: 18px;
        margin-left: 1px;
    }
    .eq-bench__mobile-editorial { display: none; }
    .eq-workshop-demo { padding: 16px 0 24px; }
}

@media (min-width: 769px) {
    .eq-bench__mobile-pills { display: none; }
    .eq-bench__mobile-stage { display: none; }
    .eq-bench__mobile-composer { display: none; }
    .eq-bench__mobile-editorial { display: none; }
}

/* LEFT RAIL */
.eq-bench__rail {
    position: sticky;
    top: 80px;
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    align-self: start;
}
.eq-bench__rail-header {
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 0.5px solid var(--alm-rule);
}
.eq-bench__instrument {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 2px;
    color: var(--alm-ink);
    text-decoration: none;
    transition: background 0.2s ease;
    cursor: pointer;
    margin-bottom: 2px;
}
.eq-bench__instrument:hover {
    background: rgba(17,26,43,0.04);
}
.eq-bench__instrument.is-active {
    background: rgba(17,26,43,0.08);
    font-weight: 600;
}
.eq-bench__instrument.is-resident {
    border-left: 2px solid var(--alm-red);
    padding-left: 8px;
}
.eq-bench__instrument-svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.eq-bench__instrument-svg svg {
    width: 100%;
    height: 100%;
}
.eq-bench__instrument-name {
    line-height: 1.3;
}

/* CENTER */
.eq-bench__center {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.eq-bench__card {
    background: var(--alm-paper);
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    padding: 24px;
}
.eq-bench__card-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 8px;
}
.eq-bench__card-title {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
}
.eq-bench__card-meta {
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    color: var(--alm-ink-muted);
}
.eq-bench__textarea {
    width: 100%;
    min-height: 180px;
    padding: 12px;
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    font-family: var(--alm-serif-body);
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--alm-ink);
    background: var(--alm-paper);
    resize: vertical;
    margin-bottom: 12px;
}
.eq-bench__textarea:focus {
    outline: none;
    border-color: rgba(17,26,43,0.3);
}
.eq-bench__use-case {
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    color: var(--alm-ink-muted);
    margin: 0 0 16px;
    line-height: 1.5;
}

/* Settings row */
.eq-bench__settings {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
    padding-top: 12px;
    border-top: 0.5px solid var(--alm-rule);
}
.eq-bench__setting label {
    display: block;
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
    margin-bottom: 4px;
}
.eq-bench__setting select,
.eq-bench__setting input[type="text"] {
    width: 100%;
    padding: 6px 8px;
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    background: var(--alm-paper);
    color: var(--alm-ink);
}
.eq-bench__deeper {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding-top: 4px;
}
.eq-bench__deeper input {
    margin-top: 2px;
}
.eq-bench__deeper-hint {
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    color: var(--alm-ink-muted);
    line-height: 1.4;
}

/* Actions */
.eq-bench__actions {
    display: flex;
    gap: 12px;
    align-items: center;
}
.eq-bench__btn-primary {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 10px 20px;
    background: var(--alm-ink);
    color: var(--alm-paper);
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: opacity 0.2s ease;
}
.eq-bench__btn-primary:hover { opacity: 0.85; }
.eq-bench__btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
.eq-bench__btn-text {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    color: var(--alm-ink-muted);
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px 8px;
}
.eq-bench__btn-text:hover { color: var(--alm-ink); }

/* Output card */
.eq-bench__output-card {
    border-left: 2px solid var(--alm-ink);
}
.eq-bench__output-card.is-deeper {
    border-left-color: var(--alm-red);
}
.eq-bench__output-kicker {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red);
    margin-bottom: 12px;
}
.eq-bench__output-body {
    font-family: var(--alm-serif-body);
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--alm-ink);
    margin-bottom: 16px;
}
.eq-bench__output-body pre {
    white-space: pre-wrap;
    font-family: var(--alm-serif-body);
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--alm-ink);
    margin: 0;
}
.eq-bench__output-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    align-items: center;
    margin-bottom: 12px;
    padding-top: 12px;
    border-top: 0.5px solid var(--alm-rule);
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
}
.eq-bench__output-actions a {
    color: var(--alm-ink);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}
.eq-bench__output-actions a:hover { color: var(--alm-red); }
.eq-bench__dot { color: var(--alm-ink-muted); }

/* RIGHT RAIL */
.eq-bench__editorial {
    position: sticky;
    top: 80px;
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.eq-bench__editorial-panel {
    border-left: 0.5px solid var(--alm-rule);
    padding-left: 16px;
}
.eq-bench__editorial-svg {
    width: 32px;
    height: 32px;
    margin-bottom: 8px;
}
.eq-bench__editorial-name {
    font-family: var(--alm-serif-display);
    font-size: 1.125rem;
    margin: 0 0 8px;
    color: var(--alm-ink);
}
.eq-bench__editorial-use {
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    color: var(--alm-ink-muted);
    margin: 0 0 8px;
    font-style: italic;
}
.eq-bench__editorial-description {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    color: var(--alm-ink);
    line-height: 1.5;
    margin: 0 0 16px;
}
.eq-bench__example {
    background: rgba(17,26,43,0.03);
    padding: 12px;
    border-radius: 2px;
    font-size: 0.75rem;
}
.eq-bench__example-label {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
    display: block;
    margin-bottom: 4px;
}
.eq-bench__example-arrow {
    display: block;
    color: var(--alm-ink-muted);
    font-style: italic;
    margin: 8px 0;
}

/* Also consider */
.eq-bench__also-consider {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    color: var(--alm-ink);
    text-decoration: none;
    border-bottom: 0.5px solid var(--alm-rule);
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    cursor: pointer;
}
.eq-bench__also-consider:hover { color: var(--alm-red); }
.eq-bench__also-consider-name { line-height: 1.3; }
.eq-bench__also-consider-reason {
    font-size: 0.75rem;
    color: var(--alm-ink-muted);
    margin: 4px 0 0;
    font-style: italic;
    width: 100%;
}

/* Session history */
.eq-bench__session-item {
    display: block;
    padding: 6px 0;
    color: var(--alm-ink);
    text-decoration: none;
    border-bottom: 0.5px solid var(--alm-rule);
    font-family: var(--alm-sans);
    font-size: 0.75rem;
}
.eq-bench__session-item:hover { color: var(--alm-red); }
.eq-bench__session-item-name { font-weight: 600; }

/* Modal */
.eq-bench__modal {
    position: fixed;
    inset: 0;
    background: rgba(17,26,43,0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.eq-bench__modal-content {
    background: var(--alm-paper);
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    padding: 32px;
    max-width: 420px;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
}
.eq-bench__modal-title {
    font-family: var(--alm-serif-display);
    font-size: 1.25rem;
    margin: 0 0 8px;
    color: var(--alm-ink);
}
.eq-bench__modal-subtitle {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    color: var(--alm-ink-muted);
    margin: 0 0 20px;
}
.eq-bench__modal-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 20px;
}
.eq-bench__modal-cancel {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    color: var(--alm-ink-muted);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.eq-bench__modal-cancel:hover { color: var(--alm-ink); }

/* Workshop demo area */
.eq-workshop-demo {
    padding: 24px 0 48px;
    text-align: center;
}
.eq-workshop-typewriter {
    font-family: var(--alm-serif-display);
    font-size: 1.25rem;
    color: var(--alm-ink);
    min-height: 2rem;
}
.eq-workshop-constellation {
    display: block;
    margin: 16px auto 0;
    opacity: 0.6;
}

/* ============================================================
   THE WEATHER — homepage weekly editorial paragraph (v8.9.0)
   ============================================================ */
.alm-weather { padding: 48px 24px 32px; text-align: center; border-bottom: 0.5px solid var(--alm-rule, #d5cfc1); }
.alm-weather__kicker { display: block; font-family: var(--alm-sans, Inter, system-ui); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-red, #B5432C); margin-bottom: 20px; }
.alm-weather__body { max-width: 720px; margin: 0 auto; font-family: var(--alm-serif-display, 'Cormorant Garamond', Georgia, serif); font-style: italic; font-size: 1.5rem; line-height: 1.5; color: var(--alm-ink, #111A2B); }
.alm-weather__body p { margin: 0; }
.alm-weather__date { display: inline-block; margin-top: 20px; font-family: var(--alm-sans, Inter, system-ui); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted, #555); }

@media (max-width: 720px) {
    .alm-weather__body { font-size: 1.25rem; }
    .alm-weather { padding: 32px 20px 24px; }
}

/* ============================================================
   WORKSHOP SHOWCASE — problem-based page (v8.9.3)
   ============================================================ */

.eq-workshop-hero {
    padding: 64px 24px 48px;
    text-align: center;
    border-bottom: 0.5px solid var(--alm-rule);
}
.eq-workshop-hero__kicker {
    display: block;
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red);
    margin-bottom: 16px;
}
.eq-workshop-hero__title {
    font-family: var(--alm-serif-display);
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    line-height: 1.15;
    color: var(--alm-ink);
    max-width: 700px;
    margin: 0 auto 20px;
}
.eq-workshop-hero__lede {
    font-family: var(--alm-serif-body);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--alm-ink-muted);
    max-width: 640px;
    margin: 0 auto 28px;
}
.eq-workshop-hero__cta {
    display: inline-block;
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 12px 28px;
    background: var(--alm-ink);
    color: var(--alm-paper);
    text-decoration: none;
    border-radius: 2px;
    transition: opacity 0.2s ease;
}
.eq-workshop-hero__cta:hover { opacity: 0.85; }

/* Problem grid */
.eq-workshop-problems {
    padding: 48px 24px;
}
.eq-workshop-problems__heading {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
    margin-bottom: 32px;
    text-align: center;
}
.eq-workshop-problems__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
}
.eq-workshop-problem-card {
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    padding: 24px;
    background: var(--alm-paper);
    display: flex;
    flex-direction: column;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.eq-workshop-problem-card:hover {
    border-color: rgba(17,26,43,0.25);
    box-shadow: 0 2px 12px rgba(17,26,43,0.06);
}
.eq-workshop-problem-card.is-resident {
    border-left: 2px solid var(--alm-red);
}
.eq-workshop-problem-card__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.eq-workshop-problem-card__svg {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}
.eq-workshop-problem-card__svg svg { width: 100%; height: 100%; }
.eq-workshop-problem-card__inst-name {
    font-family: var(--alm-sans);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
}
.eq-workshop-problem-card__badge {
    font-family: var(--alm-sans);
    font-size: 0.625rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-red);
    margin-left: auto;
    padding: 2px 8px;
    border: 0.5px solid var(--alm-red);
    border-radius: 100px;
}
.eq-workshop-problem-card__quote {
    font-family: var(--alm-serif-display);
    font-size: 1.125rem;
    line-height: 1.35;
    color: var(--alm-ink);
    margin: 0 0 12px;
    padding: 0;
    border: none;
    font-style: italic;
}
.eq-workshop-problem-card__purpose {
    font-family: var(--alm-serif-body);
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--alm-ink-muted);
    margin: 0 0 10px;
}
.eq-workshop-problem-card__when {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--alm-ink-muted);
    margin: 0 0 12px;
}
.eq-workshop-problem-card__outputs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}
.eq-workshop-problem-card__outputs-label {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    color: var(--alm-ink-muted);
    width: 100%;
    margin-bottom: 2px;
}
.eq-workshop-problem-card__output-tag {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    padding: 3px 10px;
    border: 0.5px solid var(--alm-rule);
    border-radius: 100px;
    color: var(--alm-ink);
    background: rgba(17,26,43,0.03);
}
.eq-workshop-problem-card__output-more {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    color: var(--alm-ink-muted);
    padding: 3px 8px;
}
.eq-workshop-problem-card__workflow {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    align-items: center;
    margin-bottom: 16px;
    font-family: var(--alm-sans);
    font-size: 0.75rem;
}
.eq-workshop-problem-card__workflow-label {
    color: var(--alm-ink-muted);
}
.eq-workshop-problem-card__workflow-link {
    color: var(--alm-ink);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.eq-workshop-problem-card__workflow-link:hover { color: var(--alm-red); }
.eq-workshop-problem-card__actions {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: auto;
    padding-top: 12px;
    border-top: 0.5px solid var(--alm-rule);
}
.eq-workshop-problem-card__btn-primary {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    padding: 9px 18px;
    background: var(--alm-ink);
    color: var(--alm-paper);
    text-decoration: none;
    border-radius: 2px;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}
.eq-workshop-problem-card__btn-primary:hover { opacity: 0.85; }
.eq-workshop-problem-card__btn-text {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    color: var(--alm-ink-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
    white-space: nowrap;
}
.eq-workshop-problem-card__btn-text:hover { color: var(--alm-ink); }

/* Workflow chains */
.eq-workshop-chains {
    padding: 48px 24px;
    background: rgba(17,26,43,0.02);
    border-top: 0.5px solid var(--alm-rule);
    border-bottom: 0.5px solid var(--alm-rule);
}
.eq-workshop-chains__heading {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
    margin-bottom: 8px;
    text-align: center;
}
.eq-workshop-chains__sub {
    font-family: var(--alm-serif-body);
    font-size: 0.9375rem;
    color: var(--alm-ink-muted);
    text-align: center;
    margin: 0 0 32px;
    font-style: italic;
}
.eq-workshop-chains__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
}
.eq-workshop-chain {
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    padding: 20px;
    background: var(--alm-paper);
}
.eq-workshop-chain__title {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alm-ink);
    margin: 0 0 12px;
}
.eq-workshop-chain__steps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
}
.eq-workshop-chain__step {
    color: var(--alm-ink);
    padding: 3px 8px;
    background: rgba(17,26,43,0.04);
    border-radius: 2px;
}
.eq-workshop-chain__arrow {
    color: var(--alm-ink-muted);
    font-size: 0.875rem;
}

/* Oath */
.eq-workshop-oath {
    padding: 48px 24px;
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
}
.eq-workshop-oath__title {
    font-family: var(--alm-serif-display);
    font-size: 1.5rem;
    color: var(--alm-ink);
    margin: 0 0 16px;
}
.eq-workshop-oath__body {
    font-family: var(--alm-serif-body);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--alm-ink);
    margin: 0 0 16px;
    font-style: italic;
}
.eq-workshop-oath__note {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--alm-ink-muted);
    margin: 0;
}

/* FAQ */
.eq-workshop-faq {
    padding: 48px 24px 64px;
    max-width: 720px;
    margin: 0 auto;
}
.eq-workshop-faq__heading {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-ink-muted);
    margin-bottom: 24px;
    text-align: center;
}
.eq-workshop-faq__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.eq-workshop-faq__item {
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    overflow: hidden;
}
.eq-workshop-faq__item summary {
    font-family: var(--alm-sans);
    font-size: 0.9375rem;
    color: var(--alm-ink);
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.eq-workshop-faq__item summary::-webkit-details-marker { display: none; }
.eq-workshop-faq__item summary::after {
    content: '+';
    font-size: 1.25rem;
    color: var(--alm-ink-muted);
    flex-shrink: 0;
    margin-left: 12px;
}
.eq-workshop-faq__item[open] summary::after { content: '\2013'; }
.eq-workshop-faq__item p {
    font-family: var(--alm-serif-body);
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--alm-ink-muted);
    margin: 0;
    padding: 0 20px 16px;
}

@media (max-width: 720px) {
    .eq-workshop-hero { padding: 40px 20px 32px; }
    .eq-workshop-hero__title { font-size: 1.75rem; }
    .eq-workshop-problems { padding: 32px 16px; }
    .eq-workshop-problems__grid { grid-template-columns: 1fr; gap: 16px; }
    .eq-workshop-problem-card { padding: 20px; }
    .eq-workshop-chains { padding: 32px 16px; }
    .eq-workshop-chains__grid { grid-template-columns: 1fr; }
    .eq-workshop-oath { padding: 32px 20px; }
    .eq-workshop-faq { padding: 32px 16px 48px; }
}

/* Homepage dispatch CTA bar */
.alm-dispatches__cta-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px 24px;
    margin-bottom: 20px;
    border: 0.5px solid var(--alm-rule);
    border-radius: 2px;
    background: rgba(17,26,43,0.02);
    text-align: center;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.alm-dispatches__cta-label {
    font-family: var(--alm-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red);
}
.alm-dispatches__cta-body {
    font-family: var(--alm-serif-body);
    font-size: 1rem;
    font-style: italic;
    color: var(--alm-ink);
    margin: 0;
    line-height: 1.5;
}
.alm-dispatches__cta-link {
    font-family: var(--alm-sans);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    padding: 10px 22px;
    background: var(--alm-red, #B5432C);
    color: var(--alm-paper, #F3EFE6);
    text-decoration: none;
    border: 1px solid var(--alm-red, #B5432C);
    white-space: nowrap;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.alm-dispatches__cta-link:hover {
    background: var(--alm-ink, #111A2B);
    border-color: var(--alm-ink, #111A2B);
    color: var(--alm-paper, #F3EFE6);
    opacity: 1;
}
.alm-dispatches__cta-link:focus-visible {
    outline: 2px solid var(--alm-red, #B5432C);
    outline-offset: 3px;
}

/* ---- Instrument Icons (homepage CTA bar) ---- */
.alm-instrument-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 16px;
    margin: 20px 0 24px;
    padding: 0;
}

.alm-instrument-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--alm-ink-muted, #555);
    padding: 8px 6px;
    transition: color 160ms ease;
    min-width: 56px;
}

.alm-instrument-icon:hover {
    color: var(--alm-red, #B5432C);
}

.alm-instrument-icon:hover .alm-instrument-icon__svg {
    opacity: 1;
}

.alm-instrument-icon__svg {
    width: 32px;
    height: 32px;
    opacity: 0.55;
    transition: opacity 160ms ease;
}

.alm-instrument-icon__svg svg,
.alm-instrument-icon__svg svg * {
    width: 100%;
    height: 100%;
    display: block;
    fill: none;
    stroke: currentColor;
}

.alm-instrument-icon__name {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.625rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.2;
    max-width: 70px;
}

@media (max-width: 640px) {
    .alm-instrument-icons {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px 8px;
        justify-items: center;
    }
    .alm-instrument-icon {
        min-width: auto;
        padding: 8px 2px;
        width: 100%;
    }
    .alm-instrument-icon__svg {
        width: 28px;
        height: 28px;
    }
    .alm-instrument-icon__name {
        font-size: 0.5625rem;
        max-width: none;
        letter-spacing: 0.02em;
    }
}

@media (max-width: 360px) {
    .alm-instrument-icons {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px 6px;
    }
    .alm-instrument-icon__svg {
        width: 26px;
        height: 26px;
    }
}

/* ============================================================
   BENCH PATH INDICATOR + POSITIONING (v8.9.4)
   ============================================================ */

.eq-bench__path-indicator {
    font-family: var(--alm-serif-body);
    font-style: italic;
    font-size: 0.875rem;
    color: var(--alm-ink-muted);
    margin: 0 0 12px;
    line-height: 1.5;
}

.eq-workshop-positioning {
    padding: 24px 24px 0;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}
.eq-workshop-positioning__text {
    font-family: var(--alm-serif-body);
    font-size: 1rem;
    font-style: italic;
    color: var(--alm-ink-muted);
    line-height: 1.5;
    margin: 0;
}
/* ===== The Reading Room ===== */
.eq-reading-room { max-width: 920px; margin: 64px auto; padding: 0 24px; }
.eq-reading-room__shelves { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin: 32px 0 48px; }
@media (max-width: 720px) { .eq-reading-room__shelves { grid-template-columns: 1fr; } }
.eq-reading-room__shelf-header { font-family: var(--alm-sans); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 0.5px solid var(--alm-rule); }
.eq-reading-room__shelf-count { font-family: var(--alm-serif-display); font-size: 2.5rem; color: var(--alm-ink); display: block; margin-bottom: 16px; }
.eq-reading-room__shelf-list { list-style: none; padding: 0; margin: 0; font-family: var(--alm-serif-body); font-size: 0.9375rem; }
.eq-reading-room__shelf-list li { padding: 8px 0; border-bottom: 0.5px solid var(--alm-rule); }
.eq-reading-room__shelf-list a { color: var(--alm-ink); text-decoration: none; }
.eq-reading-room__shelf-list a:hover { border-bottom: 0.5px solid var(--alm-red); }
.eq-reading-room__year-line { font-family: var(--alm-serif-body); font-style: italic; font-size: 0.9375rem; color: var(--alm-ink-muted); text-align: center; margin: 32px 0 64px; }

.eq-reading-room__section-header { font-family: var(--alm-sans); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted); margin: 48px 0 16px; padding-bottom: 8px; border-bottom: 0.5px solid var(--alm-rule); }

.eq-reading-room__margin-list { list-style: none; padding: 0; margin: 0; }
.eq-reading-room__margin-entry { padding: 16px 0; border-bottom: 0.5px solid var(--alm-rule); }
.eq-reading-room__margin-essay { font-family: var(--alm-serif-display); font-size: 1.125rem; color: var(--alm-ink); }
.eq-reading-room__margin-note { font-family: var(--alm-serif-body); font-style: italic; color: var(--alm-ink-muted); margin-top: 4px; font-size: 0.9375rem; }
.eq-reading-room__margin-date { font-family: var(--alm-sans); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--alm-ink-muted); margin-top: 4px; display: block; }

.eq-reading-room__project { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; border-bottom: 0.5px solid var(--alm-rule); }
.eq-reading-room__project-name { font-family: var(--alm-serif-display); font-size: 1.25rem; color: var(--alm-ink); }
.eq-reading-room__project-meta { font-family: var(--alm-sans); font-size: 0.75rem; color: var(--alm-ink-muted); display: flex; gap: 16px; align-items: center; }
.eq-reading-room__project-meta a { color: var(--alm-red); text-decoration: none; }

.eq-reading-room__colophon { font-family: var(--alm-serif-body); font-style: italic; color: var(--alm-ink-muted); font-size: 0.875rem; text-align: center; margin: 64px auto 32px; max-width: 560px; padding-top: 32px; border-top: 0.5px solid var(--alm-rule); }

/* ===== The Desk session start panel ===== */
.eq-desk-start { max-width: 560px; margin: 32px auto; padding: 32px; border: 0.5px solid var(--alm-rule); background: rgba(181, 67, 44, 0.02); }
.eq-desk-start__kicker { font-family: var(--alm-sans); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-red); margin: 0 0 8px; }
.eq-desk-start__title { font-family: var(--alm-serif-display); font-size: 1.75rem; margin: 0 0 24px; }
.eq-desk-start__field { margin-bottom: 16px; }
.eq-desk-start__field label { display: block; font-family: var(--alm-sans); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted); margin-bottom: 6px; }
.eq-desk-start__field input[type="text"], .eq-desk-start__field select { width: 100%; padding: 8px; font-family: var(--alm-serif-body); font-size: 0.9375rem; border: 0.5px solid var(--alm-rule); background: transparent; }
.eq-desk-start__hint { font-family: var(--alm-serif-body); font-style: italic; font-size: 0.8125rem; color: var(--alm-ink-muted); margin: 8px 0 0; }

/* ===== The Desk indicator (site-wide while at Desk) ===== */
.eq-desk-indicator { position: fixed; top: 16px; right: 24px; display: flex; gap: 8px; align-items: center; font-family: var(--alm-sans); font-size: 0.75rem; letter-spacing: 0.04em; color: var(--alm-red); z-index: 1000; background: var(--alm-paper); padding: 6px 12px; border: 0.5px solid var(--alm-red); }
.eq-desk-indicator__separator { color: var(--alm-rule); }
.eq-desk-indicator__end { color: var(--alm-red); text-decoration: underline; text-decoration-color: rgba(181, 67, 44, 0.3); cursor: pointer; }
.eq-desk-indicator__end:hover { text-decoration-color: var(--alm-red); }

/* ===== Marginalia marks in essays ===== */
.eq-essay-body p { position: relative; }
.eq-marginalia-mark { position: absolute; left: -24px; top: 8px; width: 1px; height: 16px; background: var(--alm-red); opacity: 0; transition: opacity 200ms ease; cursor: pointer; }
.eq-essay-body p:hover .eq-marginalia-mark { opacity: 0.5; }
.eq-essay-body p.has-marginalia .eq-marginalia-mark { opacity: 1; }
.eq-essay-body p.has-marginalia { border-right: 0.5px solid var(--alm-red); padding-right: 16px; }

.eq-marginalia { margin: 12px 0 12px -16px; padding: 16px 20px; background: rgba(181, 67, 44, 0.04); border-left: 2px solid var(--alm-red); }
.eq-marginalia textarea { width: 100%; min-height: 80px; padding: 8px; font-family: var(--alm-serif-body); font-size: 0.9375rem; line-height: 1.55; color: var(--alm-ink); background: transparent; border: 0.5px solid var(--alm-rule); resize: vertical; }
.eq-marginalia__actions { display: flex; gap: 12px; margin-top: 8px; }

/* ===== At-the-Desk chrome hiding ===== */
html.eq-at-the-desk .alm-weather,
html.eq-at-the-desk .alm-dispatch-prose,
html.eq-at-the-desk .alm-dispatches,
html.eq-at-the-desk .alm-tiers,
html.eq-at-the-desk .alm-friday-ribbon,
html.eq-at-the-desk .eq-library-picks,
html.eq-at-the-desk .eq-bench__rail--right,
html.eq-at-the-desk .eq-bench__session,
html.eq-at-the-desk .eq-masthead__issue,
html.eq-at-the-desk .eq-masthead__chapter,
body.eq-at-the-desk .alm-weather,
body.eq-at-the-desk .alm-dispatch-prose,
body.eq-at-the-desk .alm-dispatches,
body.eq-at-the-desk .alm-tiers,
body.eq-at-the-desk .alm-friday-ribbon,
body.eq-at-the-desk .eq-library-picks,
body.eq-at-the-desk .eq-bench__rail--right,
body.eq-at-the-desk .eq-bench__session,
body.eq-at-the-desk .eq-masthead__issue,
body.eq-at-the-desk .eq-masthead__chapter {
    display: none !important;
}

/* When at the Desk, the Bench's center column gets the right rail's space */
body.eq-at-the-desk .eq-bench { grid-template-columns: 220px minmax(0, 1fr); }
@media (max-width: 1023px) { body.eq-at-the-desk .eq-bench { grid-template-columns: 1fr; } }

/* ===== v8.11.0 — Saved Search & Field Note Request ===== */

/* Watch action */
.eq-watch-action { font-family: var(--alm-serif-body); font-style: italic; font-size: 0.875rem; color: var(--alm-ink-muted); border-bottom: 0.5px solid var(--alm-rule); text-decoration: none; padding-bottom: 1px; cursor: pointer; transition: color 150ms ease, border-bottom-color 150ms ease; }
.eq-watch-action:hover { color: var(--alm-ink); border-bottom-color: var(--alm-red); }
.eq-watch-action.is-watching { color: var(--alm-red); border-bottom-color: var(--alm-red); font-style: normal; }

/* Watch this search modal */
.eq-watch-search-modal { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(17, 26, 43, 0.4); z-index: 1100; }
.eq-watch-search-modal__content { max-width: 480px; width: calc(100% - 48px); background: var(--alm-paper); border: 0.5px solid var(--alm-ink); padding: 32px; }

/* Watching tab in Reading Room */
.eq-room-watching__entry { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 16px 0; border-bottom: 0.5px solid var(--alm-rule); align-items: baseline; }
.eq-room-watching__type { font-family: var(--alm-sans); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--alm-ink-muted); margin-right: 12px; }
.eq-room-watching__title { font-family: var(--alm-serif-display); font-size: 1.125rem; color: var(--alm-ink); }
.eq-room-watching__filters { font-family: var(--alm-serif-body); font-style: italic; font-size: 0.875rem; color: var(--alm-ink-muted); margin-top: 4px; }
.eq-room-watching__meta { font-family: var(--alm-sans); font-size: 0.75rem; color: var(--alm-ink-muted); display: flex; flex-direction: column; gap: 2px; text-align: right; }
.eq-room-watching__stop { color: var(--alm-red); cursor: pointer; }

/* Field Note Request footer link */
.eq-field-note-request-link { text-align: center; padding: 32px 24px; border-top: 0.5px solid var(--alm-rule); margin-top: 64px; }
.eq-field-note-request-link a { font-family: var(--alm-serif-body); font-style: italic; color: var(--alm-ink-muted); border-bottom: 0.5px solid var(--alm-rule); text-decoration: none; padding-bottom: 1px; }
.eq-field-note-request-link a:hover { color: var(--alm-ink); border-bottom-color: var(--alm-red); }

/* Field Note Request modal */
.eq-request-modal { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(17, 26, 43, 0.4); z-index: 1100; }
.eq-request-modal__content { max-width: 560px; width: calc(100% - 48px); background: var(--alm-paper); border: 0.5px solid var(--alm-ink); padding: 32px; }
.eq-request-modal__title { font-family: var(--alm-serif-display); font-size: 1.5rem; margin: 0 0 8px; }
.eq-request-modal__subtitle { font-family: var(--alm-serif-body); font-style: italic; color: var(--alm-ink-muted); margin: 0 0 24px; }
.eq-request-modal textarea { width: 100%; min-height: 120px; padding: 12px; font-family: var(--alm-serif-body); font-size: 1rem; line-height: 1.6; border: 0.5px solid var(--alm-rule); resize: vertical; }
.eq-request-modal__email-field { margin-top: 16px; }
.eq-request-modal__actions { display: flex; gap: 12px; margin-top: 16px; justify-content: flex-end; }

/* Admin moderation page */
.eq-request-row { padding: 20px; background: #fff; border: 0.5px solid var(--alm-rule); margin-bottom: 16px; }
.eq-request-row__text { font-family: var(--alm-serif-body); font-style: italic; font-size: 1rem; line-height: 1.55; margin: 0 0 12px; }
.eq-request-row__meta { font-family: var(--alm-sans); font-size: 0.75rem; color: var(--alm-ink-muted); margin-bottom: 16px; }
.eq-request-row__actions button { margin-right: 8px; }


/* ==========================================================================
   v8.12.40 patch: homepage instrument icons and banner polish
   ========================================================================== */
.eq-seasonal__text a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 0.5px;
    text-underline-offset: 3px;
}

.alm-instrument-icons {
    align-items: start;
}

.alm-instrument-icon,
.alm-instrument-icon:visited {
    color: var(--alm-ink, #111A2B) !important;
    opacity: 1 !important;
}

.alm-instrument-icon__svg {
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: var(--alm-ink, #111A2B) !important;
    opacity: 0.86 !important;
    min-width: 32px;
    min-height: 32px;
}

.alm-instrument-icon__svg svg {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    overflow: visible !important;
}

.alm-instrument-icon__svg svg,
.alm-instrument-icon__svg svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.6 !important;
    vector-effect: non-scaling-stroke;
}

.alm-instrument-icon:hover .alm-instrument-icon__svg,
.alm-instrument-icon:focus-visible .alm-instrument-icon__svg {
    color: var(--alm-red, #B5432C) !important;
    opacity: 1 !important;
}

@media (max-width: 640px) {
    .alm-instrument-icon__svg,
    .alm-instrument-icon__svg svg {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px;
        min-height: 30px;
    }
}

/* ============================================================
   HOMEPAGE INSTRUMENT ICON ALIGNMENT FIX (v8.12.41)
   Keeps the CTA-bar icons ordered and visually stable
   ============================================================ */
.home .alm-dispatches__cta-bar .alm-instrument-icons {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(72px, 1fr));
    gap: 14px 10px;
    align-items: start;
    justify-items: center;
    width: 100%;
    max-width: 760px;
    margin: 18px auto 24px;
    padding: 0;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon,
.home .alm-dispatches__cta-bar .alm-instrument-icon:visited {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    min-height: 78px;
    padding: 6px 4px;
    text-align: center;
    text-decoration: none;
    color: var(--alm-ink, #111A2B) !important;
    box-sizing: border-box;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px;
    min-height: 34px;
    margin: 0 auto;
    line-height: 0;
    color: var(--alm-ink, #111A2B) !important;
    opacity: 0.9 !important;
    overflow: visible;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    margin: 0 auto;
    overflow: visible !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg,
.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.6 !important;
    vector-effect: non-scaling-stroke;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__name {
    display: block;
    width: 100%;
    min-height: 2.4em;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.625rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
    text-align: center;
    margin: 0;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon:hover,
.home .alm-dispatches__cta-bar .alm-instrument-icon:focus-visible {
    color: var(--alm-red, #B5432C) !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon:hover .alm-instrument-icon__svg,
.home .alm-dispatches__cta-bar .alm-instrument-icon:focus-visible .alm-instrument-icon__svg,
.home .alm-dispatches__cta-bar .alm-instrument-icon:hover .alm-instrument-icon__name,
.home .alm-dispatches__cta-bar .alm-instrument-icon:focus-visible .alm-instrument-icon__name {
    color: var(--alm-red, #B5432C) !important;
}

@media (max-width: 900px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(4, minmax(70px, 1fr));
        max-width: 560px;
    }
}

@media (max-width: 640px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(3, minmax(74px, 1fr));
        gap: 12px 8px;
        max-width: 340px;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon {
        min-height: 74px;
        padding: 6px 2px;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon__svg,
    .home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg {
        width: 30px !important;
        height: 30px !important;
        max-width: 30px !important;
        max-height: 30px !important;
        min-width: 30px;
        min-height: 30px;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon__name {
        font-size: 0.5625rem;
        line-height: 1.15;
        min-height: 2.3em;
        letter-spacing: 0.03em;
    }
}

@media (max-width: 360px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(2, minmax(92px, 1fr));
        max-width: 220px;
    }
}

/* ============================================================
   HOMEPAGE INSTRUMENT ICON STABILITY FIX (v8.12.42)
   Prevents inherited SVG rules from stretching paths and placing labels
   through icons in the dispatch prompt.
   ============================================================ */
.home .alm-dispatches__cta-bar .alm-instrument-icons {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(86px, 1fr)) !important;
    column-gap: 14px !important;
    row-gap: 22px !important;
    max-width: 820px !important;
    align-items: start !important;
    justify-items: center !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon,
.home .alm-dispatches__cta-bar .alm-instrument-icon:visited {
    display: grid !important;
    grid-template-rows: 48px minmax(28px, auto) !important;
    place-items: center !important;
    align-content: start !important;
    gap: 8px !important;
    min-height: 88px !important;
    width: 100% !important;
    padding: 4px 6px 8px !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    text-decoration: none !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon::before,
.home .alm-dispatches__cta-bar .alm-instrument-icon::after {
    content: none !important;
    display: none !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg {
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    line-height: 0 !important;
    color: var(--alm-ink, #111A2B) !important;
    opacity: 0.9 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg * {
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    display: inline !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
    vector-effect: non-scaling-stroke !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__name {
    grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 86px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif) !important;
    font-size: 0.58rem !important;
    line-height: 1.22 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: var(--alm-ink, #111A2B) !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

@media (max-width: 900px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(4, minmax(80px, 1fr)) !important;
        max-width: 610px !important;
    }
}

@media (max-width: 640px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(3, minmax(86px, 1fr)) !important;
        row-gap: 18px !important;
        max-width: 360px !important;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon {
        grid-template-rows: 44px minmax(26px, auto) !important;
        min-height: 82px !important;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon__svg {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        max-width: 38px !important;
        max-height: 38px !important;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon__name {
        max-width: 84px !important;
        font-size: 0.54rem !important;
        letter-spacing: 0.04em !important;
    }
}

@media (max-width: 360px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(2, minmax(96px, 1fr)) !important;
        max-width: 238px !important;
    }
}

/* ============================================================
   HOMEPAGE INSTRUMENT ICON VISUAL ENHANCEMENT (v8.12.43)
   Makes the homepage prompt icons cleaner and closer to the
   Almanac instrument style already used elsewhere.
   ============================================================ */
.home .alm-dispatches__cta-bar .alm-instrument-icons {
    grid-template-columns: repeat(6, minmax(96px, 1fr)) !important;
    gap: 16px 12px !important;
    max-width: 780px !important;
    margin: 24px auto 28px !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon,
.home .alm-dispatches__cta-bar .alm-instrument-icon:visited {
    position: relative;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 110px !important;
    padding: 12px 8px 14px !important;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255,255,255,0.14);
}

.home .alm-dispatches__cta-bar .alm-instrument-icon::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--alm-rule, #d5cfc1);
}

.home .alm-dispatches__cta-bar .alm-instrument-icon::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 1px;
    background: var(--alm-rule, #d5cfc1);
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    margin: 0 auto !important;
    opacity: 1 !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg {
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg,
.home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg * {
    stroke-width: 1.8 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon__name {
    min-height: 2.6em !important;
    max-width: 84px;
    margin: 0 auto !important;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif) !important;
    font-size: 0.64rem !important;
    line-height: 1.18 !important;
    letter-spacing: 0.07em !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon:hover,
.home .alm-dispatches__cta-bar .alm-instrument-icon:focus-visible {
    background: rgba(181, 67, 44, 0.04);
    border-color: rgba(181, 67, 44, 0.35);
}

.home .alm-dispatches__cta-bar .alm-instrument-icon:hover::after,
.home .alm-dispatches__cta-bar .alm-instrument-icon:focus-visible::after {
    background: var(--alm-red, #B5432C);
}

@media (max-width: 900px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(4, minmax(92px, 1fr)) !important;
        max-width: 560px !important;
    }
}

@media (max-width: 640px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(3, minmax(88px, 1fr)) !important;
        gap: 12px 10px !important;
        max-width: 340px !important;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon,
    .home .alm-dispatches__cta-bar .alm-instrument-icon:visited {
        min-height: 100px !important;
        padding: 10px 6px 12px !important;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon__svg,
    .home .alm-dispatches__cta-bar .alm-instrument-icon__svg svg {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        max-width: 40px !important;
        max-height: 40px !important;
    }

    .home .alm-dispatches__cta-bar .alm-instrument-icon__name {
        max-width: 78px;
        font-size: 0.58rem !important;
        letter-spacing: 0.06em !important;
    }
}

@media (max-width: 360px) {
    .home .alm-dispatches__cta-bar .alm-instrument-icons {
        grid-template-columns: repeat(2, minmax(100px, 1fr)) !important;
        max-width: 230px !important;
    }
}

/* v8.12.50: keep Lens icon visible in homepage instrument grid */
.home .alm-dispatches__cta-bar .alm-instrument-icon[href*="instrument=lens"] .alm-instrument-icon__svg,
.home .alm-dispatches__cta-bar .alm-instrument-icon[href*="instrument=lens"] .alm-instrument-icon__svg svg {
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    color: var(--alm-ink, #111A2B) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.home .alm-dispatches__cta-bar .alm-instrument-icon[href*="instrument=lens"] .alm-instrument-icon__svg svg,
.home .alm-dispatches__cta-bar .alm-instrument-icon[href*="instrument=lens"] .alm-instrument-icon__svg svg * {
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 2 !important;
}

/* ==========================================================================
   v8.12.51 patch: published Field Notes excerpts on homepage
   ========================================================================== */
.alm-fieldnote-card {
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    padding: 22px 0;
}

.alm-fieldnote-card:last-child {
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.alm-fieldnote-card__kicker {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.6875rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.alm-fieldnote-card__title {
    margin: 0 0 10px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.08;
    font-weight: 500;
}

.alm-fieldnote-card__title a {
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
}

.alm-fieldnote-card__title a:hover {
    color: var(--alm-red, #B5432C);
}

.alm-fieldnote-card__excerpt {
    max-width: 68ch;
    margin: 0 0 12px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--alm-ink-muted, #555);
}

.alm-fieldnote-card__link {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
    text-decoration: none;
    border-bottom: 0.5px solid currentColor;
}

/* ==========================================================================
   v8.12.54 patch: Journals page decision workspace + journal cards
   ========================================================================== */
.eq-journal-workspace-hero {
    padding-bottom: 34px !important;
}

.eq-journal-decision-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 28px;
    align-items: stretch;
    margin-top: 30px;
}

.eq-journal-intake-card,
.eq-journal-risk-card,
.eq-journal-route-summary {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.42);
}

.eq-journal-intake-card {
    padding: 26px 28px;
}

.eq-journal-intake-card__kicker,
.eq-journal-risk-card__kicker,
.eq-quick-filters__header span,
.eq-journal-route-summary span {
    display: block;
    margin-bottom: 10px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.7rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-intake-form label {
    display: block;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-intake-form__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-top: 8px;
}

.eq-journal-intake-form__row input {
    min-height: 48px;
    border-radius: 0 !important;
    border: 0.5px solid var(--alm-rule, #d5cfc1) !important;
    background: #fffaf0 !important;
}

.eq-journal-intake-form__mini {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.eq-journal-intake-form__mini select {
    width: 100%;
    min-height: 42px;
    margin-top: 6px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    border-radius: 0;
    background: #fffaf0;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-risk-card {
    padding: 24px;
}

.eq-journal-risk-card h2 {
    margin: 0 0 10px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.85rem;
    font-weight: 500;
    line-height: 1.04;
}

.eq-journal-risk-card p {
    margin: 0 0 14px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    line-height: 1.62;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-risk-card a,
.eq-quick-filters__header a {
    color: var(--alm-red, #B5432C);
    text-decoration: none;
    border-bottom: 0.5px solid currentColor;
}

.eq-journal-route-stats {
    margin-top: 22px !important;
}

.eq-journal-quick-filters .eq-container {
    padding-top: 18px;
    padding-bottom: 18px;
}

.eq-quick-filters__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.eq-quick-filters__header span {
    margin-bottom: 0;
}

.eq-journal-decision-layout {
    align-items: flex-start;
}

.eq-filter-help {
    margin: -4px 0 18px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-route-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.eq-journal-route-summary span {
    margin-bottom: 0;
}

.eq-journal-route-summary strong {
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.75rem;
    font-weight: 500;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-route-summary em,
.eq-journal-route-summary small {
    font-style: normal;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-decision-card {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.35);
    padding: 22px;
}

.eq-journal-decision-signals {
    display: grid;
    gap: 7px;
    margin: 14px 0;
    padding: 12px 0;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-decision-signals span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-decision-signals strong {
    color: var(--alm-ink, #111A2B);
    font-weight: 500;
}

.eq-signal-positive {
    color: #315f45 !important;
}

.eq-signal-caution {
    color: #8a4a2b !important;
}

.eq-journal-decision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
    margin-top: 18px;
}

.eq-journal-decision-actions .eq-btn-text,
.eq-journal-decision-actions .eq-btn-ledger-save {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-journal-decision-actions .eq-btn-ledger-save {
    cursor: pointer;
}

.eq-journal-decision-actions .eq-btn-text:hover,
.eq-journal-decision-actions .eq-btn-ledger-save:hover {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

@media (max-width: 960px) {
    .eq-journal-decision-grid,
    .eq-journal-intake-form__row,
    .eq-journal-intake-form__mini {
        grid-template-columns: 1fr;
    }

    .eq-journal-risk-card {
        order: 2;
    }

    .eq-journal-decision-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .eq-journal-decision-actions > * {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================================
   v8.12.55 patch: Journal Fit & Risk Reading feature
   ========================================================================== */
.eq-journal-fit-reading {
    padding: 34px 0;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.32);
}

.eq-journal-fit-reading__shell {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.eq-journal-fit-reading__intro {
    border-right: 0.5px solid var(--alm-rule, #d5cfc1);
    padding-right: 26px;
}

.eq-journal-fit-reading__kicker {
    display: block;
    margin-bottom: 10px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-reading__intro h2 {
    margin: 0 0 12px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.85rem, 3vw, 2.8rem);
    line-height: 1.02;
    font-weight: 500;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-fit-reading__intro p {
    margin: 0;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-fit-form {
    display: grid;
    gap: 18px;
}

.eq-journal-fit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.eq-journal-fit-form label {
    display: block;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-fit-form input,
.eq-journal-fit-form select,
.eq-journal-fit-form textarea {
    width: 100%;
    margin-top: 7px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    border-radius: 0;
    background: #fffaf0;
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.55;
    box-sizing: border-box;
}

.eq-journal-fit-form input,
.eq-journal-fit-form select {
    min-height: 44px;
    padding: 9px 11px;
}

.eq-journal-fit-form textarea {
    min-height: 210px;
    padding: 14px;
    resize: vertical;
}

.eq-journal-fit-upload {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

#eq-journal-fit-upload-status {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    color: var(--alm-ink-muted, #555);
}

#eq-journal-fit-upload-status.is-error {
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-actions,
.eq-journal-fit-access__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.eq-journal-fit-access,
.eq-journal-fit-output {
    grid-column: 2;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.64);
    padding: 20px;
}

.eq-journal-fit-access h3 {
    margin: 0 0 8px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.5rem;
    font-weight: 500;
}

.eq-journal-fit-access p {
    margin: 0 0 14px;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-fit-access__actions a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-journal-fit-access__actions a:hover {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-output__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    margin-bottom: 16px;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-fit-output__head span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-output__head button {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    padding: 6px 10px;
    cursor: pointer;
}

.eq-journal-fit-output__body {
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-fit-output__body h3,
.eq-journal-fit-output__body h4 {
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-weight: 500;
    line-height: 1.1;
    margin: 16px 0 8px;
}

.eq-journal-fit-output__body ul {
    margin: 8px 0 14px 20px;
}

@media (max-width: 980px) {
    .eq-journal-fit-reading__shell {
        grid-template-columns: 1fr;
    }

    .eq-journal-fit-reading__intro {
        border-right: 0;
        padding-right: 0;
        border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
        padding-bottom: 18px;
    }

    .eq-journal-fit-grid {
        grid-template-columns: 1fr;
    }

    .eq-journal-fit-access,
    .eq-journal-fit-output {
        grid-column: 1;
    }

    .eq-journal-fit-actions,
    .eq-journal-fit-access__actions,
    .eq-journal-fit-upload {
        flex-direction: column;
        align-items: stretch;
    }

    .eq-journal-fit-actions > *,
    .eq-journal-fit-access__actions > *,
    .eq-journal-fit-upload > * {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================================
   v8.12.56 patch: Journals route builder + Ledger workflow
   ========================================================================== */
.eq-journal-route-tray {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.58);
    padding: 16px;
    margin: 0 0 20px;
}

.eq-journal-route-tray__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    margin-bottom: 14px;
}

.eq-journal-route-tray__head span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-route-tray__head button,
.eq-journal-route-save,
.eq-btn-route-choice {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 10px;
}

.eq-journal-route-slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.eq-journal-route-slot {
    min-height: 116px;
    padding: 12px;
    border: 0.5px dashed var(--alm-rule, #d5cfc1);
    background: rgba(255,255,255,0.16);
}

.eq-journal-route-slot.is-filled {
    border-style: solid;
    background: rgba(181, 67, 44, 0.04);
}

.eq-journal-route-slot strong {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.66rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-route-slot h4 {
    margin: 0 0 6px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.25rem;
    line-height: 1.08;
    font-weight: 500;
}

.eq-journal-route-slot h4 a {
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
}

.eq-journal-route-slot p,
.eq-journal-route-slot small,
.eq-journal-route-tray__note {
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-route-save {
    margin-top: 10px;
}

.eq-btn-route-choice:hover,
.eq-journal-route-save:hover,
.eq-journal-route-tray__head button:hover {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-output__head {
    gap: 8px;
}

.eq-dash-item__note {
    margin: 8px 0 0;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #555);
}

@media (max-width: 900px) {
    .eq-journal-route-slots {
        grid-template-columns: 1fr;
    }

    .eq-journal-route-tray__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .eq-journal-route-tray__head button,
    .eq-journal-route-save,
    .eq-btn-route-choice {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ==========================================================================
   v8.12.60 patch: Journals canonical-record cleanup
   ========================================================================== */
.eq-journal-admin-note {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-left: 3px solid var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.05);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #555);
}

/* ==========================================================================
   v8.12.63 patch: Journals polish, clean disciplines, consistent counts
   ========================================================================== */
.eq-journal-quick-filters .eq-quick-filters__track {
    max-height: none;
    overflow: visible;
}

.eq-journal-quick-filters .eq-quick-filter {
    white-space: nowrap;
}

.eq-journal-decision-signals:empty {
    display: none;
}

.eq-journal-fit-access[hidden],
.eq-journal-fit-output[hidden] {
    display: none !important;
}

@media (max-width: 760px) {
    .eq-journal-quick-filters .eq-quick-filters__track {
        display: flex;
        overflow-x: auto;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }

    .eq-journal-quick-filters .eq-quick-filter {
        flex: 0 0 auto;
    }
}

/* ==========================================================================
   v8.12.64 patch: Journals search-first behavior
   ========================================================================== */
.eq-journal-start-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.eq-journal-start-actions .eq-btn-text {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
}

.eq-journal-start-state {
    padding: clamp(28px, 5vw, 56px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
}

.eq-journal-start-state span {
    display: block;
    margin-bottom: 10px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-start-state h2 {
    max-width: 720px;
    margin: 0 0 14px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.02;
    font-weight: 500;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-start-state p {
    max-width: 680px;
    margin: 0 0 20px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1.04rem;
    line-height: 1.65;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-start-state__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 760px) {
    .eq-journal-start-actions,
    .eq-journal-start-state__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .eq-journal-start-actions > *,
    .eq-journal-start-state__actions > * {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================================
   v8.12.65 patch: Journals polish + public suggestion form
   ========================================================================== */
.eq-filter-block--disabled {
    opacity: 0.75;
}

.eq-journal-suggest {
    padding: 44px 0 64px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.28);
}

.eq-journal-suggest__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 32px;
    align-items: start;
}

.eq-journal-suggest h2 {
    max-width: 620px;
    margin: 0 0 12px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.02;
    font-weight: 500;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-suggest p {
    margin: 0;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-suggest-form {
    display: grid;
    gap: 14px;
    padding: 22px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.58);
}

.eq-journal-suggest-form label {
    display: block;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-suggest-form input,
.eq-journal-suggest-form textarea {
    width: 100%;
    margin-top: 7px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    border-radius: 0;
    background: #fffaf0;
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    box-sizing: border-box;
}

.eq-journal-suggest-form input {
    min-height: 42px;
    padding: 9px 11px;
}

.eq-journal-suggest-form textarea {
    padding: 12px;
}

@media (max-width: 860px) {
    .eq-journal-suggest__inner {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.12.66 patch: comma-separated discipline browse + hidden Fit panels
   ========================================================================== */
.eq-quick-filters__track--commas {
    display: block !important;
    overflow: visible !important;
    line-height: 1.9;
}

.eq-quick-filters__track--commas .eq-quick-filter {
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    white-space: normal !important;
    color: var(--alm-ink, #111A2B);
}

.eq-quick-filters__track--commas .eq-quick-filter:not(:last-child)::after {
    content: ", ";
    color: var(--alm-ink-muted, #555);
}

.eq-quick-filters__track--commas .eq-quick-filter.active {
    color: var(--alm-red, #B5432C) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.eq-journal-fit-panel-hidden,
.eq-journal-fit-panel-hidden[hidden],
.eq-journal-fit-access[hidden],
.eq-journal-fit-output[hidden] {
    display: none !important;
    visibility: hidden !important;
}

.eq-filter-block--disabled {
    opacity: 0.75;
}

/* ==========================================================================
   v8.12.67 patch: Journal Fit Reading form polish
   ========================================================================== */
.eq-journal-fit-reading__shell {
    grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
}

.eq-journal-fit-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 16px;
}

.eq-journal-fit-form input,
.eq-journal-fit-form select {
    min-height: 46px;
}

.eq-journal-fit-form textarea {
    min-height: 250px;
}

.eq-journal-fit-field-note {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.74rem;
    letter-spacing: 0;
    text-transform: none;
    color: var(--alm-ink-muted, #555);
}

#eq-journal-fit-word-count {
    color: var(--alm-ink, #111A2B);
    font-weight: 600;
}

#eq-journal-fit-word-count.is-low {
    color: #8a4a2b;
}

#eq-journal-fit-word-count.is-ready {
    color: #315f45;
}

.eq-journal-fit-upload {
    padding: 14px;
    border: 0.5px dashed var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.45);
}

.eq-journal-fit-upload__button {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 190px;
    padding: 10px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: #fffaf0;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    text-align: left;
}

.eq-journal-fit-upload__button span {
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-journal-fit-upload__button small {
    font-size: 0.72rem;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-fit-upload__button:hover,
.eq-journal-fit-upload__button:focus-visible {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-actions .eq-btn-primary,
.eq-journal-fit-actions .eq-btn-text {
    min-height: 42px;
}

@media (max-width: 1100px) {
    .eq-journal-fit-grid {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }
}

@media (max-width: 680px) {
    .eq-journal-fit-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.12.68 patch: Journal Fit form display refinement
   ========================================================================== */
.eq-journal-fit-form input,
.eq-journal-fit-form select,
.eq-journal-fit-form textarea {
    border: 0 !important;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1) !important;
    background: rgba(255, 250, 240, 0.24) !important;
    box-shadow: none !important;
}

.eq-journal-fit-form input,
.eq-journal-fit-form select {
    min-height: 44px;
    padding: 8px 2px 9px;
}

.eq-journal-fit-form textarea {
    min-height: 230px;
    padding: 16px;
    border: 0.5px solid var(--alm-rule, #d5cfc1) !important;
    background: rgba(255, 250, 240, 0.34) !important;
}

.eq-journal-fit-form input:focus,
.eq-journal-fit-form select:focus,
.eq-journal-fit-form textarea:focus {
    outline: none;
    border-color: var(--alm-red, #B5432C) !important;
}

.eq-journal-fit-field-note {
    justify-content: space-between;
    border-top: 0.5px solid rgba(17,26,43,0.08);
    padding-top: 9px;
}

#eq-journal-fit-word-count.is-over {
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-actions {
    align-items: stretch;
    gap: 10px;
}

.eq-journal-fit-actions .eq-btn-primary,
.eq-journal-fit-secondary {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}

.eq-journal-fit-actions .eq-btn-primary {
    border: 0.5px solid var(--alm-ink, #111A2B);
}

.eq-journal-fit-secondary {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.42);
    color: var(--alm-ink, #111A2B);
}

.eq-journal-fit-secondary:hover,
.eq-journal-fit-secondary:focus-visible {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.04);
}

.eq-journal-fit-secondary--link {
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1) !important;
}

.eq-journal-fit-upload {
    align-items: center;
    justify-content: flex-start;
}

.eq-journal-fit-upload__button {
    min-width: 205px;
}

@media (max-width: 760px) {
    .eq-journal-fit-actions {
        flex-direction: column;
    }
    .eq-journal-fit-secondary,
    .eq-journal-fit-actions .eq-btn-primary {
        width: 100%;
    }
}

/* ==========================================================================
   v8.12.69 patch: Journals hero intake/risk polish
   ========================================================================== */
.eq-journal-intake-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.eq-journal-intake-form {
    display: grid;
    gap: 16px;
}

.eq-journal-intake-note {
    margin: 4px 0 0;
    padding-top: 14px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.58;
    color: var(--alm-ink-muted, #555);
    text-align: left;
}

.eq-journal-risk-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.eq-journal-risk-card p {
    margin-bottom: 12px;
}

.eq-journal-risk-checks {
    list-style: none;
    margin: 0 0 18px;
    padding: 12px 0;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-risk-checks li {
    position: relative;
    padding: 5px 0 5px 18px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-risk-checks li::before {
    content: "—";
    position: absolute;
    left: 0;
    color: var(--alm-red, #B5432C);
}

.eq-journal-start-actions {
    align-items: center;
    gap: 0;
    margin-top: 16px;
}

.eq-journal-start-link {
    display: inline;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
}

.eq-journal-start-link:not(:last-child)::after {
    content: " · ";
    color: var(--alm-ink-muted, #555);
    margin: 0 9px;
}

.eq-journal-start-link:hover {
    color: var(--alm-red, #B5432C);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.eq-journal-admin-note--compact {
    max-width: none;
    margin: 10px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #667085);
}

@media (max-width: 760px) {
    .eq-journal-start-actions {
        display: block;
        line-height: 1.9;
    }

    .eq-journal-start-link {
        white-space: normal;
    }
}

/* ==========================================================================
   v8.12.70 patch: Journals final visible cleanup
   ========================================================================== */
.eq-journal-admin-note,
.eq-journal-admin-note--compact {
    display: none !important;
}

.eq-journal-fit-panel-hidden,
.eq-journal-fit-panel-hidden[hidden],
.eq-journal-fit-access[hidden],
.eq-journal-fit-output[hidden] {
    display: none !important;
    visibility: hidden !important;
}

.eq-filter-block--disabled {
    opacity: 0.75;
}

.eq-journal-intake-note {
    margin: 4px 0 0;
    padding-top: 14px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.58;
    color: var(--alm-ink-muted, #555);
    text-align: left;
}

.eq-journal-risk-checks {
    list-style: none;
    margin: 0 0 18px;
    padding: 12px 0;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-risk-checks li {
    position: relative;
    padding: 5px 0 5px 18px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-risk-checks li::before {
    content: "—";
    position: absolute;
    left: 0;
    color: var(--alm-red, #B5432C);
}

/* ==========================================================================
   v8.12.71 patch: clearer journal route submit + DOAJ-ready admin import
   ========================================================================== */
.eq-journal-intake-submit-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: -2px;
    padding: 10px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(181, 67, 44, 0.04);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
}

.eq-journal-intake-submit-note span {
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-intake-submit-note strong {
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-intake-form .eq-btn-search {
    position: relative;
    min-width: 210px;
}

.eq-journal-intake-form .eq-btn-search::after {
    content: " →";
}

.eq-journal-intake-form__row {
    align-items: stretch;
}

@media (max-width: 760px) {
    .eq-journal-intake-submit-note {
        align-items: flex-start;
        flex-direction: column;
    }

    .eq-journal-intake-form .eq-btn-search {
        width: 100%;
        min-width: 0;
    }
}

/* ==========================================================================
   v8.12.72 patch: Journals page mobile optimization
   ========================================================================== */
@media (max-width: 900px) {
    body .eq-journal-workspace-hero {
        padding-top: 42px !important;
        padding-bottom: 28px !important;
    }

    body .eq-journal-workspace-hero .eq-container,
    body .eq-journal-fit-reading .eq-container,
    body .eq-journal-quick-filters .eq-container,
    body .eq-journal-decision-layout.eq-container,
    body .eq-journal-suggest .eq-container {
        width: 100%;
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
        box-sizing: border-box;
    }

    body .eq-journal-workspace-hero .eq-archive-title {
        font-size: clamp(2.25rem, 13vw, 4.25rem);
        line-height: 0.98;
        text-align: left;
        margin-left: 0;
        margin-right: 0;
    }

    body .eq-journal-workspace-hero .eq-archive-lede {
        text-align: left;
        max-width: 100%;
        font-size: 1.02rem;
        line-height: 1.58;
    }

    body .eq-journal-decision-grid {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 18px;
        margin-top: 24px;
    }

    body .eq-journal-intake-card,
    body .eq-journal-risk-card {
        width: 100%;
        min-height: 0;
        padding: 20px 18px;
        box-sizing: border-box;
    }

    body .eq-journal-intake-card__kicker,
    body .eq-journal-risk-card__kicker {
        text-align: left;
    }

    body .eq-journal-intake-form label {
        text-align: left;
        letter-spacing: 0.08em;
    }

    body .eq-journal-intake-form__row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    body .eq-journal-intake-form__row input,
    body .eq-journal-intake-form__row button,
    body .eq-journal-intake-form__mini select {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    body .eq-journal-intake-form__mini {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px;
        margin-top: 4px;
    }

    body .eq-journal-intake-submit-note {
        display: block;
        padding: 12px;
    }

    body .eq-journal-intake-submit-note span,
    body .eq-journal-intake-submit-note strong {
        display: block;
    }

    body .eq-journal-intake-submit-note strong {
        margin-top: 4px;
    }

    body .eq-journal-risk-card {
        text-align: left;
    }

    body .eq-journal-risk-card h2 {
        font-size: clamp(2rem, 11vw, 3.25rem);
        text-align: left;
    }

    body .eq-journal-risk-card p,
    body .eq-journal-risk-card a {
        text-align: left;
    }

    body .eq-journal-risk-checks {
        margin-left: 0;
        margin-right: 0;
    }

    body .eq-archive-stats-bar.eq-journal-route-stats {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 18px !important;
        text-align: left;
    }

    body .eq-archive-stats-bar.eq-journal-route-stats .eq-stat {
        display: block;
        padding: 0;
    }

    body .eq-journal-start-actions {
        display: block;
        line-height: 1.85;
        margin-top: 14px;
    }

    body .eq-journal-start-link {
        display: inline;
        white-space: normal;
    }

    body .eq-journal-quick-filters {
        overflow: hidden;
    }

    body .eq-quick-filters__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    body .eq-quick-filters__track--commas {
        line-height: 1.85;
        overflow-wrap: anywhere;
    }

    body .eq-quick-filters__track--commas .eq-quick-filter {
        font-size: 0.92rem;
    }

    body .eq-journal-fit-reading {
        padding: 28px 0;
    }

    body .eq-journal-fit-reading__shell {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    body .eq-journal-fit-reading__intro {
        border-right: 0;
        border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
        padding-right: 0;
        padding-bottom: 18px;
    }

    body .eq-journal-fit-reading__intro h2 {
        font-size: clamp(2rem, 11vw, 3.4rem);
    }

    body .eq-journal-fit-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    body .eq-journal-fit-form input,
    body .eq-journal-fit-form select,
    body .eq-journal-fit-form textarea {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        font-size: 1rem;
    }

    body .eq-journal-fit-form textarea {
        min-height: 220px;
    }

    body .eq-journal-fit-field-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    body .eq-journal-fit-upload {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    body .eq-journal-fit-upload__button,
    body #eq-journal-fit-upload-status {
        width: 100%;
        box-sizing: border-box;
    }

    body .eq-journal-fit-actions {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body .eq-journal-fit-actions .eq-btn-primary,
    body .eq-journal-fit-secondary {
        width: 100%;
        min-height: 46px;
        box-sizing: border-box;
        text-align: center;
    }

    body .eq-listing-layout.eq-journal-decision-layout {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    body .eq-listing-sidebar {
        order: 1;
        width: 100%;
    }

    body .eq-listing-main {
        order: 2;
        width: 100%;
        min-width: 0;
    }

    body .eq-filter-panel {
        position: static !important;
        width: 100%;
        box-sizing: border-box;
        padding: 18px;
    }

    body .eq-filter-panel select,
    body .eq-filter-panel input,
    body .eq-filter-panel button {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    body .eq-journal-start-state {
        padding: 24px 18px;
    }

    body .eq-journal-start-state h2 {
        font-size: clamp(2rem, 11vw, 3.4rem);
    }

    body .eq-journal-start-state__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body .eq-journal-results {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    body .eq-journal-decision-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 18px;
    }

    body .eq-journal-result__title {
        font-size: clamp(1.4rem, 7vw, 2.05rem);
        overflow-wrap: anywhere;
    }

    body .eq-journal-decision-signals,
    body .eq-journal-result__meta,
    body .eq-journal-decision-actions {
        width: 100%;
        box-sizing: border-box;
    }

    body .eq-journal-decision-actions {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body .eq-journal-decision-actions > * {
        width: 100%;
        justify-content: center;
        text-align: center;
        box-sizing: border-box;
    }

    body .eq-journal-route-tray {
        padding: 14px;
    }

    body .eq-journal-route-slots {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    body .eq-journal-suggest {
        padding: 32px 0 44px;
    }

    body .eq-journal-suggest__inner {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px;
    }

    body .eq-journal-suggest h2 {
        font-size: clamp(2rem, 11vw, 3.4rem);
    }

    body .eq-journal-suggest-form {
        padding: 18px;
    }

    body .eq-journal-suggest-form input,
    body .eq-journal-suggest-form textarea,
    body .eq-journal-suggest-form button {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 480px) {
    body .eq-journal-workspace-hero .eq-container,
    body .eq-journal-fit-reading .eq-container,
    body .eq-journal-quick-filters .eq-container,
    body .eq-journal-decision-layout.eq-container,
    body .eq-journal-suggest .eq-container {
        padding-left: 14px;
        padding-right: 14px;
    }

    body .eq-journal-intake-card,
    body .eq-journal-risk-card,
    body .eq-filter-panel,
    body .eq-journal-decision-card,
    body .eq-journal-suggest-form {
        padding-left: 14px;
        padding-right: 14px;
    }

    body .eq-journal-workspace-hero .eq-archive-title {
        font-size: clamp(2.1rem, 14vw, 3.5rem);
    }
}

/* ==========================================================================
   v8.12.73 patch: Journals intake workflow clarification
   ========================================================================== */
.eq-journal-intake-submit-note {
    display: none !important;
}

.eq-journal-intake-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: -4px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.76rem;
    letter-spacing: 0.04em;
}

.eq-journal-intake-inline-actions a {
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-intake-inline-actions a:hover,
.eq-journal-intake-inline-actions a:focus-visible {
    color: var(--alm-red, #B5432C);
    border-color: var(--alm-red, #B5432C);
}

.eq-journal-intake-inline-actions a:not(:last-child)::after {
    content: " · ";
    margin: 0 9px;
    color: var(--alm-ink-muted, #667085);
    border: 0;
}

.eq-journal-intake-form .eq-btn-search {
    min-width: 220px;
}

.eq-journal-intake-form .eq-btn-search::after {
    content: " →";
}

@media (max-width: 900px) {
    .eq-journal-intake-inline-actions {
        display: block;
        line-height: 1.9;
    }

    .eq-journal-intake-inline-actions a {
        display: inline;
    }
}

@media (max-width: 560px) {
    .eq-journal-intake-form .eq-btn-search {
        min-width: 0;
        width: 100%;
    }
}

/* ==========================================================================
   v8.12.74 patch: Journals intake bottom CTA + required/optional labels
   ========================================================================== */
.eq-journal-intake-form__row--search-only {
    grid-template-columns: 1fr !important;
}

.eq-field-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 2px 6px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.58rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    vertical-align: middle;
}

.eq-field-badge--recommended {
    color: var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.04);
}

.eq-field-badge--optional {
    color: var(--alm-ink-muted, #667085);
    background: rgba(255, 250, 240, 0.35);
}

.eq-journal-intake-bottom-action {
    display: grid;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding-top: 14px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-intake-bottom-action .eq-btn-search {
    width: 100%;
    min-height: 48px;
}

.eq-journal-intake-bottom-action span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-intake-note {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: -2px !important;
}

@media (max-width: 760px) {
    .eq-field-badge {
        display: table;
        margin: 6px 0 0;
    }

    .eq-journal-intake-bottom-action {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .eq-journal-intake-bottom-action span {
        text-align: left;
    }
}

/* ==========================================================================
   v8.12.75 patch: remove intake field badges
   ========================================================================== */
.eq-field-badge,
.eq-field-badge--recommended,
.eq-field-badge--optional {
    display: none !important;
}

/* ==========================================================================
   v8.12.76 patch: logical journal route workflow
   ========================================================================== */
.eq-journal-route-guide {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.45);
}

.eq-journal-route-guide span {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-route-guide ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding-left: 20px;
}

.eq-journal-route-guide li {
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.94rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-route-tray {
    display: block !important;
}

.eq-journal-route-tray.is-empty {
    background: rgba(255, 250, 240, 0.36);
}

.eq-journal-route-tray__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eq-journal-route-tray__actions button {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 10px;
}

.eq-journal-route-tray__actions button:hover {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-journal-route-slot__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.eq-journal-route-remove {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink-muted, #555);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 10px;
}

.eq-btn-route-choice.is-selected,
.eq-journal-decision-card.is-route-primary .eq-btn-route-choice[data-route-role="primary"],
.eq-journal-decision-card.is-route-backup .eq-btn-route-choice[data-route-role="backup"],
.eq-journal-decision-card.is-route-nogo .eq-btn-route-choice[data-route-role="nogo"] {
    border-color: var(--alm-red, #B5432C) !important;
    color: var(--alm-red, #B5432C) !important;
    background: rgba(181, 67, 44, 0.06) !important;
}

.eq-journal-decision-card.is-route-primary,
.eq-journal-decision-card.is-route-backup,
.eq-journal-decision-card.is-route-nogo {
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

@media (max-width: 900px) {
    .eq-journal-route-guide ol {
        grid-template-columns: 1fr;
    }

    .eq-journal-route-tray__actions,
    .eq-journal-route-slot__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .eq-journal-route-tray__actions button,
    .eq-journal-route-save,
    .eq-journal-route-remove {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ==========================================================================
   v8.12.77 patch: clarify risk checklist and broaden journal route search
   ========================================================================== */
.eq-journal-risk-card__kicker {
    color: var(--alm-red, #B5432C);
}

.eq-results-count a {
    color: var(--alm-red, #B5432C);
    text-decoration: none;
    border-bottom: 0.5px solid currentColor;
    margin-left: 6px;
}

.eq-empty-state {
    padding: 28px 24px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.44);
}

.eq-empty-state .eq-empty-title {
    margin-bottom: 8px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.8rem;
    line-height: 1.1;
    color: var(--alm-ink, #111A2B);
}

/* ==========================================================================
   v8.12.87 patch: Journals results next-step guidance
   ========================================================================== */
.eq-journal-next-steps {
    margin: 18px 0 18px;
    padding: clamp(18px, 3vw, 28px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.52);
}

.eq-journal-next-steps > span {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-next-steps h2 {
    margin: 0 0 12px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.05;
    font-weight: 500;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-next-steps ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 16px;
    padding-left: 20px;
}

.eq-journal-next-steps li {
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.5;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-next-steps__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
}

.eq-journal-next-steps__actions a {
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-next-steps__actions a:not(:last-child)::after {
    content: " · ";
    margin: 0 9px;
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-next-steps__actions a:hover {
    color: var(--alm-red, #B5432C);
    border-color: var(--alm-red, #B5432C);
}

@media (max-width: 900px) {
    .eq-journal-next-steps ol {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .eq-journal-next-steps__actions {
        display: block;
        line-height: 1.9;
    }
}

/* ==========================================================================
   v8.12.88 patch: Public journal result clarity
   ========================================================================== */
.eq-journal-trust-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    color: var(--alm-ink-muted, #555);
    background: rgba(255, 250, 240, 0.5);
}

.eq-journal-trust-badge.is-verified {
    border-color: rgba(49, 95, 69, 0.5);
    color: #315f45;
    background: rgba(49, 95, 69, 0.06);
}

.eq-journal-trust-badge.is-imported {
    border-color: rgba(117, 81, 0, 0.42);
    color: #755100;
    background: rgba(219, 166, 23, 0.08);
}

.eq-journal-trust-badge.is-needs-verification {
    border-color: var(--alm-rule, #d5cfc1);
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-why-match {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.32);
}

.eq-journal-why-match summary {
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-why-match ul {
    margin: 9px 0 0;
    padding-left: 18px;
}

.eq-journal-why-match li {
    margin: 4px 0;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.94rem;
    line-height: 1.42;
    color: var(--alm-ink-muted, #555);
}

@media (max-width: 760px) {
    .eq-journal-result__header {
        gap: 7px;
    }

    .eq-journal-trust-badge {
        font-size: 0.58rem;
    }
}

/* ==========================================================================
   v8.12.89 patch: Route roles refinement
   ========================================================================== */
.eq-journal-route-slots--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.eq-journal-route-slot[data-route-slot="verify"] {
    background: rgba(219, 166, 23, 0.05);
}

.eq-journal-route-slot[data-route-slot="avoid"] {
    background: rgba(181, 67, 44, 0.045);
}

.eq-journal-decision-card.is-route-verify,
.eq-journal-decision-card.is-route-avoid {
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

.eq-journal-decision-card.is-route-verify .eq-btn-route-choice[data-route-role="verify"],
.eq-journal-decision-card.is-route-avoid .eq-btn-route-choice[data-route-role="avoid"],
.eq-journal-decision-card.is-route-primary .eq-btn-route-choice[data-route-role="primary"],
.eq-journal-decision-card.is-route-backup .eq-btn-route-choice[data-route-role="backup"] {
    border-color: var(--alm-red, #B5432C) !important;
    color: var(--alm-red, #B5432C) !important;
    background: rgba(181, 67, 44, 0.06) !important;
}

@media (max-width: 1100px) {
    .eq-journal-route-slots--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eq-journal-route-slots--four {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.12.90 patch: Journal result sorting controls
   ========================================================================== */
.eq-journal-sort-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 14px 0 18px;
    padding: 12px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.4);
}

.eq-journal-sort-controls label {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-sort-controls select {
    min-height: 38px;
    padding: 7px 34px 7px 10px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: #fffaf0;
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.86rem;
}

.eq-journal-sort-controls button {
    min-height: 38px;
    padding: 7px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.eq-journal-sort-controls button:hover,
.eq-journal-sort-controls button:focus-visible {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

@media (max-width: 760px) {
    .eq-journal-sort-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .eq-journal-sort-controls select,
    .eq-journal-sort-controls button {
        width: 100%;
    }
}

/* ==========================================================================
   v8.12.91 patch: Compare shortlist
   ========================================================================== */
.eq-journal-compare-tray,
.eq-journal-compare-panel {
    margin: 18px 0;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.44);
}

.eq-journal-compare-tray.is-empty {
    opacity: 0.92;
}

.eq-journal-compare-tray__head,
.eq-journal-compare-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.eq-journal-compare-tray__head span,
.eq-journal-compare-panel__head span {
    display: block;
    margin-bottom: 4px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-compare-tray__head strong {
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.7rem;
    font-weight: 500;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-compare-panel__head h2 {
    margin: 0;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
    font-weight: 500;
}

.eq-journal-compare-tray__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eq-journal-compare-tray__actions button,
#eq-journal-compare-close,
.eq-journal-compare-chip button {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 10px;
}

.eq-journal-compare-tray__actions button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.eq-journal-compare-tray__note {
    margin: 0 0 12px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.96rem;
    line-height: 1.5;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-compare-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eq-journal-compare-list > p {
    margin: 0;
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-compare-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    padding: 8px 10px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.65);
}

.eq-journal-compare-chip span {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    color: var(--alm-ink, #111A2B);
}

.eq-btn-compare-journal.is-selected {
    border-color: var(--alm-red, #B5432C) !important;
    color: var(--alm-red, #B5432C) !important;
    background: rgba(181, 67, 44, 0.06) !important;
}

.eq-journal-compare-panel[hidden] {
    display: none !important;
}

.eq-journal-compare-table-wrap {
    overflow-x: auto;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.35);
}

.eq-journal-compare-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.eq-journal-compare-table th,
.eq-journal-compare-table td {
    padding: 12px;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    border-right: 0.5px solid var(--alm-rule, #d5cfc1);
    vertical-align: top;
    text-align: left;
}

.eq-journal-compare-table th {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-compare-table td {
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-compare-table a {
    color: var(--alm-red, #B5432C);
    text-decoration: none;
    border-bottom: 0.5px solid currentColor;
}

@media (max-width: 760px) {
    .eq-journal-compare-tray__head,
    .eq-journal-compare-panel__head {
        flex-direction: column;
    }

    .eq-journal-compare-tray__actions,
    .eq-journal-compare-tray__actions button,
    #eq-journal-compare-close {
        width: 100%;
    }

    .eq-journal-compare-chip {
        width: 100%;
        justify-content: space-between;
        box-sizing: border-box;
    }

    .eq-journal-compare-chip span {
        max-width: 70%;
    }
}

/* ==========================================================================
   v8.12.92 patch: Manuscript profile connection
   ========================================================================== */
.eq-journal-profile-bridge,
.eq-journal-fit-profile-status {
    margin: 10px 0;
    padding: 12px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.42);
}

.eq-journal-profile-bridge span,
.eq-journal-fit-profile-status span {
    display: block;
    margin-bottom: 5px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.66rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-profile-bridge p,
.eq-journal-fit-profile-status p {
    margin: 0 0 10px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.94rem;
    line-height: 1.48;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-profile-bridge button,
.eq-journal-profile-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

.eq-journal-profile-bridge button:hover,
.eq-journal-profile-action:hover,
.eq-journal-profile-action:focus-visible {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-journal-fit-profile-status.is-active {
    border-color: rgba(49, 95, 69, 0.45);
    background: rgba(49, 95, 69, 0.055);
}

.eq-journal-fit-profile-status.is-active span {
    color: #315f45;
}

.eq-journal-next-steps__actions button.eq-journal-profile-action {
    min-height: auto;
    padding: 0;
    border: 0;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    text-transform: none;
    letter-spacing: 0.04em;
    font-size: 0.78rem;
}

.eq-journal-next-steps__actions button.eq-journal-profile-action::after {
    content: " · ";
    margin: 0 9px;
    color: var(--alm-ink-muted, #667085);
}

@media (max-width: 760px) {
    .eq-journal-profile-bridge button {
        width: 100%;
    }

    .eq-journal-next-steps__actions button.eq-journal-profile-action {
        display: inline;
        width: auto;
        text-align: left;
    }
}

/* ==========================================================================
   v8.12.93 patch: Ledger route notes + no-refresh fit reading
   ========================================================================== */
.eq-journal-route-note {
    margin: 14px 0 10px;
    padding-top: 14px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-route-note label {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-route-note textarea {
    width: 100%;
    min-height: 92px;
    box-sizing: border-box;
    padding: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.62);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.5;
    resize: vertical;
}

.eq-journal-fit-run-note {
    margin: 10px 0 12px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-fit-actions button[disabled] {
    cursor: wait;
    opacity: 0.72;
}

/* ==========================================================================
   v8.12.94 patch: Interactive Journals guide + button safety
   ========================================================================== */
.eq-journal-guide {
    margin: 22px 0 28px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
}

.eq-journal-guide__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.eq-journal-guide__head span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-guide__head h2 {
    margin: 0;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.9rem, 4vw, 3.1rem);
    line-height: 1.05;
    font-weight: 500;
    color: var(--alm-ink, #111A2B);
}

#eq-journal-guide-toggle {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-journal-guide__body {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.eq-journal-guide-step {
    display: block;
    min-height: 128px;
    padding: 13px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    color: inherit;
    cursor: pointer;
    text-align: left;
}

.eq-journal-guide-step strong {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-journal-guide-step span {
    display: block;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.92rem;
    line-height: 1.42;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-guide-step:hover,
.eq-journal-guide-step:focus-visible,
.eq-journal-guide-step.is-active {
    border-color: var(--alm-red, #B5432C);
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

.eq-journal-guide-step.is-active strong {
    color: var(--alm-red, #B5432C);
}

.eq-journal-guide [hidden] {
    display: none !important;
}

#eq-journal-search:focus,
#eq-journal-route-tray:focus,
#journal-fit-reading:focus {
    outline: 2px solid rgba(181, 67, 44, 0.35);
    outline-offset: 4px;
}

@media (max-width: 1180px) {
    .eq-journal-guide__body {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .eq-journal-guide__head {
        flex-direction: column;
    }

    #eq-journal-guide-toggle {
        width: 100%;
    }

    .eq-journal-guide__body {
        grid-template-columns: 1fr;
    }

    .eq-journal-guide-step {
        min-height: 0;
    }
}

/* ==========================================================================
   v8.12.95 patch: no-refresh journal search + next-step blink
   ========================================================================== */
.eq-journal-ajax-status {
    margin: 8px 0 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.76rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-ajax-status.is-error {
    color: var(--alm-red, #B5432C);
}

.eq-journal-is-loading .eq-listing-main {
    opacity: 0.58;
    pointer-events: none;
}

.eq-journal-guide-step.is-next-step,
.eq-action-pulse {
    animation: eqNextStepPulse 1.25s ease-in-out infinite;
    border-color: var(--alm-red, #B5432C) !important;
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C), 0 0 0 3px rgba(181, 67, 44, 0.08);
}

.eq-journal-guide-step.is-next-step strong {
    color: var(--alm-red, #B5432C);
}

@keyframes eqNextStepPulse {
    0%, 100% {
        box-shadow: inset 3px 0 0 var(--alm-red, #B5432C), 0 0 0 0 rgba(181, 67, 44, 0.12);
        transform: translateY(0);
    }
    50% {
        box-shadow: inset 3px 0 0 var(--alm-red, #B5432C), 0 0 0 6px rgba(181, 67, 44, 0.08);
        transform: translateY(-1px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .eq-journal-guide-step.is-next-step,
    .eq-action-pulse {
        animation: none;
    }
}

/* ==========================================================================
   v8.12.96 hotfix: stronger Journals AJAX and visible workflow version
   ========================================================================== */
.eq-journal-workflow-version {
    margin: -12px 0 22px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-ajax-status {
    margin: 8px 0 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.76rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #667085);
}

.eq-journal-ajax-status.is-error {
    color: var(--alm-red, #B5432C);
}

.eq-journal-is-loading .eq-listing-main {
    opacity: 0.54;
    pointer-events: none;
}

.eq-journal-guide-step.is-next-step,
.eq-action-pulse {
    animation: eqNextStepPulseStrong 1s ease-in-out infinite;
    border-color: var(--alm-red, #B5432C) !important;
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C), 0 0 0 4px rgba(181, 67, 44, 0.10);
}

@keyframes eqNextStepPulseStrong {
    0%, 100% {
        box-shadow: inset 3px 0 0 var(--alm-red, #B5432C), 0 0 0 0 rgba(181, 67, 44, 0.16);
        transform: translateY(0);
    }
    50% {
        box-shadow: inset 3px 0 0 var(--alm-red, #B5432C), 0 0 0 7px rgba(181, 67, 44, 0.08);
        transform: translateY(-1px);
    }
}

/* ==========================================================================
   v8.12.97 critical inline controls hotfix
   ========================================================================== */
#eq-journal-fit-word-count.is-ready {
    color: #315f45;
}

#eq-journal-fit-word-count.is-over,
#eq-journal-fit-word-count.is-low {
    color: var(--alm-red, #B5432C);
}

.eq-journal-workflow-version {
    font-weight: 600;
}

/* ==========================================================================
   v8.12.98 patch: compact journal filters + reliable hide guide
   ========================================================================== */
.eq-journal-guide__body.is-hidden {
    display: none !important;
}

.eq-journal-filter-form {
    display: block;
}

.eq-filter-compact-grid {
    display: grid;
    gap: 12px;
}

.eq-filter-compact-field {
    display: grid;
    gap: 6px;
    margin: 0;
}

.eq-filter-compact-field span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #7c8da6);
}

.eq-filter-compact-field select,
.eq-filter-compact-field input {
    width: 100%;
    box-sizing: border-box;
    min-height: 42px;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.76);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.2;
}

.eq-filter-compact-field select:disabled {
    opacity: 0.62;
    cursor: not-allowed;
}

.eq-filter-compact-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 14px;
}

.eq-filter-compact-actions .eq-btn-primary,
.eq-filter-compact-actions .eq-btn-text {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.eq-filter-panel .eq-filter-options {
    display: none;
}

@media (min-width: 900px) and (max-width: 1180px) {
    .eq-filter-compact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .eq-filter-compact-grid {
        gap: 10px;
    }

    .eq-filter-compact-actions {
        flex-direction: column;
    }
}

/* ==========================================================================
   v8.12.99 patch: direct guide toggle fix
   ========================================================================== */
#eq-journal-guide-toggle {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#eq-journal-guide-body.is-hidden,
#eq-journal-guide-body[hidden] {
    display: none !important;
}

/* ==========================================================================
   v8.13.00 patch: logical journal workflow restructure
   ========================================================================== */
.eq-journal-final-check-note {
    max-width: 1120px;
    margin: 0 auto 18px;
    padding: 16px 18px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
}

.eq-journal-final-check-note span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-journal-final-check-note p {
    margin: 0;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.55;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-final-check-link {
    display: inline-flex;
    margin-top: 12px;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-journal-final-check-link:hover,
.eq-journal-final-check-link:focus-visible {
    color: var(--alm-red, #B5432C);
    border-color: var(--alm-red, #B5432C);
}

.eq-journal-fit-reading {
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    margin-top: clamp(36px, 6vw, 72px);
}

/* ==========================================================================
   v8.13.01 patch: structured final fit decision feedback
   ========================================================================== */
.eq-reading-decision-badge {
    display: inline-flex;
    margin: 4px 0 14px;
    padding: 6px 10px;
    border: 0.5px solid var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.06);
    color: var(--alm-red, #B5432C);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.eq-reading-profile-table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0 16px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-reading-profile-table th,
.eq-reading-profile-table td {
    padding: 10px 12px;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    vertical-align: top;
    text-align: left;
}

.eq-reading-profile-table th {
    width: 34%;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-reading-profile-table td {
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    color: var(--alm-ink-muted, #555);
}

.eq-journal-fit-output__body h4 {
    margin-top: 20px;
}

/* ==========================================================================
   v8.13.02 patch: structured output override + workshop prefill
   ========================================================================== */
.eq-reading-decision-badge {
    display: inline-flex;
    margin: 4px 0 14px;
    padding: 6px 10px;
    border: 0.5px solid var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.06);
    color: var(--alm-red, #B5432C);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.eq-reading-profile-table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0 16px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-reading-profile-table th,
.eq-reading-profile-table td {
    padding: 10px 12px;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    vertical-align: top;
    text-align: left;
}

.eq-reading-profile-table th {
    width: 34%;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

/* ==========================================================================
   v8.13.03 patch: no-refresh sort controls
   ========================================================================== */
.eq-journal-sort-controls button[disabled] {
    cursor: wait;
    opacity: 0.72;
}

/* ==========================================================================
   v8.13.04 patch: sort controls converted from form to no-refresh div
   ========================================================================== */
#eq-journal-sort-controls button[disabled] {
    cursor: wait;
    opacity: 0.72;
}

/* ==========================================================================
   v8.13.07 patch: Jobs route workflow foundation
   ========================================================================== */
.eq-jobs-route-hero .eq-archive-lede {
    max-width: 860px;
}

.eq-jobs-guide {
    margin: 22px 0 26px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
}

.eq-jobs-guide__head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.eq-jobs-guide__head span,
.eq-jobs-profile-card__kicker,
.eq-jobs-route-builder__head span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-guide__head h2,
.eq-jobs-route-builder__head h2 {
    margin: 0;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.05;
    font-weight: 500;
}

#eq-jobs-guide-toggle {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-jobs-guide__body {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.eq-jobs-guide__body.is-hidden,
.eq-jobs-guide__body[hidden] {
    display: none !important;
}

.eq-jobs-guide-step {
    display: block;
    min-height: 120px;
    padding: 13px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    color: inherit;
    text-decoration: none;
}

.eq-jobs-guide-step strong {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
}

.eq-jobs-guide-step span {
    display: block;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.92rem;
    line-height: 1.42;
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-guide-step:hover,
.eq-jobs-guide-step.is-active {
    border-color: var(--alm-red, #B5432C);
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

.eq-jobs-profile-card {
    margin-top: 24px;
    padding: clamp(18px, 3vw, 28px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.52);
}

.eq-jobs-profile-form label {
    display: block;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #667085);
}

.eq-jobs-profile-form__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-top: 8px;
}

.eq-jobs-profile-form__mini {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.eq-jobs-profile-form__mini select {
    width: 100%;
    min-height: 42px;
    margin-top: 6px;
    padding: 8px 10px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.76);
}

.eq-jobs-profile-card__note {
    margin: 12px 0 0;
    color: var(--alm-ink-muted, #667085);
    font-size: 0.92rem;
}

.eq-jobs-route-builder {
    margin: 0 0 18px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.42);
}

.eq-jobs-route-builder__head p,
.eq-jobs-route-builder__note {
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-route-slots {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.eq-jobs-route-slot {
    min-height: 112px;
    padding: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.66);
}

.eq-jobs-route-slot strong {
    display: block;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.eq-jobs-route-slot h4 {
    margin: 9px 0 4px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
}

.eq-jobs-route-slot p,
.eq-jobs-route-slot small {
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-route-slot.is-filled {
    border-color: var(--alm-red, #B5432C);
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

.eq-job-route-actions {
    flex-wrap: wrap;
}

.eq-btn-job-route {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    padding: 8px 10px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-btn-job-route.is-selected,
.eq-job-route-card.is-job-primary .eq-btn-job-route[data-job-role="primary"],
.eq-job-route-card.is-job-backup .eq-btn-job-route[data-job-role="backup"],
.eq-job-route-card.is-job-watch .eq-btn-job-route[data-job-role="watch"],
.eq-job-route-card.is-job-notfit .eq-btn-job-route[data-job-role="notfit"] {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.06);
}

@media (max-width: 1100px) {
    .eq-jobs-guide__body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .eq-jobs-profile-form__mini,
    .eq-jobs-route-slots {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .eq-jobs-guide__head,
    .eq-jobs-profile-form__row {
        grid-template-columns: 1fr;
        display: grid;
    }
    #eq-jobs-guide-toggle,
    .eq-jobs-profile-form__row button {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }
    .eq-jobs-guide__body,
    .eq-jobs-profile-form__mini,
    .eq-jobs-route-slots {
        grid-template-columns: 1fr;
    }
    .eq-jobs-guide-step {
        min-height: 0;
    }
}

/* ==========================================================================
   v8.13.08 patch: Jobs compact search and filters
   ========================================================================== */
.eq-jobs-filter-form {
    display: block;
}

.eq-jobs-filter-grid {
    display: grid;
    gap: 12px;
}

.eq-jobs-filter-field {
    display: grid;
    gap: 6px;
    margin: 0;
}

.eq-jobs-filter-field span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #7c8da6);
}

.eq-jobs-filter-field select,
.eq-jobs-filter-field input {
    width: 100%;
    box-sizing: border-box;
    min-height: 42px;
    padding: 8px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.76);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.2;
}

.eq-jobs-filter-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 14px;
}

.eq-jobs-filter-actions .eq-btn-primary,
.eq-jobs-filter-actions .eq-btn-text {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.eq-listing-sidebar .eq-filter-options {
    display: none;
}

@media (min-width: 900px) and (max-width: 1180px) {
    .eq-jobs-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .eq-jobs-filter-grid {
        gap: 10px;
    }
}

/* ==========================================================================
   v8.13.09 patch: Jobs card clarity
   ========================================================================== */
.eq-job-card-signals {
    gap: 7px;
    flex-wrap: wrap;
}

.eq-job-card-clarity {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 12px 0 4px;
}

.eq-job-signal {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.5);
    color: var(--alm-ink-muted, #555);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.eq-job-signal.is-clear,
.eq-job-signal.is-source {
    border-color: rgba(49, 95, 69, 0.5);
    color: #315f45;
    background: rgba(49, 95, 69, 0.06);
}

.eq-job-signal.is-warning {
    border-color: rgba(181, 67, 44, 0.45);
    color: var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.055);
}

.eq-job-signal.is-muted {
    color: var(--alm-ink-muted, #667085);
}

.eq-deadline-badge.unknown {
    border-color: var(--alm-rule, #d5cfc1);
    color: var(--alm-ink-muted, #667085);
    background: rgba(255, 250, 240, 0.5);
}

.eq-job-why-match {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.32);
}

.eq-job-why-match summary {
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-job-why-match ul {
    margin: 9px 0 0;
    padding-left: 18px;
}

.eq-job-why-match li {
    margin: 4px 0;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.94rem;
    line-height: 1.42;
    color: var(--alm-ink-muted, #555);
}

.eq-journal-result__meta a {
    color: var(--alm-red, #B5432C);
    text-decoration: none;
    border-bottom: 0.5px solid currentColor;
}

@media (max-width: 760px) {
    .eq-job-card-clarity,
    .eq-job-card-signals {
        gap: 6px;
    }
    .eq-job-signal {
        font-size: 0.58rem;
    }
}

/* ==========================================================================
   v8.13.10 patch: Jobs no-refresh result handling
   ========================================================================== */
.eq-jobs-ajax-status {
    margin: 8px 0 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.76rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #667085);
}

.eq-jobs-ajax-status.is-error {
    color: var(--alm-red, #B5432C);
}

.eq-jobs-is-loading .eq-listing-main {
    opacity: 0.58;
    pointer-events: none;
}

.eq-jobs-profile-form button[disabled],
.eq-jobs-filter-form button[disabled] {
    cursor: wait;
    opacity: 0.72;
}

/* ==========================================================================
   v8.13.11 patch: Jobs sorting controls
   ========================================================================== */
.eq-jobs-sort-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.4);
}

.eq-jobs-sort-controls label {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-sort-controls select {
    min-height: 38px;
    padding: 7px 34px 7px 10px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: #fffaf0;
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.86rem;
}

.eq-jobs-sort-controls button {
    min-height: 38px;
    padding: 7px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.eq-jobs-sort-controls button:hover,
.eq-jobs-sort-controls button:focus-visible {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-jobs-sort-controls button[disabled] {
    cursor: wait;
    opacity: 0.72;
}

@media (max-width: 760px) {
    .eq-jobs-sort-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .eq-jobs-sort-controls select,
    .eq-jobs-sort-controls button {
        width: 100%;
    }
}

/* ==========================================================================
   v8.13.12 patch: Jobs compare shortlist
   ========================================================================== */
.eq-jobs-compare-tray,
.eq-jobs-compare-panel {
    margin: 0 0 18px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.44);
}

.eq-jobs-compare-tray__head,
.eq-jobs-compare-panel__head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.eq-jobs-compare-tray__head span,
.eq-jobs-compare-panel__head span {
    display: block;
    margin-bottom: 4px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-compare-tray__head strong,
.eq-jobs-compare-panel__head h2 {
    margin: 0;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.7rem, 3vw, 2.7rem);
    line-height: 1.05;
    font-weight: 500;
}

.eq-jobs-compare-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eq-jobs-compare-actions button,
#eq-jobs-compare-close,
.eq-jobs-compare-chip button {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 10px;
}

.eq-jobs-compare-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.eq-jobs-compare-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.eq-jobs-compare-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    padding: 8px 10px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.65);
}

.eq-jobs-compare-chip span {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
}

.eq-btn-job-compare.is-selected {
    border-color: var(--alm-red, #B5432C) !important;
    color: var(--alm-red, #B5432C) !important;
    background: rgba(181, 67, 44, 0.06) !important;
}

.eq-jobs-compare-panel[hidden] {
    display: none !important;
}

.eq-jobs-compare-table-wrap {
    overflow-x: auto;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-jobs-compare-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.eq-jobs-compare-table th,
.eq-jobs-compare-table td {
    padding: 12px;
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    border-right: 0.5px solid var(--alm-rule, #d5cfc1);
    vertical-align: top;
    text-align: left;
}

.eq-jobs-compare-table th {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.eq-jobs-compare-table td {
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-compare-table a {
    color: var(--alm-red, #B5432C);
    text-decoration: none;
    border-bottom: 0.5px solid currentColor;
}

@media (max-width: 760px) {
    .eq-jobs-compare-tray__head,
    .eq-jobs-compare-panel__head {
        flex-direction: column;
    }
    .eq-jobs-compare-actions,
    .eq-jobs-compare-actions button,
    #eq-jobs-compare-close {
        width: 100%;
    }
    .eq-jobs-compare-chip {
        width: 100%;
        justify-content: space-between;
        box-sizing: border-box;
    }
}

/* ==========================================================================
   v8.13.13 patch: Jobs application route builder save controls
   ========================================================================== */
.eq-jobs-route-note {
    margin: 14px 0 10px;
    padding-top: 14px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-jobs-route-note label {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-route-note textarea {
    width: 100%;
    min-height: 92px;
    box-sizing: border-box;
    padding: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.62);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.5;
    resize: vertical;
}

.eq-jobs-route-controls,
.eq-jobs-route-slot__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.eq-jobs-route-controls button,
.eq-jobs-route-slot__actions button {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 10px;
}

.eq-jobs-route-controls button:hover,
.eq-jobs-route-slot__actions button:hover {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-jobs-route-controls button[disabled],
.eq-jobs-route-slot__actions button[disabled] {
    cursor: wait;
    opacity: 0.72;
}

@media (max-width: 760px) {
    .eq-jobs-route-controls,
    .eq-jobs-route-controls button {
        width: 100%;
    }
}

/* ==========================================================================
   v8.13.15 patch: Jobs Ledger route notes refinement
   ========================================================================== */
.eq-jobs-route-evidence {
    margin-top: 12px;
    padding: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.42);
}

.eq-jobs-route-evidence > span,
.eq-jobs-route-summary-preview > span {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-route-evidence__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 12px;
}

.eq-jobs-route-evidence__grid label {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.78rem;
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-route-summary-preview {
    margin-top: 12px;
    padding: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.32);
}

.eq-jobs-route-summary-preview p,
.eq-jobs-route-summary-preview ul {
    margin: 0;
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-route-summary-preview ul {
    padding-left: 18px;
}

.eq-jobs-route-summary-preview li {
    margin: 5px 0;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    line-height: 1.42;
}

@media (max-width: 760px) {
    .eq-jobs-route-evidence__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.13.16 patch: Jobs Application Fit & Risk Check
   ========================================================================== */
.eq-jobs-fit-check {
    margin: 0 0 18px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.44);
}

.eq-jobs-fit-check__head span,
.eq-jobs-fit-output__head span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-fit-check__head h2,
.eq-jobs-fit-output__head h3 {
    margin: 0;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.05;
    font-weight: 500;
}

.eq-jobs-fit-check__head p {
    color: var(--alm-ink-muted, #555);
    max-width: 860px;
}

.eq-jobs-fit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.eq-jobs-fit-grid label,
.eq-jobs-fit-textarea-label {
    display: grid;
    gap: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #667085);
}

.eq-jobs-fit-grid input,
.eq-jobs-fit-grid select,
#eq-jobs-fit-text {
    width: 100%;
    box-sizing: border-box;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    color: var(--alm-ink, #111A2B);
    padding: 10px 12px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
}

.eq-jobs-fit-textarea-label {
    margin-top: 14px;
}

#eq-jobs-fit-text {
    min-height: 180px;
    resize: vertical;
}

.eq-jobs-fit-word-count {
    margin: 7px 0 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.76rem;
    color: var(--alm-ink-muted, #667085);
}

.eq-jobs-fit-word-count.is-ready {
    color: #315f45;
}

.eq-jobs-fit-word-count.is-low {
    color: var(--alm-red, #B5432C);
}

.eq-jobs-fit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.eq-jobs-fit-actions button,
.eq-jobs-fit-actions a {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 9px 12px;
    text-decoration: none;
}

.eq-jobs-fit-output {
    margin-top: 18px;
    padding: 16px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.58);
}

.eq-jobs-fit-output[hidden] {
    display: none !important;
}

.eq-jobs-fit-output__body h4 {
    margin-top: 20px;
}

.eq-jobs-fit-output__body ul {
    padding-left: 20px;
}

@media (max-width: 900px) {
    .eq-jobs-fit-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .eq-jobs-fit-actions,
    .eq-jobs-fit-actions button,
    .eq-jobs-fit-actions a {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================================
   v8.13.17 patch: Jobs suggest opportunity form
   ========================================================================== */
.eq-jobs-suggest {
    padding: clamp(32px, 6vw, 72px) 0;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-jobs-suggest__shell {
    padding: clamp(18px, 3vw, 30px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.44);
}

.eq-jobs-suggest__head span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-suggest__head h2 {
    margin: 0;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.05;
    font-weight: 500;
}

.eq-jobs-suggest__head p {
    max-width: 860px;
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-suggest-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.eq-jobs-suggest-grid label,
.eq-jobs-suggest-notes-label {
    display: grid;
    gap: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #667085);
}

.eq-jobs-suggest-grid input,
.eq-jobs-suggest-grid select,
#eq-jobs-suggest-notes {
    width: 100%;
    box-sizing: border-box;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    color: var(--alm-ink, #111A2B);
    padding: 10px 12px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
}

.eq-jobs-suggest-notes-label {
    margin-top: 14px;
}

#eq-jobs-suggest-notes {
    min-height: 120px;
    resize: vertical;
}

.eq-jobs-suggest-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.eq-jobs-suggest-actions button {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: transparent;
    color: var(--alm-ink, #111A2B);
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 9px 12px;
}

.eq-jobs-suggest-actions button:hover,
.eq-jobs-suggest-actions button:focus-visible {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-jobs-suggest-actions button[disabled] {
    cursor: wait;
    opacity: 0.72;
}

.eq-jobs-suggest-status {
    margin: 10px 0 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.82rem;
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-suggest-status.is-error {
    color: var(--alm-red, #B5432C);
}

.eq-jobs-suggest-status.is-success {
    color: #315f45;
}

@media (max-width: 900px) {
    .eq-jobs-suggest-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .eq-jobs-suggest-actions,
    .eq-jobs-suggest-actions button {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================================
   v8.13.18 patch: hide Jobs results until search/filter begins
   ========================================================================== */
.eq-jobs-start-state {
    padding: clamp(22px, 4vw, 40px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.5);
}

.eq-jobs-start-state > span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-start-state h2 {
    margin: 0 0 10px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1.05;
    font-weight: 500;
}

.eq-jobs-start-state p {
    max-width: 760px;
    color: var(--alm-ink-muted, #555);
}

.eq-jobs-start-state__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.eq-jobs-start-state__steps a {
    display: block;
    padding: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    line-height: 1.45;
    text-transform: uppercase;
}

.eq-jobs-start-state__steps a:hover,
.eq-jobs-start-state__steps a:focus-visible {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

@media (max-width: 760px) {
    .eq-jobs-start-state__steps {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.13.20 patch: Jobs expiry automation public labels
   ========================================================================== */
.eq-deadline-badge.unknown {
    background: rgba(255, 250, 240, 0.62);
}

.eq-deadline-badge.closed {
    text-decoration: line-through;
}

/* ==========================================================================
   v8.13.29 patch: direct Find application routes handler
   ========================================================================== */
#eq-jobs-find-routes[disabled] {
    cursor: wait;
    opacity: 0.72;
}

/* ==========================================================================
   v8.13.30 patch: place Find application routes after profile details
   ========================================================================== */
.eq-jobs-profile-form__row--search-only {
    grid-template-columns: 1fr !important;
}

.eq-jobs-profile-next-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-jobs-profile-next-step span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-profile-next-step #eq-jobs-find-routes {
    min-width: 230px;
    justify-content: center;
}

@media (max-width: 720px) {
    .eq-jobs-profile-next-step {
        align-items: stretch;
        flex-direction: column;
    }

    .eq-jobs-profile-next-step #eq-jobs-find-routes {
        width: 100%;
        min-width: 0;
    }
}

/* ==========================================================================
   v8.13.31 patch: cleaner Jobs route evidence checklist
   ========================================================================== */
.eq-jobs-route-evidence {
    margin-top: 14px;
    padding: clamp(14px, 2vw, 18px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.45);
}

.eq-jobs-route-evidence__head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.eq-jobs-route-evidence__head > span,
.eq-jobs-route-summary-preview > span {
    display: block;
    margin-bottom: 0;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-route-evidence__head p {
    max-width: 520px;
    margin: 0;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
}

.eq-jobs-route-evidence__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.eq-route-evidence-card {
    position: relative;
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 4px 10px;
    align-items: start;
    margin: 0 !important;
    padding: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.7);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.eq-route-evidence-card:hover,
.eq-route-evidence-card:focus-within {
    border-color: var(--alm-red, #B5432C);
    background: rgba(255, 250, 240, 0.92);
}

.eq-route-evidence-card input {
    grid-row: 1 / span 2;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: var(--alm-red, #B5432C);
}

.eq-route-evidence-card span {
    display: block;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.09em;
    line-height: 1.25;
    text-transform: uppercase;
    color: var(--alm-ink, #111A2B);
}

.eq-route-evidence-card small {
    display: block;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.86rem;
    line-height: 1.35;
    color: var(--alm-ink-muted, #667085);
}

.eq-route-evidence-card:has(input:checked) {
    border-color: var(--alm-red, #B5432C);
    background: rgba(181, 67, 44, 0.055);
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

@supports not selector(:has(*)) {
    .eq-route-evidence-card input:checked + span {
        color: var(--alm-red, #B5432C);
    }
}

@media (max-width: 980px) {
    .eq-jobs-route-evidence__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eq-jobs-route-evidence__head {
        display: block;
    }

    .eq-jobs-route-evidence__head p {
        margin-top: 8px;
    }

    .eq-jobs-route-evidence__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.13.37 patch: remove unused Jobs next-step button
   ========================================================================== */
.eq-jobs-profile-card__note {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

/* ==========================================================================
   v8.13.38 patch: restore Jobs application route action
   ========================================================================== */
.eq-jobs-profile-route-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-jobs-profile-route-action span {
    display: block;
    margin-bottom: 4px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-profile-route-action p {
    margin: 0;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
}

.eq-jobs-profile-route-action #eq-jobs-find-routes {
    min-width: 230px;
    justify-content: center;
}

@media (max-width: 720px) {
    .eq-jobs-profile-route-action {
        align-items: stretch;
        flex-direction: column;
    }

    .eq-jobs-profile-route-action #eq-jobs-find-routes {
        width: 100%;
        min-width: 0;
    }
}

/* ==========================================================================
   v8.13.39 patch: Jobs application routes no-refresh guard
   ========================================================================== */
.eq-jobs-ajax-status.is-error {
    color: var(--alm-red, #B5432C);
}
#eq-jobs-find-routes[disabled] {
    cursor: wait;
    opacity: 0.72;
}

/* ==========================================================================
   v8.13.40 patch: Jobs research-career categories
   ========================================================================== */
.eq-jobs-career-categories {
    margin-top: 22px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.42);
}

.eq-jobs-career-categories__head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.eq-jobs-career-categories__head span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-career-categories__head p {
    max-width: 620px;
    margin: 0;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    line-height: 1.45;
}

.eq-jobs-career-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.eq-jobs-career-category-card {
    display: block;
    min-height: 116px;
    padding: 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.eq-jobs-career-category-card:hover,
.eq-jobs-career-category-card:focus-visible,
.eq-jobs-career-category-card.is-active {
    border-color: var(--alm-red, #B5432C);
    background: rgba(255, 250, 240, 0.96);
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

.eq-jobs-career-category-card strong {
    display: block;
    margin-bottom: 7px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.09em;
    line-height: 1.25;
    text-transform: uppercase;
}

.eq-jobs-career-category-card span {
    display: block;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.92rem;
    line-height: 1.35;
}

@media (max-width: 980px) {
    .eq-jobs-career-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eq-jobs-career-categories__head {
        display: block;
    }

    .eq-jobs-career-categories__head p {
        margin-top: 8px;
    }

    .eq-jobs-career-category-grid {
        grid-template-columns: 1fr;
    }

    .eq-jobs-career-category-card {
        min-height: 0;
    }
}

/* ==========================================================================
   v8.13.41 patch: remove redundant public Jobs category-card section
   ========================================================================== */
.eq-jobs-career-categories {
    display: none !important;
}

/* ==========================================================================
   v8.13.42 patch: align Jobs guide with exact workflow and current step
   ========================================================================== */
.eq-jobs-guide-step {
    position: relative;
}

.eq-jobs-guide-step em {
    display: none;
    margin-bottom: 5px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.62rem;
    font-style: normal;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-jobs-guide-step.is-active em,
.eq-jobs-guide-step[aria-current="step"] em {
    display: block;
}

.eq-jobs-guide-step.is-active,
.eq-jobs-guide-step[aria-current="step"] {
    border-color: var(--alm-red, #B5432C);
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

.eq-jobs-guide-step.is-active strong,
.eq-jobs-guide-step[aria-current="step"] strong {
    color: var(--alm-red, #B5432C);
}

.eq-jobs-guide__body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
    .eq-jobs-guide__body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eq-jobs-guide__body {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.13.43 patch: Jobs no-results recovery, trust signals, mobile actions, Ledger saving
   ========================================================================== */
.eq-job-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #667085);
}

.eq-job-trust-strip span {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.7);
    padding: 4px 7px;
}

.eq-job-trust-badge.is-verified {
    border-color: rgba(28, 112, 77, 0.35);
    color: #1c704d;
}

.eq-job-trust-badge.is-warning {
    border-color: rgba(181, 67, 44, 0.45);
    color: var(--alm-red, #B5432C);
}

.eq-job-actions-primary,
.eq-job-actions-secondary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
}

.eq-job-actions-primary {
    margin-bottom: 6px;
}

.eq-btn-source,
.eq-btn-ledger-save-route {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.82);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

.eq-btn-source:hover,
.eq-btn-ledger-save-route:hover {
    border-color: var(--alm-red, #B5432C);
}

.eq-jobs-no-results-panel {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.55);
    padding: clamp(18px, 3vw, 28px);
}

.eq-jobs-no-results-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.eq-jobs-no-results-actions a {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.8);
    color: var(--alm-ink, #111A2B);
    padding: 9px 12px;
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-jobs-no-results-actions a:hover {
    border-color: var(--alm-red, #B5432C);
}

.eq-jobs-bulk-verified-table td {
    vertical-align: top;
}

@media (max-width: 720px) {
    .eq-job-route-actions {
        display: block;
    }

    .eq-job-actions-primary,
    .eq-job-actions-secondary {
        display: grid;
        grid-template-columns: 1fr;
    }

    .eq-job-actions-primary > *,
    .eq-job-actions-secondary > * {
        width: 100%;
    }

    .eq-job-trust-strip {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.13.44 patch: homepage Save to Ledger controls
   ========================================================================== */
.eq-home-ledger-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    padding: 9px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.82);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.eq-home-ledger-save:hover,
.eq-home-ledger-save:focus-visible {
    border-color: var(--alm-red, #B5432C);
}

.eq-home-ledger-save.is-saved {
    border-color: rgba(28, 112, 77, 0.35);
    color: #1c704d;
}

.eq-home-ledger-save[disabled] {
    cursor: wait;
    opacity: 0.72;
}

.eq-home-ledger-save--small {
    width: fit-content;
    margin-top: 10px;
    font-size: 0.66rem;
    padding: 7px 10px;
}

.alm-ledger__helper {
    margin-top: 10px;
    color: var(--alm-ink-muted, #667085);
    font-size: 0.95rem;
}

.eq-home-ledger-status {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9999;
    max-width: 320px;
    padding: 12px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: var(--alm-paper, #F3EFE6);
    color: var(--alm-ink, #111A2B);
    box-shadow: 0 10px 30px rgba(17, 26, 43, 0.15);
}

.eq-home-ledger-status.is-error {
    color: var(--alm-red, #B5432C);
}

@media (max-width: 720px) {
    .eq-home-ledger-save {
        width: 100%;
    }

    .eq-home-ledger-status {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }
}

/* ==========================================================================
   v8.13.45 patch: Jobs page Save to Ledger visibility and persistence
   ========================================================================== */
.eq-jobs-ledger-help {
    margin: 6px 0 14px;
    padding: 10px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.55);
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
}

.eq-btn-ledger-save-job {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
    font-weight: 700;
}

.eq-btn-ledger-save-job:hover,
.eq-btn-ledger-save-job:focus-visible {
    background: rgba(181, 67, 44, 0.08);
}

.eq-btn-ledger-save-job.is-saved,
.eq-btn-ledger-save-job[disabled] {
    border-color: rgba(28, 112, 77, 0.35);
    color: #1c704d;
}

#eq-jobs-route-save-all {
    font-weight: 700;
}

@media (max-width: 720px) {
    .eq-jobs-ledger-help {
        margin-bottom: 12px;
    }
}

/* ==========================================================================
   v8.13.46 patch F1: Funding workflow guide and current-step indicator
   ========================================================================== */
.eq-funding-guide {
    margin-top: 24px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.42);
}

.eq-funding-guide__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.eq-funding-guide__head span,
.eq-funding-guide-step em {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.66rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-funding-guide__head h2 {
    margin: 4px 0 0;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.45rem, 2.5vw, 2rem);
    font-weight: 500;
}

#eq-funding-guide-toggle {
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-guide__body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.eq-funding-guide-step {
    position: relative;
    display: block;
    min-height: 118px;
    padding: 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.eq-funding-guide-step:hover,
.eq-funding-guide-step:focus-visible,
.eq-funding-guide-step.is-active,
.eq-funding-guide-step[aria-current="step"] {
    border-color: var(--alm-red, #B5432C);
    background: rgba(255, 250, 240, 0.96);
    box-shadow: inset 3px 0 0 var(--alm-red, #B5432C);
}

.eq-funding-guide-step em {
    display: none;
    margin-bottom: 5px;
    font-style: normal;
}

.eq-funding-guide-step.is-active em,
.eq-funding-guide-step[aria-current="step"] em {
    display: block;
}

.eq-funding-guide-step strong {
    display: block;
    margin-bottom: 7px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.eq-funding-guide-step.is-active strong,
.eq-funding-guide-step[aria-current="step"] strong {
    color: var(--alm-red, #B5432C);
}

.eq-funding-guide-step span {
    display: block;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.92rem;
    line-height: 1.35;
}

@media (max-width: 980px) {
    .eq-funding-guide__body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eq-funding-guide__head {
        display: block;
    }

    #eq-funding-guide-toggle {
        display: inline-block;
        margin-top: 10px;
    }

    .eq-funding-guide__body {
        grid-template-columns: 1fr;
    }

    .eq-funding-guide-step {
        min-height: 0;
    }
}

/* ==========================================================================
   v8.13.47 patch F2: Funding categories and profile search
   ========================================================================== */
.eq-funding-profile-card {
    margin-top: 24px;
    padding: clamp(16px, 3vw, 24px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
}

.eq-funding-profile-card__kicker,
.eq-funding-profile-route-action span {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-funding-profile-form > label {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-profile-form__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.eq-funding-profile-form__row .eq-search-input {
    width: 100%;
    font-size: 1rem;
    padding: 14px 18px;
}

.eq-funding-profile-form__mini {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.eq-funding-profile-form__mini label {
    display: grid;
    gap: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-profile-form__mini select {
    width: 100%;
    min-height: 42px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.88);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    text-transform: none;
    letter-spacing: 0;
}

.eq-funding-profile-route-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-funding-profile-route-action p {
    margin: 0;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
}

.eq-funding-profile-route-action #eq-funding-find-routes {
    min-width: 220px;
    justify-content: center;
}

@media (max-width: 980px) {
    .eq-funding-profile-form__mini {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eq-funding-profile-form__mini,
    .eq-funding-profile-route-action {
        grid-template-columns: 1fr;
        display: grid;
    }

    .eq-funding-profile-route-action #eq-funding-find-routes {
        width: 100%;
        min-width: 0;
    }
}

/* ==========================================================================
   v8.13.48 patch F3: Funding filters and no-results recovery
   ========================================================================== */
.eq-filter-help {
    margin: 0 0 14px;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
}

.eq-funding-no-results-panel {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.55);
    padding: clamp(18px, 3vw, 28px);
}

.eq-funding-no-results-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.eq-funding-no-results-actions a {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.8);
    color: var(--alm-ink, #111A2B);
    padding: 9px 12px;
    text-decoration: none;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-no-results-actions a:hover {
    border-color: var(--alm-red, #B5432C);
}

.eq-filter-options {
    display: grid;
    gap: 8px;
}

.eq-filter-option {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.94rem;
    line-height: 1.3;
}

.eq-filter-option input {
    margin-top: 3px;
    accent-color: var(--alm-red, #B5432C);
}

/* ==========================================================================
   v8.13.49 patch F4: Funding cards, trust signals, and source actions
   ========================================================================== */
.eq-funding-ledger-help {
    margin: 6px 0 14px;
    padding: 10px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.55);
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.45;
}

.eq-funding-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #667085);
}

.eq-funding-trust-strip span {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.7);
    padding: 4px 7px;
}

.eq-funding-trust-badge.is-verified {
    border-color: rgba(28, 112, 77, 0.35);
    color: #1c704d;
}

.eq-funding-trust-badge.is-warning {
    border-color: rgba(181, 67, 44, 0.45);
    color: var(--alm-red, #B5432C);
}

.eq-funding-why {
    margin: 10px 0;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
    padding: 9px 0;
}

.eq-funding-why summary {
    cursor: pointer;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-funding-why ul {
    margin: 8px 0 0 18px;
    color: var(--alm-ink-muted, #667085);
}

.eq-funding-actions-primary,
.eq-funding-actions-secondary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
}

.eq-funding-actions-primary {
    margin-bottom: 6px;
}

.eq-btn-source,
.eq-btn-ledger-save-funding,
.eq-btn-funding-route,
.eq-btn-funding-compare {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.82);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

.eq-btn-ledger-save-funding {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
    font-weight: 700;
}

.eq-btn-funding-route.is-selected,
.eq-btn-funding-compare.is-selected,
.eq-btn-ledger-save-funding.is-saved {
    border-color: rgba(28, 112, 77, 0.35);
    color: #1c704d;
}

.eq-funding-route-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9999;
    max-width: 320px;
    padding: 12px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: var(--alm-paper, #F3EFE6);
    color: var(--alm-ink, #111A2B);
    box-shadow: 0 10px 30px rgba(17, 26, 43, 0.15);
}

.eq-funding-route-toast.is-error {
    color: var(--alm-red, #B5432C);
}

@media (max-width: 720px) {
    .eq-funding-card__actions {
        display: block;
    }

    .eq-funding-actions-primary,
    .eq-funding-actions-secondary,
    .eq-funding-trust-strip {
        display: grid;
        grid-template-columns: 1fr;
    }

    .eq-funding-actions-primary > *,
    .eq-funding-actions-secondary > * {
        width: 100%;
    }

    .eq-funding-route-toast {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }
}

/* ==========================================================================
   v8.13.50 patch F5: Funding Route Builder and Save to Ledger
   ========================================================================== */
.eq-funding-route-builder {
    margin-top: 28px;
    padding: clamp(18px, 3vw, 28px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
}

.eq-funding-route-builder__head span,
.eq-funding-route-summary-preview span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-funding-route-builder__head h2 {
    margin: 0 0 8px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.6rem, 2.7vw, 2.2rem);
    font-weight: 500;
}

.eq-funding-route-builder__head p,
.eq-funding-route-builder__note {
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.5;
}

.eq-funding-route-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.eq-funding-route-column {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    padding: 12px;
}

.eq-funding-route-column h3 {
    margin: 0 0 10px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-route-slot {
    min-height: 96px;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.94rem;
    line-height: 1.4;
}

.eq-funding-route-slot.has-selection {
    color: var(--alm-ink, #111A2B);
}

.eq-funding-route-selected-item strong,
.eq-funding-route-selected-item span,
.eq-funding-route-selected-item small {
    display: block;
}

.eq-funding-route-selected-item span,
.eq-funding-route-selected-item small {
    margin-top: 4px;
    color: var(--alm-ink-muted, #667085);
}

.eq-funding-route-form {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.eq-funding-route-form > label,
.eq-funding-route-evidence legend {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-route-form textarea {
    width: 100%;
    min-height: 112px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.88);
    color: var(--alm-ink, #111A2B);
    padding: 12px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
}

.eq-funding-route-evidence {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
}

.eq-funding-route-evidence legend {
    padding: 0 6px;
    color: var(--alm-red, #B5432C);
}

.eq-funding-route-evidence label {
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.95rem;
}

.eq-funding-route-evidence input {
    accent-color: var(--alm-red, #B5432C);
}

.eq-funding-route-summary-preview {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    padding: 12px;
}

.eq-funding-route-summary-preview ul {
    margin: 8px 0 0 18px;
}

.eq-funding-route-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

#eq-funding-route-save-all,
#eq-funding-route-clear,
.eq-funding-route-workshop-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.82);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

#eq-funding-route-save-all {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

#eq-funding-route-save-all:hover,
#eq-funding-route-clear:hover,
.eq-funding-route-workshop-link:hover {
    border-color: var(--alm-red, #B5432C);
}

@media (max-width: 980px) {
    .eq-funding-route-board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .eq-funding-route-board,
    .eq-funding-route-evidence {
        grid-template-columns: 1fr;
    }

    .eq-funding-route-controls {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.13.52 patch F6: Funding Fit & Risk Check
   ========================================================================== */
.eq-funding-fit-check {
    margin-top: 28px;
    padding: clamp(18px, 3vw, 28px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
}

.eq-funding-fit-check__head span,
.eq-funding-fit-output > span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-funding-fit-check__head h2 {
    margin: 0 0 8px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.6rem, 2.7vw, 2.2rem);
    font-weight: 500;
}

.eq-funding-fit-check__head p,
.eq-funding-fit-output p {
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 0.98rem;
    line-height: 1.5;
}

.eq-funding-fit-form {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.eq-funding-fit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.eq-funding-fit-form label {
    display: grid;
    gap: 6px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-fit-form input,
.eq-funding-fit-form textarea {
    width: 100%;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.88);
    color: var(--alm-ink, #111A2B);
    padding: 12px;
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    text-transform: none;
    letter-spacing: 0;
}

.eq-funding-fit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#eq-funding-fit-run,
#eq-funding-fit-clear,
.eq-funding-fit-workshop-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.82);
    color: var(--alm-ink, #111A2B);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

#eq-funding-fit-run {
    border-color: var(--alm-red, #B5432C);
    color: var(--alm-red, #B5432C);
}

.eq-funding-fit-output {
    margin-top: 18px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
    padding: 14px;
}

.eq-funding-fit-decision {
    display: inline-flex;
    margin: 4px 0 12px;
    padding: 6px 10px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-fit-decision.strong-route {
    border-color: rgba(28, 112, 77, 0.35);
    color: #1c704d;
}

.eq-funding-fit-decision.verify-first,
.eq-funding-fit-decision.possible-route {
    border-color: rgba(181, 124, 44, 0.45);
    color: #8a5a16;
}

.eq-funding-fit-decision.do-not-prioritize {
    border-color: rgba(181, 67, 44, 0.45);
    color: var(--alm-red, #B5432C);
}

.eq-funding-fit-rows {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.eq-funding-fit-row {
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    padding: 12px;
    background: rgba(255, 250, 240, 0.56);
}

.eq-funding-fit-row strong,
.eq-funding-fit-next strong {
    display: block;
    margin-bottom: 4px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-fit-row span {
    display: inline-flex;
    margin-bottom: 6px;
    padding: 3px 7px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eq-funding-fit-row .risk-low {
    color: #1c704d;
}

.eq-funding-fit-row .risk-medium {
    color: #8a5a16;
}

.eq-funding-fit-row .risk-high {
    color: var(--alm-red, #B5432C);
}

.eq-funding-fit-next {
    margin-top: 12px;
    border-top: 0.5px solid var(--alm-rule, #d5cfc1);
    padding-top: 12px;
}

@media (max-width: 760px) {
    .eq-funding-fit-grid,
    .eq-funding-fit-rows {
        grid-template-columns: 1fr;
    }

    .eq-funding-fit-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   v8.13.57 patch: Funding results show only after search/filter
   ========================================================================== */
.eq-funding-start-panel {
    padding: clamp(22px, 4vw, 34px);
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.58);
}

.eq-funding-start-panel span {
    display: block;
    margin-bottom: 8px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}

.eq-funding-start-panel h2 {
    margin: 0 0 8px;
    font-family: var(--alm-serif-display, "Cormorant Garamond", Georgia, serif);
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    font-weight: 500;
}

.eq-funding-start-panel p {
    max-width: 680px;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    font-size: 1rem;
    line-height: 1.55;
}

/* ==========================================================================
   v8.13.58 patch: cleaner Funding filters and aligned Step 3 panel
   ========================================================================== */
.eq-funding-region-strip {
    padding: 8px 0 0;
}

.eq-funding-region-strip .eq-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.eq-funding-region-strip__label {
    flex: 0 0 auto;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.64rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #667085);
}

.eq-funding-region-strip .eq-quick-filters__track {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 4px 0 8px;
}

.eq-funding-region-strip .eq-quick-filter {
    white-space: nowrap;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    padding: 5px 8px;
    font-size: 0.68rem;
    text-decoration: none;
}

.eq-funding-filter-section {
    margin-top: 12px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.48);
    padding: 12px;
}

.eq-funding-filter-section.is-primary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.eq-funding-filter-section__title,
.eq-funding-filter-section summary {
    grid-column: 1 / -1;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
    cursor: pointer;
}

.eq-funding-filter-section summary {
    margin-bottom: 10px;
}

.eq-funding-filter-section .eq-filter-block {
    margin-bottom: 10px;
}

.eq-funding-filter-section .eq-filter-block:last-child {
    margin-bottom: 0;
}

.eq-funding-filter-actions {
    margin-top: 12px;
}

.eq-funding-filter-actions .eq-btn-filter {
    width: 100%;
}

.eq-funding-clear-filters {
    display: block;
    text-align: center;
    margin-top: 10px;
}

.eq-funding-start-panel {
    position: relative;
}

.eq-funding-start-panel__steps {
    margin: 14px 0 0;
    padding-left: 20px;
    color: var(--alm-ink-muted, #667085);
    font-family: var(--alm-serif-body, "Source Serif 4", Georgia, serif);
    line-height: 1.5;
}

.eq-funding-start-panel__steps li + li {
    margin-top: 6px;
}

@media (max-width: 980px) {
    .eq-funding-filter-section.is-primary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .eq-funding-region-strip .eq-container {
        display: block;
    }

    .eq-funding-region-strip__label {
        display: block;
        margin-bottom: 4px;
    }
}

/* Funding AJAX route loading — keeps Step 3 transitions inline without changing the existing Funding layout. */
.eq-funding-ajax-status {
    margin: 10px 0 0;
    font-size: 0.86rem;
    color: rgba(17, 26, 43, 0.72);
}
.eq-funding-ajax-status.is-error {
    color: #8b1e14;
}
body.eq-funding-is-loading .eq-listing-main {
    opacity: 0.58;
    pointer-events: none;
    transition: opacity 160ms ease;
}
body.eq-funding-is-loading #eq-funding-find-routes,
body.eq-funding-is-loading .eq-funding-filter-form [type="submit"] {
    cursor: progress;
}


/* ========================================================================== 
   v8.13.63 patch 12: Funding hero and guided entry refinement
   ========================================================================== */
.eq-funding-hero--route .eq-archive-lede { max-width: 880px; }
.eq-funding-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.eq-funding-hero-actions a { text-decoration: none; }
.eq-funding-hero-secondary { display: inline-flex; align-items: center; justify-content: center; }
.eq-funding-intro-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 22px; padding: 10px; border: 0.5px solid var(--alm-rule, #d5cfc1); background: rgba(255, 250, 240, 0.42); }
.eq-funding-intro-strip span { display: flex; align-items: center; justify-content: center; min-height: 36px; border: 0.5px solid rgba(213, 207, 193, 0.8); background: rgba(255, 250, 240, 0.72); color: var(--alm-ink, #111A2B); font-family: var(--alm-sans, "Inter", Arial, sans-serif); font-size: 0.66rem; letter-spacing: 0.12em; text-align: center; text-transform: uppercase; }
.eq-funding-profile-card { position: relative; }
.eq-funding-profile-card::before { content: "Build route"; position: absolute; top: 12px; right: 14px; color: var(--alm-ink-muted, #667085); font-family: var(--alm-sans, "Inter", Arial, sans-serif); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; }
.eq-funding-start-panel { background: linear-gradient(180deg, rgba(255, 250, 240, 0.72), rgba(255, 250, 240, 0.46)); }
@media (max-width: 900px) { .eq-funding-intro-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .eq-funding-hero-actions { display: grid; grid-template-columns: 1fr; } .eq-funding-intro-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .eq-funding-profile-card::before { position: static; display: block; margin-bottom: 8px; } }


/* Patch 13: Funding deadline intelligence labels */
.eq-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0.5px solid var(--alm-rule);
  border-radius: 999px;
  padding: 5px 10px;
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  background: rgba(255,255,255,0.72);
  color: var(--alm-ink-muted);
}
.eq-status-badge.status-open {
  border-color: rgba(17,26,43,0.24);
  color: var(--alm-ink);
}
.eq-status-badge.status-closing-soon,
.eq-status-badge.status-urgent {
  border-color: rgba(181,67,44,0.52);
  background: rgba(181,67,44,0.08);
  color: var(--alm-red);
}
.eq-status-badge.status-rolling {
  border-color: rgba(17,26,43,0.28);
  background: rgba(17,26,43,0.05);
  color: var(--alm-ink);
}
.eq-status-badge.status-recently-closed,
.eq-status-badge.status-expired {
  border-color: rgba(117,93,72,0.42);
  background: rgba(117,93,72,0.08);
  color: #755D48;
}
.eq-status-badge.status-watch-next-cycle,
.eq-status-badge.status-unknown {
  border-color: rgba(17,26,43,0.16);
  background: rgba(17,26,43,0.04);
  color: var(--alm-ink-faint);
}
.eq-funding-deadline-insight {
  margin: 10px 0 12px;
  padding: 10px 12px;
  border-left: 3px solid var(--alm-rule);
  background: rgba(255,255,255,0.45);
  font-family: var(--alm-serif-body);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--alm-ink-muted);
}
.eq-funding-deadline-insight.is-closing_soon {
  border-left-color: var(--alm-red);
  background: rgba(181,67,44,0.06);
}
.eq-funding-deadline-insight.is-recently_closed,
.eq-funding-deadline-insight.is-watch_next_cycle {
  border-left-color: #B8A894;
}
.eq-funding-deadline-insight--detail {
  max-width: 760px;
  margin-top: 16px;
}
.eq-meta-deadline-past {
  color: var(--alm-ink-faint);
}
.eq-meta-deadline-open {
  color: var(--alm-ink-muted);
  font-weight: 600;
}


/* ==========================================================================
   v8.13.65 patch 14: Funding card intelligence
   ========================================================================== */
.eq-funding-trust-strip span.is-warning {
    border-color: rgba(181, 67, 44, 0.45);
    color: var(--alm-red, #B5432C);
}

.eq-funding-trust-strip span.is-source {
    border-color: rgba(17, 26, 43, 0.18);
}

.eq-funding-fit-snapshot {
    margin: 12px 0;
    padding: 12px 14px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.72);
}

.eq-funding-fit-snapshot span {
    display: block;
    margin-bottom: 5px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
    font-weight: 700;
}

.eq-funding-fit-snapshot p {
    margin: 0 0 5px;
    color: var(--alm-ink, #111A2B);
    line-height: 1.45;
}

.eq-funding-fit-snapshot small {
    display: block;
    color: var(--alm-ink-muted, #667085);
    line-height: 1.4;
}

.eq-funding-why p {
    margin: 8px 0 0;
    color: var(--alm-ink-muted, #667085);
    line-height: 1.45;
}

.eq-btn-funding-add-route {
    border-color: rgba(181, 67, 44, 0.45);
    color: var(--alm-red, #B5432C);
    font-weight: 700;
}

.eq-funding-actions-primary .eq-btn-primary,
.eq-funding-actions-primary .eq-btn-source,
.eq-funding-actions-primary .eq-btn-ledger-save-funding,
.eq-funding-actions-primary .eq-btn-funding-add-route {
    flex: 1 1 150px;
}

/* Funding Patch 15 — Build Route / Browse modes */
.eq-funding-mode-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.eq-funding-mode-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 0.5px solid var(--alm-rule, #d5cfc1);
    background: rgba(255, 250, 240, 0.62);
    color: var(--alm-ink, #111A2B);
    text-decoration: none;
}
.eq-funding-mode-card span {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--alm-red, #B5432C);
}
.eq-funding-mode-card strong {
    font-family: var(--alm-serif, Georgia, serif);
    font-size: 1.05rem;
    font-weight: 600;
}
.eq-funding-mode-card em {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.82rem;
    font-style: normal;
    line-height: 1.5;
    color: var(--alm-ink-muted, #5f6875);
}
.eq-funding-mode-card.is-active,
.eq-funding-mode-card:hover,
.eq-funding-hero-actions .eq-funding-mode-link.is-active {
    border-color: var(--alm-red, #B5432C);
    box-shadow: 0 10px 28px rgba(17, 26, 43, 0.08);
}
.eq-funding-layout--browse .eq-funding-route-builder__head span,
.eq-funding-hero.is-browse-mode .eq-masthead-label {
    color: var(--alm-red, #B5432C);
}
@media (max-width: 720px) {
    .eq-funding-mode-panel { grid-template-columns: 1fr; }
}

/* ========================================================================== 
   v8.13.68 patch 16: Funding first-time user simplification
   ========================================================================== */
.eq-funding-process-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin-top: 18px;
    padding: 8px 10px;
}
.eq-funding-process-line strong {
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--alm-ink-muted, #667085);
}
.eq-funding-process-line span {
    display: inline-flex;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--alm-ink, #111A2B);
}
.eq-funding-process-line span + span::before {
    content: "→";
    margin-right: 8px;
    color: var(--alm-ink-faint, #98A2B3);
}
.eq-funding-guide.is-collapsed {
    padding-top: 16px;
    padding-bottom: 16px;
}
.eq-funding-guide.is-collapsed .eq-funding-guide__head {
    margin-bottom: 0;
}
.eq-funding-browse-secondary {
    margin: 10px 0 16px;
    font-family: var(--alm-sans, "Inter", Arial, sans-serif);
    font-size: 0.86rem;
    color: var(--alm-ink-muted, #667085);
}
.eq-funding-browse-secondary a {
    color: var(--alm-red, #B5432C);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}
@media (max-width: 640px) {
    .eq-funding-process-line {
        width: 100%;
    }
    .eq-funding-process-line strong {
        flex-basis: 100%;
    }
}

/* Dossier reliability patch — v8.13.70 */
#eq-dossier-trigger.eq-dossier-trigger {
  appearance: none;
  -webkit-appearance: none;
  line-height: 1.2;
}
#eq-dossier-trigger:focus-visible,
.eq-dossier__close:focus-visible {
  outline: 2px solid var(--alm-red);
  outline-offset: 3px;
}
.eq-dossier__section {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 0.5px solid var(--alm-rule);
}
.eq-dossier__section h4 {
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin: 0 0 12px;
}
.eq-dossier__answer--deeper .eq-dossier__a {
  max-height: 14rem;
  overflow: hidden;
}

/* Dossier reliability patch — v8.13.71 */
#eq-dossier-trigger.eq-dossier-trigger {
  position: relative;
  z-index: 1601;
  pointer-events: auto;
}
#eq-dossier-panel.eq-dossier-panel {
  visibility: visible;
  pointer-events: none;
}
#eq-dossier-panel.eq-dossier-panel.is-open,
body.eq-dossier-is-open #eq-dossier-panel.eq-dossier-panel {
  right: 0;
  pointer-events: auto;
}

/* Patch 28 — Correspondent rail clarity and return-state reliability */
#margin-correspondent.eq-correspondent {
  text-align: center;
}
#margin-correspondent .eq-correspondent__click,
#margin-correspondent .eq-correspondent--empty {
  width: 100%;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: center;
  cursor: pointer;
  font: inherit;
}
#margin-correspondent .eq-correspondent__click:focus-visible,
#margin-correspondent .eq-correspondent--empty:focus-visible {
  outline: 1px solid var(--alm-red);
  outline-offset: 4px;
}
#margin-correspondent .eq-correspondent__seal {
  width: 48px;
  height: 48px;
  margin: 0 auto 8px;
  border: 1px solid var(--alm-rule-strong);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--alm-serif-display);
  font-size: 1.35rem;
  color: var(--alm-red);
  background: var(--alm-paper-warm);
}
#margin-correspondent.has-correspondent .eq-correspondent__name,
#margin-correspondent.has-correspondent .eq-correspondent__line {
  display: block;
}
#margin-correspondent.has-correspondent .eq-correspondent__line {
  max-width: 170px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1024px) {
  #eq-margin-rail:hover #margin-correspondent.has-correspondent .eq-correspondent__name,
  #eq-margin-rail:hover #margin-correspondent.has-correspondent .eq-correspondent__line {
    position: static;
    width: auto;
    height: auto;
    opacity: 1;
    overflow: visible;
  }
  #eq-margin-rail #margin-correspondent .eq-correspondent__seal {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }
  #eq-margin-rail:hover #margin-correspondent .eq-correspondent__seal {
    width: 48px;
    height: 48px;
    font-size: 1.35rem;
  }
}

/* Patch 29 — Correspondent empty-state circle visibility in the margin rail */
#margin-correspondent.eq-correspondent {
  overflow: visible;
  padding-top: 26px;
}
#margin-correspondent .eq-correspondent--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 88px;
  padding: 10px 0 8px;
  overflow: visible;
}
#margin-correspondent .eq-correspondent__inkwell {
  flex: 0 0 auto;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 2px;
  position: relative;
  top: 0;
  transform-origin: center center;
}
#margin-correspondent .eq-correspondent__prompt {
  display: block;
  line-height: 1.35;
}
@media (max-width: 1024px) {
  #eq-margin-rail {
    overflow-x: hidden;
    overflow-y: visible;
  }
  #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 22px;
  }
  #eq-margin-rail:hover #margin-correspondent.eq-correspondent {
    padding-top: 26px;
  }
  #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
    min-height: 62px;
    padding-top: 8px;
  }
  #eq-margin-rail:hover #margin-correspondent .eq-correspondent--empty {
    min-height: 88px;
    padding-top: 10px;
  }
}

/* Patch 30 — final Correspondent circle top clearance in the homepage margin rail */
#eq-margin-rail #margin-correspondent.eq-correspondent {
  padding-top: 42px;
  margin-top: 0;
  overflow: visible;
}
#eq-margin-rail #margin-correspondent .eq-correspondent--empty {
  min-height: 112px;
  padding-top: 16px;
  padding-bottom: 12px;
  overflow: visible;
}
#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell {
  margin-top: 0;
  margin-bottom: 6px;
}
@media (max-width: 1024px) {
  #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 38px;
  }
  #eq-margin-rail:hover #margin-correspondent.eq-correspondent {
    padding-top: 42px;
  }
  #eq-margin-rail #margin-correspondent .eq-correspondent--empty,
  #eq-margin-rail:hover #margin-correspondent .eq-correspondent--empty {
    min-height: 104px;
    padding-top: 14px;
  }
}

/* ===========================================
   DASHBOARD REFINEMENT — v8.13.83
   =========================================== */
.eq-ledger-hero .eq-landing-lede {
  max-width: 760px;
}

.eq-ledger-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 24px;
  padding: 16px 18px;
  border: 0.5px solid rgba(42, 157, 143, 0.25);
  background: rgba(42, 157, 143, 0.05);
  font-family: var(--alm-serif-body);
  font-size: 0.95rem;
  color: var(--alm-ink);
}

.eq-ledger-notice strong {
  color: #2a9d8f;
  line-height: 1.2;
}

.eq-paper-panel {
  background: #FBF8F2;
  border: 0.5px solid var(--alm-rule);
  padding: 24px;
}

.eq-ledger-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.9fr);
  gap: 28px;
  align-items: start;
}

.eq-ledger-main,
.eq-ledger-aside {
  min-width: 0;
}

.eq-ledger-main {
  display: grid;
  gap: 28px;
}

.eq-ledger-aside {
  display: grid;
  gap: 24px;
  position: sticky;
  top: 110px;
}

.eq-ledger-kicker,
.eq-dash-section__eyebrow {
  display: inline-block;
  font-family: var(--alm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--alm-red);
  margin-bottom: 10px;
}

.eq-ledger-panel-title {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.08;
  font-weight: 400;
  color: var(--alm-ink);
  margin: 0;
}

.eq-ledger-overview__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 0.5px solid var(--alm-rule);
}

.eq-ledger-overview__lede,
.eq-dash-section__intro,
.eq-ledger-sidecard__text,
.eq-ledger-sidecard__meta {
  font-family: var(--alm-serif-body);
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--alm-ink-muted);
  margin: 0;
}

.eq-ledger-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.eq-ledger-stat-card {
  padding: 16px 16px 14px;
  background: rgba(255,255,255,0.42);
  border: 0.5px solid var(--alm-rule);
}

.eq-ledger-stat-card__label,
.eq-ledger-stat-card__meta {
  display: block;
  font-family: var(--alm-sans);
}

.eq-ledger-stat-card__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
}

.eq-ledger-stat-card__value {
  display: block;
  margin: 8px 0 5px;
  font-family: var(--alm-serif-display);
  font-size: clamp(1.75rem, 2vw, 2.15rem);
  line-height: 1;
  font-weight: 400;
  color: var(--alm-ink);
}

.eq-ledger-stat-card__meta {
  font-size: 0.74rem;
  color: var(--alm-ink-faint);
}

.eq-ledger-utility-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 0.5px solid var(--alm-rule);
}

.eq-ledger-utility-links a,
.eq-dash-section__action {
  font-family: var(--alm-sans);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-ink);
  text-decoration: none;
}

.eq-ledger-utility-links a:hover,
.eq-dash-section__action:hover {
  color: var(--alm-red);
}

.eq-dash-section {
  margin: 0;
  padding: 24px;
  border-bottom: 0.5px solid var(--alm-rule);
}

.eq-dash-section.eq-paper-panel {
  border-bottom: 0.5px solid var(--alm-rule);
}

.eq-dash-section__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 10px;
}

.eq-dash-section__head--stacked {
  display: block;
}

.eq-dash-section__title {
  font-family: var(--alm-serif-display);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--alm-ink);
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}

.eq-dash-section__intro {
  margin: 0 0 18px;
  max-width: 58ch;
}

.eq-dash-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.eq-dash-item {
  padding: 18px;
  background: #fffdf8;
  border: 0.5px solid var(--alm-rule);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.eq-dash-item__title {
  margin: 0;
  font-family: var(--alm-serif-display);
  font-size: 1.08rem;
  line-height: 1.25;
  font-weight: 500;
}

.eq-dash-item__title a {
  color: var(--alm-ink);
  text-decoration: none;
}

.eq-dash-item__title a:hover {
  color: var(--alm-red);
}

.eq-dash-item__meta-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.eq-dash-item__meta,
.eq-ledger-table th,
.eq-ledger-table td {
  font-family: var(--alm-sans);
  font-size: 0.76rem;
}

.eq-dash-item__meta {
  color: var(--alm-ink-faint);
}

.eq-dash-item__note {
  margin: 0;
  line-height: 1.55;
}

.eq-dash-empty {
  padding: 18px 0 4px;
  font-size: 0.98rem;
  line-height: 1.6;
}

.eq-ledger-sidecard {
  padding: 22px;
}

.eq-ledger-sidecard__text {
  margin-top: 2px;
}

.eq-ledger-sidecard__meta {
  margin-top: 10px;
}

.eq-ledger-sidecard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.eq-ledger-sidecard .eq-btn-primary,
.eq-ledger-sidecard .eq-btn {
  font-size: 0.78rem;
  padding: 9px 16px;
}

.eq-ledger-dossier-stat {
  margin: 0 0 10px;
  font-family: var(--alm-serif-body);
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--alm-ink-muted);
}

.eq-ledger-dossier-stat strong {
  color: var(--alm-ink);
  font-weight: 600;
}

.eq-ledger-dossier-list {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.eq-ledger-dossier-entry {
  padding-top: 12px;
  border-top: 0.5px solid var(--alm-rule);
}

.eq-ledger-table-wrap {
  overflow-x: auto;
}

.eq-ledger-table {
  width: 100%;
  border-collapse: collapse;
}

.eq-ledger-table th,
.eq-ledger-table td {
  text-align: left;
  padding: 10px 6px;
  border-bottom: 0.5px solid rgba(17,26,43,0.12);
}

.eq-ledger-table th {
  color: var(--alm-ink-muted);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.eq-ledger-table__ref {
  font-size: 0.7rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: var(--alm-ink-faint);
}

@media (max-width: 1100px) {
  .eq-ledger-shell,
  .eq-ledger-overview__head {
    grid-template-columns: 1fr;
  }

  .eq-ledger-aside {
    position: static;
  }
}

@media (max-width: 800px) {
  .eq-paper-panel,
  .eq-dash-section,
  .eq-ledger-sidecard {
    padding: 18px;
  }

  .eq-ledger-stat-strip,
  .eq-dash-grid {
    grid-template-columns: 1fr;
  }

  .eq-dash-section__head {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ===========================================
   LOGO VISIBILITY REFINEMENT — v8.13.84
   =========================================== */
.alm-masthead {
  padding-top: clamp(32px, 4vw, 54px);
}

.alm-masthead__logo img {
  display: block;
  max-height: clamp(44px, 4.8vw, 68px);
  width: auto;
  max-width: min(360px, 34vw);
  opacity: 1;
  filter: none;
}

body.almanac .eq-header__inner {
  min-height: 68px;
  height: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}

body.almanac .eq-header__brand {
  flex: 0 0 auto;
  min-width: 150px;
}

body.almanac .eq-header__brand a {
  display: inline-flex;
  align-items: center;
  border-bottom: 0;
}

body.almanac .eq-header__brand img,
body.almanac .eq-header__brand .custom-logo {
  display: block;
  width: auto;
  max-width: clamp(150px, 15vw, 220px);
  max-height: clamp(44px, 4.2vw, 62px);
  object-fit: contain;
  opacity: 1;
  filter: none;
}

@media (max-width: 1024px) {
  .alm-masthead {
    padding-top: 28px;
  }

  .alm-masthead__inner {
    gap: 12px;
  }

  .alm-masthead__logo img {
    max-height: 56px;
    max-width: min(320px, 70vw);
    margin: 0 auto;
  }

  body.almanac .eq-header__brand {
    min-width: 130px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    max-height: 50px;
    max-width: 180px;
  }
}

@media (max-width: 768px) {
  .alm-masthead {
    padding-top: 22px;
    padding-bottom: 14px;
  }

  .alm-masthead__inner {
    padding-left: 18px;
    padding-right: 18px;
  }

  .alm-masthead__logo img {
    max-height: 48px;
    max-width: min(280px, 76vw);
  }

  body.almanac .eq-header__inner {
    min-height: 64px;
    padding-left: 18px;
    padding-right: 18px;
  }

  body.almanac .eq-header__brand {
    min-width: 120px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    max-height: 44px;
    max-width: min(160px, 48vw);
  }
}

@media (max-width: 420px) {
  .alm-masthead__logo img {
    max-height: 42px;
    max-width: 240px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    max-height: 40px;
    max-width: 145px;
  }
}


/* ===========================================
   LOGO BALANCE — v8.13.87
   Uses cropped logo canvas with restrained sizing.
   =========================================== */
.alm-masthead__logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.alm-masthead__logo a,
body.almanac .eq-header__brand a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  border-bottom: 0;
}

.alm-masthead__logo img {
  width: clamp(86px, 8vw, 118px);
  height: auto;
  max-width: 118px;
  max-height: none;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

body.almanac .eq-header__inner {
  min-height: 64px;
  height: auto;
  padding-top: 8px;
  padding-bottom: 8px;
}

body.almanac .eq-header__brand {
  flex: 0 0 auto;
  min-width: 86px;
}

body.almanac .eq-header__brand img,
body.almanac .eq-header__brand .custom-logo {
  width: clamp(78px, 7vw, 104px);
  height: auto;
  max-width: 104px;
  max-height: none;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

.eq-footer-brand img,
.eq-auth-logo img,
.eq-sheet img[src*="logo-"] {
  width: clamp(88px, 9vw, 118px);
  height: auto;
  max-width: 118px;
  max-height: none;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .alm-masthead__logo img {
    width: clamp(82px, 12vw, 108px);
    max-width: 108px;
  }

  body.almanac .eq-header__brand {
    min-width: 78px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    width: clamp(74px, 11vw, 96px);
    max-width: 96px;
  }
}

@media (max-width: 768px) {
  .alm-masthead__logo img {
    width: clamp(78px, 22vw, 100px);
    max-width: 100px;
  }

  body.almanac .eq-header__inner {
    min-height: 60px;
    gap: 12px;
  }

  body.almanac .eq-header__brand {
    min-width: 72px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    width: clamp(70px, 20vw, 88px);
    max-width: 88px;
  }
}

@media (max-width: 420px) {
  .alm-masthead__logo img {
    width: 84px;
    max-width: 84px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    width: 76px;
    max-width: 76px;
  }
}


/* ===========================================
   LOGO FINAL BALANCE — v8.13.88
   Slightly smaller main logo, explicit footer and mobile-menu support.
   =========================================== */
.alm-masthead__logo img {
  width: clamp(80px, 7.2vw, 108px);
  max-width: 108px;
  height: auto;
  max-height: none;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

body.almanac .eq-header__brand img,
body.almanac .eq-header__brand .custom-logo {
  width: clamp(72px, 6.4vw, 96px);
  max-width: 96px;
  height: auto;
  max-height: none;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

/* Footer logo was using .eq-footer__brand, not .eq-footer-brand. */
.eq-footer__brand a {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  border-bottom: 0;
}

.eq-footer__brand img,
body.almanac .eq-footer__brand img {
  width: clamp(86px, 8vw, 106px);
  max-width: 106px;
  height: auto;
  max-height: none;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

/* Mobile navigation logo. */
.eq-mobile-nav__header a {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  border-bottom: 0;
}

.eq-mobile-nav__header img,
body.almanac .eq-mobile-nav__header img {
  width: clamp(84px, 24vw, 104px);
  max-width: 104px;
  height: auto;
  max-height: none;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

@media (max-width: 1024px) {
  .alm-masthead__logo img {
    width: clamp(78px, 11vw, 100px);
    max-width: 100px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    width: clamp(70px, 10vw, 90px);
    max-width: 90px;
  }

  .eq-footer__brand img,
  body.almanac .eq-footer__brand img {
    width: clamp(84px, 13vw, 102px);
    max-width: 102px;
  }
}

@media (max-width: 768px) {
  .alm-masthead__logo img {
    width: clamp(76px, 20vw, 94px);
    max-width: 94px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    width: clamp(68px, 18vw, 82px);
    max-width: 82px;
  }

  .eq-mobile-nav__header img,
  body.almanac .eq-mobile-nav__header img {
    width: clamp(84px, 28vw, 102px);
    max-width: 102px;
  }

  .eq-footer__brand img,
  body.almanac .eq-footer__brand img {
    width: clamp(84px, 26vw, 100px);
    max-width: 100px;
  }
}

@media (max-width: 420px) {
  .alm-masthead__logo img {
    width: 80px;
    max-width: 80px;
  }

  body.almanac .eq-header__brand img,
  body.almanac .eq-header__brand .custom-logo {
    width: 72px;
    max-width: 72px;
  }

  .eq-mobile-nav__header img,
  body.almanac .eq-mobile-nav__header img {
    width: 92px;
    max-width: 92px;
  }

  .eq-footer__brand img,
  body.almanac .eq-footer__brand img {
    width: 92px;
    max-width: 92px;
  }
}


/* ===========================================
   MOBILE HOMEPAGE WORKSHOP VISIBILITY + LOGO DEDUPE — v8.13.96
   Keeps one page-level logo on mobile and explicitly preserves the Workshop
   homepage dispatch card.
   =========================================== */
@media (max-width: 768px) {
  /* Prevent duplicate page-level logos: keep compact header logo, hide only the large masthead logo. */
  .alm-masthead {
    padding-top: 10px;
    padding-bottom: 8px;
  }

  .alm-masthead__inner {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .alm-masthead__logo {
    display: none !important;
  }

  .alm-masthead__left,
  .alm-masthead__right {
    font-size: 0.62rem;
    line-height: 1.45;
  }

  /* Keep the homepage dispatch grid complete on mobile. */
  .alm-dispatches,
  .alm-dispatch-grid {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .alm-dispatch-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .alm-dispatch,
  .alm-dispatch--workshop {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .alm-dispatch--workshop {
    order: initial;
  }

  /* Mobile menu logo: visible only within the opened menu panel. */
  body.almanac .eq-mobile-nav__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .eq-mobile-nav__header img,
  body.almanac .eq-mobile-nav__header img {
    width: clamp(96px, 30vw, 124px);
    max-width: 124px;
    height: auto;
    max-height: none;
    object-fit: contain;
  }
}

@media (max-width: 420px) {
  .alm-masthead__left,
  .alm-masthead__right {
    font-size: 0.58rem;
  }
}


/* ===========================================
   DASHBOARD STICKY PANEL REMOVAL — v8.13.97
   The Dashboard side panel now scrolls naturally with the rest of the page.
   Other intentional sticky rails, such as Workshop and article sidebars, are unchanged.
   =========================================== */
.eq-ledger-aside {
  position: static !important;
  top: auto !important;
}


/* ===========================================
   MASTHEAD + SIDEBAR FLOW REFINEMENT — v8.13.98
   Removes the duplicate top masthead logo on desktop and mobile.
   Keeps the navigation/menu-bar logo as the single page logo.
   Sidebars/rails now scroll naturally with page content instead of remaining fixed.
   =========================================== */

/* Hide the top masthead logo everywhere. The menu-bar logo remains visible. */
.alm-masthead__logo {
  display: none !important;
}

/* Preserve the masthead date/dossier and issue text without the centered logo column. */
.alm-masthead__inner {
  grid-template-columns: 1fr 1fr !important;
  align-items: end;
}

.alm-masthead__left {
  text-align: left;
}

.alm-masthead__right {
  text-align: right;
}

/* Disable sticky side panels/rails so they move naturally as the page scrolls. */
.alm-ledger__header,
.eq-single-sidebar,
.eq-match-detail,
.eq-detail-sidebar,
.eq-essay-sidebar,
.eq-bench__rail,
.eq-bench__editorial,
.eq-ledger-aside {
  position: static !important;
  top: auto !important;
}

/* Keep the sticky site header/navigation intact. */
.eq-header,
.eq-persistent-masthead {
  position: sticky;
}

/* Mobile remains single-column and keeps the top masthead logo hidden. */
@media (max-width: 768px) {
  .alm-masthead__inner {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .alm-masthead__left,
  .alm-masthead__right {
    text-align: center;
  }
}


/* ===========================================
   MARGIN RAIL DOCUMENT FLOW — v8.13.99
   The Correspondent/Almanac side panel is no longer fixed to the viewport.
   It remains on the side on desktop but scrolls with the page content.
   =========================================== */
body.has-margin-rail {
  position: relative;
}

/* Convert the margin rail from viewport-fixed to document-positioned. */
#eq-margin-rail.eq-margin-rail,
#eq-margin-rail {
  position: absolute !important;
  top: 80px !important;
  right: 0 !important;
  bottom: auto !important;
  min-height: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Keep content allowance for the side rail on larger screens. */
body.has-margin-rail .eq-page {
  padding-right: 220px;
}

/* On narrower screens, keep the rail out of the way of the main page content. */
@media (max-width: 1180px) {
  #eq-margin-rail.eq-margin-rail,
  #eq-margin-rail {
    position: static !important;
    width: auto !important;
    min-height: 0 !important;
    border-left: 0 !important;
    border-top: 0.5px solid var(--alm-rule);
    margin: 24px 18px 0;
    padding: 18px 0;
  }

  body.has-margin-rail .eq-page {
    padding-right: 0 !important;
  }
}


/* ===========================================
   MARGIN RAIL TOP CLEARANCE — v8.14.00
   Ensures the Correspondent block is shown fully when the rail scrolls with the page.
   =========================================== */
#eq-margin-rail.eq-margin-rail,
#eq-margin-rail {
  top: 120px !important;
  padding-top: 34px !important;
  overflow: visible !important;
}

#eq-margin-rail #margin-correspondent.eq-correspondent {
  padding-top: 28px !important;
  margin-top: 0 !important;
  overflow: visible !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent--empty {
  min-height: 124px !important;
  padding-top: 18px !important;
  padding-bottom: 14px !important;
  overflow: visible !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  #eq-margin-rail.eq-margin-rail,
  #eq-margin-rail {
    top: auto !important;
    padding-top: 24px !important;
  }

  #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 24px !important;
  }
}


/* ===========================================
   MARGIN RAIL DOTTED CIRCLE VISIBILITY — v8.14.01
   Ensures the full empty Correspondent dotted circle is visible.
   =========================================== */
#eq-margin-rail #margin-correspondent.eq-correspondent {
  padding-top: 40px !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell-wrap,
#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell-shell,
#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell-area {
  overflow: visible !important;
  padding-top: 6px !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent--empty {
  min-height: 146px !important;
  padding-top: 28px !important;
  padding-bottom: 14px !important;
  overflow: visible !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell,
#eq-margin-rail #margin-correspondent .eq-correspondent__plus-circle,
#eq-margin-rail #margin-correspondent .eq-correspondent__circle,
#eq-margin-rail #margin-correspondent .eq-correspondent-empty__circle {
  display: block !important;
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  min-height: 68px !important;
  margin: 0 auto 10px !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

@media (max-width: 1180px) {
  #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 28px !important;
  }

  #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
    min-height: 136px !important;
    padding-top: 24px !important;
  }
}


/* ===========================================
   MARGIN RAIL DOTTED CIRCLE SPACING TUNE — v8.14.02
   Adds a little more breathing room so the full dotted circle is visible cleanly.
   =========================================== */
#eq-margin-rail.eq-margin-rail,
#eq-margin-rail {
  padding-top: 42px !important;
}

#eq-margin-rail #margin-correspondent.eq-correspondent {
  padding-top: 46px !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent--empty {
  min-height: 156px !important;
  padding-top: 34px !important;
  padding-bottom: 16px !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell,
#eq-margin-rail #margin-correspondent .eq-correspondent__plus-circle,
#eq-margin-rail #margin-correspondent .eq-correspondent__circle,
#eq-margin-rail #margin-correspondent .eq-correspondent-empty__circle {
  margin: 4px auto 12px !important;
}

@media (max-width: 1180px) {
  #eq-margin-rail.eq-margin-rail,
  #eq-margin-rail {
    padding-top: 28px !important;
  }

  #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 34px !important;
  }

  #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
    min-height: 144px !important;
    padding-top: 28px !important;
  }
}


/* ===========================================
   SIGNED-IN CORRESPONDENT FULL DISPLAY — v8.14.03
   Ensures the logged-in Correspondent/account state is not clipped in the side rail.
   =========================================== */
#eq-margin-rail #margin-correspondent.has-correspondent,
#eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
  padding-top: 42px !important;
  padding-bottom: 22px !important;
  min-height: 176px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__seal,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__svg,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__mark {
  display: flex !important;
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  min-height: 62px !important;
  margin: 0 auto 12px !important;
  overflow: visible !important;
  transform: none !important;
}

#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__name,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__line,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__meta,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__summary {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 174px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  opacity: 1 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  line-height: 1.35 !important;
}

#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__name {
  margin-top: 8px !important;
  margin-bottom: 6px !important;
  font-size: 0.82rem !important;
}

#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__line,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__meta,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__summary {
  font-size: 0.72rem !important;
}

/* Avoid compact/hover-only signed-in rail behavior after the rail was moved into page flow. */
@media (max-width: 1024px) {
  #eq-margin-rail #margin-correspondent.has-correspondent,
  #eq-margin-rail:hover #margin-correspondent.has-correspondent {
    padding-top: 34px !important;
    min-height: 164px !important;
  }

  #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__seal,
  #eq-margin-rail:hover #margin-correspondent.has-correspondent .eq-correspondent__seal,
  #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__svg,
  #eq-margin-rail:hover #margin-correspondent.has-correspondent .eq-correspondent__svg {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
  }

  #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__name,
  #eq-margin-rail:hover #margin-correspondent.has-correspondent .eq-correspondent__name,
  #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__line,
  #eq-margin-rail:hover #margin-correspondent.has-correspondent .eq-correspondent__line {
    position: static !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
  }
}


/* ===========================================
   FINAL CORRESPONDENT CIRCLE CLEARANCE — v8.14.04
   Final small spacing adjustment so the circle is fully visible in both
   empty and signed-in Correspondent states.
   =========================================== */
#eq-margin-rail #margin-correspondent.eq-correspondent {
  padding-top: 58px !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent--empty {
  min-height: 174px !important;
  padding-top: 46px !important;
  padding-bottom: 18px !important;
}

#eq-margin-rail #margin-correspondent .eq-correspondent__inkwell,
#eq-margin-rail #margin-correspondent .eq-correspondent__plus-circle,
#eq-margin-rail #margin-correspondent .eq-correspondent__circle,
#eq-margin-rail #margin-correspondent .eq-correspondent-empty__circle {
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

#eq-margin-rail #margin-correspondent.has-correspondent,
#eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
  padding-top: 54px !important;
  min-height: 190px !important;
}

#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__seal,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__svg,
#eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__mark {
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

@media (max-width: 1180px) {
  #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 42px !important;
  }

  #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
    min-height: 158px !important;
    padding-top: 36px !important;
  }

  #eq-margin-rail #margin-correspondent.has-correspondent,
  #eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
    padding-top: 40px !important;
    min-height: 176px !important;
  }
}


/* ===========================================
   GLOBAL CORRESPONDENT CIRCLE CLEARANCE — v8.14.05
   Applies the full-circle spacing to every page, not only homepage contexts.
   =========================================== */

/* Make the rail itself allow full vertical rendering on all templates. */
body #eq-margin-rail.eq-margin-rail,
body #eq-margin-rail {
  overflow: visible !important;
  padding-top: 46px !important;
}

/* Apply to the Correspondent block regardless of page template/body class. */
body #eq-margin-rail #margin-correspondent,
body #eq-margin-rail #margin-correspondent.eq-correspondent {
  padding-top: 60px !important;
  padding-bottom: 20px !important;
  min-height: 184px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Empty-state circle area. */
body #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 176px !important;
  height: auto !important;
  max-height: none !important;
  padding-top: 48px !important;
  padding-bottom: 20px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Circle/inkwell variants used across pages and return states. */
body #eq-margin-rail #margin-correspondent .eq-correspondent__inkwell,
body #eq-margin-rail #margin-correspondent .eq-correspondent__plus-circle,
body #eq-margin-rail #margin-correspondent .eq-correspondent__circle,
body #eq-margin-rail #margin-correspondent .eq-correspondent-empty__circle,
body #eq-margin-rail #margin-correspondent .eq-correspondent__seal,
body #eq-margin-rail #margin-correspondent .eq-correspondent__svg,
body #eq-margin-rail #margin-correspondent .eq-correspondent__mark {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  min-height: 68px !important;
  margin: 8px auto 14px !important;
  overflow: visible !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* Signed-in/account state across every page. */
body #eq-margin-rail #margin-correspondent.has-correspondent,
body #eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
  padding-top: 58px !important;
  padding-bottom: 24px !important;
  min-height: 194px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Prevent compact hover-only rules from hiding signed-in details on non-home pages. */
body #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__name,
body #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__line,
body #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__meta,
body #eq-margin-rail #margin-correspondent.has-correspondent .eq-correspondent__summary {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 174px !important;
  opacity: 1 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

/* Narrow desktop/tablet rail states. */
@media (max-width: 1180px) {
  body #eq-margin-rail.eq-margin-rail,
  body #eq-margin-rail {
    padding-top: 30px !important;
  }

  body #eq-margin-rail #margin-correspondent,
  body #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 44px !important;
    min-height: 166px !important;
  }

  body #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
    min-height: 158px !important;
    padding-top: 38px !important;
  }

  body #eq-margin-rail #margin-correspondent.has-correspondent,
  body #eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
    padding-top: 42px !important;
    min-height: 178px !important;
  }
}


/* ===========================================
   FINAL GLOBAL CORRESPONDENT CIRCLE NUDGE — v8.14.06
   Last small clearance increase so the circle renders fully across all pages.
   =========================================== */
body #eq-margin-rail.eq-margin-rail,
body #eq-margin-rail {
  padding-top: 52px !important;
  overflow: visible !important;
}

body #eq-margin-rail #margin-correspondent,
body #eq-margin-rail #margin-correspondent.eq-correspondent {
  padding-top: 72px !important;
  padding-bottom: 26px !important;
  min-height: 208px !important;
  overflow: visible !important;
}

body #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
  min-height: 194px !important;
  padding-top: 60px !important;
  padding-bottom: 24px !important;
  overflow: visible !important;
}

body #eq-margin-rail #margin-correspondent .eq-correspondent__inkwell,
body #eq-margin-rail #margin-correspondent .eq-correspondent__plus-circle,
body #eq-margin-rail #margin-correspondent .eq-correspondent__circle,
body #eq-margin-rail #margin-correspondent .eq-correspondent-empty__circle,
body #eq-margin-rail #margin-correspondent .eq-correspondent__seal,
body #eq-margin-rail #margin-correspondent .eq-correspondent__svg,
body #eq-margin-rail #margin-correspondent .eq-correspondent__mark {
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  overflow: visible !important;
  transform: none !important;
}

body #eq-margin-rail #margin-correspondent.has-correspondent,
body #eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
  padding-top: 68px !important;
  min-height: 214px !important;
  overflow: visible !important;
}

@media (max-width: 1180px) {
  body #eq-margin-rail.eq-margin-rail,
  body #eq-margin-rail {
    padding-top: 36px !important;
  }

  body #eq-margin-rail #margin-correspondent,
  body #eq-margin-rail #margin-correspondent.eq-correspondent {
    padding-top: 54px !important;
    min-height: 184px !important;
  }

  body #eq-margin-rail #margin-correspondent .eq-correspondent--empty {
    min-height: 174px !important;
    padding-top: 48px !important;
  }

  body #eq-margin-rail #margin-correspondent.has-correspondent,
  body #eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
    padding-top: 52px !important;
    min-height: 194px !important;
  }
}


/* ===========================================
   GLOBAL CORRESPONDENT WORD VISIBILITY — v8.14.07
   Ensures the Correspondent label/text remains visible across all pages,
   now that the side rail scrolls with the page instead of acting as a compact hover rail.
   =========================================== */
body #eq-margin-rail #margin-correspondent .margin-label,
body #eq-margin-rail #margin-correspondent .margin-value,
body #eq-margin-rail #margin-correspondent .margin-detail,
body #eq-margin-rail #margin-correspondent .eq-correspondent__prompt,
body #eq-margin-rail #margin-correspondent .eq-correspondent__name,
body #eq-margin-rail #margin-correspondent .eq-correspondent__line,
body #eq-margin-rail #margin-correspondent .eq-correspondent__meta,
body #eq-margin-rail #margin-correspondent .eq-correspondent__summary {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  text-align: center !important;
}

body #eq-margin-rail #margin-correspondent .margin-label {
  margin-top: 10px !important;
  margin-bottom: 6px !important;
  font-family: var(--alm-sans, Inter, sans-serif) !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--alm-ink-muted, #555) !important;
}

body #eq-margin-rail #margin-correspondent .eq-correspondent__prompt,
body #eq-margin-rail #margin-correspondent .margin-value {
  margin-top: 6px !important;
  font-family: var(--alm-serif-body, Georgia, serif) !important;
  font-size: 0.8rem !important;
  line-height: 1.35 !important;
  color: var(--alm-ink, #111A2B) !important;
}

/* Override earlier compact tablet/desktop hover-only rules. */
@media (max-width: 1180px) {
  body #eq-margin-rail #margin-correspondent .margin-label,
  body #eq-margin-rail #margin-correspondent .margin-value,
  body #eq-margin-rail #margin-correspondent .margin-detail,
  body #eq-margin-rail #margin-correspondent .eq-correspondent__prompt,
  body #eq-margin-rail #margin-correspondent .eq-correspondent__name,
  body #eq-margin-rail #margin-correspondent .eq-correspondent__line,
  body #eq-margin-rail #margin-correspondent .eq-correspondent__meta,
  body #eq-margin-rail #margin-correspondent .eq-correspondent__summary {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    max-width: 180px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    text-align: center !important;
  }
}


/* ===========================================
   INSTRUMENT ICON LANGUAGE — v8.14.09
   Gives every Workshop instrument a consistent, legible icon system across
   homepage, Workshop rail, mobile pills, and active/empty states.
   =========================================== */
.eq-instrument__svg,
.eq-bench__mobile-empty-icon {
  color: var(--alm-ink, #111A2B);
}

.eq-instrument__svg {
  width: clamp(64px, 6vw, 78px);
  height: clamp(64px, 6vw, 78px);
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.eq-instrument__svg svg,
.eq-instrument__svg .eq-instrument-icon {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.eq-bench__instrument-svg {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.eq-bench__instrument-svg svg,
.eq-bench__instrument-svg .eq-instrument-icon,
.eq-bench__mobile-pill .eq-bench__instrument-svg svg,
.eq-bench__mobile-pill .eq-bench__instrument-svg .eq-instrument-icon {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.eq-bench__mobile-pill .eq-bench__instrument-svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}

.eq-bench__mobile-empty-icon {
  width: 54px;
  height: 54px;
}

.eq-bench__mobile-empty-icon svg,
.eq-bench__mobile-empty-icon .eq-instrument-icon {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
  vector-effect: non-scaling-stroke;
}

@media (max-width: 720px) {
  .eq-instrument__svg {
    width: 60px;
    height: 60px;
    margin-bottom: 14px;
  }

  .eq-instrument__svg svg,
  .eq-instrument__svg .eq-instrument-icon {
    stroke-width: 2.15px;
  }

  .eq-bench__instrument-svg {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }
}

/* Preserve full Correspondent heading visibility across pages. */
body #eq-margin-rail #margin-correspondent,
body #eq-margin-rail #margin-correspondent.eq-correspondent,
body #eq-margin-rail #margin-correspondent.has-correspondent,
body #eq-margin-rail #margin-correspondent.eq-correspondent.has-correspondent {
  overflow: visible !important;
}

body #eq-margin-rail #margin-correspondent .margin-label:first-child,
body #eq-margin-rail #margin-correspondent .eq-correspondent__label:first-child,
body #eq-margin-rail #margin-correspondent .eq-correspondent__heading:first-child,
body #eq-margin-rail #margin-correspondent .eq-correspondent__title:first-child {
  display: block !important;
  position: static !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  padding-top: 0 !important;
  line-height: 1.3 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-align: center !important;
}


/* ===========================================
   REFERENCE INSTRUMENT ICON REFINEMENT — v8.14.10
   Updates instrument icons to match the uploaded reference family and keeps
   them balanced across homepage, Workshop, mobile pills, and other placements.
   =========================================== */
.eq-instrument__svg {
  width: clamp(66px, 5.8vw, 82px);
  height: clamp(66px, 5.8vw, 82px);
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.eq-instrument__svg svg,
.eq-instrument__svg .eq-instrument-icon {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.eq-bench__instrument-svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.eq-bench__instrument-svg svg,
.eq-bench__instrument-svg .eq-instrument-icon {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.eq-bench__mobile-pill .eq-bench__instrument-svg {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
}

.eq-bench__mobile-pill .eq-bench__instrument-svg svg,
.eq-bench__mobile-pill .eq-bench__instrument-svg .eq-instrument-icon {
  stroke-width: 2.1px;
}

.eq-bench__mobile-empty-icon,
.eq-bench__active-svg,
.eq-bench__placeholder-svg {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.eq-bench__mobile-empty-icon svg,
.eq-bench__active-svg svg,
.eq-bench__placeholder-svg svg,
.eq-bench__mobile-empty-icon .eq-instrument-icon,
.eq-bench__active-svg .eq-instrument-icon,
.eq-bench__placeholder-svg .eq-instrument-icon {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

@media (max-width: 767px) {
  .eq-instrument__svg {
    width: 58px;
    height: 58px;
    margin-bottom: 14px;
  }

  .eq-instrument__svg svg,
  .eq-instrument__svg .eq-instrument-icon {
    stroke-width: 2.55px;
  }

  .eq-bench__instrument-svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }

  .eq-bench__instrument-svg svg,
  .eq-bench__instrument-svg .eq-instrument-icon {
    stroke-width: 2.15px;
  }
}


/* ===========================================
   SIDE PANEL IMMEDIATE RENDER — v8.14.11
   The margin rail now renders with server-side markup, so it appears with
   the page rather than waiting for JavaScript to replace "Loading...".
   =========================================== */
#eq-margin-rail,
#eq-margin-rail .margin-item,
#eq-margin-rail #margin-correspondent,
#eq-margin-rail #margin-correspondent * {
  transition-delay: 0s !important;
}

#eq-margin-rail #margin-correspondent .margin-value.margin-quiet {
  min-height: 1.35em;
}

#eq-margin-rail #margin-correspondent .eq-correspondent--empty,
#eq-margin-rail #margin-correspondent .eq-correspondent__click {
  opacity: 1 !important;
  visibility: visible !important;
}


/* ===========================================
   DOSSIER CLOSE BUTTON CLARITY — v8.14.12
   Keeps the Dossier close button clearly visible inside the slide-out panel.
   =========================================== */
#eq-dossier-panel.eq-dossier-panel {
  padding-top: 26px !important;
  overflow-y: auto !important;
}

#eq-dossier-panel .eq-dossier__close {
  position: sticky !important;
  top: 12px !important;
  left: auto !important;
  right: auto !important;
  float: right !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  margin: 0 0 14px 16px !important;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6) !important;
  background: var(--alm-paper, #F3EFE6) !important;
  color: var(--alm-ink, #111A2B) !important;
  font-family: var(--alm-sans, Inter, sans-serif) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 2px 10px rgba(17, 26, 43, 0.06) !important;
}

#eq-dossier-panel .eq-dossier__close::before {
  content: "×";
  display: inline-block;
  margin-right: 6px;
  font-size: 1rem;
  line-height: 0.8;
  color: var(--alm-red, #B5432C);
}

#eq-dossier-panel .eq-dossier__close:hover,
#eq-dossier-panel .eq-dossier__close:focus-visible {
  border-color: var(--alm-red, #B5432C) !important;
  color: var(--alm-red, #B5432C) !important;
  outline: none !important;
}

#eq-dossier-panel #eq-dossier-content {
  clear: both;
  padding-top: 4px;
}

@media (max-width: 640px) {
  #eq-dossier-panel.eq-dossier-panel {
    padding-top: 20px !important;
  }

  #eq-dossier-panel .eq-dossier__close {
    top: 10px !important;
    margin-bottom: 12px !important;
    min-height: 36px !important;
  }
}


/* PAYMENT NOTE KES — v8.14.13 */
.eq-payment-note {
  max-width: 760px;
  margin: 0 0 28px;
  padding: 14px 16px;
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  background: rgba(17, 26, 43, 0.025);
  color: var(--alm-ink-muted, #555);
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.95rem;
  line-height: 1.55;
}

/* ===========================================
   READINESS ROOM — Patch 1, v8.14.15
   Static Almanac shell for readiness decision support.
   =========================================== */
.eq-readiness-room {
  background: var(--alm-paper, #f3efe6);
  color: var(--alm-ink, #111a2b);
}

.eq-readiness-hero {
  padding: clamp(52px, 8vw, 96px) 0 44px;
  border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-readiness-hero__grid,
.eq-readiness-output__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.75fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.eq-readiness__kicker,
.eq-readiness__stamp {
  display: inline-block;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--alm-red, #b5432c);
  margin: 0 0 16px;
}

.eq-readiness-hero h1,
.eq-readiness-section-head h2,
.eq-readiness-output h2 {
  font-family: var(--alm-serif-display, Georgia, serif);
  font-weight: 400;
  line-height: 0.98;
  color: var(--alm-ink, #111a2b);
  margin: 0;
}

.eq-readiness-hero h1 {
  max-width: 860px;
  font-size: clamp(2.25rem, 6.2vw, 5.35rem);
  letter-spacing: -0.045em;
}

.eq-readiness__lede,
.eq-readiness-output p {
  max-width: 720px;
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  line-height: 1.62;
  color: var(--alm-ink-muted, #555);
  margin: 22px 0 0;
}

.eq-readiness-process {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 30px;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-ink-muted, #555);
}

.eq-readiness-process span {
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  background: rgba(255,255,255,0.22);
  padding: 8px 10px;
}

.eq-readiness-process span + span::before {
  content: '→';
  margin-right: 8px;
  color: var(--alm-red, #b5432c);
}

.eq-readiness-hero__note,
.eq-readiness-brief {
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: var(--alm-paper-warm, #faf7ef);
  padding: 24px;
  box-shadow: 0 12px 32px rgba(17, 26, 43, 0.045);
}

.eq-readiness-hero__note p {
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.98rem;
  line-height: 1.58;
  color: var(--alm-ink-muted, #555);
  margin: 0;
}

.eq-readiness-modes,
.eq-readiness-output {
  padding: clamp(48px, 7vw, 86px) 0;
  border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-readiness-section-head {
  max-width: 780px;
  margin-bottom: 30px;
}

.eq-readiness-section-head h2,
.eq-readiness-output h2 {
  font-size: clamp(1.85rem, 3.6vw, 3.45rem);
  letter-spacing: -0.03em;
}

.eq-readiness-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.eq-readiness-card {
  min-height: 100%;
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  background: rgba(255,255,255,0.18);
  padding: 22px 20px;
}

.eq-readiness-card__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  border-radius: 999px;
  color: var(--alm-red, #b5432c);
  font-family: var(--alm-serif-display, Georgia, serif);
  font-size: 0.86rem;
  margin-bottom: 18px;
}

.eq-readiness-card h3 {
  font-family: var(--alm-serif-display, Georgia, serif);
  font-size: 1.35rem;
  font-weight: 400;
  margin: 0 0 12px;
  color: var(--alm-ink, #111a2b);
}

.eq-readiness-card p,
.eq-readiness-card li {
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--alm-ink-muted, #555);
}

.eq-readiness-card p {
  margin: 0 0 16px;
}

.eq-readiness-card ul {
  margin: 0;
  padding-left: 18px;
}

.eq-readiness-brief {
  display: grid;
  gap: 0;
}

.eq-readiness-brief__row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-readiness-brief__row:last-child {
  border-bottom: 0;
}

.eq-readiness-brief__row span {
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alm-ink-faint, #777);
}

.eq-readiness-brief__row strong {
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.98rem;
  line-height: 1.42;
  color: var(--alm-ink, #111a2b);
}

@media (max-width: 980px) {
  .eq-readiness-hero__grid,
  .eq-readiness-output__grid,
  .eq-readiness-card-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .eq-readiness-hero__grid,
  .eq-readiness-output__grid,
  .eq-readiness-card-grid {
    grid-template-columns: 1fr;
  }

  .eq-readiness-process {
    display: grid;
    grid-template-columns: 1fr;
  }

  .eq-readiness-process span + span::before {
    content: '';
    margin: 0;
  }

  .eq-readiness-brief__row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}


/* READINESS ROOM PATCH 2 — interactive intake flow */
.eq-readiness-workbench {
  padding: clamp(48px, 7vw, 84px) 0;
  border-top: 0.5px solid var(--alm-rule);
}

.eq-readiness-workbench__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: start;
}

.eq-readiness-card {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  background: var(--alm-paper);
  color: var(--alm-ink);
}

.eq-readiness-card.is-active {
  border-color: var(--alm-red);
  box-shadow: 0 0 0 1px rgba(181, 67, 44, 0.18);
}

.eq-readiness-card:focus-visible,
.eq-readiness-submit:focus-visible {
  outline: 2px solid var(--alm-red);
  outline-offset: 4px;
}

.eq-readiness-form {
  padding: clamp(22px, 4vw, 34px);
  border: 0.5px solid var(--alm-rule);
  background: rgba(255, 255, 255, 0.24);
}

.eq-readiness-field {
  display: block;
  margin: 0 0 20px;
}

.eq-readiness-field span,
.eq-readiness-checks legend {
  display: block;
  font-family: var(--alm-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink);
  margin-bottom: 6px;
}

.eq-readiness-field small {
  display: block;
  font-family: var(--alm-serif-body);
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--alm-ink-muted);
  margin-bottom: 8px;
}

.eq-readiness-field textarea,
.eq-readiness-field input,
.eq-readiness-field select {
  width: 100%;
  border: 0.5px solid var(--alm-rule-strong);
  background: var(--alm-paper);
  color: var(--alm-ink);
  font-family: var(--alm-serif-body);
  font-size: 0.96rem;
  line-height: 1.5;
  padding: 11px 12px;
  border-radius: 0;
}

.eq-readiness-field textarea:focus,
.eq-readiness-field input:focus,
.eq-readiness-field select:focus {
  outline: 2px solid rgba(181, 67, 44, 0.24);
  border-color: var(--alm-red);
}

.eq-readiness-form__row {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 16px;
}

.eq-readiness-checks {
  margin: 0 0 24px;
  padding: 16px;
  border: 0.5px solid var(--alm-rule);
}

.eq-readiness-checks label {
  display: block;
  font-family: var(--alm-serif-body);
  font-size: 0.94rem;
  color: var(--alm-ink-muted);
  margin: 9px 0;
}

.eq-readiness-checks input {
  margin-right: 8px;
}

.eq-readiness-submit {
  width: 100%;
}

.eq-readiness-output {
  position: sticky;
  top: 104px;
}

.eq-readiness-brief.has-brief {
  border-color: var(--alm-red);
}

@media (max-width: 900px) {
  .eq-readiness-workbench__grid,
  .eq-readiness-form__row {
    grid-template-columns: 1fr;
  }

  .eq-readiness-output {
    position: static;
  }
}


/* READINESS ROOM PATCH 3 — scoring engine output */
.eq-readiness-meter {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 0.5px solid var(--alm-rule);
}

.eq-readiness-meter span {
  display: block;
  font-family: var(--alm-sans);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink-muted);
  margin-bottom: 8px;
}

.eq-readiness-meter__track {
  width: 100%;
  height: 8px;
  border: 0.5px solid var(--alm-rule-strong);
  background: rgba(17, 26, 43, 0.04);
  overflow: hidden;
}

.eq-readiness-meter__fill {
  width: 0%;
  height: 100%;
  background: var(--alm-red);
  transition: width 240ms ease;
}

.eq-readiness-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 22px;
}

.eq-readiness-detail-grid section {
  padding-top: 14px;
  border-top: 0.5px solid var(--alm-rule);
}

.eq-readiness-detail-grid__wide {
  grid-column: 1 / -1;
}

.eq-readiness-detail-grid h3 {
  font-family: var(--alm-sans);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink);
  margin: 0 0 8px;
}

.eq-readiness-detail-grid ul {
  margin: 0;
  padding-left: 18px;
}

.eq-readiness-detail-grid li {
  font-family: var(--alm-serif-body);
  font-size: 0.91rem;
  line-height: 1.45;
  color: var(--alm-ink-muted);
  margin: 0 0 6px;
}

.eq-readiness-brief[data-readiness-state="likely-ready"] {
  border-color: rgba(44, 119, 72, 0.55);
}

.eq-readiness-brief[data-readiness-state="nearly-ready"] {
  border-color: rgba(181, 67, 44, 0.55);
}

.eq-readiness-brief[data-readiness-state="materially-incomplete"],
.eq-readiness-brief[data-readiness-state="closed"] {
  border-color: rgba(120, 33, 22, 0.7);
}

@media (max-width: 640px) {
  .eq-readiness-detail-grid {
    grid-template-columns: 1fr;
  }
}


/* READINESS ROOM PATCH 4 — local Dossier/Ledger save */
.eq-readiness-save {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 0.5px solid var(--alm-rule);
}

.eq-readiness-save__button {
  width: 100%;
}

.eq-readiness-save__status {
  margin: 10px 0 0;
  font-family: var(--alm-sans);
  font-size: 0.72rem;
  line-height: 1.45;
  color: var(--alm-ink-muted);
}

.eq-readiness-save__status.is-error {
  color: var(--alm-red);
}


/* READINESS ROOM PATCH 5 — Dashboard surfacing */
.eq-dash-readiness-item {
  border-left: 3px solid var(--alm-red);
}

.eq-dash-readiness-latest .eq-ledger-dossier-stat {
  margin-bottom: 8px;
}

#dash-readiness-latest-wrap .eq-ledger-sidecard__actions {
  margin-top: 16px;
}

@media (max-width: 720px) {
  .eq-ledger-utility-links {
    align-items: stretch;
  }

  .eq-ledger-utility-links a {
    text-align: center;
  }
}


/* READINESS ROOM PATCH 6 — responsive polish and layout stability */
.eq-readiness-room {
  overflow-x: hidden;
}

.eq-readiness-hero__grid,
.eq-readiness-workbench__grid {
  max-width: 100%;
}

.eq-readiness-card-grid {
  align-items: stretch;
}

.eq-readiness-card {
  min-height: 100%;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.eq-readiness-card:hover {
  transform: translateY(-2px);
}

.eq-readiness-card.is-active .eq-readiness-card__mark {
  border-color: var(--alm-red);
  color: var(--alm-red);
}

.eq-readiness-form,
.eq-readiness-output .eq-readiness-brief {
  box-shadow: 0 8px 26px rgba(17, 26, 43, 0.035);
}

.eq-readiness-output {
  align-self: start;
}

.eq-readiness-brief {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.eq-readiness-brief__row strong,
.eq-readiness-detail-grid li,
.eq-readiness-save__status {
  overflow-wrap: anywhere;
}

.eq-readiness-saved-flash {
  border-color: var(--alm-red) !important;
}

.eq-readiness-field textarea {
  min-height: 132px;
  resize: vertical;
}

.eq-readiness-field input[type="date"],
.eq-readiness-field select {
  min-height: 44px;
}

.eq-readiness-checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 18px;
}

.eq-readiness-checks legend {
  grid-column: 1 / -1;
}

.eq-readiness-checks label {
  min-height: 28px;
}

.eq-dash-readiness-grid {
  width: 100%;
}

.eq-dash-readiness-item .eq-dash-item__meta-wrap {
  gap: 6px 10px;
}

.eq-dash-readiness-item .eq-dash-item__meta {
  display: inline-flex;
  align-items: center;
}

@media (min-width: 1100px) {
  .eq-readiness-workbench__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
  }

  .eq-readiness-output {
    top: 88px;
  }
}

@media (max-width: 1024px) {
  .eq-readiness-hero__grid {
    grid-template-columns: 1fr;
  }

  .eq-readiness-hero__note {
    max-width: 720px;
  }

  .eq-readiness-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .eq-readiness-workbench {
    padding-top: 40px;
  }

  .eq-readiness-output {
    margin-top: 8px;
  }

  .eq-readiness-form {
    padding: 22px;
  }
}

@media (max-width: 720px) {
  .eq-readiness-hero {
    padding-top: 36px;
  }

  .eq-readiness-process {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .eq-readiness-process span {
    text-align: center;
  }

  .eq-readiness-card-grid {
    grid-template-columns: 1fr;
  }

  .eq-readiness-card {
    padding: 20px;
  }

  .eq-readiness-form {
    padding: 18px;
  }

  .eq-readiness-checks {
    grid-template-columns: 1fr;
  }

  .eq-readiness-brief__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .eq-readiness-meter {
    margin-top: 16px;
  }

  .eq-readiness-save__button {
    min-height: 44px;
  }
}

@media (max-width: 520px) {
  .eq-readiness-room .eq-container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .eq-readiness__lede {
    font-size: 1rem;
  }

  .eq-readiness-card ul {
    padding-left: 18px;
  }

  .eq-readiness-detail-grid section {
    padding-top: 12px;
  }

  .eq-readiness-field textarea {
    min-height: 118px;
  }

  #dash-readiness-latest-wrap .eq-ledger-sidecard__actions .eq-btn-primary {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eq-readiness-card,
  .eq-readiness-meter__fill {
    transition: none;
  }

  .eq-readiness-card:hover {
    transform: none;
  }
}


/* READINESS ROOM FORM POLISH + DOCUMENT STAGING — v8.14.21 */
.eq-readiness-hero__grid {
  grid-template-columns: minmax(0, 1fr);
}

.eq-readiness-form {
  border-color: var(--alm-rule-strong, #bdb5a6);
}

.eq-readiness-form__row {
  align-items: end;
}

.eq-readiness-field input[type="date"],
.eq-readiness-field select {
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 1rem;
}

.eq-readiness-upload {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.42fr);
  gap: 16px;
  align-items: center;
  margin: 0 0 22px;
  padding: 16px;
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  background: rgba(255,255,255,0.18);
}

.eq-readiness-upload span,
.eq-readiness-checks legend {
  display: block;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-ink, #111A2B);
}

.eq-readiness-upload small {
  display: block;
  margin-top: 6px;
  color: var(--alm-ink-muted, #5f6875);
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.88rem;
  line-height: 1.45;
}

.eq-readiness-upload__box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: var(--alm-paper, #F3EFE6);
  cursor: pointer;
  text-align: center;
}

.eq-readiness-upload__box input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.eq-readiness-upload__box span {
  color: var(--alm-red, #B5432C);
  overflow-wrap: anywhere;
}

.eq-readiness-checks {
  position: relative;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 20px;
  background: rgba(255,255,255,0.14);
}

.eq-readiness-checks legend {
  float: left;
  width: 100%;
  margin: 0 0 12px;
}

.eq-readiness-checks label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 48px;
  margin: 0;
  padding: 10px;
  border: 0.5px solid transparent;
  background: rgba(243, 239, 230, 0.42);
}

.eq-readiness-checks label:hover {
  border-color: var(--alm-rule, #d5cfc1);
}

.eq-readiness-checks input[type="checkbox"] {
  width: 15px;
  height: 15px;
  margin: 2px 0 0;
  accent-color: var(--alm-red, #B5432C);
}

.eq-readiness-checks label span {
  display: block;
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--alm-ink, #111A2B);
}

@media (max-width: 720px) {
  .eq-readiness-upload,
  .eq-readiness-checks {
    grid-template-columns: 1fr;
  }

  .eq-readiness-checks label {
    min-height: auto;
  }

  .eq-readiness-form__row {
    gap: 12px;
  }
}


/* READINESS ACCOUNT SYNC — v8.14.22 */
.eq-readiness-save__status {
  min-height: 1.2em;
}


/* SECURE READINESS UPLOADS — v8.14.23 */
.eq-readiness-upload__status {
  grid-column: 1 / -1;
  margin: -6px 0 0;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  line-height: 1.45;
  color: var(--alm-ink-muted, #5f6875);
}

.eq-readiness-upload__status.is-error {
  color: var(--alm-red, #B5432C);
}

.eq-readiness-upload__remove {
  grid-column: 1 / -1;
  justify-self: start;
  border: 0;
  background: transparent;
  color: var(--alm-red, #B5432C);
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 0;
}


/* READINESS DEEPER PASS — v8.14.24 */
.eq-readiness-deeper {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-readiness-deeper__button {
  width: 100%;
  justify-content: center;
  border-color: var(--alm-red, #B5432C);
}

.eq-readiness-deeper__button:disabled {
  opacity: 0.62;
  cursor: wait;
}

.eq-readiness-deeper__status {
  margin: 10px 0 0;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  line-height: 1.45;
  color: var(--alm-ink-muted, #5f6875);
}

.eq-readiness-deeper__status.is-error {
  color: var(--alm-red, #B5432C);
}

.eq-readiness-deeper__output {
  margin-top: 16px;
  padding: 16px;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: rgba(255,255,255,0.22);
}

.eq-readiness-deeper__output h3 {
  margin: 16px 0 6px;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
}

.eq-readiness-deeper__output h3:first-child {
  margin-top: 0;
}

.eq-readiness-deeper__output p {
  margin: 0 0 7px;
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.94rem;
  line-height: 1.48;
}


/* DECLUTTERED NAVIGATION — v8.14.25 */
.eq-header__user-dropdown {
  min-width: 190px;
}

.eq-nav .menu-item-readiness,
.eq-nav .menu-item-library,
.eq-nav .menu-item-reading-room,
.eq-nav .menu-item-dashboard {
  display: none;
}

.eq-mobile-nav .menu-item-readiness,
.eq-mobile-nav .menu-item-library,
.eq-mobile-nav .menu-item-reading-room,
.eq-mobile-nav .menu-item-dashboard,
.eq-mobile-nav__primary .menu-item-readiness,
.eq-mobile-nav__primary .menu-item-library,
.eq-mobile-nav__primary .menu-item-reading-room,
.eq-mobile-nav__primary .menu-item-dashboard {
  display: list-item;
}

@media (max-width: 980px) {
  .eq-nav .menu-item-readiness,
  .eq-nav .menu-item-library,
  .eq-nav .menu-item-reading-room,
  .eq-nav .menu-item-dashboard {
    display: list-item;
  }
}


/* NAV + PRICING CLARITY — v8.14.26 */
body.almanac .eq-mobile-nav__panel {
  padding-top: max(86px, calc(env(safe-area-inset-top, 0px) + 76px)) !important;
  overflow-y: auto !important;
  max-height: 100dvh !important;
}

body.almanac .eq-mobile-nav__header {
  position: relative;
  z-index: 2;
  margin-top: 0 !important;
}

body.almanac .eq-mobile-nav__close {
  top: max(14px, calc(env(safe-area-inset-top, 0px) + 14px)) !important;
}

.eq-one-off__features {
  margin: 12px 0 18px;
  padding-left: 18px;
  color: var(--alm-ink-muted, #5f6875);
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.93rem;
  line-height: 1.45;
}

.eq-one-off__features li {
  margin-bottom: 6px;
}

.alm-subscribe-tier__features li,
.alm-pricing__feature-list li,
.eq-upgrade__feature-list li {
  line-height: 1.45;
}


/* MOBILE SIGN-IN + NAV CLEARANCE — v8.14.27 */
body.page-template-template-sign-in .eq-sheet__logo,
body.page-template-template-register .eq-sheet__logo {
  display: none !important;
}

@media (max-width: 782px) {
  body.page-template-template-sign-in .eq-sheet,
  body.page-template-template-register .eq-sheet {
    padding-top: 28px !important;
  }

  body.almanac .eq-mobile-nav {
    align-items: stretch !important;
  }

  body.almanac .eq-mobile-nav__panel {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-top: 0 !important;
  }

  body.almanac .eq-mobile-nav__panel::before {
    content: "";
    display: block;
    height: max(116px, calc(env(safe-area-inset-top, 0px) + 104px));
    flex: 0 0 auto;
  }

  body.almanac .eq-mobile-nav__header {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.almanac .eq-mobile-nav__close {
    position: sticky !important;
    top: max(12px, env(safe-area-inset-top, 0px)) !important;
    margin-left: auto !important;
    z-index: 20 !important;
  }

  body.almanac .eq-mobile-nav__primary {
    padding-bottom: 48px !important;
  }
}

@media (max-width: 420px) {
  body.almanac .eq-mobile-nav__panel::before {
    height: max(128px, calc(env(safe-area-inset-top, 0px) + 116px));
  }
}


/* JOURNAL ROUTE FINDER FOUNDATION — v8.14.28 */
.eq-journal-route-abstract {
  width: 100%;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: var(--alm-paper, #F3EFE6);
  color: var(--alm-ink, #111A2B);
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.98rem;
  line-height: 1.5;
  padding: 12px;
  resize: vertical;
}

.eq-journal-route-core-fields {
  margin-top: 16px;
}

.eq-journal-advanced-route {
  margin: 18px 0 4px;
  padding: 14px 0 0;
  border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-advanced-route summary {
  cursor: pointer;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
}

.eq-journal-deadline-brief {
  margin-top: 18px;
  padding: 14px 16px;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: rgba(181, 67, 44, 0.045);
  display: grid;
  gap: 4px;
}

.eq-journal-deadline-brief strong {
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
}

.eq-journal-deadline-brief span {
  font-family: var(--alm-serif-body, Georgia, serif);
  color: var(--alm-ink-muted, #5f6875);
}

.eq-journal-route-labels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.eq-journal-route-labels span {
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  padding: 8px 10px;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.68rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--alm-ink-muted, #5f6875);
}

.eq-journal-route-labels strong {
  display: block;
  margin-top: 3px;
  color: var(--alm-ink, #111A2B);
  font-size: 0.72rem;
}

@media (max-width: 720px) {
  .eq-journal-route-labels {
    grid-template-columns: 1fr;
  }

  .eq-journal-intake-form__mini.eq-journal-route-core-fields {
    grid-template-columns: 1fr;
  }
}


/* JOURNAL MULTI-MODEL ROUTE PASS — v8.14.29 */
.eq-journal-route-pass {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-route-pass__head span {
  display: block;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
  margin-bottom: 6px;
}

.eq-journal-route-pass__head p,
.eq-journal-route-pass__status {
  margin: 0;
  font-family: var(--alm-serif-body, Georgia, serif);
  color: var(--alm-ink-muted, #5f6875);
  line-height: 1.5;
}

.eq-journal-route-pass__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 10px;
}

.eq-journal-route-pass__actions button:disabled {
  opacity: 0.62;
  cursor: wait;
}

.eq-journal-route-pass__status.is-error {
  color: var(--alm-red, #B5432C);
}

.eq-journal-route-pass__output {
  margin-top: 16px;
  padding: 16px;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: rgba(255, 255, 255, 0.22);
}

.eq-journal-route-pass__output h3 {
  margin: 16px 0 6px;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
}

.eq-journal-route-pass__output h3:first-child {
  margin-top: 0;
}

.eq-journal-route-pass__output p {
  margin: 0 0 7px;
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.95rem;
  line-height: 1.48;
}

@media (max-width: 640px) {
  .eq-journal-route-pass__actions {
    display: grid;
  }

  .eq-journal-route-pass__actions button {
    width: 100%;
  }
}


/* JOURNAL SEARCH LOADING EXPERIENCE — v8.14.30 */
.eq-journal-book-loader {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 14px 0 0;
  padding: 14px;
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  background: rgba(255,255,255,0.2);
}

.eq-journal-book-loader[hidden] {
  display: none !important;
}

.eq-journal-book-loader__book {
  position: relative;
  width: 64px;
  height: 46px;
  perspective: 280px;
}

.eq-journal-book-loader__cover,
.eq-journal-book-loader__page {
  position: absolute;
  top: 4px;
  left: 32px;
  width: 28px;
  height: 38px;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: var(--alm-paper, #F3EFE6);
  transform-origin: left center;
  box-shadow: 0 3px 8px rgba(17, 26, 43, 0.08);
}

.eq-journal-book-loader__cover {
  left: 5px;
  width: 28px;
  background: var(--alm-ink, #111A2B);
  transform: skewY(-1deg);
}

.eq-journal-book-loader__page--one {
  animation: eqBookPage 1.4s ease-in-out infinite;
}

.eq-journal-book-loader__page--two {
  animation: eqBookPage 1.4s ease-in-out infinite 0.22s;
  opacity: 0.86;
}

.eq-journal-book-loader__page--three {
  animation: eqBookPage 1.4s ease-in-out infinite 0.44s;
  opacity: 0.72;
}

.eq-journal-book-loader__copy strong {
  display: block;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
  margin-bottom: 4px;
}

.eq-journal-book-loader__copy span {
  display: block;
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.94rem;
  line-height: 1.45;
  color: var(--alm-ink-muted, #5f6875);
}

.eq-btn-search.is-loading {
  opacity: 0.78;
  cursor: wait;
}

@keyframes eqBookPage {
  0% {
    transform: rotateY(0deg);
  }
  45% {
    transform: rotateY(-150deg);
  }
  100% {
    transform: rotateY(-150deg);
  }
}

@media (max-width: 520px) {
  .eq-journal-book-loader {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .eq-journal-book-loader__book {
    margin: 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eq-journal-book-loader__page {
    animation: none !important;
  }
}


/* JOURNALS TIDY WORKSPACE + BOOK LOADER — v8.14.31 */
.eq-journal-decision-layout--tidy {
  display: block !important;
}

.eq-journal-decision-layout--tidy .eq-listing-main {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.eq-journal-risk-card--compact {
  align-self: start;
}

.eq-journal-start-actions,
.eq-journal-quick-filters,
.eq-journal-route-guide {
  display: none !important;
}

.eq-journal-next-steps--tidy {
  margin-bottom: 18px;
  padding: 18px;
}

.eq-journal-next-steps--tidy p {
  margin: 8px 0 0;
  max-width: 820px;
}

.eq-journal-route-tray {
  margin-bottom: 28px;
}

.eq-journal-fit-reading--optional {
  margin-top: 48px;
  border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-book-loader {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 14px 0 0;
  padding: 14px;
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  background: rgba(255,255,255,0.2);
}

.eq-journal-book-loader[hidden] {
  display: none !important;
}

.eq-journal-book-loader__book {
  position: relative;
  width: 64px;
  height: 46px;
  perspective: 280px;
}

.eq-journal-book-loader__cover,
.eq-journal-book-loader__page {
  position: absolute;
  top: 4px;
  left: 32px;
  width: 28px;
  height: 38px;
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  background: var(--alm-paper, #F3EFE6);
  transform-origin: left center;
  box-shadow: 0 3px 8px rgba(17, 26, 43, 0.08);
}

.eq-journal-book-loader__cover {
  left: 5px;
  width: 28px;
  background: var(--alm-ink, #111A2B);
  transform: skewY(-1deg);
}

.eq-journal-book-loader__page--one {
  animation: eqBookPage 1.4s ease-in-out infinite;
}

.eq-journal-book-loader__page--two {
  animation: eqBookPage 1.4s ease-in-out infinite 0.22s;
  opacity: 0.86;
}

.eq-journal-book-loader__page--three {
  animation: eqBookPage 1.4s ease-in-out infinite 0.44s;
  opacity: 0.72;
}

.eq-journal-book-loader__copy strong {
  display: block;
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
  margin-bottom: 4px;
}

.eq-journal-book-loader__copy span {
  display: block;
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.94rem;
  line-height: 1.45;
  color: var(--alm-ink-muted, #5f6875);
}

.eq-btn-search.is-loading {
  opacity: 0.78;
  cursor: wait;
}

@keyframes eqBookPage {
  0% { transform: rotateY(0deg); }
  45% { transform: rotateY(-150deg); }
  100% { transform: rotateY(-150deg); }
}

@media (max-width: 820px) {
  .eq-journal-decision-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .eq-journal-book-loader {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .eq-journal-book-loader__book {
    margin: 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eq-journal-book-loader__page {
    animation: none !important;
  }
}


/* JOURNALS COHERENT ABSTRACT FLOW — v8.14.32 */
.eq-journal-profile-bridge,
.eq-journal-intake-note,
.eq-journal-intake-inline-actions,
.eq-journal-final-check-link {
  display: none !important;
}

.eq-journal-route-pass__head p {
  max-width: 720px;
}

.eq-journal-fit-reading--compact {
  margin-top: 42px;
  border-top: 0.5px solid var(--alm-rule, #d5cfc1);
}

.eq-journal-fit-reading__shell--compact {
  display: block;
  max-width: 820px;
  margin: 0 auto;
}

.eq-journal-fit-reading--compact .eq-journal-fit-form,
.eq-journal-fit-reading--compact .eq-journal-fit-access,
.eq-journal-fit-reading--compact .eq-journal-fit-output {
  display: none !important;
}

.eq-journal-book-loader__copy span {
  transition: opacity 160ms ease;
}


/* VISIBLE JOURNAL MULTI-MODEL SETTINGS — v8.14.33 */
.eq-journal-ai-availability {
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 0.5px solid var(--alm-rule, #d5cfc1);
  background: rgba(181, 67, 44, 0.045);
  display: grid;
  gap: 4px;
}

.eq-journal-ai-availability strong {
  font-family: var(--alm-sans, Inter, sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alm-red, #B5432C);
}

.eq-journal-ai-availability span {
  font-family: var(--alm-serif-body, Georgia, serif);
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--alm-ink-muted, #5f6875);
}

.eq-journal-route-pass {
  border: 0.5px solid var(--alm-rule-strong, #bdb5a6);
  padding: 16px;
  background: rgba(255, 255, 255, 0.18);
}


/* JOURNALS PUBLIC NOTICE CLEANUP — v8.14.35 */
.eq-journal-ai-availability {
  display: none !important;
}
