/* V3 editorial/motion pass — loaded after the base styles. */
:root{--chapter-progress:0;--section-lift:32px;--v3-gap:clamp(22px,3vw,48px)}
#metodo{display:none!important}
body{scroll-padding-top:76px}
.chapter-progress{position:fixed;z-index:90;top:61px;left:0;right:0;height:2px;pointer-events:none;background:rgba(17,16,14,.08)}
.chapter-progress>i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(var(--chapter-progress));transform-origin:left;transition:transform .08s linear}
.chapter-section{isolation:isolate;overflow:clip}
.chapter-section:before{content:"";position:absolute;z-index:-1;left:5vw;right:5vw;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--line) 8%,var(--line) 92%,transparent);transform:scaleX(.35);opacity:.4;transform-origin:center;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .7s}
.chapter-section.chapter-active:before{transform:scaleX(1);opacity:1}
.chapter-section .section-heading{transform:translateY(var(--section-lift));opacity:.18;transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .7s}
.chapter-section.chapter-active .section-heading{transform:none;opacity:1}
.chapter-marker{transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .7s;transform:translateY(24px);opacity:.25}
.chapter-active .chapter-marker{transform:none;opacity:1}

/* Strip the process narration from the presentation. */
.positions-heading p,.timeline-section>.sticky-heading p,.graph-heading p{max-width:760px}

/* Legislative impact cards */
.results-grid{align-items:stretch}
.result-card{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.result-card h3,.result-card p,.result-law{overflow-wrap:anywhere}
.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:22px -1px 0;background:var(--line);border:1px solid var(--line)}
.impact-cell{background:var(--paper);padding:16px;min-width:0}
.impact-cell b{display:block;margin-bottom:7px;font:500 9px/1.2 "DM Mono",monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--red)}
.impact-cell p{margin:0!important;font-size:12px!important;line-height:1.5!important;color:#47433d!important;overflow-wrap:anywhere}
.result-card .profile-sources{margin-top:auto;padding-top:20px}
.bill-row{grid-template-columns:120px minmax(180px,.8fr) minmax(0,1.4fr) 90px 28px;align-items:start;min-height:150px;padding:20px 8px;gap:18px}
.bill-impact{display:grid;grid-template-columns:1fr;gap:8px;min-width:0}
.bill-impact span{display:block;font-size:11px;line-height:1.4;color:#4d4942}
.bill-impact b{font:500 8px/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:5px}
.bill-title{font-size:14px;line-height:1.35;overflow-wrap:anywhere}

/* Timeline: archive chapters instead of a skinny rail. */
.timeline-section{display:block!important;padding-top:130px;background:linear-gradient(180deg,var(--bg),#e9e4d8 48%,var(--bg))}
.timeline-section .sticky-heading{position:relative!important;top:auto!important;max-width:1000px;margin-bottom:48px}
.timeline-controls{position:sticky;z-index:16;top:76px;display:flex!important;grid-column:auto!important;padding:12px 0 14px;margin:0 0 36px!important;background:linear-gradient(180deg,rgba(242,239,231,.98) 75%,rgba(242,239,231,0));backdrop-filter:blur(8px)}
.timeline{grid-column:auto!important;position:relative!important;max-width:1320px;margin:0 auto}
.timeline:before{display:none!important}
.timeline-year-group{display:grid;grid-template-columns:minmax(120px,.26fr) minmax(0,1.74fr);gap:clamp(24px,5vw,80px);padding:40px 0 88px;border-top:1px solid var(--ink)}
.timeline-year-heading{position:sticky;top:145px;align-self:start;font-family:Unbounded,sans-serif;font-size:clamp(3rem,7vw,7.5rem);line-height:.78;letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1.2px rgba(17,16,14,.72);transition:color .5s,-webkit-text-stroke .5s}
.timeline-year-group.in-view .timeline-year-heading{color:var(--ink);-webkit-text-stroke:1px var(--ink)}
.timeline-year-events{display:grid;gap:18px;min-width:0}
.timeline .event{display:block!important;padding:0!important;opacity:0;transform:translateY(26px) scale(.985);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.timeline .event.visible,.timeline .event.timeline-visible{opacity:1;transform:none}
.timeline .event-dot,.timeline .event-year{display:none!important}
.timeline .event-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:18px;border:1px solid var(--line)!important;background:rgba(250,248,242,.78);padding:clamp(20px,2.5vw,34px)!important;overflow:hidden;box-shadow:0 0 0 rgba(0,0,0,0);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .35s}
.timeline .event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(.2);transform-origin:top;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.timeline .event[data-tone="decision"] .event-card:before{background:var(--blue)}
.timeline .event[data-tone="context"] .event-card:before{background:var(--lime)}
.timeline .event:hover .event-card,.timeline .event:focus .event-card{transform:translateY(-3px);box-shadow:0 24px 60px rgba(17,16,14,.10);background:var(--paper)}
.timeline .event:hover .event-card:before,.timeline .event:focus .event-card:before{transform:scaleY(1)}
.timeline .event-main{min-width:0}
.timeline .event-meta{margin:0 0 18px!important}
.timeline .event h3{font-size:clamp(1.55rem,2.4vw,2.65rem)!important;max-width:820px;margin-bottom:13px!important;overflow-wrap:anywhere}
.timeline .event p{font-size:15px;max-width:800px!important}
.timeline .event-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:18px;text-align:right}
.event-index{font:500 clamp(2.2rem,4vw,4.5rem)/.85 Unbounded,sans-serif;color:rgba(17,16,14,.1);letter-spacing:-.08em}
.event-evidence{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.source-kind-chip{padding:5px 7px;border:1px solid var(--line);font:500 8px/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.05em;background:rgba(255,255,255,.45)}
.source-kind-chip.official{border-color:rgba(49,88,255,.45);color:#2442bb}
.source-kind-chip.independent{border-color:rgba(243,74,54,.4);color:#ad2e20}
.source-kind-chip.video{border-color:rgba(17,16,14,.35)}
.source-kind-chip.media{border-color:rgba(17,16,14,.25)}
.event-source-count{margin:0!important;font-size:9px!important}

/* Graph: larger canvas and denser but more legible network. */
.graph-section{padding-top:130px}
.graph-shell{min-height:860px!important;border-radius:2px;background:radial-gradient(circle at 50% 43%,rgba(49,88,255,.16),transparent 28%),radial-gradient(circle at 78% 48%,rgba(200,255,74,.055),transparent 25%),#0d0c0a!important}
#relationGraph{min-height:800px!important;height:min(78vh,880px)}
.node circle{transition:transform .28s cubic-bezier(.16,1,.3,1),filter .28s,stroke-width .28s}
.node:hover circle,.node:focus circle{transform:scale(1.09);filter:drop-shadow(0 0 20px rgba(242,239,231,.34));stroke-width:3}
.edge{transition:stroke-opacity .25s,stroke-width .25s}.edge-label{font-size:7.8px!important;fill:#aaa49b!important;paint-order:stroke;stroke:#0d0c0a;stroke-width:3px;stroke-linejoin:round}
.graph-stats{position:absolute;z-index:4;left:18px;top:18px;display:flex;gap:7px;flex-wrap:wrap;max-width:58%}
.graph-stats span{padding:7px 9px;border:1px solid rgba(242,239,231,.2);background:rgba(13,12,10,.72);font:500 8px/1 "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:#aaa49b;backdrop-filter:blur(10px)}
.graph-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:1px;background:rgba(242,239,231,.14);border:1px solid rgba(242,239,231,.14)}
.graph-index button{min-width:0;text-align:left;border:0;background:#151410;color:var(--bg);padding:16px;cursor:pointer;transition:background .2s,transform .2s}
.graph-index button:hover,.graph-index button:focus{background:#24211b;outline:1px solid var(--lime);outline-offset:-1px}
.graph-index b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.graph-index small{display:block;margin-top:5px;font:8px/1.3 "DM Mono",monospace;text-transform:uppercase;color:#8f8980;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Section-to-section motion. */
.section-wipe{position:fixed;z-index:75;left:0;right:0;top:62px;height:4px;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .25s}
.section-wipe:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--red),var(--blue),var(--lime));transform:translateX(-101%)}
body.section-transition .section-wipe{opacity:1}
body.section-transition .section-wipe:before{animation:section-wipe .7s cubic-bezier(.76,0,.24,1)}
@keyframes section-wipe{0%{transform:translateX(-101%)}55%{transform:translateX(0)}100%{transform:translateX(101%)}}
.reveal-panel{will-change:transform,opacity}

@media(max-width:1100px){
  .impact-grid{grid-template-columns:1fr}.bill-row{grid-template-columns:105px minmax(0,.8fr) minmax(0,1.2fr) 75px 20px}.graph-index{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .timeline-year-group{grid-template-columns:86px minmax(0,1fr);gap:22px}.timeline-year-heading{top:136px;font-size:clamp(2.5rem,10vw,5rem);writing-mode:vertical-rl;transform:rotate(180deg)}
  .timeline .event-card{grid-template-columns:1fr}.timeline .event-side{flex-direction:row;align-items:center;text-align:left}.event-evidence{justify-content:flex-start}.event-index{font-size:2.4rem}.graph-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bill-row{grid-template-columns:90px minmax(0,1fr);gap:12px}.bill-impact{grid-column:2}.bill-status{grid-column:1}.bill-arrow{grid-column:2;justify-self:end}
}
@media(max-width:620px){
  .chapter-progress{top:61px}.timeline-section{padding-left:16px!important;padding-right:16px!important}.timeline-controls{top:62px;margin-left:-16px!important;margin-right:-16px!important;padding:10px 16px 18px;overflow-x:auto;flex-wrap:nowrap!important}.filter-btn{white-space:nowrap}
  .timeline-year-group{display:block;padding:26px 0 62px}.timeline-year-heading{position:relative;top:auto;writing-mode:horizontal-tb;transform:none;font-size:3.8rem;margin:0 0 22px}.timeline .event-card{padding:20px!important}.timeline .event h3{font-size:1.55rem!important}.timeline .event-side{align-items:flex-end}.event-evidence{max-width:70%}
  .graph-shell{margin-left:-18px!important;margin-right:-18px!important;min-height:680px!important}#relationGraph{min-height:640px!important;height:680px}.graph-stats{top:70px;max-width:90%}.graph-index{grid-template-columns:1fr 1fr;margin-left:-18px;margin-right:-18px}.graph-index button{padding:13px}
  .impact-cell{padding:14px}.bill-row{grid-template-columns:1fr;min-height:0}.bill-id,.bill-title,.bill-impact,.bill-status,.bill-arrow{grid-column:1}.bill-arrow{justify-self:end;margin-top:-25px}
}
@media(prefers-reduced-motion:reduce){
  .chapter-section .section-heading,.chapter-marker,.timeline .event,.timeline .event-card,.timeline .event-card:before{transition:none!important;transform:none!important;opacity:1!important}.section-wipe,.chapter-progress{display:none!important}
}