/* V5 — plain-language, evidence-strength and overflow hardening */
:root{--copy-max:72ch}
.section-heading p{max-width:var(--copy-max)!important;font-size:clamp(15px,1.35vw,18px)!important;line-height:1.62!important}
.result-card,.position-card,.plan-card,.career-stop,.event-card,.graph-index button,.footprint-card{min-width:0;overflow-wrap:anywhere;word-break:normal}
.result-card,.position-card,.plan-card{height:auto!important;min-height:0!important}
.profile-source,.plain-source{min-width:0}.profile-source span,.plain-source span{min-width:0;overflow-wrap:anywhere}

.plain-language-explainer{margin:clamp(38px,6vw,86px) 0 20px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:22px 0 34px}
.plain-language-kicker{font:600 9px/1 "DM Mono",monospace;letter-spacing:.12em;color:var(--red);margin-bottom:26px}
.plain-language-grid{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:clamp(26px,5vw,78px)}
.plain-language-title span{display:block;font:600 clamp(3.8rem,8vw,8rem)/.8 Unbounded,sans-serif;letter-spacing:-.08em;color:rgba(17,16,14,.12);margin-bottom:18px}
.plain-language-title h3{font:600 clamp(1.6rem,2.7vw,3.1rem)/1.02 Unbounded,sans-serif;letter-spacing:-.045em;margin:0;max-width:520px}
.plain-language-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.plain-language-copy>div{background:var(--paper);padding:18px;min-width:0}
.plain-language-copy b{display:block;margin-bottom:8px;font:600 9px/1.2 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.plain-language-copy p{margin:0;font-size:13px;line-height:1.55;color:#45413b}
.plain-language-copy .spin-check{grid-column:1/-1;background:#11100e;color:var(--warm);padding:22px}
.plain-language-copy .spin-check b{color:var(--acid)}
.plain-language-copy .spin-check p{color:#d5d0c6;font-size:14px;max-width:78ch}
.plain-language-sources{grid-column:1/-1!important;display:grid;gap:1px;padding:0!important;background:var(--line)!important}
.plain-source{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;background:var(--paper);font-size:11px;line-height:1.4}
.plain-source small{font:500 8px/1.3 "DM Mono",monospace;text-transform:uppercase;color:var(--muted);white-space:nowrap}

/* Plain-language impact / beneficiary labels. These describe who is directly affected, not impropriety. */
.benefit-flag{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;align-items:start;margin:14px 0 4px;padding:11px 12px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.benefit-flag b{font:600 8px/1.25 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--red);white-space:nowrap}
.benefit-flag span{font-size:11px;line-height:1.42;color:#47433d;min-width:0}
.benefit-flag.compact{margin:0 0 6px;padding:9px 0;border-top:0;border-bottom:1px solid var(--line);grid-template-columns:100px minmax(0,1fr)}
.named-beneficiary{display:block;margin-top:9px;padding:7px 9px;background:rgba(200,255,74,.28);font:600 8px/1.35 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.04em;color:#333}

.evidence-strength{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:start;margin-bottom:12px;padding:10px 12px;border:1px solid rgba(17,16,14,.14);background:rgba(255,255,255,.42)}
.evidence-strength b{font:600 8px/1.2 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--red);white-space:nowrap}
.evidence-strength span{font-size:10px;line-height:1.35;color:var(--muted)}

/* Prevent graph labels from escaping circles: labels are smaller and wrapped more aggressively. */
#relationGraph .node text{font-size:10px!important;pointer-events:none}
#relationGraph .node.focus text{font-size:11px!important}
#relationGraph .node tspan{dominant-baseline:middle;text-anchor:middle}
#relationGraph .edge-label{font-size:7px!important;max-width:120px}

/* Horizontal timeline: one thought per card, large breathing room, reverse chronology. */
.timeline-v4-stage{overflow:hidden}
.timeline-v4-stage .timeline{align-items:stretch}
.timeline-v4-stage .event{width:min(68vw,760px)!important;min-width:min(68vw,760px)!important;max-width:760px!important}
.timeline-v4-stage .event-card{height:100%;min-height:470px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;padding:clamp(22px,3vw,38px)!important}
.timeline-v4-stage .event h3{font-size:clamp(1.7rem,2.8vw,3rem)!important;line-height:1.03!important;max-width:18ch!important}
.timeline-v4-stage .event p{font-size:clamp(13px,1.2vw,16px)!important;line-height:1.58!important;max-width:58ch!important}
.timeline-v4-stage .event-footer{margin-top:auto;padding-top:24px;display:grid;gap:10px}
.timeline-v4-stage .event.is-current{opacity:1!important;transform:scale(1)!important}
.timeline-v4-stage .event.is-past,.timeline-v4-stage .event.is-future{opacity:.45;transform:scale(.94)}
.timeline-v4-stage .event{transition:opacity .45s ease,transform .55s cubic-bezier(.16,1,.3,1)}

@media(max-width:900px){
  .plain-language-grid{grid-template-columns:1fr}.plain-language-copy{grid-template-columns:1fr}.plain-language-copy .spin-check,.plain-language-sources{grid-column:1}
  .timeline-v4-stage .event{width:82vw!important;min-width:82vw!important}.timeline-v4-stage .event-card{min-height:0!important}
  .benefit-flag{grid-template-columns:1fr}.benefit-flag b{white-space:normal}
}
@media(max-width:620px){
  .plain-language-title span{font-size:4rem}.plain-language-title h3{font-size:1.6rem}.plain-language-copy>div{padding:15px}
  .timeline-v4-stage .event{width:88vw!important;min-width:88vw!important}.timeline-v4-stage .event h3{max-width:none!important}
  #relationGraph .node text{font-size:9px!important}
  .benefit-flag.compact{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.timeline-v4-stage .event,.timeline-v4-stage .event.is-current,.timeline-v4-stage .event.is-past,.timeline-v4-stage .event.is-future{transition:none!important;transform:none!important;opacity:1!important}}
