
@font-face {
  font-family: 'Rowdies';
  src: url('../fonts/Rowdies-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Rowdies';
  src: url('../fonts/Rowdies-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Rowdies';
  src: url('../fonts/Rowdies-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Rockids Softed';
  src: url('../fonts/RockidsSofted-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Rockids Softed';
  src: url('../fonts/RockidsSofted-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito Sans';
  src: url('../fonts/NunitoSans-Variable.ttf') format('truetype');
  font-weight: 200 1000;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito Sans';
  src: url('../fonts/NunitoSans-Italic-Variable.ttf') format('truetype');
  font-weight: 200 1000;
  font-stretch: 75% 125%;
  font-style: italic;
  font-display: swap;
}

:root {
  --paper:#f6f0e4;
  --paper-deep:#e9dfce;
  --ink:#12100f;
  --muted:#625d56;
  --red:#e31e2d;
  --pink:#d70f89;
  --purple:#764199;
  --purple-dark:#4b246b;
  --yellow:#f8ea00;
  --mint:#76e3ca;
  --blue:#2651f5;
  --white:#fffdf7;
  --rule:3px solid var(--ink);
  --font-brand:"Rowdies", system-ui, sans-serif;
  --font-display:"Rockids Softed", "Rowdies", system-ui, sans-serif;
  --font-body:"Nunito Sans", system-ui, sans-serif;
  --display:var(--font-brand);
  --body:var(--font-body);
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:92px
}
body {
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  text-rendering:optimizelegibility;
  margin:0;
  font-size:18px;
  line-height:1.5;
  letter-spacing:0.02em;
  word-spacing:0.05em;
}
body:before {
  z-index:9999;
  pointer-events:none;
  content:"";
  opacity:.16;
  mix-blend-mode:multiply;
  background-image:radial-gradient(circle at 20% 10%,#12100f33 0 .7px,#0000 .9px),radial-gradient(circle at 80% 30%,#ffffffa6 0 .8px,#0000 1px);
  background-size:8px 8px,13px 13px;
  position:fixed;
  inset:0
}
::selection {
  background:var(--yellow);
  color:var(--ink)
}
img {
  max-width:100%;
  display:block
}
a {
  color:inherit;
  text-underline-offset:.2em;
  text-decoration-thickness:2px
}
h1,h2,h3,p,figure,blockquote {
  margin-top:0
}
h1,h2,h3,.wordmark,.eyebrow,.kicker,.button {
  font-family:var(--display)
}
:focus-visible {
  outline:4px solid var(--blue);
  outline-offset:4px
}
.skip-link {
  z-index:10000;
  background:var(--yellow);
  border:2px solid var(--ink);
  padding:10px 16px;
  font-weight:900;
  position:fixed;
  top:12px;
  left:12px;
  transform:translateY(-180%)
}
.skip-link:focus {
  transform:translateY(0)
}
.site-header {
  z-index:100;
  border-top:6px solid var(--ink);
  border-bottom:3px solid var(--ink);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  background:#f6f0e4f5;
  grid-template-columns:minmax(190px,.65fr) minmax(460px,1.4fr) auto;
  align-items:center;
  min-height:86px;
  padding:10px clamp(18px,3vw,48px);
  display:grid;
  position:sticky;
  top:0
}
.wordmark {
  width:fit-content;
  color:var(--ink);
  letter-spacing:0.04em;
  align-items:baseline;
  gap:.3em;
  font-size:clamp(1.25rem,2vw,2rem);
  line-height:1;
  text-decoration:none;
  display:flex
}
.wordmark span:last-child {
  color:var(--pink)
}
.desktop-nav {
  justify-content:center;
  gap:clamp(20px,3vw,50px);
  display:flex
}
.desktop-nav a {
  font-weight:850;
  text-decoration:none;
  position:relative
}
.desktop-nav a:after {
  content:"";
  background:var(--pink);
  transform-origin:0;
  height:4px;
  transition:transform .18s;
  position:absolute;
  bottom:-7px;
  left:0;
  right:0;
  transform:scaleX(0)rotate(-1deg)
}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after {
  transform:scaleX(1)rotate(-1deg)
}
.header-cta {
  background:var(--pink);
  border:3px solid var(--ink);
  min-height:52px;
  box-shadow:4px 4px 0 var(--ink);
  font-family:var(--display);
  text-transform:uppercase;
  justify-self:end;
  align-items:center;
  gap:26px;
  padding:10px 20px;
  font-weight:700;
  text-decoration:none;
  transition:transform .16s,box-shadow .16s;
  display:inline-flex;
  color:var(--white) !important;
}
.header-cta:hover {
  box-shadow:1px 1px 0 var(--ink);
  transform:translate(3px,3px)
}
.mobile-menu {
  display:none
}
.hero {
  border-bottom:4px solid var(--ink);
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  min-height:calc(100svh - 86px);
  display:grid;
  position:relative;
  overflow:hidden
}
.hero-copy {
  z-index:2;
  background:linear-gradient(105deg, var(--paper) 0%, var(--paper) 94%, transparent 94%);
  flex-direction:column;
  justify-content:center;
  padding:clamp(50px,7vw,110px) clamp(30px,5vw,76px) clamp(50px,7vw,110px) clamp(26px,6vw,100px);
  display:flex;
  position:relative
}
.eyebrow {
  background:var(--red);
  width:fit-content;
  color:var(--white);
  box-shadow:5px 5px 0 var(--ink);
  letter-spacing:.045em;
  text-transform:uppercase;
  margin-bottom:28px;
  padding:8px 13px 7px;
  font-size:clamp(.78rem,1vw,1rem);
  line-height:1;
  transform:rotate(-1deg)
}
.hero h1 {
  z-index:2;
  letter-spacing:0.04em;
  text-wrap:balance;
  max-width:760px;
  margin-bottom:8px;
  font-size:clamp(4.2rem,8.2vw,9.5rem);
  line-height:1.0;
  position:relative
}
.hero h1:after {
  content:"";
  background:var(--pink);
  border-radius:60% 20% 40% 70%;
  width:80%;
  height:12px;
  margin-top:22px;
  display:block;
  transform:rotate(-1deg)
}
.hero-deck {
  font-family:var(--display);
  letter-spacing:0;
  margin:12px 0 20px;
  font-size:clamp(1.45rem,2.2vw,2.5rem);
  line-height:1.05
}
.hero-deck span {
  color:var(--purple)
}
.hero-intro {
  max-width:690px;
  margin-bottom:30px;
  font-size:clamp(1.05rem,1.25vw,1.3rem);
  font-weight:650;
  line-height:1.45
}
.hero-actions {
  flex-wrap:wrap;
  gap:16px;
  display:flex
}
.button {
  border:3px solid var(--ink);
  text-transform:uppercase;
  justify-content:center;
  align-items:center;
  gap:22px;
  min-height:58px;
  padding:13px 20px 12px;
  font-size:.94rem;
  line-height:1.1;
  text-decoration:none;
  transition:transform .16s,box-shadow .16s,background .16s;
  display:inline-flex
}
.button-primary {
  background:var(--pink);
  box-shadow:5px 5px 0 var(--ink)
}
.button-primary:hover,.button-primary:focus-visible,.button-yellow:hover,.button-yellow:focus-visible {
  box-shadow:1px 1px 0 var(--ink);
  transform:translate(4px,4px)
}
.button-ghost {
  background:0 0
}
.button-ghost:hover,.button-ghost:focus-visible {
  background:var(--yellow)
}
.hero-burst {
  z-index:0;
  background:var(--yellow);
  clip-path:polygon(50% 0%,59% 34%,78% 6%,74% 39%,100% 22%,80% 48%,100% 55%,76% 59%,91% 88%,66% 68%,62% 100%,52% 70%,34% 98%,39% 65%,8% 82%,30% 55%,0 46%,34% 43%,10% 14%,42% 34%);
  width:180px;
  height:180px;
  position:absolute;
  top:clamp(100px,14vw,205px);
  left:-55px;
  transform:rotate(8deg)
}
.hero-photo {
  background:var(--pink);
  clip-path:polygon(4% 0,100% 0,100% 100%,0 100%,2% 92%,0 84%,3% 76%,1% 67%,3% 57%,0 49%,2% 40%,0 29%,3% 19%,1% 10%);
  min-height:700px;
  margin:0;
  position:relative
}
.hero-photo:after {
  content:"";
  pointer-events:none;
  background:linear-gradient(#0000 62%,#12100fd1);
  position:absolute;
  inset:0
}
.hero-photo img {
  object-fit:cover;
  object-position:52% center;
  filter:saturate(1.05)contrast(1.02);
  width:100%;
  height:100%;
  min-height:700px
}
.hero-photo figcaption {
  z-index:2;
  max-width:620px;
  color:var(--white);
  text-align:right;
  margin-left:auto;
  font-size:.92rem;
  font-weight:850;
  position:absolute;
  bottom:28px;
  left:50px;
  right:26px
}
.hero-proof {
  z-index:3;
  background:var(--yellow);
  border-top:4px solid var(--ink);
  grid-column:1/-1;
  grid-template-columns:repeat(4,1fr);
  display:grid
}
.hero-proof p {
  border-right:3px solid var(--ink);
  align-items:center;
  gap:14px;
  min-height:118px;
  margin:0;
  padding:20px clamp(16px,2vw,32px);
  display:flex
}
.hero-proof p:last-child {
  border-right:0
}
.hero-proof strong {
  font-family:var(--display);
  font-size:clamp(2rem,3vw,3.6rem);
  line-height:1.0
}
.hero-proof span {
  text-transform:uppercase;
  max-width:160px;
  font-size:.9rem;
  font-weight:900;
  line-height:1.12
}
.section-shell {
  max-width:1680px;
  margin:0 auto;
  padding:clamp(90px,10vw,170px) clamp(24px,6vw,100px);
  position:relative
}
.section-number {
  color:#12100f33;
  font-family:var(--display);
  font-size:clamp(3rem,7vw,8rem);
  line-height:1;
  position:absolute;
  top:clamp(40px,5vw,74px);
  right:clamp(24px,6vw,100px)
}
.section-number.light {
  color:#fffdf742
}
.kicker {
  color:var(--red);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:20px;
  font-size:.9rem
}
.kicker:before {
  content:"";
  vertical-align:middle;
  background:currentColor;
  width:44px;
  height:5px;
  margin-right:12px;
  display:inline-block;
  transform:rotate(-2deg)
}
.kicker-pink {
  color:var(--pink)
}
.kicker-yellow {
  color:var(--yellow)
}
.section-heading h2,.mandate-intro h2,.commitments-heading h2,.participate-heading h2 {
  letter-spacing:0.04em;
  margin-bottom:50px;
  font-size:clamp(3rem,6.8vw,7.8rem);
  line-height:1.0
}
.story {
  overflow:hidden
}
.story:after {
  z-index:-1;
  content:"";
  background:var(--mint);
  clip-path:polygon(50% 0%,61% 35%,86% 12%,74% 44%,100% 50%,72% 58%,84% 92%,57% 70%,46% 100%,39% 69%,7% 89%,29% 57%,0 47%,32% 40%,15% 8%,43% 34%);
  width:310px;
  height:310px;
  position:absolute;
  bottom:150px;
  right:-90px;
  transform:rotate(10deg)
}
.story-layout {
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:clamp(46px,8vw,130px);
  display:grid
}
.taped-photo {
  background:var(--white);
  border:3px solid var(--ink);
  box-shadow:12px 12px 0 var(--pink);
  margin:0;
  position:relative;
  transform:rotate(-2deg)
}
.taped-photo:before {
  z-index:2;
  content:"";
  background:#f8ea00db;
  width:140px;
  height:42px;
  position:absolute;
  top:-21px;
  left:50%;
  transform:translate(-50%)rotate(2deg)
}
.portrait-photo img {
  aspect-ratio:.76;
  object-fit:cover;
  object-position:center top;
  width:100%
}
.story-copy {
  max-width:760px
}
.story-copy .lead {
  letter-spacing:0;
  font-size:clamp(1.5rem,2.4vw,2.65rem);
  font-weight:850;
  line-height:1.18
}
.story-copy>p:not(.lead) {
  max-width:680px;
  font-size:1.12rem
}
.story-copy blockquote {
  background:var(--ink);
  color:var(--white);
  font-family:var(--display);
  letter-spacing:0;
  margin:46px 0 0;
  padding:28px 32px;
  font-size:clamp(1.25rem,2.2vw,2.2rem);
  line-height:1.15;
  position:relative;
  transform:rotate(1deg)
}
.story-copy blockquote:before {
  color:var(--pink);
  content:"â€œ";
  font-size:8rem;
  line-height:1;
  position:absolute;
  top:-24px;
  left:-18px
}
.work-line {
  border-top:var(--rule);
  border-bottom:var(--rule);
  align-items:stretch;
  gap:0;
  margin-top:90px;
  display:flex;
  overflow-x:auto
}
.work-line span {
  border-right:2px solid var(--ink);
  min-width:142px;
  font-family:var(--display);
  text-align:center;
  text-transform:uppercase;
  flex:1 0 auto;
  padding:20px 28px;
  font-size:.9rem;
  position:relative
}
.work-line span:last-child {
  background:var(--pink);
  border-right:0
}
.work-line span:not(:last-child):after {
  z-index:2;
  content:"â†’";
  background:var(--paper);
  padding:0 2px;
  position:absolute;
  top:50%;
  right:-10px;
  transform:translateY(-53%)
}
.rights-section {
  background:var(--ink);
  color:var(--white);
  border-top:5px solid var(--ink);
  border-bottom:5px solid var(--ink)
}
.rights-inner {
  max-width:1680px;
  margin:0 auto;
  padding:clamp(90px,10vw,170px) clamp(24px,6vw,100px);
  position:relative
}
.rights-heading {
  max-width:1160px
}
.rights-heading h2 {
  letter-spacing:0.04em;
  margin-bottom:80px;
  font-size:clamp(3.4rem,7.6vw,9rem);
  line-height:1.0
}
.rights-heading h2:after {
  content:"";
  background:var(--pink);
  width:70%;
  height:13px;
  margin-top:30px;
  display:block;
  transform:rotate(-1deg)
}
.rights-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(48px,8vw,130px);
  display:grid
}
.rights-grid article:nth-child(2) {
  padding-top:150px
}
.torn-photo {
  background:var(--paper);
  border:8px solid var(--paper);
  box-shadow:12px 12px 0 var(--purple);
  clip-path:polygon(1% 1%,15% 0,29% 1%,43% 0,58% 1%,72% 0,86% 1%,100% 0,99% 14%,100% 29%,99% 44%,100% 59%,99% 73%,100% 87%,99% 100%,84% 99%,69% 100%,54% 99%,39% 100%,25% 99%,11% 100%,0 99%,1% 83%,0 68%,1% 53%,0 37%,1% 21%);
  margin:0 0 30px;
  transform:rotate(-2deg)
}
.torn-photo.alternate {
  box-shadow:12px 12px 0 var(--yellow);
  transform:rotate(2deg)
}
.torn-photo img {
  aspect-ratio:1.35;
  object-fit:cover;
  width:100%
}
.alternate img {
  aspect-ratio:1.1;
  object-position:center 30%
}
.article-label {
  background:var(--pink);
  width:fit-content;
  color:var(--ink);
  font-family:var(--display);
  text-transform:uppercase;
  margin-bottom:12px;
  padding:5px 10px;
  font-size:.8rem
}
.rights-grid h3 {
  letter-spacing:0;
  max-width:580px;
  margin-bottom:18px;
  font-size:clamp(1.8rem,3vw,3.3rem);
  line-height:1
}
.rights-grid article>p:last-child {
  color:#dbd5ca;
  max-width:650px;
  font-size:1.06rem
}
.rights-statement {
  border-top:3px solid var(--white);
  max-width:1300px;
  font-family:var(--display);
  letter-spacing:0;
  margin:100px 0 0;
  padding-top:34px;
  font-size:clamp(1.8rem,3.9vw,4.8rem);
  line-height:1
}
.rights-statement span {
  color:var(--yellow)
}
.mandate {
  background:linear-gradient(135deg, #ff28c21f, transparent 42%), var(--paper);
  max-width:none
}
.mandate-intro {
  max-width:1500px
}
.mandate-intro h2 {
  max-width:1320px;
  display:block
}
.giant-number {
  color:var(--pink);
  letter-spacing:0;
  -webkit-text-stroke:4px var(--ink);
  text-shadow:10px 10px 0 var(--ink);
  grid-row:1/span 2;
  font-size:clamp(8rem,21vw,25rem);
  line-height:.72
}
.mandate-intro>p:last-child {
  border-left:8px solid var(--pink);
  max-width:780px;
  margin:40px 0 80px auto;
  padding-left:28px;
  font-size:clamp(1.25rem,2vw,2rem);
  font-weight:750;
  line-height:1.3
}
.mandate-content {
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  align-items:center;
  gap:clamp(50px,7vw,110px);
  display:grid
}
.mandate-photo {
  border:3px solid var(--ink);
  box-shadow:14px 14px 0 var(--red);
  margin:0;
  position:relative
}
.mandate-photo img {
  aspect-ratio:1.4;
  object-fit:cover;
  width:100%
}
.mandate-photo figcaption {
  background:var(--yellow);
  border:3px solid var(--ink);
  max-width:430px;
  padding:18px 22px;
  font-weight:850;
  line-height:1.2;
  position:absolute;
  bottom:-30px;
  right:-30px;
  transform:rotate(-2deg)
}
.mandate-fields {
  border-top:var(--rule)
}
.mandate-fields p {
  border-bottom:2px solid var(--ink);
  margin:0;
  padding:16px 0;
  font-size:1rem
}
.mandate-fields strong {
  font-family:var(--display);
  text-transform:uppercase
}
.method-line {
  background:var(--ink);
  color:var(--white);
  font-family:var(--display);
  text-transform:uppercase;
  justify-content:center;
  align-items:center;
  gap:20px;
  margin-top:100px;
  padding:24px;
  font-size:clamp(.95rem,1.5vw,1.35rem);
  display:flex
}
.method-line i {
  color:var(--pink);
  font-family:var(--body);
  font-size:1.5em;
  font-style:normal
}
.side-section {
  background:var(--purple-dark);
  color:var(--white);
  border-top:5px solid var(--ink);
  border-bottom:5px solid var(--ink);
  grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  display:grid
}
.side-copy {
  flex-direction:column;
  justify-content:center;
  padding:clamp(80px,9vw,150px) clamp(24px,7vw,115px);
  display:flex
}
.side-copy h2 {
  letter-spacing:0.04em;
  margin-bottom:30px;
  font-size:clamp(3.6rem,7.4vw,8.8rem);
  line-height:1.0
}
.side-lead {
  max-width:820px;
  color:var(--yellow);
  font-family:var(--display);
  letter-spacing:0;
  font-size:clamp(1.6rem,3vw,3.4rem);
  line-height:1.05
}
.side-copy>p:not(.kicker,.side-lead,.cause-ticker) {
  max-width:720px;
  font-size:1.12rem
}
.cause-ticker {
  border-top:3px solid var(--white);
  border-bottom:3px solid var(--white);
  margin:42px 0;
  padding:22px 0;
  font-weight:1000;
  line-height:1.7
}
.cause-ticker b {
  color:var(--pink)
}
.political-signature {
  background:var(--yellow);
  color:var(--ink);
  border:3px solid var(--ink);
  box-shadow:9px 9px 0 var(--pink);
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:24px;
  display:flex;
  transform:rotate(-1deg)
}
.political-signature span {
  text-transform:uppercase;
  font-weight:950
}
.political-signature strong {
  font-family:var(--display);
  letter-spacing:0;
  font-size:clamp(2rem,4vw,4.5rem);
  line-height:.95
}
.lula-photo {
  border-left:5px solid var(--ink);
  min-height:720px;
  margin:0;
  position:relative;
  overflow:hidden
}
.lula-photo:after {
  content:"";
  background:linear-gradient(#0000 65%,#12100fd9);
  position:absolute;
  inset:0
}
.lula-photo img {
  object-fit:cover;
  object-position:46% center;
  width:100%;
  height:100%;
  min-height:720px
}
.lula-photo figcaption {
  z-index:2;
  text-align:right;
  font-weight:900;
  position:absolute;
  bottom:30px;
  left:30px;
  right:30px
}
.commitments {
  max-width:1780px
}
.commitments-heading {
  max-width:1240px;
  margin-bottom:90px;
  display:block
}
.commitments-13 {
  color:var(--purple);
  font-family:var(--display);
  letter-spacing:0;
  -webkit-text-stroke:3px var(--ink);
  text-shadow:10px 10px 0 var(--yellow);
  font-size:clamp(10rem,24vw,28rem);
  line-height:.67
}
.commitments-heading h2 {
  max-width:1100px;
  margin-bottom:28px
}
.commitments-heading>div>p:last-child {
  max-width:780px;
  font-size:1.2rem;
  font-weight:700
}
.commitment-list {
  border-top:4px solid var(--ink);
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
  display:grid
}
.commitment-list li {
  border-right:2px solid var(--ink);
  border-bottom:3px solid var(--ink);
  grid-template-columns:90px minmax(0,1fr);
  gap:20px;
  min-height:170px;
  padding:28px 28px 28px 0;
  display:grid
}
.commitment-list li:nth-child(2n) {
  border-right:0;
  padding-left:28px
}
.commitment-list li:last-child {
  background:var(--yellow);
  grid-column:1/-1;
  padding-left:calc(50% + 28px)
}
.commitment-number {
  color:var(--pink);
  font-family:var(--display);
  -webkit-text-stroke:1px var(--ink);
  font-size:3rem;
  line-height:1
}
.commitment-list h3 {
  letter-spacing:0;
  text-transform:uppercase;
  margin-bottom:8px;
  font-size:clamp(1.25rem,1.8vw,1.75rem);
  line-height:1
}
.commitment-list p {
  max-width:580px;
  color:var(--muted);
  margin-bottom:0;
  font-size:.98rem
}
.imagina-section {
  color:var(--white);
  border-top:5px solid var(--ink);
  border-bottom:5px solid var(--ink);
  background:linear-gradient(#9215f3ed,#5118a5f5),url(../images/hero-marcha.webp) 50%/cover
}
.imagina-inner {
  max-width:1680px;
  margin:0 auto;
  padding:clamp(90px,10vw,170px) clamp(24px,6vw,100px);
  position:relative
}
.imagina-heading {
  max-width:1200px
}
.imagina-heading h2 {
  letter-spacing:0.04em;
  margin-bottom:38px;
  font-size:clamp(3.4rem,8.2vw,9.6rem);
  line-height:1.0
}
.imagina-heading>p:last-child {
  border-left:8px solid var(--yellow);
  max-width:850px;
  padding-left:28px;
  font-size:clamp(1.2rem,2vw,1.8rem);
  font-weight:700
}
.imagina-flow {
  border:3px solid var(--white);
  grid-template-columns:repeat(4,1fr);
  margin:80px 0;
  display:grid
}
.imagina-flow p {
  border-right:3px solid var(--white);
  flex-direction:column;
  gap:14px;
  min-height:180px;
  margin:0;
  padding:26px;
  display:flex
}
.imagina-flow p:last-child {
  background:var(--pink);
  color:var(--ink);
  border-right:0
}
.imagina-flow strong {
  color:var(--yellow);
  font-family:var(--display);
  font-size:3rem;
  line-height:1
}
.imagina-flow p:last-child strong {
  color:var(--ink)
}
.imagina-flow span {
  max-width:200px;
  font-weight:900;
  line-height:1.15
}
.write-your-line {
  background:var(--paper);
  max-width:920px;
  color:var(--ink);
  border:3px solid var(--ink);
  box-shadow:12px 12px 0 var(--yellow);
  margin-bottom:44px;
  padding:clamp(28px,5vw,60px);
  transform:rotate(-1deg)
}
.write-your-line span {
  color:var(--red);
  font-family:var(--display);
  text-transform:uppercase;
  font-size:.9rem
}
.write-your-line p {
  font-family:var(--display);
  letter-spacing:0;
  margin:16px 0 30px;
  font-size:clamp(1.9rem,4vw,4rem);
  line-height:.95
}
.write-your-line i {
  background:var(--ink);
  height:3px;
  margin-top:30px;
  display:block
}
.button-yellow {
  background:var(--yellow);
  color:var(--ink);
  box-shadow:5px 5px 0 var(--ink)
}
.participate {
  grid-template-columns:minmax(320px,.85fr) minmax(520px,1.15fr);
  gap:clamp(60px,10vw,160px);
  max-width:1680px;
  display:grid
}
.participate-heading h2 {
  margin-bottom:30px
}
.participate-heading>p:last-child {
  max-width:620px;
  font-size:1.12rem
}
.support-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  display:grid
}
.support-card {
  border:3px solid var(--ink);
  min-height:430px;
  box-shadow:9px 9px 0 var(--ink);
  flex-direction:column;
  padding:clamp(26px,3vw,38px);
  text-decoration:none;
  transition:box-shadow .18s,transform .18s;
  display:flex;
  position:relative;
  overflow:hidden
}
.support-card:after {
  z-index:0;
  content:"";
  clip-path:polygon(50% 0%,59% 34%,78% 6%,74% 39%,100% 22%,80% 48%,100% 55%,76% 59%,91% 88%,66% 68%,62% 100%,52% 70%,34% 98%,39% 65%,8% 82%,30% 55%,0 46%,34% 43%,10% 14%,42% 34%);
  background:#fffdf752;
  width:220px;
  height:220px;
  position:absolute;
  bottom:-80px;
  right:-72px;
  transform:rotate(9deg)
}
.support-card:hover,.support-card:focus-visible {
  box-shadow:3px 3px 0 var(--ink);
  transform:translate(6px,6px)
}
.support-card>* {
  z-index:1;
  position:relative
}
.support-volunteer {
  background:var(--pink)
}
.support-donation {
  background:var(--yellow)
}
.support-card>span {
  font-family:var(--display);
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:24px;
  font-size:.78rem
}
.support-card>strong {
  font-family:var(--display);
  letter-spacing:0.04em;
  margin-bottom:22px;
  font-size:clamp(2.2rem,3vw,3.5rem);
  line-height:1.0
}
.support-volunteer>strong {
  font-size:clamp(2.05rem,2.55vw,3.25rem)
}
.support-card>p {
  margin-bottom:30px;
  font-size:.98rem;
  font-weight:750;
  line-height:1.35
}
.support-card>b {
  border-top:3px solid var(--ink);
  font-family:var(--display);
  text-transform:uppercase;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:auto;
  padding-top:18px;
  font-size:.88rem;
  display:flex
}
.support-card>b span {
  font-size:1.6rem
}
.support-card>small {
  overflow-wrap:anywhere;
  margin-top:16px;
  font-size:.75rem;
  font-weight:900;
  line-height:1.2
}
.secondary-actions {
  margin-top:38px
}
.action-list {
  border-top:4px solid var(--ink)
}
.action-list>a {
  border-bottom:3px solid var(--ink);
  grid-template-columns:70px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  min-height:145px;
  padding:22px 18px;
  text-decoration:none;
  transition:padding .18s,background .18s;
  display:grid
}
.action-list>a:hover,.action-list>a:focus-visible {
  background:var(--yellow);
  padding-left:26px;
  padding-right:26px
}
.action-list>a:nth-child(2):hover,.action-list>a:nth-child(2):focus-visible {
  background:var(--mint)
}
.action-list>a:nth-child(3):hover,.action-list>a:nth-child(3):focus-visible {
  background:#fd9fe6
}
.action-list>a:nth-child(4):hover,.action-list>a:nth-child(4):focus-visible {
  background:#ffa578
}
.action-number {
  color:var(--pink);
  font-family:var(--display);
  font-size:2.5rem
}
.action-copy {
  flex-direction:column;
  display:flex
}
.action-copy strong {
  font-family:var(--display);
  letter-spacing:0;
  text-transform:uppercase;
  font-size:clamp(1.35rem,2.3vw,2.3rem);
  line-height:1
}
.action-copy small {
  color:var(--muted);
  margin-top:8px;
  font-size:.95rem;
  font-weight:700
}
.action-list>a>span:last-child {
  font-size:2.2rem
}
.closing {
  background: var(--pink) !important;
  border-top: 5px solid var(--ink);
  border-bottom: 5px solid var(--ink);
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  display: block !important;
}
.closing-container {
  max-width: 1024px;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.closing-banner-img {
  width: 100% !important;
  max-width: 1024px !important;
  height: auto !important;
  display: block !important;
}
.closing-actions {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 auto !important;
  padding: 30px 24px !important;
  z-index: 10 !important;
  flex-wrap: wrap;
  gap: 18px;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1024px !important;
  border-top: 3px solid var(--ink) !important;
  background: var(--pink) !important;
}
.button-dark {
  z-index:1;
  background:var(--ink);
  color:var(--white);
  box-shadow:6px 6px 0 var(--yellow);
  position:relative
}
.button-dark:hover,.button-dark:focus-visible {
  box-shadow:2px 2px 0 var(--yellow);
  transform:translate(4px,4px)
}
.button-dark-alt {
  background:var(--yellow);
  color:var(--ink);
  box-shadow:6px 6px 0 var(--ink)
}
.button-dark-alt:hover,.button-dark-alt:focus-visible {
  box-shadow:2px 2px 0 var(--ink)
}
.site-footer {
  background:var(--ink);
  color:var(--white);
  grid-template-columns:1.2fr 1fr 1fr;
  gap:50px;
  padding:70px clamp(24px,6vw,100px) 110px;
  display:grid
}
.footer-brand {
  flex-direction:column;
  gap:10px;
  display:flex
}
.footer-brand>span {
  font-family:var(--display);
  letter-spacing:0.04em;
  font-size:clamp(2rem,4vw,4rem);
  line-height:1.0
}
.footer-brand>small {
  color:#beb6aa;
  text-transform:uppercase;
  font-weight:800
}
.footer-contact,.footer-social {
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  display:flex
}
.footer-contact a,.footer-social a {
  font-weight:800
}
.footer-note {
  color:#aaa298;
  border-top:1px solid #655f58;
  grid-column:1/-1;
  max-width:900px;
  margin:30px 0 0;
  padding-top:24px;
  font-size:.8rem
}
.mobile-sticky-cta {
  display:none
}
@media (width<=1180px) {
  .site-header {
  grid-template-columns:auto 1fr auto
}
.desktop-nav {
  gap:20px;
  font-size:.9rem
}
.hero {
  min-height:auto
}
.hero-copy {
  padding-right:30px
}
.hero-photo,.hero-photo img {
  min-height:620px
}
.hero-proof p {
  flex-direction:column;
  align-items:flex-start
}
.mandate-intro h2 {
  display:block
}
.giant-number {
  margin-bottom:34px;
  display:block
}
.participate {
  grid-template-columns:.8fr 1.2fr;
  gap:60px
}
}
@media (width<=920px) {
  html {
  scroll-padding-top:76px
}
body {
  font-size:17px
}
.site-header {
  border-top-width:4px;
  grid-template-columns:1fr auto;
  min-height:76px
}
.desktop-nav,.header-cta {
  display:none
}
.mobile-menu {
  display:block;
  position:relative
}
.mobile-menu summary {
  background:var(--yellow);
  border:2px solid var(--ink);
  min-width:78px;
  font-family:var(--display);
  text-align:center;
  text-transform:uppercase;
  cursor:pointer;
  padding:9px 12px;
  font-size:.85rem;
  list-style:none
}
.mobile-menu summary::-webkit-details-marker {
  display:none
}
.mobile-menu nav {
  background:var(--paper);
  border:3px solid var(--ink);
  width:min(82vw,340px);
  box-shadow:8px 8px 0 var(--pink);
  flex-direction:column;
  display:flex;
  position:absolute;
  top:54px;
  right:0
}
.mobile-menu nav a {
  border-bottom:2px solid var(--ink);
  padding:15px 18px;
  font-weight:900;
  text-decoration:none
}
.mobile-menu nav a:last-child {
  background:var(--pink);
  border-bottom:0
}
.hero {
  grid-template-columns:1fr
}
.hero-copy {
  background:var(--paper);
  min-height:680px;
  padding:70px 24px 60px
}
.hero h1 {
  max-width:650px
}
.hero-photo {
  clip-path:polygon(0 2%,10% 0,21% 2%,32% 0,44% 2%,56% 0,68% 2%,80% 0,90% 2%,100% 0,100% 100%,0 100%);
  min-height:520px
}
.hero-photo img {
  min-height:520px
}
.hero-proof {
  grid-template-columns:repeat(2,1fr)
}
.hero-proof p {
  border-bottom:3px solid var(--ink);
  min-height:102px
}
.hero-proof p:nth-child(2) {
  border-right:0
}
.hero-proof p:nth-child(3),.hero-proof p:nth-child(4) {
  border-bottom:0
}
.story-layout,.mandate-content,.side-section,.commitments-heading,.participate {
  grid-template-columns:1fr
}
.portrait-photo {
  width:min(76vw,520px);
  margin:0 auto
}
.story-copy {
  max-width:680px
}
.rights-grid {
  gap:50px
}
.rights-grid article:nth-child(2) {
  padding-top:80px
}
.mandate-photo figcaption {
  bottom:-36px;
  left:18px;
  right:18px
}
.mandate-fields {
  margin-top:40px
}
.method-line {
  flex-wrap:wrap
}
.lula-photo {
  border-top:5px solid var(--ink);
  border-left:0;
  min-height:580px
}
.lula-photo img {
  min-height:580px
}
.commitments-13 {
  margin-bottom:30px
}
.commitments-heading h2 {
  max-width:1000px
}
.imagina-flow {
  grid-template-columns:repeat(2,1fr)
}
.imagina-flow p:nth-child(2) {
  border-right:0
}
.imagina-flow p:nth-child(-n+2) {
  border-bottom:3px solid var(--white)
}
.participate {
  gap:60px
}
.support-card {
  min-height:380px
}
.site-footer {
  grid-template-columns:1fr 1fr
}
.footer-brand {
  grid-column:1/-1
}
}
@media (width<=620px) {
  .wordmark {
  flex-direction:column;
  gap:0;
  font-size:1.2rem
}
.hero-copy {
  min-height:650px
}
.eyebrow {
  margin-bottom:22px;
  font-size:.68rem
}
.hero h1 {
  font-size:clamp(3.7rem,18vw,6rem)
}
.hero h1:after {
  height:8px;
  margin-top:17px
}
.hero-deck {
  max-width:350px;
  font-size:1.35rem
}
.hero-intro {
  font-size:1rem
}
.hero-actions {
  flex-direction:column
}
.button {
  width:100%
}
.hero-photo,.hero-photo img {
  min-height:430px
}
.hero-photo figcaption {
  font-size:.78rem;
  bottom:20px;
  left:24px;
  right:20px
}
.hero-proof p {
  gap:8px;
  min-height:112px;
  padding:16px
}
.hero-proof strong {
  font-size:2.25rem
}
.hero-proof span {
  font-size:.72rem
}
.section-shell,.rights-inner,.imagina-inner {
  padding-top:92px;
  padding-bottom:92px
}
.section-number {
  top:24px
}
.section-heading h2,.mandate-intro h2,.commitments-heading h2,.participate-heading h2 {
  font-size:clamp(2.65rem,13vw,4.7rem)
}
.story-layout {
  gap:54px
}
.story-copy .lead {
  font-size:1.35rem
}
.story-copy blockquote {
  padding:24px 20px;
  font-size:1.25rem
}
.work-line {
  margin-top:70px
}
.rights-heading h2,.side-copy h2,.imagina-heading h2 {
  font-size:clamp(3rem,14vw,5.7rem)
}
.rights-grid {
  grid-template-columns:1fr
}
.rights-grid article:nth-child(2) {
  padding-top:20px
}
.rights-statement {
  margin-top:70px;
  font-size:1.8rem
}
.giant-number {
  -webkit-text-stroke-width:2px;
  text-shadow:6px 6px 0 var(--ink);
  font-size:9rem
}
.mandate-photo figcaption {
  border-width:3px 0 0;
  max-width:none;
  margin:0;
  position:relative;
  bottom:auto;
  left:auto;
  right:auto;
  transform:none
}
.method-line {
  justify-content:flex-start;
  margin-top:70px;
  font-size:.85rem
}
.side-copy {
  padding:90px 24px
}
.side-lead {
  font-size:1.55rem
}
.political-signature {
  padding:18px
}
.lula-photo,.lula-photo img {
  min-height:430px
}
.commitments-heading {
  margin-bottom:60px
}
.commitments-13 {
  font-size:10rem
}
.commitment-list {
  grid-template-columns:1fr
}
.commitment-list li,.commitment-list li:nth-child(2n),.commitment-list li:last-child {
  border-right:0;
  grid-column:auto;
  grid-template-columns:56px minmax(0,1fr);
  min-height:150px;
  padding:24px 0
}
.commitment-list li:last-child {
  margin:0 -24px;
  padding-left:24px;
  padding-right:24px
}
.commitment-number {
  font-size:2.1rem
}
.imagina-flow {
  grid-template-columns:1fr
}
.imagina-flow p {
  border-right:0;
  border-bottom:3px solid var(--white);
  min-height:130px
}
.imagina-flow p:nth-child(2) {
  border-bottom:3px solid var(--white)
}
.imagina-flow p:last-child {
  border-bottom:0
}
.write-your-line {
  margin-right:8px
}
.support-grid {
  grid-template-columns:1fr
}
.support-card {
  min-height:360px
}
.support-card>strong {
  font-size:clamp(2.7rem,13vw,4.4rem)
}
.action-list>a {
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:12px;
  min-height:125px;
  padding-left:4px;
  padding-right:4px
}
.action-number {
  font-size:1.7rem
}
.action-copy strong {
  font-size:1.25rem
}
.action-copy small {
  font-size:.78rem
}
.closing {
  padding: 0 !important;
}
.closing h2 {
  font-size:clamp(3.5rem,15vw,6rem)
}
.closing-actions {
  flex-direction: column !important;
  width: 90% !important;
  margin: 0 auto 30px auto !important;
  gap: 14px !important;
}
.site-footer {
  grid-template-columns:1fr;
  padding-bottom:130px
}
.footer-brand,.footer-note {
  grid-column:auto
}
.mobile-sticky-cta {
  z-index:90;
  background:var(--yellow);
  border:3px solid var(--ink);
  min-height:54px;
  box-shadow:4px 4px 0 var(--pink);
  font-family:var(--display);
  text-transform:uppercase;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:10px 18px;
  font-size:.9rem;
  text-decoration:none;
  display:flex;
  position:fixed;
  bottom:12px;
  left:12px;
  right:12px
}
}
@media (prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
*,:before,:after {
  scroll-behavior:auto!important;
  transition-duration:.01ms!important;
  animation-duration:.01ms!important;
  animation-iteration-count:1!important
}
}
.site-header {
  grid-template-columns:minmax(230px,.7fr) minmax(520px,1.5fr) auto
}
.wordmark {
  letter-spacing:0;
  align-items:center;
  gap:12px;
  font-size:clamp(1.08rem,1.5vw,1.55rem)
}
.wordmark span,.wordmark span:last-child {
  color:var(--ink)
}
.wordmark strong {
  background:var(--pink);
  border:2px solid var(--ink);
  letter-spacing:0;
  padding:5px 7px 4px;
  font-size:.78em;
  line-height:1
}
.desktop-nav {
  gap:clamp(16px,2.1vw,34px)
}
.desktop-nav a {
  font-size:.92rem
}
.home-rebuild .hero {
  background:var(--paper);
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  min-height:calc(100svh - 86px);
  display:grid
}
.home-rebuild .hero-copy {
  background:var(--paper);
  justify-content:center;
  padding:clamp(42px,5.5vw,88px) clamp(24px,5.7vw,92px)
}
.home-rebuild .hero-name {
  background:var(--red);
  border:3px solid var(--ink);
  width:fit-content;
  box-shadow:5px 5px 0 var(--ink);
  color:var(--white);
  font-family:var(--display);
  letter-spacing:.02em;
  margin:0 0 20px;
  padding:8px 12px 7px;
  font-size:clamp(1rem,1.35vw,1.35rem);
  line-height:1;
  transform:rotate(-1deg)
}


.home-rebuild .hero h1 {
  letter-spacing:0;
  max-width:820px;
  margin:0;
  font-size:clamp(5.1rem,9.3vw,10.8rem);
  line-height:.77
}
.home-rebuild .hero h1 span {
  color:var(--purple);
  display:block
}
.home-rebuild .hero h1:after {
  display:none
}
.hero-ballot {
  background:var(--yellow);
  border:4px solid var(--ink);
  width:min(100%,740px);
  box-shadow:8px 8px 0 var(--ink);
  grid-template-columns:minmax(140px,.6fr) minmax(260px,1.4fr);
  align-items:center;
  margin:30px 0 22px;
  display:grid;
  transform:rotate(-.35deg)
}
.hero-ballot p {
  font-family:var(--display);
  text-transform:uppercase;
  margin:0;
  padding:18px;
  font-size:clamp(1.05rem,1.55vw,1.65rem);
  line-height:1.02
}
.hero-ballot strong {
  border-left:4px solid var(--ink);
  font-family:var(--display);
  letter-spacing:0.04em;
  padding:3px 18px 0;
  font-size:clamp(4.7rem,7.6vw,8.8rem);
  line-height:1.0
}
.home-rebuild .hero-intro {
  max-width:730px;
  margin-bottom:26px;
  font-size:clamp(1.02rem,1.2vw,1.25rem);
  line-height:1.45
}
.home-rebuild .hero-photo {
  background:var(--purple);
  border-left:4px solid var(--ink);
  min-height:calc(100svh - 86px)
}
.home-rebuild .hero-photo:after {
  background:linear-gradient(#0000 55%,#12100fcc)
}
.home-rebuild .hero-photo img {
  filter:saturate(1.04)contrast(1.02)
}
.home-rebuild .hero-photo figcaption {
  background:var(--paper);
  border:3px solid var(--ink);
  max-width:560px;
  box-shadow:5px 5px 0 var(--pink);
  color:var(--ink);
  padding:12px 14px;
  font-size:.9rem;
  font-weight:850;
  bottom:24px;
  left:28px;
  right:28px
}
.route-strip {
  border-bottom:4px solid var(--ink);
  grid-template-columns:repeat(4,minmax(0,1fr));
  display:grid
}
.route-strip a {
  border-right:3px solid var(--ink);
  min-height:142px;
  padding:24px clamp(18px,2.5vw,38px);
  text-decoration:none;
  transition:color .16s,background .16s;
  display:grid;
  position:relative
}
.route-strip a:first-child {
  background:var(--pink)
}
.route-strip a:nth-child(2) {
  background:var(--yellow)
}
.route-strip a:nth-child(3) {
  background:var(--mint)
}
.route-strip a:nth-child(4) {
  background:var(--paper);
  border-right:0
}
.route-strip a:hover,.route-strip a:focus-visible {
  background:var(--ink);
  color:var(--white)
}
.route-strip span {
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:900
}
.route-strip strong {
  font-family:var(--display);
  text-transform:uppercase;
  align-self:end;
  padding-right:34px;
  font-size:clamp(1.25rem,1.75vw,1.85rem);
  line-height:1
}
.route-strip b {
  font-size:1.55rem;
  position:absolute;
  bottom:22px;
  right:24px
}
.who-section {
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(42px,6vw,100px);
  padding-top:clamp(80px,9vw,150px);
  padding-bottom:clamp(80px,9vw,150px);
  display:grid
}
.who-heading {
  border-bottom:4px solid var(--ink);
  grid-column:1/-1;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  align-items:end;
  gap:clamp(30px,6vw,100px);
  padding-bottom:42px;
  display:grid
}
.who-heading .kicker {
  grid-column:1/-1;
  margin-bottom:-22px
}
.who-heading h2 {
  font-family:var(--display);
  letter-spacing:0.04em;
  margin:0;
  font-size:clamp(4rem,7.8vw,8.5rem);
  line-height:1.0
}
.who-heading>p:last-child {
  margin:0;
  font-size:clamp(1.15rem,1.55vw,1.55rem);
  font-weight:750;
  line-height:1.42
}
.who-portrait {
  align-self:start
}
.who-portrait figure {
  border:4px solid var(--ink);
  box-shadow:12px 12px 0 var(--pink);
  margin:0;
  transform:rotate(-1deg)
}
.who-portrait figure img {
  object-fit:cover;
  object-position:center 18%;
  width:100%;
  max-height:700px
}
.who-portrait blockquote {
  z-index:2;
  background:var(--yellow);
  border:4px solid var(--ink);
  box-shadow:7px 7px 0 var(--ink);
  font-family:var(--display);
  margin:-35px 24px 0;
  padding:24px;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.08;
  position:relative;
  transform:rotate(.8deg)
}
.identity-chapters {
  border-top:4px solid var(--ink)
}
.identity-chapters article {
  border-bottom:3px solid var(--ink);
  grid-template-columns:70px minmax(0,1fr);
  gap:22px;
  padding:28px 0;
  display:grid
}
.identity-chapters article>span {
  color:var(--purple);
  font-family:var(--display);
  font-size:1.7rem
}
.identity-chapters article div>p:first-child {
  color:var(--red);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:7px;
  font-size:.78rem;
  font-weight:950
}
.identity-chapters h3 {
  margin-bottom:10px;
  font-size:clamp(1.5rem,2.2vw,2.35rem);
  line-height:1
}
.identity-chapters article div>p:last-child {
  margin:0;
  font-size:1rem;
  line-height:1.48
}
.who-proof {
  background:var(--ink);
  border:4px solid var(--ink);
  grid-column:1/-1;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:10px;
  display:grid
}
.who-proof p {
  background:var(--yellow);
  border-right:3px solid var(--ink);
  min-height:190px;
  margin:0;
  padding:28px;
  display:grid
}
.who-proof p:nth-child(2) {
  background:var(--pink)
}
.who-proof p:nth-child(3) {
  background:var(--mint);
  border-right:0
}
.who-proof strong {
  font-family:var(--display);
  letter-spacing:0.04em;
  font-size:clamp(3.2rem,5.4vw,6rem);
  line-height:.8
}
.who-proof span {
  align-self:end;
  max-width:230px;
  font-weight:900;
  line-height:1.1
}
.assembly-section {
  background:var(--purple-dark);
  border-top:4px solid var(--ink);
  border-bottom:4px solid var(--ink);
  color:var(--white);
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(40px,7vw,120px);
  padding:clamp(70px,8vw,130px) clamp(24px,6vw,100px);
  display:grid
}
.assembly-section h2 {
  font-family:var(--display);
  letter-spacing:0.04em;
  margin:0;
  font-size:clamp(3.1rem,5.9vw,6.5rem);
  line-height:1.0
}
.assembly-copy {
  align-self:end
}
.assembly-copy>p:first-child {
  margin-bottom:34px;
  font-size:clamp(1.15rem,1.55vw,1.55rem);
  font-weight:750;
  line-height:1.46
}
.assembly-themes {
  border-top:3px solid var(--yellow);
  color:var(--yellow);
  font-family:var(--display);
  margin:0;
  padding-top:24px;
  font-size:1.02rem;
  line-height:1.65
}
.assembly-themes b {
  color:var(--pink)
}
.news-desk {
  padding-top:clamp(80px,9vw,150px);
  padding-bottom:clamp(80px,9vw,150px)
}
.news-desk-header {
  border-bottom:4px solid var(--ink);
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:32px;
  margin-bottom:44px;
  padding-bottom:32px;
  display:grid
}
.news-desk-header h2 {
  font-family:var(--display);
  letter-spacing:0.04em;
  margin:0;
  font-size:clamp(4rem,7vw,7.5rem);
  line-height:1.0
}
.news-desk-deck {
  max-width:760px;
  margin:22px 0 0;
  font-size:clamp(1.05rem,1.35vw,1.3rem);
  font-weight:700
}
.news-desk-archive-link,.news-desk-read-link {
  font-family:var(--display);
  text-transform:uppercase;
  align-items:center;
  gap:18px;
  font-size:.94rem;
  display:inline-flex
}
.news-desk-layout {
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:clamp(28px,4vw,60px);
  display:grid
}
.news-desk-lead {
  background:var(--white);
  border:4px solid var(--ink);
  min-height:540px;
  box-shadow:10px 10px 0 var(--pink);
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
  display:grid
}
.news-desk-lead-image {
  border-right:4px solid var(--ink);
  min-height:100%;
  display:block;
  overflow:hidden
}
.news-desk-lead-image img {
  object-fit:cover;
  object-position:18% center;
  width:100%;
  height:100%
}
.news-desk-lead-copy {
  align-self:end;
  padding:clamp(24px,3.7vw,54px)
}
.news-desk-meta,.news-meta {
  color:var(--muted);
  letter-spacing:.075em;
  text-transform:uppercase;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  margin-bottom:18px;
  font-size:.72rem;
  font-weight:950;
  display:flex
}
.news-desk-meta span:first-child,.news-meta span:first-child {
  background:var(--yellow);
  border:2px solid var(--ink);
  color:var(--ink);
  padding:4px 7px
}
.news-desk-lead h3 {
  margin-bottom:18px;
  font-size:clamp(2rem,3.1vw,3.4rem);
  line-height:.98
}
.news-desk-lead h3 a,.news-desk-latest a {
  text-decoration:none
}
.news-desk-lead-copy>p:not(.news-desk-meta) {
  margin-bottom:24px;
  font-size:1.02rem
}
.news-desk-latest {
  border-top:4px solid var(--ink)
}
.news-desk-latest-title {
  border-bottom:3px solid var(--ink);
  justify-content:space-between;
  align-items:baseline;
  padding:16px 0;
  display:flex
}
.news-desk-latest-title span {
  font-family:var(--display);
  text-transform:uppercase;
  font-size:1.35rem
}
.news-desk-latest-title small {
  text-transform:uppercase;
  font-weight:850
}
.news-desk-latest article>a {
  border-bottom:3px solid var(--ink);
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:start;
  gap:16px;
  padding:26px 0;
  display:grid
}
.news-desk-latest article>a:hover h3,.news-desk-latest article>a:focus-visible h3 {
  color:var(--purple)
}
.news-desk-index {
  color:var(--purple);
  font-family:var(--display);
  font-size:1.35rem
}
.news-desk-latest h3 {
  margin:0;
  font-size:clamp(1.18rem,1.55vw,1.55rem);
  line-height:1.07
}
.imagina-bridge {
  background:var(--red);
  border-top:4px solid var(--ink);
  border-bottom:4px solid var(--ink);
  color:var(--white);
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  align-items:start;
  gap:clamp(40px,7vw,120px);
  padding-top:clamp(70px,8vw,120px);
  padding-bottom:clamp(70px,8vw,120px);
  display:grid
}
.imagina-bridge h2 {
  font-family:var(--display);
  letter-spacing:0.04em;
  margin:0;
  font-size:clamp(3.7rem,7vw,7.4rem);
  line-height:1.0
}
.imagina-bridge>div:last-child>p {
  font-size:clamp(1.1rem,1.45vw,1.42rem);
  font-weight:750
}
.imagina-actions {
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
  display:flex
}
.button-ghost-light {
  border-color:var(--white);
  color:var(--white)
}
.participation-hub {
  padding-top:clamp(80px,9vw,140px);
  padding-bottom:clamp(70px,8vw,120px)
}
.participation-hub>header {
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);
  align-items:end;
  gap:clamp(30px,6vw,90px);
  margin-bottom:44px;
  display:grid
}
.participation-hub>header .kicker {
  grid-column:1/-1;
  margin-bottom:-18px
}
.participation-hub h2,.groups-heading h2,.volunteer-heading h2 {
  font-family:var(--display);
  letter-spacing:0.04em;
  margin:0;
  font-size:clamp(3.7rem,6.6vw,7rem);
  line-height:1.0
}
.participation-hub>header>p:last-child,.groups-heading>p:last-child,.volunteer-heading>p {
  margin:0;
  font-size:clamp(1.05rem,1.35vw,1.3rem);
  font-weight:700
}
.participation-paths {
  border:4px solid var(--ink);
  grid-template-columns:repeat(4,minmax(0,1fr));
  display:grid
}
.participation-paths a {
  border-right:3px solid var(--ink);
  flex-direction:column;
  min-height:280px;
  padding:24px;
  text-decoration:none;
  transition:transform .15s,background .15s;
  display:flex;
  position:relative
}
.participation-paths a:first-child {
  background:var(--yellow)
}
.participation-paths a:nth-child(2) {
  background:var(--pink)
}
.participation-paths a:nth-child(3) {
  background:var(--mint)
}
.participation-paths a:nth-child(4) {
  background:var(--paper);
  border-right:0
}
.participation-paths a:hover,.participation-paths a:focus-visible {
  z-index:2;
  background:var(--ink);
  color:var(--white);
  transform:translateY(-7px)
}
.participation-paths span {
  font-family:var(--display);
  font-size:1.25rem
}
.participation-paths strong {
  font-family:var(--display);
  text-transform:uppercase;
  margin-top:auto;
  padding:34px 28px 10px 0;
  font-size:clamp(1.45rem,2vw,2rem);
  line-height:1
}
.participation-paths small {
  font-size:.9rem;
  font-weight:750;
  line-height:1.35
}
.participation-paths b {
  font-size:1.5rem;
  position:absolute;
  bottom:20px;
  right:22px
}
.groups-section {
  background:var(--mint);
  border-top:4px solid var(--ink);
  border-bottom:4px solid var(--ink);
  padding-top:clamp(70px,8vw,120px);
  padding-bottom:clamp(80px,9vw,140px)
}
.groups-heading {
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);
  align-items:end;
  gap:clamp(30px,6vw,90px);
  margin-bottom:46px;
  display:grid
}
.groups-heading .kicker {
  grid-column:1/-1;
  margin-bottom:-18px
}
.group-finder {
  background:var(--paper);
  border:4px solid var(--ink);
  box-shadow:12px 12px 0 var(--ink)
}
.group-finder-controls {
  border-bottom:4px solid var(--ink);
  grid-template-columns:auto minmax(300px,1fr);
  align-items:end;
  gap:26px;
  padding:28px;
  display:grid
}
.group-tabs {
  border:3px solid var(--ink);
  display:flex
}
.group-tabs button {
  background:var(--white);
  border:0;
  border-right:3px solid var(--ink);
  min-height:52px;
  color:var(--ink);
  font-family:var(--display);
  text-transform:uppercase;
  cursor:pointer;
  padding:10px 18px
}
.group-tabs button:last-child {
  border-right:0
}
.group-tabs button[aria-pressed=true] {
  background:var(--purple);
  color:var(--white)
}
.group-search {
  letter-spacing:.05em;
  text-transform:uppercase;
  gap:7px;
  font-size:.78rem;
  font-weight:950;
  display:grid
}
.group-search input,.volunteer-form input,.volunteer-form select,.volunteer-form textarea {
  background:var(--white);
  border:3px solid var(--ink);
  width:100%;
  min-height:54px;
  color:var(--ink);
  font:700 1rem/1.3 var(--body);
  border-radius:0;
  padding:12px 14px
}
.group-search input:focus,.volunteer-form input:focus,.volunteer-form select:focus,.volunteer-form textarea:focus {
  outline:4px solid var(--yellow);
  outline-offset:2px
}
.group-result-count {
  border-bottom:3px solid var(--ink);
  text-transform:uppercase;
  margin:0;
  padding:14px 28px;
  font-size:.8rem;
  font-weight:900
}
.group-card-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  display:grid
}
.group-card {
  border-right:3px solid var(--ink);
  border-bottom:3px solid var(--ink);
  min-height:240px;
  padding:26px;
  display:grid
}
.group-card:nth-child(2n) {
  border-right:0
}
.group-status {
  background:var(--paper-deep);
  border:2px solid var(--ink);
  letter-spacing:.06em;
  text-transform:uppercase;
  width:fit-content;
  height:fit-content;
  margin-bottom:20px;
  padding:5px 8px;
  font-size:.68rem;
  font-weight:950
}
.group-status-live {
  background:var(--yellow)
}
.group-card h3 {
  margin-bottom:9px;
  font-size:clamp(1.5rem,2vw,2rem);
  line-height:1
}
.group-card p {
  margin-bottom:20px;
  font-size:.94rem
}
.group-card a,.group-card button {
  color:var(--ink);
  font-family:var(--display);
  text-transform:uppercase;
  cursor:pointer;
  background:0 0;
  border:0;
  place-self:end start;
  padding:0;
  font-size:.86rem;
  text-decoration:underline
}
.group-card-theme {
  background:var(--white)
}
.group-empty {
  background:var(--yellow);
  border:3px solid var(--ink);
  margin:28px;
  padding:28px
}
.group-empty strong {
  font-family:var(--display);
  font-size:1.4rem
}
.group-source-note {
  background:var(--paper-deep);
  margin:0;
  padding:24px 28px;
  font-size:.76rem;
  line-height:1.45
}
.volunteer-section {
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(38px,7vw,110px);
  padding-top:clamp(80px,9vw,150px);
  padding-bottom:clamp(80px,9vw,150px);
  display:grid
}
.volunteer-heading {
  align-self:start
}
.volunteer-heading h2 {
  margin-bottom:26px
}
.volunteer-heading ul {
  background:var(--yellow);
  border:3px solid var(--ink);
  box-shadow:6px 6px 0 var(--pink);
  gap:8px;
  margin:28px 0 0;
  padding:24px 24px 24px 44px;
  font-size:.9rem;
  font-weight:800;
  display:grid
}
.volunteer-content {
  min-width:0
}
.volunteer-form,.volunteer-success {
  background:var(--white);
  border:4px solid var(--ink);
  box-shadow:12px 12px 0 var(--purple);
  padding:clamp(24px,4vw,50px)
}
.form-progress {
  outline:0;
  margin-bottom:34px
}
.form-progress p {
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
  margin-bottom:12px;
  display:flex
}
.form-progress span {
  text-transform:uppercase;
  font-size:.76rem;
  font-weight:950
}
.form-progress strong {
  font-family:var(--display);
  text-align:right;
  text-transform:uppercase;
  font-size:1.05rem
}
.form-progress>div {
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  display:grid
}
.form-progress i {
  background:var(--paper-deep);
  border:2px solid var(--ink);
  height:9px
}
.form-progress i.active {
  background:var(--pink)
}
.volunteer-form fieldset {
  border:0;
  min-width:0;
  margin:0;
  padding:0
}
.volunteer-form fieldset>legend {
  font-family:var(--display);
  margin-bottom:10px;
  padding:0;
  font-size:clamp(1.7rem,2.7vw,2.7rem);
  line-height:1
}
.field-help {
  max-width:660px;
  color:var(--muted);
  margin-bottom:26px;
  font-size:.93rem
}
.choice-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  display:grid
}
.choice-grid>button {
  background:var(--paper);
  border:3px solid var(--ink);
  min-height:64px;
  color:var(--ink);
  font:850 .93rem/1.2 var(--body);
  text-align:left;
  cursor:pointer;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  display:flex
}
.choice-grid>button[aria-pressed=true] {
  background:var(--yellow);
  box-shadow:4px 4px 0 var(--ink)
}
.choice-grid>button span {
  background:var(--white);
  border:2px solid var(--ink);
  flex:0 0 27px;
  place-items:center;
  width:27px;
  height:27px;
  font-weight:950;
  display:grid
}
.theme-picker,.wide-field,.field-row,.field-label,.contact-preference,.consent-field {
  margin-top:26px
}
.theme-picker label,.wide-field,.field-row label {
  letter-spacing:.03em;
  gap:7px;
  font-size:.8rem;
  font-weight:950;
  display:grid
}
.theme-picker small,.wide-field small,.field-row small {
  color:var(--muted);
  font-weight:700
}
.selected-themes {
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
  display:flex
}
.selected-themes button {
  background:var(--mint);
  border:2px solid var(--ink);
  font:850 .76rem/1 var(--body);
  cursor:pointer;
  padding:7px 9px
}
.field-row {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  display:grid
}
.field-label {
  margin-bottom:9px;
  font-size:.8rem;
  font-weight:950
}
.volunteer-form textarea {
  resize:vertical;
  min-height:145px
}
.volunteer-form .contact-preference {
  flex-wrap:wrap;
  gap:12px;
  padding:0;
  display:flex
}
.volunteer-form .contact-preference>legend {
  font-family:var(--body);
  flex:0 0 100%;
  margin-bottom:0;
  font-size:.8rem;
  font-weight:950
}
.contact-preference label {
  background:var(--paper);
  border:3px solid var(--ink);
  cursor:pointer;
  align-items:center;
  gap:8px;
  min-width:150px;
  padding:11px 14px;
  font-weight:850;
  display:flex
}
.contact-preference input,.consent-field input {
  width:20px;
  min-height:20px;
  accent-color:var(--purple);
  margin:0
}
.consent-field {
  background:var(--paper-deep);
  border:2px solid var(--ink);
  grid-template-columns:24px minmax(0,1fr);
  align-items:start;
  gap:12px;
  padding:18px;
  font-size:.78rem;
  line-height:1.45;
  display:grid
}
.honeypot {
  clip:rect(0, 0, 0, 0)!important;
  white-space:nowrap!important;
  width:1px!important;
  height:1px!important;
  position:absolute!important;
  overflow:hidden!important
}
.form-error {
  border:3px solid var(--red);
  background:#ffd8cf;
  margin:20px 0 0;
  padding:12px 14px;
  font-weight:850
}
.form-navigation {
  border-top:3px solid var(--ink);
  justify-content:flex-end;
  gap:12px;
  margin-top:30px;
  padding-top:22px;
  display:flex
}
.form-navigation button,.volunteer-success button {
  border:3px solid var(--ink);
  min-height:52px;
  font-family:var(--display);
  text-transform:uppercase;
  cursor:pointer;
  padding:10px 18px
}
.form-back {
  background:var(--white)
}
.form-next {
  background:var(--pink);
  box-shadow:4px 4px 0 var(--ink)
}
.form-next:disabled {
  opacity:.6;
  cursor:wait
}
.volunteer-success>span {
  background:var(--mint);
  border:3px solid var(--ink);
  width:58px;
  height:58px;
  font-family:var(--display);
  place-items:center;
  margin-bottom:22px;
  font-size:2rem;
  display:grid
}
.volunteer-success h3 {
  font-size:clamp(2.4rem,4vw,4rem)
}
.volunteer-success>div {
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  display:flex
}
.donation-callout {
  background:var(--pink);
  border:4px solid var(--ink);
  box-shadow:10px 10px 0 var(--ink);
  margin-top:34px;
  padding:clamp(24px,4vw,44px);
  text-decoration:none;
  display:grid
}
.donation-callout>span {
  text-transform:uppercase;
  margin-bottom:16px;
  font-size:.78rem;
  font-weight:950
}
.donation-callout strong {
  max-width:760px;
  font-family:var(--display);
  font-size:clamp(1.9rem,3.4vw,3.4rem);
  line-height:.98
}
.donation-callout p {
  max-width:680px;
  margin:18px 0;
  font-weight:750
}
.donation-callout b {
  font-family:var(--display);
  text-transform:uppercase;
  font-size:.9rem
}
.home-rebuild .closing {
  padding:clamp(70px,9vw,140px) clamp(24px,6vw,100px) clamp(95px,10vw,160px)
}
.home-rebuild .closing>p:first-child {
  margin-bottom:18px
}
.home-rebuild .closing>strong {
  color:var(--yellow);
  font-family:var(--display);
  letter-spacing:0.04em;
  margin-bottom:14px;
  font-size:clamp(5.2rem,12vw,13rem);
  line-height:.72;
  display:block
}
.home-rebuild .closing h2 {
  max-width:1100px;
  font-size:clamp(4rem,9vw,9.5rem)
}
.news-index,.news-article {
  max-width:1500px;
  margin:0 auto;
  padding:clamp(50px,7vw,100px) clamp(22px,5vw,80px) 120px
}
.news-index-hero {
  border-bottom:4px solid var(--ink);
  padding-bottom:42px
}
.news-index-hero h1 {
  letter-spacing:0.04em;
  margin:0;
  font-size:clamp(5rem,12vw,13rem);
  line-height:.74
}
.news-index-hero>p:last-child {
  max-width:760px;
  margin:28px 0 0;
  font-size:1.2rem;
  font-weight:750
}
.news-index-lead {
  background:var(--white);
  border:4px solid var(--ink);
  box-shadow:10px 10px 0 var(--pink);
  grid-template-columns:minmax(300px,1fr) minmax(0,.9fr);
  margin-top:55px;
  display:grid
}
.news-index-lead-image {
  border-right:4px solid var(--ink);
  min-height:520px
}
.news-index-lead-image img {
  object-fit:cover;
  width:100%;
  height:100%
}
.news-index-lead>div {
  align-self:end;
  padding:clamp(28px,5vw,66px)
}
.news-index-label {
  background:var(--pink);
  border:2px solid var(--ink);
  text-transform:uppercase;
  width:fit-content;
  padding:5px 8px;
  font-size:.74rem;
  font-weight:950
}
.news-index-lead h2 {
  font-size:clamp(2.2rem,3.7vw,4.1rem);
  line-height:.96
}
.news-index-lead h2 a {
  text-decoration:none
}
.news-index-feed {
  margin-top:90px
}
.news-index-feed>header {
  border-bottom:4px solid var(--ink);
  justify-content:space-between;
  align-items:end;
  gap:24px;
  padding-bottom:20px;
  display:flex
}
.news-index-feed>header h2 {
  margin:0;
  font-size:clamp(2.7rem,5vw,5rem)
}
.news-index-feed article>a {
  border-bottom:3px solid var(--ink);
  grid-template-columns:80px minmax(0,1fr) 44px;
  gap:24px;
  padding:32px 0;
  text-decoration:none;
  display:grid
}
.news-index-number {
  color:var(--purple);
  font-family:var(--display);
  font-size:2rem
}
.news-index-row-copy h3 {
  margin-bottom:10px;
  font-size:clamp(1.55rem,2.5vw,2.6rem);
  line-height:1
}
.news-index-row-copy>p:last-child {
  max-width:900px;
  margin:0
}
.news-index-arrow {
  font-size:1.8rem
}
.news-index-cta {
  background:var(--yellow);
  border:4px solid var(--ink);
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:70px;
  padding:32px;
  display:flex
}
.news-index-cta p {
  font-family:var(--display);
  margin:0;
  font-size:1.5rem
}
.breadcrumbs {
  text-transform:uppercase;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:46px;
  font-size:.78rem;
  font-weight:900;
  display:flex
}
.news-article>article {
  max-width:1100px;
  margin:0 auto
}
.news-article-header h1 {
  letter-spacing:0.04em;
  margin-bottom:24px;
  font-size:clamp(3.2rem,6.2vw,6.6rem);
  line-height:1.0
}
.news-article-deck {
  max-width:900px;
  font-size:clamp(1.2rem,1.7vw,1.6rem);
  font-weight:700
}
.news-byline {
  font-size:.85rem;
  font-weight:850
}
.news-article-image {
  margin:48px 0
}
.news-article-image img {
  object-fit:cover;
  border:4px solid var(--ink);
  width:100%;
  max-height:700px;
  box-shadow:10px 10px 0 var(--pink)
}
.news-article-image figcaption {
  color:var(--muted);
  margin-top:12px;
  font-size:.78rem
}
.news-article-body {
  max-width:820px;
  margin:0 auto
}
.news-article-body section {
  margin-bottom:50px
}
.news-article-body h2 {
  margin-bottom:18px;
  font-size:clamp(2rem,3vw,3rem)
}
.news-article-body p {
  font-size:1.08rem;
  line-height:1.62
}
.source-box {
  background:var(--paper-deep);
  border:3px solid var(--ink);
  margin-top:60px;
  padding:28px
}
.source-box p {
  font-size:.9rem
}
.related-news {
  border-top:4px solid var(--ink);
  max-width:1100px;
  margin:100px auto 0;
  padding-top:40px
}
.related-news>div:last-child {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  display:grid
}
@media (width<=1180px) {
  .site-header {
  grid-template-columns:minmax(210px,.7fr) minmax(450px,1.3fr) auto
}
.desktop-nav {
  gap:16px
}
.desktop-nav a {
  font-size:.82rem
}
.home-rebuild .hero h1 {
  font-size:clamp(4.8rem,8.8vw,8.2rem)
}
.hero-ballot {
  grid-template-columns:minmax(120px,.55fr) minmax(230px,1.45fr)
}
.hero-ballot strong {
  font-size:clamp(4.2rem,7vw,6.9rem)
}
.participation-paths {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.participation-paths a:nth-child(2) {
  border-right:0
}
.participation-paths a:nth-child(-n+2) {
  border-bottom:3px solid var(--ink)
}
.participation-paths a:nth-child(3) {
  border-right:3px solid var(--ink)
}
}
@media (width<=920px) {
  .site-header {
  grid-template-columns:1fr auto
}
.wordmark {
  font-size:1.25rem
}
.home-rebuild .hero {
  grid-template-columns:1fr;
  min-height:0
}
.home-rebuild .hero-copy {
  padding-top:70px;
  padding-bottom:70px
}
.home-rebuild .hero h1 {
  font-size:clamp(5.3rem,15vw,9rem)
}
.home-rebuild .hero-photo {
  border-top:4px solid var(--ink);
  border-left:0;
  min-height:68svh
}
.route-strip {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.route-strip a:nth-child(2) {
  border-right:0
}
.route-strip a:nth-child(-n+2) {
  border-bottom:3px solid var(--ink)
}
.route-strip a:nth-child(3) {
  border-right:3px solid var(--ink)
}
.who-section,.volunteer-section,.who-heading,.participation-hub>header,.groups-heading,.imagina-bridge,.assembly-section {
  grid-template-columns:1fr
}
.who-heading .kicker,.participation-hub>header .kicker,.groups-heading .kicker {
  margin-bottom:0
}
.who-portrait {
  max-width:620px
}
.who-proof {
  grid-template-columns:1fr
}
.who-proof p {
  border-right:0;
  border-bottom:3px solid var(--ink);
  min-height:150px
}
.who-proof p:last-child {
  border-bottom:0
}
.news-desk-header,.news-desk-layout,.news-desk-lead {
  grid-template-columns:1fr
}
.news-desk-lead-image {
  border-right:0;
  border-bottom:4px solid var(--ink);
  min-height:430px
}
.group-finder-controls,.news-index-lead {
  grid-template-columns:1fr
}
.group-tabs {
  width:fit-content
}
.news-index-lead-image {
  border-right:0;
  border-bottom:4px solid var(--ink);
  min-height:430px
}
}
@media (width<=620px) {
  .wordmark {
  gap:8px;
  font-size:1rem
}
.wordmark strong {
  font-size:.82em
}
.home-rebuild .hero-copy {
  padding:50px 18px 58px
}
.home-rebuild .hero-name {
  font-size:.88rem
}


.home-rebuild .hero h1 {
  font-size:clamp(4.2rem,20vw,7rem)
}
.hero-ballot {
  grid-template-columns:1fr;
  margin:24px 0 22px
}
.hero-ballot p {
  border-bottom:3px solid var(--ink);
  padding:12px 14px
}
.hero-ballot strong {
  border-left:0;
  padding:8px 14px 2px;
  font-size:clamp(5.3rem,25vw,8rem)
}
.home-rebuild .hero-actions {
  display:grid
}
.home-rebuild .hero-photo {
  min-height:62svh
}
.route-strip {
  grid-template-columns:1fr
}
.route-strip a,.route-strip a:nth-child(3) {
  border-right:0;
  border-bottom:3px solid var(--ink);
  min-height:108px
}
.route-strip a:last-child {
  border-bottom:0
}
.who-heading h2,.news-desk-header h2,.participation-hub h2,.groups-heading h2,.volunteer-heading h2,.imagina-bridge h2,.assembly-section h2 {
  font-size:clamp(3rem,14vw,5rem)
}
.who-portrait blockquote {
  margin-left:10px;
  margin-right:10px;
  padding:18px
}
.identity-chapters article {
  grid-template-columns:44px minmax(0,1fr);
  gap:12px
}
.identity-chapters article>span {
  font-size:1.15rem
}
.participation-paths {
  grid-template-columns:1fr
}
.participation-paths a,.participation-paths a:nth-child(3) {
  border-right:0;
  border-bottom:3px solid var(--ink);
  min-height:220px
}
.participation-paths a:last-child {
  border-bottom:0
}
.group-finder {
  box-shadow:7px 7px 0 var(--ink)
}
.group-finder-controls {
  padding:18px
}
.group-tabs {
  width:100%
}
.group-tabs button {
  flex:1
}
.group-card-grid,.choice-grid,.field-row,.related-news>div:last-child {
  grid-template-columns:1fr
}
.group-card,.group-card:nth-child(2n) {
  border-right:0
}
.volunteer-form,.volunteer-success {
  box-shadow:7px 7px 0 var(--purple);
  padding:20px
}
.form-progress p,.form-navigation,.news-index-feed>header,.news-index-cta {
  flex-direction:column;
  align-items:stretch
}
.form-navigation button {
  width:100%
}
.donation-callout {
  box-shadow:7px 7px 0 var(--ink);
  padding:22px
}
.news-index,.news-article {
  padding-left:18px;
  padding-right:18px
}
.news-index-hero h1 {
  font-size:clamp(4.2rem,22vw,7rem)
}
.news-index-feed article>a {
  grid-template-columns:46px minmax(0,1fr);
  gap:14px
}
.news-index-arrow {
  display:none
}
.news-article-header h1 {
  font-size:clamp(2.7rem,12vw,4.5rem)
}
.home-rebuild .closing>strong {
  font-size:clamp(5rem,26vw,8rem)
}
}


/* Custom Campaign Overrides & Font Applications */

:root {
  --red:#ec2224;
  --pink:#e2146a;
  --purple:#5b4199;
  --purple-dark:#3b246a;
  --yellow:#f6e804;
}

.hero-ballot strong,
.site-header .wordmark strong,
.who-proof strong,
.closing strong,
.footer-brand strong,
.news-desk-index,
.news-index-number {
  font-family: var(--font-brand) !important;
  font-weight: 700;
}

.kicker,
.breadcrumbs a,
.breadcrumbs span {
  font-family: var(--font-body) !important;
}

.hero-name {
  font-family: var(--font-brand) !important;
  letter-spacing: 0.02em !important;
}

/* Ensure the Imagina Junto section is flat bright orange-red */
.imagina-bridge {
  background: var(--red) !important;
}

/* Fix background positions and ensure contrast */
.news-desk-lead-image img,
.news-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.who-portrait img {
  border: 4px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
}

.who-portrait blockquote {
  font-family: var(--font-body);
  font-style: italic;
  border-left: 5px solid var(--pink);
  padding-left: 15px;
}

/* Choice grid button formatting for Brutalist look */
.choice-grid button {
  border: 3px solid var(--ink) !important;
  box-shadow: 4px 4px 0 var(--ink) !important;
  transition: transform 0.1s, box-shadow 0.1s;
}
.choice-grid button.selected {
  background: var(--yellow) !important;
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--ink) !important;
}

/* Styling for the new brand title layout (Slide 13 style) */
.home-rebuild .hero {
  background: linear-gradient(135deg, var(--pink) 0%, var(--purple) 100%) !important;
  color: var(--white) !important;
}

.home-rebuild .hero-copy {
  background: transparent !important;
}

.home-rebuild .hero-intro {
  color: var(--white) !important;
}

.home-rebuild #hero-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  transform: none !important;
  margin-bottom: 25px !important;
}

/* Purple banner box containing "CORAGEM PARA" */
.home-rebuild .title-banner {
  background: var(--purple) !important;
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.8vw, 3.8rem) !important;
  padding: 10px 24px !important;
  transform: rotate(-2deg) !important;
  display: inline-block !important;
  width: fit-content !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  box-shadow: 4px 4px 0px rgba(0,0,0,0.3) !important;
  white-space: nowrap !important;
  letter-spacing: 0.02em !important;
}

.home-rebuild .title-main {
  font-family: var(--font-display) !important;
  color: var(--white) !important;
  font-size: clamp(6.2rem, 12vw, 13rem) !important;
  line-height: 0.8 !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-top: 5px !important;
  transform: rotate(-1deg) !important;
  letter-spacing:0.04em !important;
  text-shadow: 3px 3px 0px rgba(0,0,0,0.2) !important;
}

.button-ghost-light {
  border: 3px solid var(--white) !important;
  color: var(--white) !important;
  background: transparent !important;
  box-shadow: 5px 5px 0 var(--white) !important;
}
.button-ghost-light:hover {
  background: var(--yellow) !important;
  color: var(--ink) !important;
  box-shadow: 1px 1px 0 var(--white) !important;
  transform: translate(4px, 4px) !important;
}

/* Style for hero-ballot to fill the yellow box with the candidate office label on a single line */
.home-rebuild .hero-ballot {
  grid-template-columns: 1fr !important;
  width: fit-content !important;
  max-width: 100% !important;
  display: block !important;
  text-align: center !important;
  padding: 0 !important;
}

.home-rebuild .hero-ballot p {
  color: var(--white) !important;
  font-size: clamp(1.1rem, 2.5vw, 2.1rem) !important;
  line-height: 1.2 !important;
  padding: 12px 24px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-shadow: 2px 2px 0px rgba(0,0,0,0.2) !important;
  white-space: normal !important;
}

/* Inline SVG star letter A styling */
.hero-name .star-a {
  display: inline-block !important;
  height: 0.9em !important;
  width: auto !important; /* Revert width to auto for wide Rockids Softed */
  fill: currentColor !important;
  vertical-align: baseline !important;
  margin-left: 0.05em !important;
  position: relative !important;
  bottom: -0.04em !important;
}



/* Ajuste solicitado: banner final em largura total com CTAs sobre a imagem */
.closing {
  padding: 0 !important;
  overflow: hidden;
}

.closing-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
  display: block !important;
}

.closing-banner-img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
}

.closing-actions {
  position: absolute !important;
  left: 50% !important;
  bottom: clamp(22px, 3.2vw, 46px) !important;
  transform: translateX(-50%) !important;
  z-index: 3 !important;
  width: auto !important;
  max-width: min(92vw, 760px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(14px, 1.8vw, 24px) !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  border: 0 !important;
}

@media (max-width: 720px) {
  .closing-actions {
    bottom: 16px !important;
    width: calc(100% - 32px) !important;
  }

  .closing-actions .button {
    min-width: min(100%, 260px);
  }
}

/* Ajuste solicitado: rodapé com logo limpa e sem número de campanha */
.site-footer .footer-logo {
  width: min(300px, 100%) !important;
  height: auto !important;
  display: block !important;
  opacity: 1 !important;
  filter: none !important;
}

.site-footer .footer-party-line {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 2px !important;
}

.site-footer .footer-pt-logo {
  width: 48px !important;
  height: auto !important;
  flex: 0 0 auto !important;
}

.site-footer .footer-party-line small {
  margin: 0 !important;
  color: var(--white) !important;
  font-family: 'Rockids Softed', var(--display) !important;
  text-transform: uppercase !important;
  font-size: clamp(1rem, 1.25vw, 1.28rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .site-footer .footer-logo {
    width: min(260px, 100%) !important;
  }

  .site-footer .footer-party-line {
    align-items: flex-start !important;
  }

  .site-footer .footer-party-line small {
    white-space: normal !important;
  }
}

/* Ajuste solicitado: substituir selo vermelho do início por imagem */
.home-rebuild .hero-name--image {
  display: block !important;
  width: min(560px, 86vw) !important;
  max-width: 100% !important;
  margin: 0 0 clamp(24px, 2.8vw, 42px) 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.home-rebuild .hero-name--image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 640px) {
  .home-rebuild .hero-name--image {
    width: min(390px, 90vw) !important;
  }
}

/* Ajuste solicitado: logo do cabeçalho com candidatura sem corte */
.site-header {
  min-height: 108px !important;
  align-items: center !important;
  overflow: visible !important;
}

.site-header .wordmark {
  min-width: clamp(245px, 20vw, 390px) !important;
  height: auto !important;
  overflow: visible !important;
  align-self: center !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 4px !important;
  text-decoration: none !important;
}

.site-header .header-logo-img {
  display: block !important;
  width: clamp(235px, 19vw, 360px) !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
}

.site-header .header-candidate-label {
  display: block !important;
  color: #4c4c4c !important;
  font-family: var(--display) !important;
  font-size: clamp(0.78rem, 0.78vw, 1rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .site-header {
    min-height: 96px !important;
  }

  .site-header .wordmark {
    min-width: 220px !important;
  }

  .site-header .header-logo-img {
    width: 220px !important;
  }
}

@media (max-width: 760px) {
  .site-header .wordmark {
    min-width: 190px !important;
  }

  .site-header .header-logo-img {
    width: 190px !important;
  }

  .site-header .header-candidate-label {
    font-size: 0.68rem !important;
  }
}

/* Ajuste solicitado: respiro lateral esquerdo nos textos */
:root {
  --text-left-breathing: clamp(12px, 1.6vw, 30px);
}

main :where(h1, h2, h3, h4, p, ul, ol, blockquote, figcaption, legend, label, .kicker, .breadcrumbs, .news-byline, .field-help, .form-error) {
  padding-left: var(--text-left-breathing);
}

main :where(.button, button, input, select, textarea, .hero-name--image, .hero-name--image img, .group-tabs, .choice-grid, .form-navigation, .closing-actions, .news-desk-lead-image, .news-index-lead-image) {
  padding-left: initial;
}

.site-footer :where(.footer-note, .footer-contact, .footer-social, small) {
  padding-left: var(--text-left-breathing);
}

@media (max-width: 640px) {
  :root {
    --text-left-breathing: 10px;
  }
}

/* Ajuste solicitado: imagens menores nas páginas de notícias */
/* Página /noticias/: reduz pela metade as imagens grandes da listagem */
.news-index-lead-section .news-desk-lead {
  max-width: 980px !important;
  min-height: 0 !important;
  grid-template-columns: minmax(220px, 0.52fr) minmax(0, 1fr) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.news-index-lead-section .news-desk-lead-image {
  height: 260px !important;
  min-height: 0 !important;
  border-right: 4px solid var(--ink) !important;
}

.news-index-lead-section .news-desk-lead-image img {
  width: 100% !important;
  height: 260px !important;
  max-height: 260px !important;
  object-fit: cover !important;
}

.news-list-item {
  grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr) !important;
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.news-list-img {
  height: 180px !important;
  max-height: 180px !important;
  overflow: hidden !important;
}

.news-list-img img {
  width: 100% !important;
  height: 180px !important;
  max-height: 180px !important;
  object-fit: cover !important;
}

/* Artigos internos: mantém imagem de matéria menor, sem afetar a listagem */
.news-article-image {
  max-width: 820px !important;
  margin: 38px auto !important;
}

.news-article-image img {
  max-height: 460px !important;
  object-fit: cover !important;
}

@media (max-width: 760px) {
  .news-index-lead-section .news-desk-lead,
  .news-list-item {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  .news-index-lead-section .news-desk-lead-image,
  .news-index-lead-section .news-desk-lead-image img {
    height: 220px !important;
    max-height: 220px !important;
    border-right: 0 !important;
  }

  .news-list-img,
  .news-list-img img {
    height: 160px !important;
    max-height: 160px !important;
  }

  .news-article-image {
    max-width: 100% !important;
    margin: 30px auto !important;
  }

  .news-article-image img {
    max-height: 300px !important;
  }
}

/* Ajuste solicitado: imagem destaque notícias ocupa altura total */
.news-index-lead-section .news-desk-lead {
  align-items: stretch !important;
}

.news-index-lead-section .news-desk-lead-image {
  align-self: stretch !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  display: block !important;
  overflow: hidden !important;
}

.news-index-lead-section .news-desk-lead-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 760px) {
  .news-index-lead-section .news-desk-lead-image,
  .news-index-lead-section .news-desk-lead-image img {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }
}

/* Controle manual: posição das imagens da página de notícias */
/*
  Para mover cada imagem manualmente, altere o segundo valor:
  0% = mostra mais o topo, 50% = centro, 100% = mostra mais a parte de baixo.
  O primeiro valor move horizontalmente: 0% esquerda, 50% centro, 100% direita.
*/
.news-img-destaque {
  object-position: 50% 50% !important;
}

.news-img-card-1 {
  object-position: 50% 50% !important;
}

.news-img-card-2 {
  object-position: 50% 50% !important;
}

.news-img-card-3 {
  object-position: 50% 50% !important;
}


/* Correção WordPress: menu clicável acima das camadas visuais */
.site-header {
  position: relative !important;
  z-index: 100000 !important;
  isolation: isolate;
}

.site-header .desktop-nav,
.site-header .desktop-nav a,
.site-header .mobile-menu,
.site-header .mobile-menu summary,
.site-header .mobile-menu nav,
.site-header .mobile-menu nav a,
.site-header .header-cta {
  position: relative;
  z-index: 100001 !important;
  pointer-events: auto !important;
}

.home-rebuild .hero,
.home-rebuild .hero-photo,
.home-rebuild .hero-copy,
.hero,
.hero-photo,
.hero-copy {
  position: relative;
  z-index: 1;
}
