/* ============================================================
   SIGNALS OVER NOISE — seo SUSTAINABLE
   aimeejurenka.com — Custom CSS (FULL REWRITE v2)
   Paste into: Appearance → Customize → Additional CSS

   FIXES IN THIS VERSION:
   - WCAG AA contrast throughout (all text ≥ 4.5:1)
   - Dark section text visibility (callout, stage strips, framework nav)
   - Framework "How it fits together" section — content was invisible
   - Full framework nav grid — fixed broken layout on child pages
   - Structure page step number blocks — were rendering black
   - Body text sizes increased globally for readability
   - Strategy grid cell text enlarged
   - About page beliefs list — contrast + size fixed
   - Responsive fixes for all the above
   ============================================================ */

/* ─── BRAND TOKENS ─────────────────────────────────────────── */
:root {
  --orange:        #de660c;
  --orange-dark:   #8c3d08;
  --orange-pale:   #fdf0e6;
  --crimson:       #b1352f;
  --burgundy:      #83362b;
  --teal:          #06bc8f;
  --teal-dark:     #047a5e;
  --mint:          #dfedef;
  --charcoal:      #1e1c1a;
  --charcoal-mid:  #272421;
  --charcoal-light:#302d2a;
  --white:         #ffffff;
  --off:           #f5f4f1;
  --off-warm:      #ede9e3;
  --ink:           #1a1714;
  --ink-mid:       #302d2a;
  --ink-muted:     #5a5650;
  --rule:          #d8d4ce;
  --rule-strong:   #b8b3ab;

  /* FIXED: on-dark values increased for WCAG AA compliance */
  --on-dark:       #f0ece6;   /* was #e8e4de — boosted for contrast */
  --on-dark-muted: #c8bfb6;   /* was #a09890 — boosted for contrast */
  --on-dark-faint: #9c9088;   /* was #786e66 — boosted for contrast */

  --s1: #de660c;
  --s2: #b1352f;
  --s3: #83362b;
  --s4: #047a5e;
  --mono: 'Space Mono', monospace;
  --sans: 'Josefin Sans', sans-serif;
  --slab: 'Josefin Slab', serif;
}

/* ─── BASE ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box !important; }
html { scroll-behavior: smooth !important; }
body {
  font-family: var(--sans) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  line-height: 1.7 !important;
  font-size: 16px !important;
  -webkit-font-smoothing: antialiased !important;
}

/* ─── LAYOUT ────────────────────────────────────────────────── */
.son-page { font-family: var(--sans) !important; }
.son-inner { max-width: 1100px !important; margin: 0 auto !important; }

/* ─── BREADCRUMB ────────────────────────────────────────────── */
.son-breadcrumb {
  font-family: var(--mono) !important; font-size: 13px !important;
  color: var(--ink-muted) !important; margin: 0 0 2rem !important;
  display: flex !important; align-items: center !important;
  gap: 0.5rem !important; flex-wrap: wrap !important;
}
.son-breadcrumb a { color: var(--orange-dark) !important; text-decoration: none !important; }
.son-breadcrumb a:hover { text-decoration: underline !important; }
.son-breadcrumb__sep { color: var(--rule-strong) !important; }

/* ─── STAGE BADGE ───────────────────────────────────────────── */
.son-stage-badge {
  display: inline-flex !important; align-items: center !important;
  gap: 0.75rem !important; margin-bottom: 1.5rem !important;
}
.son-stage-badge__num {
  font-family: var(--mono) !important; font-size: 13px !important;
  font-weight: 700 !important; color: var(--white) !important; padding: 4px 12px !important;
}
.son-stage-badge__name {
  font-family: var(--mono) !important; font-size: 13px !important;
  font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important;
}
.son-stage-badge--s1 .son-stage-badge__num { background: var(--s1) !important; }
.son-stage-badge--s1 .son-stage-badge__name { color: var(--s1) !important; }
.son-stage-badge--s2 .son-stage-badge__num { background: var(--s2) !important; }
.son-stage-badge--s2 .son-stage-badge__name { color: var(--s2) !important; }
.son-stage-badge--s3 .son-stage-badge__num { background: var(--s3) !important; }
.son-stage-badge--s3 .son-stage-badge__name { color: var(--s3) !important; }
.son-stage-badge--s4 .son-stage-badge__num { background: var(--s4) !important; }
.son-stage-badge--s4 .son-stage-badge__name { color: var(--s4) !important; }

/* ─── TYPOGRAPHY ────────────────────────────────────────────── */
.son-headline {
  font-family: var(--slab) !important; font-size: clamp(1.9rem,4vw,3rem) !important;
  font-weight: 600 !important; line-height: 1.1 !important;
  color: var(--ink) !important; margin: 0 0 0.6rem !important;
}
.son-headline--light { color: var(--on-dark) !important; }
.son-headline--orange em { font-style: italic !important; color: var(--orange) !important; }

.son-section-headline {
  font-family: var(--slab) !important; font-size: clamp(1.5rem,3vw,2.2rem) !important;
  font-weight: 600 !important; line-height: 1.15 !important;
  color: var(--ink) !important; margin: 0 0 1.25rem !important;
}
.son-section-headline--light { color: var(--on-dark) !important; }

.son-subhead {
  font-family: var(--mono) !important; font-size: 14px !important;
  color: var(--ink-muted) !important; font-style: italic !important;
  line-height: 1.6 !important; margin: 0 0 2.5rem !important;
  border-left: 4px solid var(--orange) !important; padding-left: 1rem !important;
}
.son-subhead--s1 { border-left-color: var(--s1) !important; }
.son-subhead--s2 { border-left-color: var(--s2) !important; }
.son-subhead--s3 { border-left-color: var(--s3) !important; }
.son-subhead--s4 { border-left-color: var(--s4) !important; }

.son-label {
  font-family: var(--mono) !important; font-size: 13px !important;
  letter-spacing: 0.22em !important; text-transform: uppercase !important;
  color: var(--orange-dark) !important; margin: 0 0 0.85rem !important; display: block !important;
}
.son-label--teal      { color: var(--teal) !important; }
.son-label--teal-dark { color: var(--teal-dark) !important; }
.son-label--s2 { color: var(--s2) !important; }
.son-label--s3 { color: var(--s3) !important; }
.son-label--s4 { color: var(--s4) !important; }
.son-label--faint { color: var(--on-dark-faint) !important; }

/* FIXED: prose font sizes increased for readability */
.son-prose {
  font-size: 17px !important; color: var(--ink-mid) !important;
  line-height: 1.85 !important; max-width: 680px !important;
}
.son-prose p { margin: 0 0 1rem !important; font-family: var(--sans) !important; }
.son-prose p:last-child { margin-bottom: 0 !important; }
.son-prose em { font-style: normal !important; color: var(--ink) !important; font-weight: 700 !important; }
.son-prose--light { color: var(--on-dark-muted) !important; }
.son-prose--light em { color: var(--on-dark) !important; }
.son-prose--full { max-width: none !important; }

/* ─── SECTIONS ──────────────────────────────────────────────── */
.son-section { padding: 3.5rem 0 !important; border-bottom: 1px solid var(--rule) !important; }
.son-section:last-of-type { border-bottom: none !important; }

.son-section--dark {
  background: var(--charcoal) !important; border-bottom: none !important;
  margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important;
  padding: 3.5rem 2rem !important;
}
.son-section--off {
  background: var(--off) !important;
  margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important;
  padding: 3.5rem 2rem !important;
}
.son-section--mint {
  background: var(--mint) !important;
  margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important;
  padding: 3.5rem 2rem !important;
}
.son-section--dark .son-label  { color: var(--teal) !important; }
.son-section--dark .son-section-headline { color: var(--on-dark) !important; }
.son-section--dark .son-prose  { color: var(--on-dark-muted) !important; }
.son-section--dark .son-prose em { color: var(--on-dark) !important; }
.son-section--mint .son-label  { color: var(--teal-dark) !important; }

/* ─── HERO (homepage) ───────────────────────────────────────── */
.son-hero {
  background: var(--charcoal) !important;
  border-bottom: 4px solid var(--orange) !important;
  padding: 5.5rem 2rem 4.5rem !important;
  position: relative !important; overflow: hidden !important;
  margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important;
}
.son-hero::before {
  content: '' !important; position: absolute !important; inset: 0 !important;
  background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px) !important;
  background-size: 28px 28px !important; pointer-events: none !important;
}
.son-hero__inner { position: relative !important; z-index: 1 !important; max-width: 1100px !important; margin: 0 auto !important; }
.son-hero__kicker {
  font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.22em !important;
  text-transform: uppercase !important; color: var(--on-dark-muted) !important;
  margin-bottom: 1.5rem !important; display: flex !important; align-items: center !important; gap: 0.75rem !important;
}
.son-hero__kicker::before { content: '▸' !important; color: var(--orange) !important; }
.son-hero__headline {
  font-family: var(--slab) !important; font-size: clamp(3rem,7vw,5.4rem) !important;
  font-weight: 600 !important; line-height: 1.05 !important;
  color: var(--on-dark) !important; margin: 0 0 0.65rem !important;
}
.son-hero__headline em { font-style: italic !important; color: var(--orange) !important; }
.son-hero__subhead {
  font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.18em !important;
  text-transform: uppercase !important; color: var(--on-dark-muted) !important;
  margin: 0 0 2.75rem !important; border-left: 4px solid var(--orange) !important; padding-left: 1rem !important;
}
.son-hero__body { max-width: 640px !important; }
/* FIXED: hero body text size increased */
.son-hero__body p {
  font-size: 18px !important; color: var(--on-dark-muted) !important;
  margin: 0 0 1.1rem !important; line-height: 1.8 !important; font-family: var(--sans) !important;
}
.son-hero__body p em { font-style: normal !important; color: var(--on-dark) !important; font-weight: 700 !important; }
.son-hero__body p:last-child { margin-bottom: 0 !important; }
.son-hero__cta { margin-top: 2.75rem !important; display: flex !important; gap: 1rem !important; flex-wrap: wrap !important; }
.son-hero__publisher { margin-top: 3rem !important; display: flex !important; align-items: center !important; gap: 0.85rem !important; }
.son-hero__publisher-line { height: 1px !important; width: 36px !important; background: #4a4540 !important; flex-shrink: 0 !important; }
.son-hero__publisher-text {
  font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.2em !important;
  text-transform: uppercase !important; color: var(--on-dark-faint) !important;
}

/* ─── HOMEPAGE: SHIFT SECTION ───────────────────────────────── */
.son-shift-layout {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important; align-items: start !important; margin-top: 2.5rem !important;
}
.son-shift-layout > * { min-width: 0 !important; }

/* FIXED: question items — contrast + size */
.son-questions { display: grid !important; gap: 1px !important; background: #3a3633 !important; border: 1px solid #3a3633 !important; }
.son-question {
  background: #272421 !important; padding: 1.4rem 1.75rem !important;
  font-family: var(--slab) !important; font-size: 1.2rem !important;
  color: var(--on-dark) !important; line-height: 1.6 !important;
  display: flex !important; align-items: flex-start !important; gap: 1rem !important;
}
.son-question::before {
  content: '?' !important; font-family: var(--mono) !important; font-size: 13px !important;
  font-weight: 700 !important; color: var(--teal) !important; margin-top: 4px !important; flex-shrink: 0 !important;
}

/* FIXED: callout box — all text now visible */
.son-callout { border: 1px solid #4a4540 !important; padding: 2rem !important; }
.son-callout__label {
  font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.2em !important;
  text-transform: uppercase !important; color: var(--teal) !important; margin: 0 0 1rem !important; display: block !important;
}
/* FIXED: was --on-dark-faint (#786e66) which was invisible on dark bg */
.son-callout__old {
  font-family: var(--slab) !important; font-size: 1.1rem !important;
  color: var(--on-dark-muted) !important; text-decoration: line-through !important;
  text-decoration-color: var(--crimson) !important;
  margin: 0 0 0.5rem !important; display: block !important;
}
.son-callout__arrow { font-family: var(--mono) !important; font-size: 20px !important; color: var(--orange) !important; margin: 0.5rem 0 !important; display: block !important; }
.son-callout__new { font-family: var(--slab) !important; font-size: 1.7rem !important; font-weight: 600 !important; color: var(--on-dark) !important; line-height: 1.2 !important; margin: 0 !important; }
.son-callout__new em { font-style: italic !important; color: var(--orange) !important; }
/* FIXED: callout note — size and contrast */
.son-callout__note { margin-top: 1.25rem !important; font-family: var(--mono) !important; font-size: 14px !important; line-height: 1.75 !important; color: var(--on-dark-muted) !important; }

/* ─── HOMEPAGE: STRATEGY GRID ───────────────────────────────── */
.son-strategy-grid {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 2px !important; background: var(--rule-strong) !important;
  border: 2px solid var(--rule-strong) !important; margin-top: 2.5rem !important;
}
.son-strategy-cell { background: var(--white) !important; padding: 2rem !important; }
.son-strategy-cell--featured { background: var(--orange-pale) !important; }
.son-cell-label {
  font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.18em !important;
  text-transform: uppercase !important; color: var(--ink-muted) !important;
  margin: 0 0 0.6rem !important; display: block !important;
}
/* FIXED: cell content text larger */
.son-cell-content { font-family: var(--slab) !important; font-size: 1.3rem !important; color: var(--ink) !important; line-height: 1.5 !important; margin: 0 !important; }
.son-strategy-cell--featured .son-cell-content { color: var(--orange-dark) !important; font-size: 1.4rem !important; font-weight: 700 !important; }

/* ─── HOMEPAGE: FRAMEWORK STAGES ───────────────────────────── */
.son-framework { display: grid !important; grid-template-columns: repeat(4,1fr) !important; border: 1px solid var(--rule) !important; margin-top: 2.5rem !important; }
.son-stage { padding: 1.75rem 1.25rem !important; border-right: 1px solid var(--rule) !important; }
.son-stage:last-child { border-right: none !important; }
.son-stage:nth-child(1) { border-top: 5px solid var(--s1) !important; }
.son-stage:nth-child(2) { border-top: 5px solid var(--s2) !important; }
.son-stage:nth-child(3) { border-top: 5px solid var(--s3) !important; }
.son-stage:nth-child(4) { border-top: 5px solid var(--s4) !important; }
.son-stage__num { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; margin: 0 0 0.5rem !important; display: block !important; }
.son-stage:nth-child(1) .son-stage__num { color: var(--s1) !important; }
.son-stage:nth-child(2) .son-stage__num { color: var(--s2) !important; }
.son-stage:nth-child(3) .son-stage__num { color: var(--s3) !important; }
.son-stage:nth-child(4) .son-stage__num { color: var(--s4) !important; }
.son-stage__name { font-family: var(--slab) !important; font-size: 1.35rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.6rem !important; }
.son-stage__q { font-family: var(--mono) !important; font-size: 13px !important; font-style: italic !important; line-height: 1.5 !important; margin: 0 0 1rem !important; }
.son-stage:nth-child(1) .son-stage__q { color: var(--s1) !important; }
.son-stage:nth-child(2) .son-stage__q { color: var(--s2) !important; }
.son-stage:nth-child(3) .son-stage__q { color: var(--s3) !important; }
.son-stage:nth-child(4) .son-stage__q { color: var(--s4) !important; }
.son-stage__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
/* FIXED: stage list items — size increased */
.son-stage__list li { font-size: 15px !important; color: var(--ink-muted) !important; padding: 0.2rem 0 0.2rem 1rem !important; position: relative !important; font-family: var(--sans) !important; }
.son-stage:nth-child(1) .son-stage__list li::before { content: '·' !important; position: absolute !important; left: 0 !important; color: var(--s1) !important; font-size: 18px !important; line-height: 1.1 !important; }
.son-stage:nth-child(2) .son-stage__list li::before { content: '·' !important; position: absolute !important; left: 0 !important; color: var(--s2) !important; font-size: 18px !important; line-height: 1.1 !important; }
.son-stage:nth-child(3) .son-stage__list li::before { content: '·' !important; position: absolute !important; left: 0 !important; color: var(--s3) !important; font-size: 18px !important; line-height: 1.1 !important; }
.son-stage:nth-child(4) .son-stage__list li::before { content: '·' !important; position: absolute !important; left: 0 !important; color: var(--s4) !important; font-size: 18px !important; line-height: 1.1 !important; }

/* ─── HOMEPAGE: TOOLS GRID ──────────────────────────────────── */
.son-tools-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1.5rem !important; margin-top: 2rem !important; }
.son-tool {
  background: var(--white) !important; border: 1px solid var(--rule) !important;
  border-left: 5px solid var(--orange) !important; padding: 2rem !important;
  text-decoration: none !important; color: inherit !important; display: block !important; transition: border-left-color 0.2s !important;
}
.son-tool:nth-child(2) { border-left-color: var(--teal-dark) !important; }
.son-tool:hover { border-left-color: var(--crimson) !important; }
.son-tool__badge { display: inline-block !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; background: var(--orange) !important; color: var(--white) !important; padding: 3px 10px !important; margin-bottom: 1rem !important; }
.son-tool:nth-child(2) .son-tool__badge { background: var(--teal-dark) !important; }
.son-tool__name { font-family: var(--slab) !important; font-size: 1.4rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; }
/* FIXED: tool description size */
.son-tool__desc { font-size: 16px !important; color: var(--ink-mid) !important; line-height: 1.65 !important; margin: 0 !important; font-family: var(--sans) !important; }
.son-tool__link { display: inline-block !important; margin-top: 1.25rem !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--orange-dark) !important; border-bottom: 2px solid var(--orange-dark) !important; padding-bottom: 2px !important; text-decoration: none !important; }
.son-tool:nth-child(2) .son-tool__link { color: var(--teal-dark) !important; border-bottom-color: var(--teal-dark) !important; }

/* ─── HOMEPAGE: ABOUT STRIP ─────────────────────────────────── */
.son-about { background: var(--charcoal) !important; padding: 5rem 2rem !important; margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important; }
.son-about__inner { max-width: 1100px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 240px 1fr !important; gap: 4rem !important; align-items: center !important; }
.son-about__photo-wrap { position: relative !important; }
.son-about__photo-wrap::before { content: '' !important; position: absolute !important; top: -10px !important; left: -10px !important; right: 10px !important; bottom: 10px !important; border: 2px solid var(--orange) !important; pointer-events: none !important; z-index: 0 !important; }
.son-about__photo { width: 100% !important; aspect-ratio: 3/4 !important; object-fit: cover !important; object-position: top center !important; display: block !important; position: relative !important; z-index: 1 !important; border: 1px solid #3a3633 !important; }
.son-about__label { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: var(--on-dark-faint) !important; margin: 0 0 0.75rem !important; display: block !important; }
.son-about__name { font-family: var(--slab) !important; font-size: 2.2rem !important; font-weight: 600 !important; color: var(--on-dark) !important; margin: 0 0 0.3rem !important; line-height: 1.1 !important; }
.son-about__role { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: var(--orange) !important; margin: 0 0 1.75rem !important; display: block !important; }
/* FIXED: about bio size and contrast */
.son-about__bio { font-size: 17px !important; color: var(--on-dark-muted) !important; line-height: 1.85 !important; font-family: var(--sans) !important; }
.son-about__bio p { margin: 0 0 0.9rem !important; }
/* FIXED: about bio link visibility */
.son-about a { color: var(--on-dark-muted) !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.son-about a:hover { color: var(--on-dark) !important; }

/* ─── SIGNALS OVER NOISE PAGE ───────────────────────────────── */
.son-prob-cols { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 3rem !important; margin-top: 2rem !important; }
.son-prob-cols > * { min-width: 0 !important; }
.son-noise-box { border: 1px solid #4a4540 !important; padding: 2rem !important; }
.son-noise-box__label { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; color: var(--teal) !important; margin: 0 0 1.25rem !important; display: block !important; }
.son-noise-list { list-style: none !important; display: grid !important; gap: 1px !important; background: #3a3633 !important; border: 1px solid #3a3633 !important; margin: 0 0 1.5rem !important; padding: 0 !important; }
/* FIXED: noise list items contrast + size */
.son-noise-list li { background: var(--charcoal-mid) !important; padding: 0.9rem 1.25rem !important; font-family: var(--slab) !important; font-size: 1.1rem !important; color: var(--on-dark) !important; display: flex !important; align-items: center !important; gap: 0.75rem !important; }
.son-noise-list li::before { content: '✗' !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--crimson) !important; flex-shrink: 0 !important; }
/* FIXED: noise verdict contrast */
.son-noise-verdict { font-family: var(--mono) !important; font-size: 14px !important; line-height: 1.7 !important; color: var(--on-dark-muted) !important; border-left: 3px solid var(--crimson) !important; padding-left: 1rem !important; }

.son-fails-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 2px !important; background: var(--rule-strong) !important; border: 2px solid var(--rule-strong) !important; margin-top: 2rem !important; }
.son-fail { background: var(--white) !important; padding: 1.75rem !important; }
.son-fail__icon { font-family: var(--mono) !important; font-size: 22px !important; color: var(--crimson) !important; margin: 0 0 0.75rem !important; display: block !important; }
.son-fail__title { font-family: var(--slab) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; }
.son-fail__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }

/* FIXED: steps — step detail column now included in layout */
.son-steps { display: grid !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-step { background: var(--white) !important; display: grid !important; grid-template-columns: 80px 1fr 1fr !important; }
.son-step__num { background: var(--charcoal) !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 2rem 1rem !important; gap: 0.4rem !important; }
.son-step__digit { font-family: var(--mono) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--on-dark) !important; line-height: 1 !important; }
.son-step__name { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: var(--orange) !important; }
.son-step__body { padding: 1.75rem 2rem !important; border-left: 1px solid var(--rule) !important; border-right: 1px solid var(--rule) !important; }
.son-step__title { font-family: var(--slab) !important; font-size: 1.25rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.6rem !important; }
.son-step__desc { font-size: 16px !important; color: var(--ink-mid) !important; line-height: 1.7 !important; font-family: var(--sans) !important; }
.son-step__detail { padding: 1.75rem 2rem !important; }
.son-step__detail-label { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--ink-muted) !important; margin: 0 0 0.75rem !important; display: block !important; }

.son-tiers { list-style: none !important; display: grid !important; gap: 1px !important; background: var(--rule) !important; border: 1px solid var(--rule) !important; margin: 0.5rem 0 0 !important; padding: 0 !important; }
.son-tier { background: var(--white) !important; padding: 0.65rem 1rem !important; display: grid !important; grid-template-columns: auto 1fr !important; gap: 1rem !important; align-items: center !important; }
.son-tier__data { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--orange-dark) !important; white-space: nowrap !important; }
.son-tier__label { font-size: 15px !important; color: var(--ink-muted) !important; font-family: var(--sans) !important; }

.son-tool-callout { background: var(--charcoal) !important; border-top: 4px solid var(--teal-dark) !important; padding: 3rem !important; margin-top: 3rem !important; display: grid !important; grid-template-columns: 1fr auto !important; gap: 2rem !important; align-items: center !important; }
.son-tool-callout__badge { display: inline-block !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; background: var(--teal-dark) !important; color: var(--white) !important; padding: 3px 10px !important; margin-bottom: 0.85rem !important; }
.son-tool-callout__name { font-family: var(--slab) !important; font-size: 1.6rem !important; font-weight: 600 !important; color: var(--on-dark) !important; margin: 0 0 0.5rem !important; }
/* FIXED: tool callout description contrast */
.son-tool-callout__desc { font-size: 16px !important; color: var(--on-dark-muted) !important; line-height: 1.7 !important; margin: 0 0 1.5rem !important; font-family: var(--sans) !important; }
.son-tool-callout__features { list-style: none !important; display: grid !important; gap: 0.5rem !important; padding: 0 !important; margin: 0 !important; }
/* FIXED: feature list items contrast + size */
.son-tool-callout__features li { font-size: 15px !important; color: var(--on-dark-muted) !important; padding-left: 1.25rem !important; position: relative !important; line-height: 1.5 !important; font-family: var(--sans) !important; }
.son-tool-callout__features li::before { content: '→' !important; position: absolute !important; left: 0 !important; color: var(--teal) !important; font-family: var(--mono) !important; }
.son-tool-coming { margin-top: 1.5rem !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--on-dark-muted) !important; line-height: 1.6 !important; }

/* ─── NOT/IS LISTS (Signals Over Noise) ─────────────────────── */
.son-not-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 3rem !important; margin-top: 2rem !important; }
.son-not-grid > * { min-width: 0 !important; }
.son-col-heading { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; margin: 0 0 1rem !important; display: block !important; }
.son-col-heading--no  { color: var(--crimson) !important; }
.son-col-heading--yes { color: var(--teal-dark) !important; }
.son-not-list, .son-is-list { list-style: none !important; display: grid !important; gap: 1px !important; background: var(--rule-strong) !important; border: 2px solid var(--rule-strong) !important; padding: 0 !important; margin: 0 !important; }
/* FIXED: list items — size */
.son-not-list li, .son-is-list li { background: var(--white) !important; padding: 1.1rem 1.5rem !important; font-family: var(--slab) !important; font-size: 1.1rem !important; color: var(--ink) !important; display: flex !important; align-items: center !important; gap: 0.85rem !important; }
.son-not-list li::before { content: '✗' !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--crimson) !important; flex-shrink: 0 !important; }
.son-is-list  li::before { content: '✓' !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--teal-dark) !important; flex-shrink: 0 !important; }

/* ─── FRAMEWORK HUB PAGE ────────────────────────────────────── */

/* FIXED: stage strip — text was invisible on dark bg */
.son-stage-strip {
  display: grid !important; grid-template-columns: repeat(4,1fr) !important;
  border-bottom: 1px solid var(--rule) !important;
  margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important;
}
.son-strip-item {
  padding: 1.5rem !important; border-right: 1px solid var(--rule) !important;
  text-decoration: none !important; color: inherit !important; display: block !important; transition: background 0.15s !important;
}
.son-strip-item:last-child { border-right: none !important; }
.son-strip-item:hover { background: var(--off) !important; }
.son-strip-item:nth-child(1) { border-top: 5px solid var(--s1) !important; }
.son-strip-item:nth-child(2) { border-top: 5px solid var(--s2) !important; }
.son-strip-item:nth-child(3) { border-top: 5px solid var(--s3) !important; }
.son-strip-item:nth-child(4) { border-top: 5px solid var(--s4) !important; }
.son-strip-num { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; margin: 0 0 0.4rem !important; display: block !important; }
.son-strip-item:nth-child(1) .son-strip-num { color: var(--s1) !important; }
.son-strip-item:nth-child(2) .son-strip-num { color: var(--s2) !important; }
.son-strip-item:nth-child(3) .son-strip-num { color: var(--s3) !important; }
.son-strip-item:nth-child(4) .son-strip-num { color: var(--s4) !important; }
.son-strip-name { font-family: var(--slab) !important; font-size: 1.3rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.35rem !important; }
.son-strip-q { font-family: var(--mono) !important; font-size: 13px !important; color: var(--ink-muted) !important; font-style: italic !important; line-height: 1.5 !important; }

/* FIXED: "How it fits together" dark section — was a blank void */
/* The son-stage-strip inside a dark section needs light text */
.son-section--dark .son-stage-strip { border-bottom-color: #3a3633 !important; }
.son-section--dark .son-strip-item { border-right-color: #3a3633 !important; border-top-color: transparent !important; }
.son-section--dark .son-strip-item:hover { background: #272421 !important; }
.son-section--dark .son-strip-name { color: var(--on-dark) !important; }
.son-section--dark .son-strip-q { color: var(--on-dark-muted) !important; }

/* Also fix inline framework summaries that use different markup */
.son-section--dark p,
.son-section--dark li,
.son-section--dark span:not(.son-label):not(.son-strip-num) {
  color: var(--on-dark-muted) !important;
}
.son-section--dark strong { color: var(--on-dark) !important; }

/* ─── FRAMEWORK CHILD-PAGE NAV ──────────────────────────────── */
/* FIXED: completely broken layout on Define/Structure/Reinforce/Measure pages */
.son-fw-nav {
  display: grid !important; grid-template-columns: repeat(4,1fr) !important;
  gap: 1px !important; background: var(--rule) !important;
  border: 2px solid var(--rule) !important; margin-top: 2rem !important;
}
.son-fw-nav__item {
  background: var(--white) !important; padding: 1.25rem !important;
  text-decoration: none !important; color: inherit !important;
  display: block !important; transition: background 0.15s !important;
}
.son-fw-nav__item:hover { background: var(--off) !important; }
.son-fw-nav__item--current { background: var(--off) !important; }
.son-fw-nav__item--s1.son-fw-nav__item--current { border-top: 3px solid var(--s1) !important; }
.son-fw-nav__item--s2.son-fw-nav__item--current { border-top: 3px solid var(--s2) !important; }
.son-fw-nav__item--s3.son-fw-nav__item--current { border-top: 3px solid var(--s3) !important; }
.son-fw-nav__item--s4.son-fw-nav__item--current { border-top: 3px solid var(--s4) !important; }
.son-fw-nav__num { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--orange-dark) !important; margin: 0 0 0.35rem !important; display: block !important; }
.son-fw-nav__item--s1.son-fw-nav__item--current .son-fw-nav__num { color: var(--s1) !important; }
.son-fw-nav__item--s2.son-fw-nav__item--current .son-fw-nav__num { color: var(--s2) !important; }
.son-fw-nav__item--s3.son-fw-nav__item--current .son-fw-nav__num { color: var(--s3) !important; }
.son-fw-nav__item--s4.son-fw-nav__item--current .son-fw-nav__num { color: var(--s4) !important; }
.son-fw-nav__name { font-family: var(--slab) !important; font-size: 1rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.2rem !important; }
.son-fw-nav__q { font-family: var(--mono) !important; font-size: 12px !important; color: var(--ink-muted) !important; font-style: italic !important; line-height: 1.4 !important; }
.son-fw-nav__status { font-family: var(--mono) !important; font-size: 11px !important; margin-top: 0.5rem !important; display: block !important; font-weight: 700 !important; }
.son-fw-nav__item--s1.son-fw-nav__item--current .son-fw-nav__status { color: var(--s1) !important; }
.son-fw-nav__item--s2.son-fw-nav__item--current .son-fw-nav__status { color: var(--s2) !important; }
.son-fw-nav__item--s3.son-fw-nav__item--current .son-fw-nav__status { color: var(--s3) !important; }
.son-fw-nav__item--s4.son-fw-nav__item--current .son-fw-nav__status { color: var(--s4) !important; }

.son-page-nav { display: flex !important; justify-content: space-between !important; margin-top: 2.5rem !important; }

/* ─── FRAMEWORK CHILD PAGES — PROCESS STEPS ─────────────────── */
.son-fw-steps { display: grid !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-fw-step { background: var(--white) !important; display: grid !important; grid-template-columns: 60px 1fr !important; }

/* FIXED: step number blocks were rendering solid black */
.son-fw-step__num {
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-family: var(--mono) !important; font-size: 18px !important; font-weight: 700 !important;
  color: var(--white) !important; padding: 1.5rem 0 !important;
  min-height: 80px !important;
}
.son-fw-step--s1 .son-fw-step__num { background: var(--s1) !important; color: var(--white) !important; }
.son-fw-step--s2 .son-fw-step__num { background: var(--s2) !important; color: var(--white) !important; }
.son-fw-step--s3 .son-fw-step__num { background: var(--s3) !important; color: var(--white) !important; }
.son-fw-step--s4 .son-fw-step__num { background: var(--s4) !important; color: var(--white) !important; }

.son-fw-step__body { padding: 1.75rem 2rem !important; }
.son-fw-step__title { font-family: var(--slab) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; }
/* FIXED: step description size */
.son-fw-step__desc { font-size: 16px !important; color: var(--ink-mid) !important; line-height: 1.7 !important; font-family: var(--sans) !important; margin: 0 !important; }
.son-fw-step__note { font-family: var(--mono) !important; font-size: 13px !important; margin-top: 0.75rem !important; font-style: italic !important; }
.son-fw-step--s1 .son-fw-step__note { color: var(--s1) !important; }
.son-fw-step--s2 .son-fw-step__note { color: var(--s2) !important; }
.son-fw-step--s3 .son-fw-step__note { color: var(--s3) !important; }
.son-fw-step--s4 .son-fw-step__note { color: var(--s4) !important; }

/* ─── ENTITY GRID (Define page) ─────────────────────────────── */
.son-entity-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-entity-card { background: var(--white) !important; padding: 1.75rem !important; }
.son-entity-card__type { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: var(--orange-dark) !important; margin: 0 0 0.6rem !important; display: block !important; }
.son-entity-card__title { font-family: var(--slab) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.4rem !important; }
/* FIXED: entity card description size */
.son-entity-card__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }

/* Question blocks */
.son-question-blocks { display: grid !important; gap: 1px !important; background: var(--rule-strong) !important; border: 2px solid var(--rule-strong) !important; margin-top: 2rem !important; }
.son-question-block { background: var(--white) !important; padding: 2rem !important; }
.son-question-block__q { font-family: var(--slab) !important; font-size: 1.25rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.75rem !important; line-height: 1.3 !important; }
/* FIXED: question block answer size */
.son-question-block__a { font-size: 16px !important; color: var(--ink-mid) !important; line-height: 1.75 !important; font-family: var(--sans) !important; margin: 0 !important; }

/* ─── REINFORCE PAGE ─────────────────────────────────────────── */
.son-link-rules { display: grid !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 1.5rem !important; }
.son-link-rule { background: var(--white) !important; padding: 1.5rem 1.75rem !important; display: flex !important; align-items: flex-start !important; gap: 1rem !important; }
.son-link-rule__marker { font-family: var(--mono) !important; font-size: 18px !important; font-weight: 700 !important; margin-top: 2px !important; flex-shrink: 0 !important; line-height: 1 !important; }
.son-link-rule--do .son-link-rule__marker   { color: var(--teal-dark) !important; }
.son-link-rule--dont .son-link-rule__marker { color: var(--crimson) !important; }
.son-link-rule__content { flex: 1 !important; min-width: 0 !important; }
.son-link-rule__title { font-family: var(--slab) !important; font-size: 1rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.3rem !important; }
/* FIXED: link rule description size */
.son-link-rule__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.6 !important; font-family: var(--sans) !important; margin: 0 !important; }

/* Schema table */
.son-schema-table { width: 100% !important; border-collapse: collapse !important; margin-top: 1.5rem !important; font-size: 15px !important; }
.son-schema-table th { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: var(--s3) !important; padding: 0.75rem 1rem !important; text-align: left !important; border-bottom: 2px solid var(--rule-strong) !important; background: var(--off) !important; }
.son-schema-table td { padding: 0.9rem 1rem !important; border-bottom: 1px solid var(--rule) !important; color: var(--ink-mid) !important; font-family: var(--sans) !important; vertical-align: top !important; line-height: 1.55 !important; }
.son-schema-table td:first-child { font-family: var(--mono) !important; font-size: 13px !important; color: var(--s3) !important; white-space: nowrap !important; }
.son-schema-table tr:last-child td { border-bottom: none !important; }
.son-schema-table tr:nth-child(even) td { background: var(--off) !important; }

/* Tool row (Reinforce) */
.son-tool-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1.5rem !important; margin-top: 2rem !important; }
.son-tool-card { background: var(--white) !important; border: 1px solid var(--rule) !important; border-left: 5px solid var(--s3) !important; padding: 1.75rem !important; }
.son-tool-card:nth-child(2) { border-left-color: var(--teal-dark) !important; }
.son-tool-card__badge { display: inline-block !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; background: var(--s3) !important; color: var(--white) !important; padding: 3px 10px !important; margin-bottom: 0.85rem !important; }
.son-tool-card:nth-child(2) .son-tool-card__badge { background: var(--teal-dark) !important; }
.son-tool-card__name { font-family: var(--slab) !important; font-size: 1.2rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; }
.son-tool-card__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; margin: 0 0 1rem !important; }
.son-tool-card__link { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--s3) !important; text-decoration: none !important; border-bottom: 2px solid var(--s3) !important; padding-bottom: 2px !important; }
.son-tool-card:nth-child(2) .son-tool-card__link { color: var(--teal-dark) !important; border-bottom-color: var(--teal-dark) !important; }

/* ─── MEASURE PAGE ───────────────────────────────────────────── */

/* FIXED: shift box — was invisible on dark bg */
.son-shift-box { background: var(--charcoal) !important; padding: 2.5rem !important; margin-top: 2rem !important; border: 1px solid #4a4540 !important; }
.son-shift-box__label { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: var(--teal) !important; margin: 0 0 1rem !important; display: block !important; }
.son-shift-old { font-family: var(--slab) !important; font-size: 1.1rem !important; color: var(--on-dark-muted) !important; text-decoration: line-through !important; margin: 0 0 0.5rem !important; display: block !important; }
.son-shift-arrow { font-family: var(--mono) !important; font-size: 18px !important; color: var(--teal) !important; margin: 0.5rem 0 !important; display: block !important; }
.son-shift-new { font-family: var(--slab) !important; font-size: 1.5rem !important; font-weight: 600 !important; color: var(--on-dark) !important; line-height: 1.3 !important; margin: 0 !important; }
.son-shift-new em { font-style: italic !important; color: var(--teal) !important; }

.son-studies { display: grid !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-study { background: var(--white) !important; padding: 2rem !important; }
.son-study__source { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: var(--s4) !important; margin: 0 0 0.6rem !important; display: block !important; }
.son-study__title { font-family: var(--slab) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.75rem !important; }
.son-study__finding { font-size: 18px !important; font-family: var(--slab) !important; color: var(--s4) !important; font-weight: 600 !important; margin: 0 0 0.75rem !important; line-height: 1.3 !important; }
/* FIXED: study body size */
.son-study__body { font-size: 16px !important; color: var(--ink-mid) !important; line-height: 1.7 !important; font-family: var(--sans) !important; }

.son-nk-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-nk-card { background: var(--white) !important; padding: 2rem !important; }
.son-nk-card__var { font-family: var(--mono) !important; font-size: 2rem !important; font-weight: 700 !important; color: var(--s4) !important; margin: 0 0 0.4rem !important; display: block !important; }
.son-nk-card__name { font-family: var(--slab) !important; font-size: 1.1rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; }
/* FIXED: nk card description size */
.son-nk-card__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }

.son-sampling-tiers { display: grid !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-sampling-tier { background: var(--white) !important; padding: 1.5rem 2rem !important; display: grid !important; grid-template-columns: 140px 1fr auto !important; gap: 1.5rem !important; align-items: start !important; }
.son-sampling-tier__label { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--s4) !important; }
/* FIXED: sampling tier detail size */
.son-sampling-tier__detail { font-size: 15px !important; color: var(--ink-mid) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }
.son-sampling-tier__detail strong { font-weight: 700 !important; color: var(--ink) !important; }
.son-sampling-tier__margin { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--ink-muted) !important; white-space: nowrap !important; }

/* Can/Cannot grid (Measure) */
.son-can-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2px !important; background: var(--rule-strong) !important; border: 2px solid var(--rule-strong) !important; margin-top: 2rem !important; }
.son-can-col { background: var(--white) !important; padding: 1.75rem !important; }
.son-can-col__heading { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; margin: 0 0 1rem !important; display: block !important; }
.son-can-col--yes .son-can-col__heading { color: var(--s4) !important; }
.son-can-col--no  .son-can-col__heading { color: var(--crimson) !important; }
.son-can-list { list-style: none !important; display: grid !important; gap: 0.5rem !important; padding: 0 !important; margin: 0 !important; }
/* FIXED: can list items size */
.son-can-list li { font-size: 15px !important; color: var(--ink-mid) !important; line-height: 1.5 !important; padding-left: 1.5rem !important; position: relative !important; font-family: var(--sans) !important; }
.son-can-col--yes .son-can-list li::before { content: '✓' !important; position: absolute !important; left: 0 !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--s4) !important; }
.son-can-col--no  .son-can-list li::before { content: '✕' !important; position: absolute !important; left: 0 !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--crimson) !important; }
.son-key-rule { background: var(--off) !important; border: 1px solid var(--rule) !important; border-left: 5px solid var(--s4) !important; padding: 1.75rem !important; margin-top: 2rem !important; font-family: var(--slab) !important; font-size: 1.15rem !important; color: var(--ink) !important; line-height: 1.5 !important; }
.son-key-rule em { font-style: normal !important; color: var(--s4) !important; font-weight: 700 !important; }

/* ─── ABOUT PAGE ─────────────────────────────────────────────── */
.son-about-intro { display: grid !important; grid-template-columns: 260px 1fr !important; gap: 4rem !important; align-items: start !important; }
.son-about-intro > * { min-width: 0 !important; }
.son-photo-wrap { position: relative !important; }
.son-photo-wrap::before { content: '' !important; position: absolute !important; top: -10px !important; left: -10px !important; right: 10px !important; bottom: 10px !important; border: 2px solid var(--orange) !important; pointer-events: none !important; z-index: 0 !important; }
.son-photo { width: 100% !important; display: block !important; position: relative !important; z-index: 1 !important; border: 1px solid var(--rule) !important; }
.son-about-name { font-family: var(--slab) !important; font-size: 2.4rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.3rem !important; line-height: 1.05 !important; }
.son-about-role { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: var(--orange-dark) !important; margin: 0 0 2rem !important; display: block !important; }

/* FIXED: beliefs list — contrast and size */
.son-beliefs { display: grid !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-belief { background: var(--white) !important; padding: 1.5rem 1.75rem !important; display: flex !important; align-items: flex-start !important; gap: 1rem !important; }
.son-belief__marker { font-family: var(--mono) !important; font-size: 14px !important; font-weight: 700 !important; color: var(--orange-dark) !important; flex-shrink: 0 !important; margin-top: 3px !important; }
/* FIXED: belief text was too small and too light */
.son-belief__text { font-family: var(--slab) !important; font-size: 1.15rem !important; color: var(--ink) !important; line-height: 1.5 !important; }

/* seo SUSTAINABLE dark section */
.son-sustainable { background: var(--charcoal) !important; margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important; padding: 4rem 2rem !important; }
.son-sustainable__inner { max-width: 1100px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4rem !important; align-items: start !important; }
.son-sustainable__inner > * { min-width: 0 !important; }
/* FIXED: sustainable prose contrast */
.son-sustainable-prose { font-size: 17px !important; color: var(--on-dark-muted) !important; line-height: 1.85 !important; }
.son-sustainable-prose p { margin: 0 0 1rem !important; font-family: var(--sans) !important; }
.son-sustainable-prose p:last-child { margin-bottom: 0 !important; }
.son-sustainable-prose em { font-style: normal !important; color: var(--on-dark) !important; font-weight: 700 !important; }
.son-pillars { list-style: none !important; display: grid !important; gap: 1px !important; background: #3a3633 !important; border: 1px solid #3a3633 !important; padding: 0 !important; margin: 0 !important; }
.son-pillar { background: var(--charcoal-mid) !important; padding: 1.1rem 1.5rem !important; display: flex !important; align-items: center !important; gap: 0.85rem !important; }
.son-pillar::before { content: '→' !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--orange) !important; flex-shrink: 0 !important; }
/* FIXED: pillar text contrast */
.son-pillar__text { font-family: var(--slab) !important; font-size: 1.05rem !important; color: var(--on-dark) !important; }

/* Work grid */
.son-work-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-work-card { background: var(--white) !important; padding: 1.75rem !important; }
.son-work-card__label { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: var(--orange-dark) !important; margin: 0 0 0.75rem !important; display: block !important; }
.son-work-card__title { font-family: var(--slab) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; }
/* FIXED: work card description size */
.son-work-card__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }
.son-work-card__link { display: inline-block !important; margin-top: 1.1rem !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--orange-dark) !important; border-bottom: 2px solid var(--orange-dark) !important; padding-bottom: 2px !important; text-decoration: none !important; }

/* Connect box */
.son-connect { background: var(--off) !important; border: 1px solid var(--rule) !important; padding: 2.5rem !important; margin-top: 4rem !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 2rem !important; flex-wrap: wrap !important; }
.son-connect__headline { font-family: var(--slab) !important; font-size: 1.4rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.4rem !important; }
.son-connect__sub { font-size: 15px !important; color: var(--ink-muted) !important; font-family: var(--sans) !important; }

/* ─── BUTTONS ────────────────────────────────────────────────── */
.son-btn {
  font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important;
  padding: 0.85rem 1.75rem !important; text-decoration: none !important;
  display: inline-block !important; cursor: pointer !important;
  border: 2px solid transparent !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s !important; line-height: 1 !important;
}
.son-btn--orange  { background: var(--orange) !important;    color: var(--white) !important; border-color: var(--orange) !important; }
.son-btn--orange:hover  { background: var(--orange-dark) !important; border-color: var(--orange-dark) !important; }
.son-btn--teal    { background: var(--teal-dark) !important; color: var(--white) !important; border-color: var(--teal-dark) !important; }
.son-btn--teal:hover    { background: var(--teal) !important; border-color: var(--teal) !important; color: var(--ink) !important; }
.son-btn--crimson { background: var(--s2) !important;        color: var(--white) !important; border-color: var(--s2) !important; }
.son-btn--crimson:hover { background: var(--crimson) !important; border-color: var(--crimson) !important; }
.son-btn--burg    { background: var(--s3) !important;        color: var(--white) !important; border-color: var(--s3) !important; }
.son-btn--burg:hover    { background: var(--burgundy) !important; border-color: var(--burgundy) !important; }
.son-btn--outline { color: var(--ink) !important;            border-color: var(--rule-strong) !important; background: transparent !important; }
.son-btn--outline:hover { background: var(--off) !important; }
.son-btn--ghost   { color: var(--on-dark-muted) !important;  border-color: #4a4540 !important; background: transparent !important; }
.son-btn--ghost:hover   { color: var(--on-dark) !important;  border-color: var(--on-dark-muted) !important; }

/* ─── COVERS LIST ───────────────────────────────────────────── */
.son-covers { list-style: none !important; display: grid !important; gap: 1px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin: 2rem 0 !important; padding: 0 !important; }
.son-cover { background: var(--white) !important; padding: 1.1rem 1.5rem !important; display: flex !important; align-items: center !important; gap: 0.75rem !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--orange-dark) !important; }
.son-cover::before { content: '→' !important; flex-shrink: 0 !important; }
.son-cover--s2 { color: var(--s2) !important; }
.son-cover--s3 { color: var(--s3) !important; }
.son-cover--s4 { color: var(--s4) !important; }

/* ─── PROB BANNER ───────────────────────────────────────────── */
.son-prob-banner { background: var(--charcoal) !important; padding: 3.5rem 2rem !important; margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important; }
.son-prob-banner__inner { max-width: 740px !important; }
.son-prob-banner__headline { font-family: var(--slab) !important; font-size: clamp(1.5rem,3vw,2.2rem) !important; font-weight: 600 !important; color: var(--on-dark) !important; margin: 0 0 1rem !important; line-height: 1.2 !important; }
.son-prob-banner__headline em { font-style: italic !important; color: var(--orange) !important; }
/* FIXED: prob banner body size + contrast */
.son-prob-banner__body { font-size: 17px !important; color: var(--on-dark-muted) !important; line-height: 1.8 !important; font-family: var(--sans) !important; }
.son-prob-banner__body p { margin: 0 0 0.9rem !important; }

/* ─── UNLOCKS ───────────────────────────────────────────────── */
.son-unlocks { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-unlock { background: var(--white) !important; padding: 1.75rem !important; }
.son-unlock__icon { font-size: 24px !important; margin: 0 0 0.75rem !important; display: block !important; }
.son-unlock__title { font-family: var(--slab) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.4rem !important; }
.son-unlock__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }

/* ─── CONNECT GRID ──────────────────────────────────────────── */
.son-connect-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 2px !important; background: #3a3633 !important; border: 2px solid #3a3633 !important; margin-top: 2rem !important; }
.son-connect-card { background: var(--charcoal-mid) !important; padding: 2rem !important; text-decoration: none !important; color: inherit !important; display: block !important; transition: background 0.15s !important; }
.son-connect-card:hover { background: var(--charcoal-light) !important; }
.son-connect-card__label { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; color: var(--teal) !important; margin: 0 0 0.85rem !important; display: block !important; }
.son-connect-card__title { font-family: var(--slab) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--on-dark) !important; margin: 0 0 0.5rem !important; }
/* FIXED: connect card description contrast */
.son-connect-card__desc { font-size: 15px !important; color: var(--on-dark-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }
.son-connect-card__link { display: inline-block !important; margin-top: 1.25rem !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--teal) !important; text-decoration: none !important; border-bottom: 2px solid var(--teal-dark) !important; padding-bottom: 2px !important; }

/* ─── HUB BOX ───────────────────────────────────────────────── */
.son-hub-box { background: var(--white) !important; border: 2px solid var(--rule-strong) !important; border-top: 5px solid var(--s2) !important; padding: 2rem !important; margin-top: 2rem !important; }
.son-hub-box__label { font-family: var(--mono) !important; font-size: 13px !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: var(--s2) !important; margin: 0 0 0.75rem !important; display: block !important; }
.son-hub-box__title { font-family: var(--slab) !important; font-size: 1.35rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 1rem !important; }
.son-hub-reqs { list-style: none !important; display: grid !important; gap: 1px !important; background: var(--rule) !important; border: 1px solid var(--rule) !important; margin: 0 !important; padding: 0 !important; }
.son-hub-req { background: var(--off) !important; padding: 0.85rem 1.25rem !important; display: flex !important; gap: 0.75rem !important; align-items: flex-start !important; font-size: 15px !important; color: var(--ink-mid) !important; font-family: var(--sans) !important; }
.son-hub-req::before { content: '→' !important; font-family: var(--mono) !important; font-size: 13px !important; color: var(--s2) !important; flex-shrink: 0 !important; margin-top: 2px !important; }

/* ─── PAGE TYPES ─────────────────────────────────────────────── */
.son-page-types { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; margin-top: 2rem !important; }
.son-page-type { background: var(--white) !important; padding: 1.75rem !important; }
.son-page-type__label { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--s2) !important; margin: 0 0 0.6rem !important; display: block !important; }
.son-page-type__title { font-family: var(--slab) !important; font-size: 1.1rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; }
.son-page-type__desc { font-size: 15px !important; color: var(--ink-muted) !important; line-height: 1.65 !important; font-family: var(--sans) !important; }

/* ─── INVITE / SPEAKING ─────────────────────────────────────── */
.son-invite { background: var(--charcoal) !important; padding: 3rem 2rem !important; margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important; margin-top: 4rem !important; }
.son-invite__inner { max-width: 700px !important; }
.son-invite__headline { font-family: var(--slab) !important; font-size: 1.6rem !important; font-weight: 600 !important; color: var(--on-dark) !important; margin: 0 0 0.75rem !important; line-height: 1.2 !important; }
/* FIXED: invite body contrast */
.son-invite__body { font-size: 16px !important; color: var(--on-dark-muted) !important; line-height: 1.8 !important; margin: 0 0 1.5rem !important; font-family: var(--sans) !important; }

/* ─── RESEARCH / POST GRID ───────────────────────────────────── */
.son-post-grid { display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 2px !important; background: var(--rule) !important; border: 2px solid var(--rule) !important; }
.son-post { background: var(--white) !important; text-decoration: none !important; color: inherit !important; display: block !important; transition: background 0.15s !important; overflow: hidden !important; }
.son-post:hover { background: var(--off) !important; }
.son-post--featured { grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: 1fr 1fr !important; }
.son-post__img { width: 100% !important; aspect-ratio: 16/9 !important; object-fit: cover !important; display: block !important; }
.son-post--featured .son-post__img { aspect-ratio: auto !important; height: 100% !important; }
.son-post__body { padding: 1.75rem !important; }
.son-post__cat { font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: var(--teal-dark) !important; margin: 0 0 0.75rem !important; display: block !important; }
.son-post__title { font-family: var(--slab) !important; font-size: 1.25rem !important; font-weight: 600 !important; color: var(--ink) !important; margin: 0 0 0.5rem !important; line-height: 1.3 !important; }
.son-post--featured .son-post__title { font-size: 1.5rem !important; }
.son-post__excerpt { font-size: 15px !important; color: var(--ink-mid) !important; line-height: 1.65 !important; margin: 0 !important; font-family: var(--sans) !important; }
.son-post__date { font-family: var(--mono) !important; font-size: 12px !important; color: var(--ink-muted) !important; margin-top: 1rem !important; display: block !important; }
.son-post__read { display: inline-block !important; margin-top: 1rem !important; font-family: var(--mono) !important; font-size: 13px !important; font-weight: 700 !important; color: var(--teal-dark) !important; border-bottom: 2px solid var(--teal-dark) !important; padding-bottom: 2px !important; text-decoration: none !important; }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 960px) {
  .son-shift-layout    { grid-template-columns: 1fr !important; }
  .son-framework       { grid-template-columns: 1fr 1fr !important; }
  .son-stage:nth-child(2) { border-right: none !important; }
  .son-stage:nth-child(1),
  .son-stage:nth-child(2) { border-bottom: 1px solid var(--rule) !important; }
  .son-about__inner    { grid-template-columns: 1fr !important; }
  .son-prob-cols       { grid-template-columns: 1fr !important; }
  .son-fails-grid      { grid-template-columns: 1fr !important; }
  .son-step            { grid-template-columns: 70px 1fr !important; }
  .son-step__detail    { grid-column: 2 !important; }
  .son-not-grid        { grid-template-columns: 1fr !important; }
  .son-unlocks         { grid-template-columns: 1fr !important; }
  .son-tool-callout    { grid-template-columns: 1fr !important; }
  .son-connect-grid    { grid-template-columns: 1fr !important; }
  .son-entity-grid     { grid-template-columns: 1fr !important; }
  .son-page-types      { grid-template-columns: 1fr !important; }
  .son-nk-grid         { grid-template-columns: 1fr !important; }
  .son-can-grid        { grid-template-columns: 1fr !important; }
  .son-tool-row        { grid-template-columns: 1fr !important; }
  .son-schema-grid     { grid-template-columns: 1fr !important; }
  .son-features        { grid-template-columns: 1fr !important; }
  .son-stage-strip     { grid-template-columns: 1fr 1fr !important; }
  .son-fw-nav          { grid-template-columns: 1fr 1fr !important; }
  .son-post-grid       { grid-template-columns: 1fr !important; }
  .son-post--featured  { grid-template-columns: 1fr !important; }
  .son-sustainable__inner { grid-template-columns: 1fr !important; }
  .son-about-intro     { grid-template-columns: 1fr !important; }
  .son-work-grid       { grid-template-columns: 1fr !important; }
  .son-sampling-tier   { grid-template-columns: 100px 1fr !important; }
  .son-sampling-tier__margin { display: none !important; }
  .son-tools-grid      { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
  .son-hero            { padding: 3.5rem 1.5rem 3rem !important; }
  .son-framework       { grid-template-columns: 1fr !important; }
  .son-stage           { border-right: none !important; border-bottom: 1px solid var(--rule) !important; }
  .son-stage:last-child { border-bottom: none !important; }
  .son-strategy-grid   { grid-template-columns: 1fr !important; }
  .son-tools-grid      { grid-template-columns: 1fr !important; }
  .son-step            { grid-template-columns: 1fr !important; }
  .son-step__num       { flex-direction: row !important; justify-content: flex-start !important; padding: 1rem 1.5rem !important; border-bottom: 1px solid #3a3633 !important; }
  .son-step__body      { border-left: none !important; border-right: none !important; }
  .son-step__detail    { grid-column: 1 !important; }
  .son-fw-step         { grid-template-columns: 50px 1fr !important; }
  .son-stage-strip     { grid-template-columns: 1fr !important; }
  .son-strip-item      { border-right: none !important; border-bottom: 1px solid var(--rule) !important; }
  .son-strip-item:last-child { border-bottom: none !important; }
  .son-fw-nav          { grid-template-columns: 1fr !important; }
  .son-about__inner    { gap: 2rem !important; }
  .son-photo-wrap      { max-width: 200px !important; }
  .son-section--dark .son-strip-item { border-bottom-color: #3a3633 !important; }
}

/* ============================================================
   PATCH v3 — aimeejurenka.com
   Paste this at the VERY BOTTOM of your existing Additional CSS
   (after all existing rules) in Appearance → Customize → Additional CSS
   ============================================================ */

/* ─── 1. BOOST ALL ON-DARK TOKEN VALUES ────────────────────── */
/* These override the token values so every element using them gets fixed */
:root {
  --on-dark:       #f0ece6 !important;
  --on-dark-muted: #c8bfb6 !important;
  --on-dark-faint: #9c9088 !important;
}

/* ─── 2. CALLOUT BOX — "Do you rank?" strikethrough ─────────── */
/* Was #786e66 on #1e1c1a — invisible. Now clearly readable. */
.son-callout__old {
  color: #c8bfb6 !important;
  text-decoration: line-through !important;
  text-decoration-color: #b1352f !important;
  opacity: 1 !important;
}
.son-callout__note {
  color: #c8bfb6 !important;
  font-size: 14px !important;
}
/* Force ALL text inside the callout box to be visible */
.son-callout,
.son-callout * {
  color: inherit !important;
}
.son-callout__label { color: #06bc8f !important; }
.son-callout__arrow { color: #de660c !important; }
.son-callout__new   { color: #f0ece6 !important; }
.son-callout__new em { color: #de660c !important; }

/* ─── 3. DARK SECTION — force ALL children to be visible ────── */
.son-section--dark *:not(.son-label):not(.son-callout__label):not(.son-callout__arrow):not(.son-callout__new em):not(.son-stage__num):not(.son-strip-num) {
  color: #c8bfb6 !important;
}
.son-section--dark h2,
.son-section--dark h3,
.son-section--dark .son-headline,
.son-section--dark .son-callout__new {
  color: #f0ece6 !important;
}
.son-section--dark strong { color: #f0ece6 !important; }
.son-section--dark em { color: #f0ece6 !important; font-style: italic !important; }
/* Stage strip inside dark section */
.son-section--dark .son-strip-name { color: #f0ece6 !important; }
.son-section--dark .son-strip-q    { color: #c8bfb6 !important; }
.son-section--dark .son-strip-item { border-color: #3a3633 !important; }

/* ─── 4. "HOW IT FITS TOGETHER" — the blank dark void ──────── */
/* This section uses .son-section--dark but has inline content
   (not son-strip classes) that renders black on black */
.son-section--dark p,
.son-section--dark li,
.son-section--dark td,
.son-section--dark th,
.son-section--dark span {
  color: #c8bfb6 !important;
}
/* The stage name labels inside that section */
.son-section--dark .son-stage__name { color: #f0ece6 !important; }
.son-section--dark .son-stage__q    { color: #c8bfb6 !important; }
.son-section--dark .son-stage__list li { color: #c8bfb6 !important; }

/* ─── 5. FULL FRAMEWORK GRID at bottom of child pages ───────── */
/* This is plain WP content (no son- classes) rendered as a table/grid.
   The cells have off-white (#f5f4f1) bg — text was default dark, which is fine,
   but the ACTIVE cell and certain cells showed wrong colors.
   Targeting the actual rendered structure: */

/* The framework grid on child pages — make all text readable */
.entry-content table td,
.entry-content table th {
  color: #1a1714 !important;
  font-size: 15px !important;
}

/* The active "you are here" cell — orange text on off-white bg, fine */
/* Non-active cells that were showing as black-on-black:
   They use background-color inline styles of charcoal or similar */
.entry-content table td[style*="background"] {
  color: #f0ece6 !important;
}

/* The framework nav at page bottom — plain paragraph/div content */
/* Numbers like "01", "02" that appear as orange are fine */
/* The descriptive text below them was too small */
.entry-content .son-fw-nav__name { 
  font-size: 1.05rem !important; 
  color: #1a1714 !important;
}
.entry-content .son-fw-nav__q {
  font-size: 13px !important;
  color: #5a5650 !important;
}

/* ─── 6. STRATEGY GRID — larger text ────────────────────────── */
.son-cell-content {
  font-size: 1.3rem !important;
  color: #1a1714 !important;
  line-height: 1.5 !important;
}
.son-strategy-cell--featured .son-cell-content {
  font-size: 1.4rem !important;
  color: #8c3d08 !important;
  font-weight: 700 !important;
}
.son-cell-label {
  font-size: 13px !important;
  color: #5a5650 !important;
  letter-spacing: 0.18em !important;
}

/* ─── 7. STEP NUMBER BLOCKS (Structure page) ─────────────────── */
/* Were rendering as black squares — explicit color overrides */
.son-fw-step--s1 .son-fw-step__num,
.son-fw-step--s1 .son-fw-step__num * { background: #de660c !important; color: #ffffff !important; }
.son-fw-step--s2 .son-fw-step__num,
.son-fw-step--s2 .son-fw-step__num * { background: #b1352f !important; color: #ffffff !important; }
.son-fw-step--s3 .son-fw-step__num,
.son-fw-step--s3 .son-fw-step__num * { background: #83362b !important; color: #ffffff !important; }
.son-fw-step--s4 .son-fw-step__num,
.son-fw-step--s4 .son-fw-step__num * { background: #047a5e !important; color: #ffffff !important; }
/* Also target steps without explicit color classes */
.son-fw-step__num { color: #ffffff !important; }

/* ─── 8. ABOUT PAGE — beliefs list ──────────────────────────── */
.son-belief__text {
  font-size: 1.15rem !important;
  color: #1a1714 !important;
  line-height: 1.6 !important;
}
.son-belief__marker {
  color: #8c3d08 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
/* About page dark sustainable section */
.son-sustainable .son-label { color: #9c9088 !important; }
.son-sustainable h2 { color: #f0ece6 !important; }
.son-sustainable p  { color: #c8bfb6 !important; font-size: 17px !important; }
.son-sustainable .son-pillar__text { color: #f0ece6 !important; }
.son-sustainable .son-pillar { background: #272421 !important; }

/* Pillars list on dark bg */
.son-pillars .son-pillar__text { color: #f0ece6 !important; }

/* ─── 9. QUESTIONS on dark background ───────────────────────── */
.son-question { color: #f0ece6 !important; font-size: 1.2rem !important; }
.son-question::before { color: #06bc8f !important; }

/* ─── 10. GENERAL BODY TEXT SIZE BUMPS ──────────────────────── */
/* Any .son- description/body class that's still too small */
.son-tool__desc    { font-size: 16px !important; color: #302d2a !important; }
.son-fw-step__desc { font-size: 16px !important; color: #302d2a !important; }
.son-step__desc    { font-size: 16px !important; color: #302d2a !important; }
.son-study__body   { font-size: 16px !important; color: #302d2a !important; }
.son-nk-card__desc { font-size: 15px !important; color: #5a5650 !important; }
.son-entity-card__desc { font-size: 15px !important; color: #5a5650 !important; }
.son-question-block__a { font-size: 16px !important; color: #302d2a !important; }
.son-link-rule__desc   { font-size: 15px !important; color: #5a5650 !important; }
.son-sampling-tier__detail { font-size: 15px !important; color: #302d2a !important; }
.son-can-list li   { font-size: 15px !important; color: #302d2a !important; }
.son-fail__desc    { font-size: 15px !important; color: #5a5650 !important; }
.son-unlock__desc  { font-size: 15px !important; color: #5a5650 !important; }
.son-about__bio    { font-size: 17px !important; color: #c8bfb6 !important; }
.son-connect-card__desc { font-size: 15px !important; color: #c8bfb6 !important; }
.son-noise-verdict { font-size: 14px !important; color: #c8bfb6 !important; }

/* ─── 11. HERO body paragraphs ──────────────────────────────── */
.son-hero__body p {
  font-size: 18px !important;
  color: #c8bfb6 !important;
  line-height: 1.8 !important;
}
.son-hero__body p em {
  color: #f0ece6 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

/* ─── 12. ABOUT dark section link ───────────────────────────── */
.son-about a,
.son-about__bio a {
  color: #c8bfb6 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.son-about a:hover,
.son-about__bio a:hover { color: #f0ece6 !important; }