/* =====================================================================
   The Geography of Aging: Executive Dashboard
   PHB design system: navy #0d2b4e / teal #1d9e75 / gold #ba7517
   Playfair Display (headings) + Source Sans 3 (body)
   All structural rules scoped to #phb-root with !important
   ===================================================================== */

#phb-root {
  --phb-navy: #0d2b4e;
  --phb-navy-deep: #081d36;
  --phb-teal: #1d9e75;
  --phb-teal-dark: #157a5a;
  --phb-gold: #ba7517;
  --phb-gold-light: #d99b3f;
  --phb-paper: #f7f5f0;
  --phb-ink: #1c2733;
  --phb-line: #dcd6ca;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin: 0 auto !important;
  float: none !important;
  overflow-x: clip !important;
  background: #f7f5f0 !important;
  color: #1c2733 !important;
  font-family: 'Source Sans 3', 'Segoe UI', Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  text-align: left !important;
  box-sizing: border-box !important;
  padding: 0 0 56px 0 !important;
}
#phb-root *, #phb-root *::before, #phb-root *::after { box-sizing: border-box !important; }
#phb-root .phb-shell {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;
  text-align: left !important;
}
#phb-root p { margin: 0 0 14px 0 !important; color: #1c2733 !important; }
#phb-root a { color: #157a5a !important; text-decoration: underline !important; }
#phb-root a:hover { color: #0d2b4e !important; }

/* ---------- Hero ---------- */
#phb-root .phb-hero {
  background: #0d2b4e !important;
  background-image: linear-gradient(135deg, #081d36 0%, #0d2b4e 55%, #12395f 100%) !important;
  color: #ffffff !important;
  margin: 0 -22px 0 -22px !important;
  padding: 54px 34px 46px 34px !important;
  border-bottom: 5px solid #ba7517 !important;
}
#phb-root .phb-hero-kicker {
  font-size: 13px !important; letter-spacing: 0.22em !important; text-transform: uppercase !important;
  color: #d99b3f !important; font-weight: 700 !important; margin-bottom: 14px !important;
}
#phb-root .phb-hero-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(30px, 4.6vw, 46px) !important;
  font-weight: 700 !important; line-height: 1.14 !important;
  color: #ffffff !important; margin: 0 0 14px 0 !important;
}
#phb-root .phb-hero-sub {
  font-size: 19px !important; color: #c9d6e6 !important; max-width: 780px !important; margin-bottom: 18px !important;
}
#phb-root .phb-hero-byline { font-size: 14.5px !important; color: #8fa6c0 !important; margin-bottom: 0 !important; }

/* ---------- Sticky tabs ---------- */
#phb-root .phb-tabs {
  position: sticky !important;
  top: var(--wp-admin--admin-bar--height, 0px) !important;
  z-index: 60 !important;
  display: flex !important; flex-wrap: wrap !important; gap: 6px !important;
  background: #0d2b4e !important;
  margin: 0 -22px 34px -22px !important;
  padding: 12px 22px !important;
  box-shadow: 0 3px 14px rgba(8, 29, 54, 0.28) !important;
}
#phb-root .phb-tab {
  appearance: none !important; border: 1px solid rgba(255,255,255,0.22) !important;
  background: transparent !important; color: #c9d6e6 !important;
  font-family: 'Source Sans 3', Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important;
  padding: 8px 14px !important; border-radius: 999px !important;
  cursor: pointer !important; transition: background 0.2s, color 0.2s !important;
  line-height: 1.2 !important;
}
#phb-root .phb-tab:hover { background: rgba(255,255,255,0.12) !important; color: #ffffff !important; }
#phb-root .phb-tab.is-active { background: #ba7517 !important; border-color: #ba7517 !important; color: #ffffff !important; }

/* ---------- Panels ---------- */
#phb-root .phb-panel { display: none !important; }
#phb-root .phb-panel.is-active { display: block !important; animation: phbFade 0.35s ease; }
@keyframes phbFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---------- Typography ---------- */
#phb-root .phb-h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(24px, 3.2vw, 33px) !important; font-weight: 700 !important;
  color: #0d2b4e !important; line-height: 1.2 !important;
  margin: 0 0 14px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 3px solid #1d9e75 !important;
}
#phb-root .phb-h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 21px !important; font-weight: 600 !important;
  color: #0d2b4e !important; margin: 0 0 12px 0 !important; line-height: 1.3 !important;
}
#phb-root .phb-imp-card h4 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important; font-weight: 600 !important; color: #0d2b4e !important;
  margin: 0 0 8px 0 !important;
}
#phb-root .phb-lede { font-size: 18.5px !important; color: #33414f !important; max-width: 920px !important; }
#phb-root .phb-note { font-size: 15px !important; color: #5b6a79 !important; font-style: italic !important; }
#phb-root .phb-caption { font-size: 14px !important; color: #5b6a79 !important; margin-top: 10px !important; margin-bottom: 0 !important; line-height: 1.5 !important; }
#phb-root .phb-mt { margin-top: 22px !important; }
#phb-root .phb-mt-lg { margin-top: 36px !important; }

/* ---------- Layout ---------- */
#phb-root .phb-grid-2 {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 22px !important; margin-top: 22px !important;
}
@media (max-width: 860px) { #phb-root .phb-grid-2 { grid-template-columns: 1fr !important; } }

#phb-root .phb-card {
  background: #ffffff !important; border: 1px solid #dcd6ca !important;
  border-radius: 12px !important; padding: 24px !important;
  box-shadow: 0 2px 8px rgba(13, 43, 78, 0.06) !important;
}

/* ---------- Stat cards ---------- */
#phb-root .phb-stat-grid {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 16px !important; margin: 26px 0 !important;
}
@media (max-width: 900px) { #phb-root .phb-stat-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { #phb-root .phb-stat-grid { grid-template-columns: 1fr !important; } }
#phb-root .phb-stat-card {
  background: #ffffff !important; border-top: 5px solid #1d9e75 !important;
  border-radius: 0 0 12px 12px !important; padding: 20px 18px !important;
  box-shadow: 0 2px 10px rgba(13, 43, 78, 0.08) !important;
}
#phb-root .phb-stat-card:nth-child(2) { border-top-color: #ba7517 !important; }
#phb-root .phb-stat-card:nth-child(3) { border-top-color: #0d2b4e !important; }
#phb-root .phb-stat-card:nth-child(4) { border-top-color: #d99b3f !important; }
#phb-root .phb-stat-num {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 40px !important; font-weight: 700 !important; color: #0d2b4e !important; line-height: 1 !important;
}
#phb-root .phb-stat-label { font-size: 14.5px !important; color: #5b6a79 !important; margin-top: 8px !important; line-height: 1.4 !important; }

/* ---------- Callouts ---------- */
#phb-root .phb-callout { border-radius: 12px !important; padding: 22px 26px !important; margin: 24px 0 !important; }
#phb-root .phb-callout p { margin-bottom: 0 !important; }
#phb-root .phb-callout-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important; font-size: 17px !important; letter-spacing: 0.02em !important;
  margin-bottom: 8px !important;
}
#phb-root .phb-callout-navy { background: #0d2b4e !important; }
#phb-root .phb-callout-navy p, #phb-root .phb-callout-navy .phb-callout-title { color: #ffffff !important; }
#phb-root .phb-callout-navy .phb-callout-title { color: #d99b3f !important; }
#phb-root .phb-callout-teal { background: #e6f4ee !important; border-left: 5px solid #1d9e75 !important; }
#phb-root .phb-callout-teal .phb-callout-title { color: #157a5a !important; }
#phb-root .phb-callout-gold { background: #faf1e2 !important; border-left: 5px solid #ba7517 !important; }
#phb-root .phb-callout-gold .phb-callout-title { color: #ba7517 !important; }

/* ---------- Lists ---------- */
#phb-root .phb-numlist { margin: 0 !important; padding-left: 22px !important; }
#phb-root .phb-numlist li { margin-bottom: 12px !important; padding-left: 6px !important; }
#phb-root .phb-numlist li::marker { color: #ba7517 !important; font-weight: 700 !important; }
#phb-root .phb-list { margin: 0 !important; padding-left: 20px !important; }
#phb-root .phb-list li { margin-bottom: 10px !important; }
#phb-root .phb-list li::marker { color: #1d9e75 !important; }

/* ---------- Charts ---------- */
#phb-root .phb-chartbox {
  position: relative !important; height: 300px !important; overflow: hidden !important;
  margin-top: 10px !important;
}
#phb-root .phb-chartbox-sm { height: 260px !important; }
#phb-root .phb-chartbox canvas { max-height: 100% !important; }

/* ---------- Figure ---------- */
#phb-root .phb-figure { margin: 26px 0 !important; background: #ffffff !important; border: 1px solid #dcd6ca !important; border-radius: 12px !important; padding: 18px !important; }
#phb-root .phb-figure img { width: 100% !important; height: auto !important; display: block !important; border-radius: 6px !important; }
#phb-root .phb-figure figcaption { font-size: 14px !important; color: #5b6a79 !important; margin-top: 12px !important; line-height: 1.5 !important; }

/* ---------- Interactive legend ---------- */
#phb-root .phb-legend { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin-top: 8px !important; }
#phb-root .phb-legend-head { font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; color: #5b6a79 !important; margin-bottom: 8px !important; }
#phb-root .phb-swatch {
  display: block !important; width: 100% !important; border: 2px solid transparent !important;
  border-radius: 8px !important; padding: 9px 12px !important; margin-bottom: 6px !important;
  color: #ffffff !important; font-family: 'Source Sans 3', Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important; text-align: left !important;
  cursor: pointer !important; transition: transform 0.15s, border-color 0.15s !important;
}
#phb-root .phb-swatch:hover { transform: translateX(4px) !important; }
#phb-root .phb-swatch.is-active { border-color: #ba7517 !important; transform: translateX(4px) !important; }
#phb-root .phb-legend-detail {
  margin-top: 14px !important; background: #f0ede5 !important; border-radius: 8px !important;
  padding: 14px 16px !important; font-size: 15px !important; color: #33414f !important; line-height: 1.55 !important;
  min-height: 88px !important;
}

/* ---------- Formulas ---------- */
#phb-root .phb-formula {
  background: #0d2b4e !important; border-radius: 10px !important;
  padding: 14px 18px !important; margin-bottom: 14px !important;
}
#phb-root .phb-formula-name { color: #d99b3f !important; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; margin-bottom: 5px !important; }
#phb-root .phb-formula-body { color: #ffffff !important; font-size: 16.5px !important; font-family: Georgia, 'Times New Roman', serif !important; }
#phb-root .phb-formula-big { text-align: center !important; padding: 20px !important; margin: 20px 0 !important; }
#phb-root .phb-formula-big .phb-formula-body { font-size: 21px !important; }

/* ---------- Tables ---------- */
#phb-root .phb-table-wrap { overflow-x: auto !important; margin-top: 14px !important; border-radius: 12px !important; border: 1px solid #dcd6ca !important; }
#phb-root .phb-table { width: 100% !important; border-collapse: collapse !important; background: #ffffff !important; font-size: 15.5px !important; }
#phb-root .phb-table th {
  background: #0d2b4e !important; color: #ffffff !important; text-align: left !important;
  font-family: 'Source Sans 3', Arial, sans-serif !important; font-weight: 700 !important;
  padding: 12px 16px !important; font-size: 14px !important; text-transform: uppercase !important; letter-spacing: 0.05em !important;
}
#phb-root .phb-table td { padding: 13px 16px !important; border-bottom: 1px solid #ece8de !important; vertical-align: top !important; color: #1c2733 !important; }
#phb-root .phb-table tbody tr:nth-child(even) td { background: #faf9f5 !important; }
#phb-root .phb-table tbody tr:last-child td { border-bottom: none !important; }
#phb-root .phb-table-compact td { padding: 10px 14px !important; font-size: 15px !important; }
#phb-root .phb-table tr.is-hot td { background: #faf1e2 !important; box-shadow: inset 4px 0 0 #ba7517 !important; }

/* ---------- Calculator ---------- */
#phb-root .phb-calc-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; margin-top: 14px !important; }
@media (max-width: 720px) { #phb-root .phb-calc-grid { grid-template-columns: 1fr !important; } }
#phb-root .phb-calc-col { background: #faf9f5 !important; border: 1px solid #dcd6ca !important; border-radius: 10px !important; padding: 18px !important; }
#phb-root .phb-calc-head { font-weight: 700 !important; color: #0d2b4e !important; margin-bottom: 12px !important; font-size: 15.5px !important; }
#phb-root .phb-field { display: block !important; font-size: 14px !important; font-weight: 600 !important; color: #5b6a79 !important; margin-bottom: 14px !important; }
#phb-root .phb-field input[type="number"] {
  display: block !important; width: 100% !important; margin-top: 5px !important;
  padding: 9px 12px !important; border: 1px solid #c9c2b2 !important; border-radius: 8px !important;
  font-size: 16px !important; font-family: 'Source Sans 3', Arial, sans-serif !important;
  background: #ffffff !important; color: #1c2733 !important;
}
#phb-root .phb-field input[type="range"] { display: block !important; width: 100% !important; margin-top: 8px !important; accent-color: #1d9e75 !important; }
#phb-root .phb-calc-result { font-size: 16px !important; color: #33414f !important; background: #ffffff !important; border-radius: 8px !important; padding: 10px 14px !important; border: 1px solid #ece8de !important; }
#phb-root .phb-calc-result strong { color: #0d2b4e !important; font-size: 20px !important; font-family: 'Playfair Display', Georgia, serif !important; }
#phb-root .phb-calc-verdict {
  margin-top: 16px !important; background: #e6f4ee !important; border-left: 5px solid #1d9e75 !important;
  border-radius: 8px !important; padding: 14px 18px !important; font-size: 15.5px !important; color: #1c2733 !important;
}

/* ---------- Cycle (rural squeeze) ---------- */
#phb-root .phb-cycle { margin-top: 18px !important; position: relative !important; padding-left: 26px !important; }
#phb-root .phb-cycle::before {
  content: "" !important; position: absolute !important; left: 43px !important; top: 22px !important; bottom: 22px !important;
  width: 3px !important; background: #dcd6ca !important; border-radius: 3px !important;
}
#phb-root .phb-cycle-step { display: flex !important; gap: 18px !important; align-items: flex-start !important; margin-bottom: 20px !important; position: relative !important; }
#phb-root .phb-cycle-dot {
  flex: 0 0 38px !important; width: 38px !important; height: 38px !important; border-radius: 50% !important;
  background: #0d2b4e !important; color: #ffffff !important; font-weight: 700 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 16px !important; z-index: 1 !important; border: 3px solid #f7f5f0 !important;
}
#phb-root .phb-cycle-body { background: #ffffff !important; border: 1px solid #dcd6ca !important; border-radius: 10px !important; padding: 14px 18px !important; flex: 1 !important; font-size: 15.5px !important; }
/* animated variant: gated by phb-js-anim */
#phb-root.phb-js-anim .phb-cycle-step { opacity: 0.25; transition: opacity 0.7s ease; }
#phb-root.phb-js-anim .phb-cycle-step.is-lit { opacity: 1; }
#phb-root.phb-js-anim .phb-cycle-step.is-lit .phb-cycle-dot { background: #1d9e75 !important; }
@media (prefers-reduced-motion: reduce) {
  #phb-root.phb-js-anim .phb-cycle-step { opacity: 1 !important; transition: none !important; }
}

/* ---------- Barriers ---------- */
#phb-root .phb-barrier { border-bottom: 1px solid #ece8de !important; padding-bottom: 14px !important; margin-bottom: 14px !important; }
#phb-root .phb-barrier:last-child { border-bottom: none !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
#phb-root .phb-barrier p { font-size: 15px !important; margin-bottom: 0 !important; color: #33414f !important; }
#phb-root .phb-barrier-head { font-weight: 700 !important; color: #0d2b4e !important; margin-bottom: 5px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
#phb-root .phb-dot { width: 11px !important; height: 11px !important; border-radius: 50% !important; display: inline-block !important; }
#phb-root .phb-dot-high { background: #b3402a !important; }
#phb-root .phb-dot-med { background: #ba7517 !important; }

/* ---------- Implications grid ---------- */
#phb-root .phb-imp-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important; margin-top: 22px !important; }
@media (max-width: 980px) { #phb-root .phb-imp-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px) { #phb-root .phb-imp-grid { grid-template-columns: 1fr !important; } }
#phb-root .phb-imp-card {
  background: #ffffff !important; border: 1px solid #dcd6ca !important; border-radius: 12px !important;
  padding: 22px !important; box-shadow: 0 2px 8px rgba(13, 43, 78, 0.06) !important;
}
#phb-root .phb-imp-card p { font-size: 14.5px !important; color: #33414f !important; margin-bottom: 0 !important; }
#phb-root .phb-imp-icon {
  font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important;
  font-size: 15px !important; color: #ba7517 !important; letter-spacing: 0.1em !important; margin-bottom: 10px !important;
}

/* ---------- Archetypes ---------- */
#phb-root .phb-arch-tabs { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 14px 0 !important; }
#phb-root .phb-arch-btn {
  appearance: none !important; border: 1.5px solid #0d2b4e !important; background: #ffffff !important;
  color: #0d2b4e !important; font-family: 'Source Sans 3', Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important; padding: 9px 16px !important;
  border-radius: 999px !important; cursor: pointer !important; transition: all 0.2s !important; line-height: 1.2 !important;
}
#phb-root .phb-arch-btn:hover { background: #eef2f7 !important; }
#phb-root .phb-arch-btn.is-active { background: #0d2b4e !important; color: #ffffff !important; }
#phb-root .phb-arch-detail { background: #ffffff !important; border: 1px solid #dcd6ca !important; border-radius: 12px !important; padding: 24px !important; min-height: 130px !important; }
#phb-root .phb-arch-pane { display: none !important; }
#phb-root .phb-arch-pane.is-active { display: block !important; animation: phbFade 0.3s ease; }
#phb-root .phb-arch-profile { font-size: 16px !important; margin-bottom: 12px !important; padding-bottom: 12px !important; border-bottom: 1px dashed #dcd6ca !important; }
#phb-root .phb-arch-posture { font-size: 16px !important; }
#phb-root .phb-arch-profile strong, #phb-root .phb-arch-posture strong { color: #157a5a !important; }

/* ---------- EARI ---------- */
#phb-root .phb-eari-layout { display: grid !important; grid-template-columns: 1.25fr 1fr !important; gap: 26px !important; margin-top: 24px !important; align-items: start !important; }
@media (max-width: 900px) { #phb-root .phb-eari-layout { grid-template-columns: 1fr !important; } }
#phb-root .phb-eari-controls { background: #ffffff !important; border: 1px solid #dcd6ca !important; border-radius: 12px !important; padding: 24px !important; }
#phb-root .phb-eari-slider { margin-bottom: 18px !important; }
#phb-root .phb-eari-slider:last-child { margin-bottom: 0 !important; }
#phb-root .phb-eari-slider label { display: flex !important; align-items: baseline !important; gap: 10px !important; font-weight: 700 !important; color: #0d2b4e !important; font-size: 15.5px !important; }
#phb-root .phb-eari-w { font-size: 12.5px !important; font-weight: 700 !important; color: #ffffff !important; background: #1d9e75 !important; border-radius: 999px !important; padding: 1px 9px !important; }
#phb-root .phb-eari-val { margin-left: auto !important; font-family: 'Playfair Display', Georgia, serif !important; font-size: 19px !important; color: #ba7517 !important; }
#phb-root .phb-eari-slider input[type="range"] { display: block !important; width: 100% !important; margin-top: 6px !important; accent-color: #ba7517 !important; }
#phb-root .phb-eari-hint { font-size: 13px !important; color: #77848f !important; margin-top: 3px !important; line-height: 1.4 !important; }
#phb-root .phb-eari-output { background: #0d2b4e !important; border-radius: 12px !important; padding: 26px !important; text-align: center !important; }
#phb-root .phb-ring-wrap { position: relative !important; width: 180px !important; height: 180px !important; margin: 0 auto 14px auto !important; }
#phb-root .phb-ring { width: 180px !important; height: 180px !important; transform: rotate(-90deg) !important; }
#phb-root .phb-ring-track { fill: none !important; stroke: rgba(255,255,255,0.15) !important; stroke-width: 14 !important; }
#phb-root .phb-ring-fill { fill: none !important; stroke: #d99b3f !important; stroke-width: 14 !important; stroke-linecap: round !important; }
#phb-root.phb-js-anim .phb-ring-fill { transition: stroke-dashoffset 1.1s cubic-bezier(0.25, 0.8, 0.35, 1), stroke 0.5s !important; }
@media (prefers-reduced-motion: reduce) { #phb-root.phb-js-anim .phb-ring-fill { transition: none !important; } }
#phb-root .phb-ring-num {
  position: absolute !important; inset: 0 !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  font-family: 'Playfair Display', Georgia, serif !important; font-size: 42px !important; font-weight: 700 !important; color: #ffffff !important; line-height: 1 !important;
}
#phb-root .phb-ring-num small { font-size: 14px !important; color: #8fa6c0 !important; font-family: 'Source Sans 3', Arial, sans-serif !important; margin-top: 4px !important; }
#phb-root .phb-eari-band { font-family: 'Playfair Display', Georgia, serif !important; font-size: 22px !important; font-weight: 700 !important; color: #d99b3f !important; margin-bottom: 8px !important; }
#phb-root .phb-eari-response { font-size: 15px !important; color: #c9d6e6 !important; margin-bottom: 18px !important; line-height: 1.5 !important; }
#phb-root .phb-eari-output .phb-chartbox { background: transparent !important; }

/* ---------- Horizon timeline ---------- */
#phb-root .phb-horizon { position: relative !important; margin-top: 26px !important; padding-left: 30px !important; }
#phb-root .phb-horizon-line {
  position: absolute !important; left: 21px !important; top: 24px !important; bottom: 24px !important;
  width: 4px !important; background: #dcd6ca !important; border-radius: 4px !important; overflow: hidden !important;
}
#phb-root .phb-horizon-progress { width: 100% !important; height: 100% !important; background: #1d9e75 !important; transform-origin: top !important; }
#phb-root.phb-js-anim .phb-horizon-progress { transform: scaleY(0); transition: transform 1.6s ease; }
#phb-root.phb-js-anim .phb-horizon.is-lit .phb-horizon-progress { transform: scaleY(1); }
@media (prefers-reduced-motion: reduce) { #phb-root.phb-js-anim .phb-horizon-progress { transform: scaleY(1) !important; transition: none !important; } }
#phb-root .phb-horizon-stage { position: relative !important; margin-bottom: 28px !important; background: #ffffff !important; border: 1px solid #dcd6ca !important; border-radius: 12px !important; padding: 22px 24px 14px 24px !important; }
#phb-root .phb-horizon-dot {
  position: absolute !important; left: -39px !important; top: 20px !important;
  width: 40px !important; height: 40px !important; border-radius: 50% !important;
  background: #0d2b4e !important; color: #ffffff !important; font-weight: 700 !important; font-size: 14px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  border: 3px solid #f7f5f0 !important;
}
#phb-root.phb-js-anim .phb-horizon-stage .phb-horizon-dot { background: #0d2b4e !important; transition: background 0.5s ease; }
#phb-root.phb-js-anim .phb-horizon-stage.is-lit .phb-horizon-dot { background: #1d9e75 !important; }
#phb-root .phb-horizon-title { font-family: 'Playfair Display', Georgia, serif !important; font-size: 19px !important; font-weight: 700 !important; color: #ba7517 !important; margin-bottom: 10px !important; }

/* ---------- References ---------- */
#phb-root .phb-pills { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 16px 0 20px 0 !important; }
#phb-root .phb-pill {
  appearance: none !important; border: 1.5px solid #1d9e75 !important; background: #ffffff !important;
  color: #157a5a !important; font-family: 'Source Sans 3', Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important; padding: 8px 15px !important;
  border-radius: 999px !important; cursor: pointer !important; transition: all 0.2s !important; line-height: 1.2 !important;
}
#phb-root .phb-pill:hover { background: #e6f4ee !important; }
#phb-root .phb-pill.is-active { background: #1d9e75 !important; color: #ffffff !important; }
#phb-root .phb-ref {
  background: #ffffff !important; border: 1px solid #dcd6ca !important; border-left: 5px solid #1d9e75 !important;
  border-radius: 10px !important; padding: 15px 20px !important; margin-bottom: 12px !important;
  font-size: 15px !important; line-height: 1.55 !important; color: #33414f !important;
}
#phb-root .phb-ref.is-hidden { display: none !important; }
#phb-root .phb-ref a { font-weight: 600 !important; }

/* ---------- Footer ---------- */
#phb-root .phb-footer { margin-top: 40px !important; padding-top: 20px !important; border-top: 3px solid #0d2b4e !important; }
#phb-root .phb-footer p { font-size: 14px !important; color: #77848f !important; margin-bottom: 0 !important; }
