:root {
 --paper:#f7f3e9; --sand:#eee8dc; --ink:#153c32; --muted:#4e5d53; --lime:#d9f26b; --rust:#923d28; --line:#c9ccba; --dark-line:#537367;
 --display:'Bricolage Grotesque',Arial,sans-serif; --body:'Lora',Georgia,serif; --mono:'Spline Sans Mono',monospace;
 color-scheme:light; font-size:100%; scroll-behavior:smooth; scroll-padding-top:8rem;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}a{color:inherit;text-underline-offset:.25em}button{font:inherit;color:inherit}
a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:3px solid var(--rust);outline-offset:5px}
main:focus{outline:none}button:disabled{opacity:.45;cursor:default}
::selection{background:var(--lime);color:#153c32}[hidden]{display:none!important}
svg{width:1.25rem;height:1.25rem;flex-shrink:0;vertical-align:middle}
.wrap{width:calc(100% - 6rem);max-width:75rem;margin-inline:auto}
.section{padding-block:6.25rem}section[id]{scroll-margin-top:2rem}
.eyebrow{display:flex;align-items:center;gap:.65rem;font-family:var(--mono);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.09em;line-height:1.6}
.section-index{font-size:.75rem;min-width:1.75rem;line-height:1.75rem;text-align:center;border:1px solid currentColor;border-radius:50%;letter-spacing:0}
.status-dot{display:inline-block;width:.45rem;height:.45rem;flex-shrink:0;background:var(--rust);border-radius:50%}
.prose{font-size:1.06rem;line-height:1.85;color:var(--muted)}.small{font-size:.85rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;z-index:99;left:1rem;top:0;transform:translateY(-150%);background:var(--ink);color:var(--lime);font-family:var(--display);font-weight:600;padding:1rem 1.5rem}.skip:focus{transform:translateY(0)}
/* Quiet utility strip, always accessible from the keyboard. */
.accessibility{background:var(--sand);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.75rem;line-height:1}
.accessibility-inner{min-height:3rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.access-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase}
.access-controls{display:flex;align-items:center;gap:1.1rem}
.access-controls button{border:0;background:transparent;min-width:2.75rem;min-height:2.75rem;cursor:pointer}
.access-controls button:hover{background:var(--paper)}
#contrast{display:flex;align-items:center;gap:.6rem;padding:0 .6rem;font-family:var(--mono);font-size:.75rem}
#contrast[aria-pressed=true]{font-weight:700}.contrast-symbol{font-size:1.1rem;line-height:1}
.font-controls{display:flex;align-items:center;gap:.2rem;border-left:1px solid var(--line);padding-left:.5rem}
.font-controls button{font-size:.85rem;font-weight:600}.font-controls output{min-width:3.2rem;text-align:center;font-size:.75rem}
/* Navigation remains present at every width. */
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{min-height:6rem;display:flex;gap:2rem;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0;transition:opacity .2s}
.brand:hover{opacity:.75}.brand svg{width:2.7rem;height:auto;color:var(--ink)}
.brand>span{font-family:var(--display);font-size:1.1rem;font-weight:500;line-height:1.02;letter-spacing:-.02em}.brand b{font-weight:800}
.nav{display:flex;align-items:center;gap:1.9rem;margin-left:auto}
.nav a{font-family:var(--display);font-weight:600;font-size:.88rem;text-decoration:none;position:relative;padding:.6rem 0;white-space:nowrap}
.nav a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav a:hover::after,.nav a[aria-current=location]::after{transform:scaleX(1)}
.button{background:var(--ink);color:var(--lime);border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.35rem;min-height:3.4rem;border-radius:.2rem;text-decoration:none;font-family:var(--display);font-size:.95rem;font-weight:650;line-height:1.25;transition:background .18s,color .18s,box-shadow .18s}
.button:hover{background:var(--lime);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.button svg{width:1.1rem;height:1.1rem}
.header-cta{background:var(--lime);color:var(--ink);border-color:transparent;min-height:2.9rem;padding:.75rem 1.1rem;font-size:.88rem;margin-left:.5rem}.header-cta:hover{border-color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--display);font-weight:650;font-size:.95rem;line-height:1.5;text-decoration:none;min-height:2.75rem}.text-link:hover{text-decoration:underline}
/* Campaign opening and the equality poster. */
.hero{padding:4.5rem 0 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);gap:4rem;align-items:center}
.hero-eyebrow{margin-bottom:1.7rem}
.hero h1{font-family:var(--display);font-size:clamp(3rem,5.6vw,5rem);font-weight:750;line-height:1.055;letter-spacing:-.055em}
.hero h1 mark{display:inline-block;background:var(--lime);color:var(--ink);padding:0 .11em .07em;margin-top:.04em;line-height:.98;transform:rotate(-1.6deg);border-radius:.04em}
.hero-description{max-width:34rem;margin-top:1.8rem;font-size:1.14rem;line-height:1.8;color:var(--muted)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}
.hero-note{font-size:.77rem;color:var(--muted);margin-top:.9rem}
.poster{background:var(--ink);color:var(--paper);padding:1.6rem 1.8rem 1.3rem;position:relative;overflow:hidden;box-shadow:.5rem .5rem 0 var(--lime);border:1px solid var(--ink);min-width:0}
.poster-top{display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--dark-line);padding-bottom:1rem}
.poster-top span:last-child{color:var(--lime);white-space:nowrap}
.equal-art{height:15.25rem;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.equal-mark{width:min(76%,16rem);height:auto;color:var(--lime)}
.art-cross{position:absolute;color:var(--lime);font-family:var(--mono);font-size:1.3rem}.cross-one{top:1.2rem;left:1.2rem}.cross-two{bottom:1.2rem;right:1.2rem}
.poster-statement{font-family:var(--display);font-size:clamp(1.3rem,2.1vw,1.8rem);font-weight:600;line-height:1.25;letter-spacing:-.025em;margin:0 0 1.45rem}.poster-statement>span{color:var(--lime)}
.poster-bottom{display:flex;gap:.8rem;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--dark-line);padding-top:1rem;font-family:var(--mono);font-size:.75rem;letter-spacing:-.015em}
.campaign-facts{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;margin-top:4.25rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding-block:1.5rem}
.fact{padding-inline:1.6rem;min-width:0;border-left:1px solid var(--line)}.fact:first-child{padding-left:0;border:0}.fact:last-child{padding-right:0}
.fact-label{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;display:block;color:var(--muted);margin-bottom:.45rem}
.fact a{text-decoration:none;font-family:var(--display);font-size:1.02rem;font-weight:650;line-height:1.4;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-height:2.8rem}.fact a:hover{text-decoration:underline}.fact svg{width:1rem;height:1rem}
.fact-idea a>span{display:block;width:100%;order:1;font-family:var(--mono);font-size:.75rem;font-weight:400;color:var(--muted)}
.fact p{font-family:var(--display);font-size:1.1rem;line-height:1.5}.fact p>strong{font-size:1.8rem;font-weight:650;letter-spacing:-.035em}.fact p>span{font-size:.9rem}.fact p.deadline{font-size:1.3rem}.fact p.deadline strong{font-size:1.3rem;font-weight:600;letter-spacing:0}.fact-count a{font-size:.95rem}
/* Three clear principles, with editorial rules instead of decorative cards. */
.section-heading{max-width:53rem;margin-bottom:3rem}
.section h2{font-family:var(--display);font-weight:650;font-size:clamp(2rem,3.35vw,3rem);line-height:1.15;letter-spacing:-.035em;margin-top:1.4rem}
.underline{text-decoration:underline;text-decoration-color:var(--rust);text-decoration-thickness:.06em;text-underline-offset:.12em}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.principle{border-top:2px solid var(--ink);padding-top:1.4rem}.principle-number{font-family:var(--mono);font-size:.75rem;color:var(--rust);display:block;margin-bottom:1.25rem}
.principle h3{font-family:var(--display);font-size:1.65rem;font-weight:650;line-height:1.2;letter-spacing:-.02em;max-width:17rem;margin-bottom:1rem}.principle p{font-size:1rem;color:var(--muted);line-height:1.8}
/* Source material and the citizen's motivation. */
.why-section{background:var(--sand);border-top:1px solid var(--line)}
.editorial-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:5.5rem;align-items:start}
.section-intro{position:sticky;top:8.25rem}.section-intro h2{margin-bottom:1.5rem}.section-intro .prose+.prose{margin-top:1.1rem}
.editorial-note{font-size:.79rem;line-height:1.75;color:var(--muted);margin-top:1.5rem;padding-left:1rem;border-left:2px solid var(--rust)}
.news-item{padding:1.6rem 0 1.75rem;border-top:1px solid var(--line)}.news-item:first-child{border-top-color:var(--ink);padding-top:1.4rem}.news-item:last-child{border-bottom:1px solid var(--line)}
.news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;font-family:var(--mono);font-size:.75rem;color:var(--muted);line-height:1.6;margin-bottom:.6rem}.news-meta span:first-child{color:var(--rust);font-weight:600}.news-meta span+span::before{content:'·';margin-right:.7rem}
.news-item h3{font-family:var(--display);font-size:1.38rem;font-weight:650;line-height:1.3;letter-spacing:-.015em;margin-bottom:.65rem}.news-item h3 a{text-decoration:none}.news-item h3 a:hover{text-decoration:underline}.news-item h3 svg{width:1rem;height:1rem;display:inline-block;margin-left:.35rem;vertical-align:baseline}.news-item>p{color:var(--muted);font-size:.92rem;line-height:1.8}
.source-link{font-family:var(--mono);font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;margin-top:.2rem;color:var(--rust);text-decoration:none}.source-link:hover{text-decoration:underline}.source-link svg{width:.9rem;height:.9rem}
/* Draft: visibly pending until the real document is supplied. */
.draft-section{background:var(--ink);color:var(--paper)}
.draft-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7rem;align-items:center}
.draft-section .eyebrow{color:var(--lime)}.draft-intro h2{font-size:clamp(2.75rem,4.4vw,4rem);margin-bottom:1.5rem}.draft-intro h2>span{color:var(--lime)}.draft-intro .prose{color:#e0e5d7;max-width:30rem}.draft-intro .text-link{color:var(--lime);margin-top:1.65rem}.draft-note{font-size:.8rem;color:#d3decf;margin-top:.6rem}
.draft-section a:focus-visible,.footer a:focus-visible{outline-color:var(--lime)}
.document-card{background:var(--paper);color:var(--ink);padding:2.25rem;box-shadow:.55rem .55rem 0 var(--dark-line);position:relative;border:1px solid var(--line)}
.document-meta{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-bottom:1.4rem;border-bottom:1px solid var(--line)}.document-mark{font-family:var(--body);font-size:2rem;line-height:1;color:var(--rust)}
.document-card h3{font-family:var(--display);font-size:2.05rem;font-weight:650;line-height:1.1;letter-spacing:-.035em;margin:1.5rem 0}
.document-status{display:flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--rust);line-height:1.6;margin-bottom:.8rem}.document-card>p{font-size:.95rem;line-height:1.85;color:var(--muted);max-width:25rem}
.document-formats{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.4rem}.document-formats>span,.document-formats>a{font-family:var(--display);font-size:.85rem;font-weight:600;display:inline-flex;gap:.65rem;align-items:center;border:1px solid var(--line);padding:.5rem .8rem;min-height:2.75rem;text-decoration:none}
.document-formats>a:hover{border-color:var(--ink);background:var(--sand)}.document-formats small{font-family:var(--mono);font-size:.75rem;font-weight:400;color:var(--muted)}
.document-contact{display:flex;justify-content:space-between;align-items:center;gap:.7rem;min-height:3.2rem;margin-top:1.75rem;border-top:1px solid var(--line);font-family:var(--display);font-size:.8rem;font-weight:600;text-decoration:none;padding-top:.7rem}.document-contact:hover{text-decoration:underline}.document-card a:focus-visible{outline-color:var(--rust)}
/* A single strong mobilisation area. */
.support-section{background:var(--lime);border-bottom:1px solid var(--ink)}
.support-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:4rem;align-items:end}.support-intro h2{margin-top:1.5rem}
.support-number{display:block;font-size:clamp(5.3rem,10vw,8.2rem);line-height:.88;font-weight:750;letter-spacing:-.065em}
.support-unit{display:block;font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:600;letter-spacing:-.025em;margin-top:1.2rem;line-height:1.25;max-width:25rem}
.support-copy{max-width:25rem;padding-bottom:.25rem;font-size:1.15rem;line-height:1.8}.support-copy>.small{margin-top:.75rem;font-size:.78rem}
.support-steps{list-style:none;padding:0;margin:3.2rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.support-steps li{border-top:1px solid var(--ink);padding-top:1rem;display:flex;gap:1rem;align-items:flex-start}
.step-number{font-family:var(--mono);font-size:.75rem;line-height:1.75rem;min-width:1.75rem;height:1.75rem;border:1px solid var(--ink);border-radius:50%;text-align:center;display:inline-block;flex-shrink:0}
.support-steps p{font-size:.95rem;line-height:1.8}.support-steps strong{font-weight:600}
.support-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.75rem;margin-top:2.5rem}.support-actions .button:hover{background:var(--paper)}.support-actions>p{font-size:.85rem}
.author-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:6rem}
.author-signature{font-family:var(--display);font-size:3.1rem;font-weight:750;line-height:1;letter-spacing:-.04em;margin-top:2rem}.author-signature>span{display:block;font-family:var(--mono);font-size:.75rem;font-weight:400;letter-spacing:.02em;margin-top:1.3rem}
.author-copy h2{margin:0 0 1.25rem;font-size:1.75rem}.author-copy .prose+.prose{margin-top:1.1rem}
.social-links{display:flex;flex-wrap:wrap;column-gap:1.5rem;row-gap:.25rem;margin-top:1.4rem}.social-links a{font-family:var(--display);font-size:.83rem;font-weight:600;display:inline-flex;gap:.35rem;align-items:center;min-height:2.75rem;text-decoration:none;overflow-wrap:anywhere}.social-links a:hover{text-decoration:underline}.social-links svg{width:.9rem;height:.9rem}
.footer{background:var(--ink);color:var(--paper);padding:3rem 0 2rem}.footer-top{display:flex;align-items:center;gap:4rem;padding-bottom:2rem;border-bottom:1px solid var(--dark-line)}.footer .brand svg{color:var(--paper)}.footer-top>p{font-size:1.1rem;line-height:1.5}.footer-top>p>em{font-weight:500;color:var(--lime)}
.back-top{font-family:var(--mono);font-size:.75rem;text-decoration:none;min-height:2.75rem;display:inline-flex;align-items:center;margin-left:auto}.back-top:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:3rem;padding-top:1.5rem;font-family:var(--mono);font-size:.75rem;color:#d3decf;line-height:1.9}.footer-bottom>div{max-width:48rem}.footer-bottom p+p{margin-top:.4rem}.copyright{white-space:nowrap}
/* Higher contrast retains the hierarchy without dimming any paragraph. */
html.high-contrast{--paper:#fff;--sand:#fff;--ink:#001b11;--muted:#172c22;--lime:#edff00;--rust:#783000;--line:#6e7d72;--dark-line:#adbdac}
html.high-contrast .draft-intro .prose,html.high-contrast .draft-note,html.high-contrast .footer-bottom{color:#fff}
html.high-contrast .poster-top,html.high-contrast .poster-bottom{color:#fff}
@media(max-width:1100px){
 .wrap{width:calc(100% - 4rem)}.header-inner{gap:1.5rem}.nav{gap:1.2rem}
 .hero-grid{gap:2.5rem;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.hero h1{font-size:clamp(3.2rem,5.9vw,4.5rem)}.hero-description{font-size:1.05rem}.hero-actions{gap:.9rem}.hero-actions .button{padding:.9rem 1.1rem;font-size:.85rem}.hero-actions .text-link{font-size:.85rem}
 .poster{padding:1.5rem}.poster-bottom{gap:.4rem;font-size:.75rem}.equal-art{height:14rem}
 .editorial-grid{gap:3rem}.draft-grid{gap:4rem}.fact{padding-inline:1rem}.fact-idea a>span{font-size:.75rem}.campaign-facts{grid-template-columns:1.35fr .95fr 1fr 1.05fr}.principles,.support-steps{gap:1.8rem}.support-intro{gap:2rem}.author-grid{gap:3.5rem}
}
@media(max-width:850px){
 :root{scroll-padding-top:9rem}.wrap{width:calc(100% - 3rem)}
 .header-inner{min-height:5rem;flex-wrap:wrap;gap:0 1rem;padding-block:.8rem}.brand svg{width:2.25rem;height:auto}.brand>span{font-size:1rem}.nav{order:3;width:100%;justify-content:space-between;margin-top:.65rem;border-top:1px solid var(--line);padding-top:.3rem;gap:.8rem}.nav a{font-size:.8rem;padding:.45rem 0}.header-cta{margin-left:auto}
 .hero{padding-top:3.2rem}.hero-grid{gap:2rem;align-items:start}.hero h1{font-size:clamp(2.75rem,6.2vw,3.6rem)}.hero-eyebrow{font-size:.75rem;margin-bottom:1.25rem}.hero-description{font-size:1rem;margin-top:1.35rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:.7rem;margin-top:1.5rem}.hero-note{font-size:.75rem}
 .poster{padding:1.2rem;align-self:center}.poster-top{font-size:.75rem}.equal-art{height:12rem}.equal-mark{width:min(80%,13rem)}.poster-statement{font-size:1.35rem}.poster-bottom{font-size:.75rem;column-gap:.65rem}
 .campaign-facts{margin-top:3rem;grid-template-columns:1fr 1fr;padding-block:0}.fact{padding:1.25rem 1rem}.fact:first-child{padding:1.25rem 1rem 1.25rem 0}.fact:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.fact:nth-child(4){border-top:1px solid var(--line)}.fact-idea a>span{font-size:.75rem}.fact-label{font-size:.75rem}
 .section{padding-block:4.5rem}.section-heading{max-width:40rem}.section h2{font-size:2.2rem}.principles{gap:1.3rem}.principle h3{font-size:1.4rem}.principle p{font-size:.92rem}
 .editorial-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.section-intro{position:static;max-width:42rem}.section-intro .prose{font-size:1.05rem}.news-list{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.news-item{min-width:0}.news-item h3{font-size:1.25rem}.news-item:last-child{grid-column:1/-1}
 .draft-grid{gap:2.5rem}.draft-intro h2{font-size:2.6rem}.draft-intro .prose{font-size:1rem}.document-card{padding:1.5rem}.document-card h3{font-size:1.8rem}.document-status{font-size:.75rem}
 .support-intro{align-items:center}.support-number{font-size:6rem}.support-unit{font-size:1.4rem}.support-copy{font-size:1rem}.support-steps{gap:1.5rem}.support-steps li{flex-direction:column;gap:.75rem}.support-steps p{font-size:.9rem}
 .author-grid{gap:2.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr)}.author-signature{font-size:2.7rem}.author-copy h2{font-size:1.75rem}.footer-top{gap:2rem}.footer-bottom{flex-direction:column;gap:1rem}
}
@media(max-width:600px){
 :root{scroll-padding-top:8rem}.wrap{width:calc(100% - 2.5rem)}
 .accessibility-inner{min-height:2.75rem}.access-label{font-size:.75rem;letter-spacing:0}.access-controls{gap:.25rem}#contrast{font-size:.75rem;gap:.35rem;padding:0 .35rem}.font-controls{gap:0;padding-left:.2rem}.font-controls button{min-width:2.3rem;font-size:.75rem}.font-controls output{font-size:.75rem;min-width:2.6rem}
 .header-inner{padding-block:.75rem .3rem}.header-cta{padding:.6rem .9rem;min-height:2.75rem;font-size:.8rem;gap:.65rem}.nav{gap:.5rem;margin-top:.65rem;padding-top:.1rem}.nav a{font-size:.75rem;min-height:2.75rem;display:inline-flex;align-items:center}
 .hero{padding-top:2.6rem}.hero-grid{grid-template-columns:1fr;gap:2.25rem}.hero-eyebrow{font-size:.75rem;margin-bottom:1.3rem}.hero h1{font-size:clamp(2.65rem,10.8vw,4.1rem);letter-spacing:-.05em;line-height:1.1}.hero h1 mark{padding-bottom:.05em}.hero-description{font-size:1.07rem;line-height:1.8;margin-top:1.5rem;max-width:32rem}
 .hero-actions{flex-direction:row;align-items:center;gap:.7rem 1.4rem;margin-top:1.6rem}.hero-actions .button{min-height:3.3rem;font-size:.89rem;padding:.95rem 1.05rem}.hero-actions .text-link{font-size:.88rem}.hero-note{font-size:.75rem;line-height:1.7;max-width:25rem}
 .poster{width:100%;padding:1.3rem 1.4rem 1rem;box-shadow:.35rem .35rem 0 var(--lime)}.poster-top{font-size:.75rem;padding-bottom:.8rem}.equal-art{height:11.8rem}.poster-statement{font-size:1.7rem;margin-bottom:1.25rem}.poster-bottom{font-size:.75rem;gap:.5rem;padding-top:.8rem}
 .campaign-facts{margin-top:2.5rem}.fact{padding:1.2rem 0 1.2rem 1rem}.fact:first-child{padding-block:1.2rem}.fact-idea a{font-size:.98rem;gap:.3rem}.fact-idea a>span{font-size:.75rem;max-width:9rem}.fact p>strong{font-size:1.7rem}.fact p>span{font-size:.8rem}.fact-label{font-size:.75rem}.fact-count a{font-size:.9rem;gap:.4rem;flex-wrap:nowrap;line-height:1.5}.fact-count svg{width:.8rem;height:.8rem}
 .section{padding-block:3.6rem}.eyebrow{font-size:.75rem;gap:.6rem;letter-spacing:.04em}.section-index{font-size:.75rem;min-width:1.6rem;line-height:1.6rem}.section h2{font-size:2.05rem;line-height:1.17;margin-top:1.15rem;letter-spacing:-.035em}.section-heading{margin-bottom:2.2rem}
 .principles{grid-template-columns:1fr;gap:1.9rem}.principle{padding-top:1.15rem;display:grid;grid-template-columns:2rem 1fr;gap:0 .7rem}.principle-number{grid-row:1/3;margin:0;padding-top:.15rem}.principle h3{max-width:none;font-size:1.55rem;margin-bottom:.65rem}.principle p{font-size:1rem;line-height:1.85}
 .editorial-grid{gap:2rem}.section-intro h2{margin-bottom:1.4rem}.section-intro .prose{font-size:1rem}.editorial-note{font-size:.78rem;margin-top:1.25rem}.news-list{grid-template-columns:1fr;gap:0}.news-item{padding-block:1.4rem}.news-item h3{font-size:1.35rem;line-height:1.3}.news-item>p{font-size:.95rem}.news-meta{font-size:.75rem}.source-link{font-size:.75rem}
 .draft-grid{grid-template-columns:1fr;gap:2rem}.draft-intro h2{font-size:2.7rem;margin-bottom:1.3rem}.draft-intro .prose{font-size:1rem}.draft-intro .text-link{margin-top:1.1rem}.document-card{padding:1.5rem;box-shadow:.35rem .35rem 0 var(--dark-line)}.document-meta{font-size:.75rem}.document-card h3{font-size:2rem;margin-top:1.25rem}.document-status{font-size:.75rem}.document-card>p{font-size:.96rem}
 .support-intro{grid-template-columns:1fr;gap:1.7rem}.support-number{font-size:clamp(5.2rem,22vw,7.5rem)}.support-unit{font-size:1.5rem;max-width:21rem;margin-top:1rem}.support-copy{font-size:1rem;max-width:30rem}.support-copy>.small{font-size:.76rem}.support-steps{grid-template-columns:1fr;gap:1.25rem;margin-top:2.3rem}.support-steps li{flex-direction:row;gap:1rem;padding-top:1.1rem}.support-steps p{font-size:.98rem}.support-actions{gap:1rem;margin-top:2rem}.support-actions .button{font-size:.95rem;width:100%}.support-actions>p{font-size:.8rem;width:100%;text-align:center}
 .author-grid{grid-template-columns:1fr;gap:1.8rem}.author-signature{display:none}.author-copy h2{font-size:2.2rem;margin-top:0}.author-copy .prose{font-size:1rem}.social-links{column-gap:1.4rem;row-gap:.3rem}.social-links a{font-size:.85rem}
 .footer{padding-block:2.25rem 1.7rem}.footer-top{flex-wrap:wrap;gap:1.5rem;justify-content:space-between}.footer-top>p{font-size:.95rem;text-align:right}.back-top{width:100%;margin-left:0;border-top:1px solid var(--dark-line);padding-top:1rem}.footer-bottom{font-size:.75rem;padding-top:1.2rem;line-height:2}.footer .brand>span{font-size:1rem}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 2rem)}.access-label{font-size:.75rem}.access-controls button{min-width:2rem}.font-controls output{min-width:2.2rem}.hero h1{font-size:2.65rem}.poster-bottom{font-size:.75rem}.poster-statement{font-size:1.5rem}.section h2{font-size:1.9rem}.nav a{font-size:.75rem}.hero-actions .button{width:100%}.hero-actions .text-link{margin-top:.2rem}.document-card{padding:1.25rem}.document-status{font-size:.75rem}.fact-count a{font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
 .accessibility,.site-header,.hero-actions,.support-actions,.social-links,.back-top{display:none}.wrap{width:100%;max-width:none}.section{padding:1.5rem 0;break-inside:avoid}.hero{padding-top:0}.hero-grid{grid-template-columns:1fr 1fr;gap:2rem}.poster{box-shadow:none}.section-intro{position:static}.editorial-grid,.draft-grid,.author-grid{gap:2rem}.footer{padding:1rem 0}.campaign-facts{margin-top:2rem}.document-card{box-shadow:none}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Reflow enlarged accessibility controls rather than widening the page. */
@media(max-width:600px){
 .accessibility-inner{flex-wrap:wrap;padding-block:.15rem;gap:0 .5rem}
 .access-label{line-height:1.7}
 .access-controls{margin-left:auto;flex-shrink:0}
 .nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}
 .nav a{white-space:normal;line-height:1.3;min-width:0}
 .support-number{font-size:clamp(3.5rem,22vw,7.5rem)}
}
@media(max-width:360px){
 .access-label{display:none}
 .accessibility-inner{justify-content:center}
 .access-controls{margin-inline:auto}
 .header-inner{column-gap:.5rem}
 .header-cta{padding-inline:.65rem;gap:.4rem}
}

/* ============================================================
   CONSERTOS DE RÉGUA — 30/10/2026
   1. A barra de acessibilidade quebra em linhas em vez de
      alargar a página (estourava 6px a 320px com letra a 130%).
   2. Todo alvo de toque com 44px (2.75rem) nos dois lados.
   Nada aqui muda cor, tipo ou composição.
   ============================================================ */

/* 1 — a barra de acessibilidade reflui */
@media(max-width:600px){
 .accessibility-inner{flex-wrap:wrap;row-gap:.1rem}
 .access-controls{flex-wrap:wrap;justify-content:center;flex-shrink:1;margin-inline:auto;column-gap:.25rem;row-gap:.1rem}
 .font-controls{border-left:0;padding-left:0}
}
@media(max-width:360px){
 .accessibility-inner{justify-content:center}
}

/* 2 — alvos de toque: 44px nos dois lados, sem mexer na composição */
.access-controls button,
.font-controls button{min-width:2.75rem;min-height:2.75rem}
@media(max-width:600px){
 .font-controls button{min-width:2.75rem}
 .font-controls output{min-width:2.8rem}
}
@media(max-width:360px){
 .access-controls button{min-width:2.75rem}
 .font-controls output{min-width:2.5rem}
}

.brand{min-height:2.75rem}
.nav a{padding-block:.65rem}
@media(max-width:850px){
 .nav a{min-height:2.75rem;min-width:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding-block:.45rem}
}

/* links curtos ("MPF", "X"): a caixa clicável cresce, o texto fica onde está */
.source-link,
.social-links a{min-width:2.75rem}

/* botão secundário e volta — usados na página da minuta */
.button.secundario{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.button.secundario:hover{background:var(--ink);color:var(--lime)}
.volta{text-decoration:none;font-family:var(--mono);letter-spacing:.09em;display:inline-flex;align-items:center;min-height:2.75rem}
.volta:hover{text-decoration:underline}


/* Privacidade: bloco que abre e fecha, no rodapé. Quieto de propósito. */
.privacidade{border-bottom:1px solid var(--dark-line)}
.privacidade summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.4rem;font-family:var(--display);font-size:.95rem;font-weight:650;color:var(--paper)}
.privacidade summary::-webkit-details-marker{display:none}
.privacidade summary:hover{color:var(--lime)}
.privacidade summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.priv-sinal{position:relative;width:1rem;height:1rem;flex-shrink:0}
.priv-sinal::before,.priv-sinal::after{content:'';position:absolute;background:var(--lime);left:0;top:50%;width:1rem;height:2px;margin-top:-1px}
.priv-sinal::after{transform:rotate(90deg);transition:transform .2s}
.privacidade[open] .priv-sinal::after{transform:rotate(0)}
.priv-corpo{padding-bottom:1.6rem;max-width:46rem}
.priv-corpo p{font-size:.9rem;line-height:1.85;color:#cfd9c6}
.priv-corpo p+p{margin-top:.8rem}
.priv-dominio{font-family:var(--mono);font-size:.85rem;color:var(--paper)}
.footer-link{color:inherit;text-decoration:underline;text-underline-offset:.2em}
html.high-contrast .priv-corpo p{color:#fff}
@media(max-width:600px){
 .privacidade summary{font-size:.9rem}
 .priv-corpo p{font-size:.88rem}
}
@media print{.privacidade{display:none}}

/* Barra de apoio: aparece só dentro de "O porquê" e some sozinha.
   Nunca cobre o fim do documento — o corpo ganha folga enquanto ela está no ar. */
.apoio-barra{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);color:var(--paper);
 border-top:3px solid var(--lime);box-shadow:0 -.6rem 1.6rem rgba(18,22,28,.22)}
.apoio-barra[hidden]{display:none}
.apoio-barra-dentro{width:calc(100% - 6rem);max-width:75rem;margin-inline:auto;display:flex;flex-wrap:wrap;
 gap:.7rem 2rem;align-items:center;justify-content:space-between;padding-block:.85rem}
.apoio-barra p{font-family:var(--display);font-size:1rem;font-weight:600;line-height:1.4}
.apoio-barra-forte{color:var(--lime)}
.apoio-barra-botao{background:var(--lime);color:var(--ink);border-color:var(--lime);min-height:2.9rem;
 padding:.7rem 1.1rem;font-size:.9rem;gap:.8rem}
.apoio-barra-botao:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.apoio-barra-botao:focus-visible{outline-color:var(--lime)}
html.com-apoio-barra{scroll-padding-bottom:8rem}
html.com-apoio-barra body{padding-bottom:5.5rem}
html.high-contrast .apoio-barra{border-top-width:4px}
@media(max-width:600px){
 .apoio-barra-dentro{width:calc(100% - 2rem);padding-block:.5rem;gap:.7rem;flex-wrap:nowrap}
 .apoio-barra p{font-size:.86rem;line-height:1.3;flex:1;min-width:0}
 .apoio-barra-contexto{display:none}
 .apoio-barra-longo{display:none}
 .apoio-barra-botao{min-height:2.75rem;font-size:.86rem;padding:.6rem .85rem;gap:.5rem;flex-shrink:0}
 .apoio-barra-botao svg{width:1rem;height:1rem}
 html.com-apoio-barra body{padding-bottom:5rem}
 html.com-apoio-barra{scroll-padding-bottom:7.5rem}
}

@media print{.apoio-barra{display:none}}
