:root{--black:#09070a;--ink:#171116;--pink:#ff007f;--hot:#ff007f;--blush:#fff0f7;--paper:#fffafd;--line:#d6c8d0;--max:1220px;--foil:linear-gradient(112deg,#7c0038 3%,#ff007f 23%,#ff91c3 39%,#fff 48%,#ffb8d5 54%,#ff007f 71%,#6d0031 96%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif;overflow-x:hidden}a{color:inherit}.skip{position:fixed;left:16px;top:-70px;background:#fff;padding:10px 14px;z-index:100}.skip:focus{top:8px}.site-header{position:sticky;top:0;z-index:50;height:76px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(9,7,10,.96);border-bottom:1px solid #382730;color:#fff;backdrop-filter:blur(14px)}.brand{text-decoration:none;text-transform:uppercase;line-height:.9}.brand span{display:block;font:900 21px/1 "League Spartan";letter-spacing:.015em}.brand b{display:block;margin-top:7px;color:var(--pink);font:800 9px/1 "DM Sans";letter-spacing:.19em}.site-header nav{display:flex;align-items:center;gap:27px}.site-header nav a{font-size:12px;font-weight:800;text-decoration:none}.site-header nav a:hover{color:var(--hot)}.nav-sign{border:1px solid var(--pink);padding:11px 15px;text-transform:uppercase;letter-spacing:.06em}.menu{display:none}.menu span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.hero{min-height:calc(100svh - 76px);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(50px,7vw,100px);padding:70px max(24px,calc((100vw - var(--max))/2));background:radial-gradient(circle at 82% 35%,rgba(255,8,123,.2),transparent 27%),linear-gradient(135deg,#09070a 70%,#16050e);color:#fff}.eyebrow{color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:22px 0;font:900 clamp(76px,9vw,142px)/.72 "League Spartan";letter-spacing:-.07em;text-transform:uppercase}.hero h1 span{display:block;color:transparent;-webkit-text-stroke:1.5px #fff}.hero h1 strong{display:block;background:var(--foil);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(255,8,123,.33));animation:foil 6s linear infinite}.hero-lede{max-width:600px;font-size:20px;line-height:1.5;color:#d8ccd3}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button,form button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;padding:15px 18px;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.07em}.button-pink,form button{border:0;background:var(--pink);color:#fff;box-shadow:5px 5px 0 #67002f}.button-line{border:1px solid #776871}.button:hover,form button:hover{transform:translate(-1px,-1px)}.vote-note{display:flex;gap:18px;margin:35px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.vote-note span{color:#a797a0}.hero-visual{position:relative;min-height:650px}.hero-visual figure{position:absolute;right:0;top:0;width:67%;height:86%;margin:0;padding:8px;background:var(--foil);box-shadow:18px 18px 0 #350019}.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.85) contrast(1.05)}.hero-visual figcaption{position:absolute;right:5px;bottom:-48px;background:#fff;color:#130d11;padding:10px 14px;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.shine-card{position:absolute;z-index:2;left:0;bottom:1%;width:65%;aspect-ratio:1.48;padding:10% 9%;display:flex;flex-direction:column;justify-content:center;transform:rotate(-5deg);border:2px solid var(--pink);background:linear-gradient(145deg,rgba(255,255,255,.06),transparent 42%),#09070a;box-shadow:0 0 0 7px #09070a,0 0 0 9px var(--pink),20px 24px 45px rgba(0,0,0,.55)}.shine-card span,.shine-card strong{font:900 clamp(38px,5vw,72px)/.72 "League Spartan";text-transform:uppercase;letter-spacing:-.05em}.shine-card strong{background:var(--foil);background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent}.shine-card b{margin-top:20px;color:#fff;font-size:10px;letter-spacing:.22em;text-transform:uppercase}.star{position:absolute;z-index:3;color:#fff;text-shadow:0 0 10px #fff,0 0 24px var(--pink)}.star-one{right:-9px;top:10%;font-size:34px}.star-two{left:22%;top:9%;font-size:22px}.ticker{overflow:hidden;background:var(--pink);border-block:1px solid #0a0809}.ticker div{min-width:max-content;padding:14px 0;font:900 12px/1 "League Spartan";letter-spacing:.15em;text-transform:uppercase;word-spacing:25px;animation:ticker 28s linear infinite}.ticker b{color:#fff}
.section{padding:110px max(24px,calc((100vw - var(--max))/2))}.section-tag{display:grid;grid-template-columns:50px 1fr;gap:12px;padding-bottom:13px;margin-bottom:64px;border-bottom:1px solid var(--line);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.section-tag span{color:var(--pink)}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(50px,8vw,120px);align-items:start}.intro h2,.stand h2,.work h2,.sign h2,.contact h2{margin:0;font:800 clamp(52px,6vw,86px)/.96 "League Spartan";letter-spacing:-.05em}.intro h2 em,.stand h2 em,.work h2 em,.sign h2 em,.contact h2 em{display:block;color:var(--pink);font-style:normal}.intro-copy p{margin:0 0 22px}.intro-copy .lead{font-size:20px;font-weight:700}.intro blockquote{max-width:1040px;margin:90px auto 0;padding:0 0 0 35px;border-left:7px solid var(--pink);font:700 clamp(34px,4.5vw,62px)/1.1 "League Spartan";letter-spacing:-.035em}.anti-club{padding:105px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(120deg,#ff007f,#bd004f);color:#fff;text-align:center}.anti-club .eyebrow{color:#1b0710}.anti-club h2{max-width:1050px;margin:12px auto 28px;font:900 clamp(54px,7vw,100px)/.88 "League Spartan";letter-spacing:-.055em;text-transform:uppercase}.anti-club h2 span{color:#09070a}.anti-club>p:not(.eyebrow){max-width:740px;margin:0 auto;font-size:19px}.anti-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:960px;margin:55px auto 0;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.45)}.anti-points article{padding:25px;background:rgba(154,0,61,.32)}.anti-points b,.anti-points span{display:block}.anti-points b{font:800 25px/1 "League Spartan"}.anti-points span{margin-top:10px;font-size:13px}
.stand{background:#fff}.stand-head{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end;margin-bottom:70px}.stand-head>p{font-size:19px}.stance-list{border-top:1px solid var(--line)}.stance-list article{display:grid;grid-template-columns:55px 1fr 1.3fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.stance-list article>span{color:var(--pink);font-weight:900}.stance-list h3{margin:0;font:800 29px/1.05 "League Spartan"}.stance-list p{margin:0;color:#63565e}.work{background:var(--black);color:#fff}.section-tag.light{border-color:#42333b}.work-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(60px,9vw,130px)}.work-copy p{margin:0 0 24px;color:#c9bac3;font-size:18px}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:85px;border:1px solid #493740}.proof-strip div{padding:30px;border-right:1px solid #493740}.proof-strip div:last-child{border:0}.proof-strip strong,.proof-strip span{display:block}.proof-strip strong{color:var(--pink);font:900 45px/1 "League Spartan"}.proof-strip span{margin-top:9px;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.1em;color:#aea0a8}.promise{padding:90px max(24px,calc((100vw - var(--max))/2));background:var(--foil);background-size:180% auto;text-align:center;color:#fff;animation:foil 8s linear infinite}.promise p{max-width:1050px;margin:0 auto;font:800 clamp(38px,5vw,70px)/1.02 "League Spartan";letter-spacing:-.04em}.promise strong{display:block;margin-top:28px;color:#10080c;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.sign{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,130px);background:#130e12;color:#fff}.sign-copy>p:last-child{max-width:510px;color:#bcaeb6;font-size:18px}.sign form,.contact form{padding:38px;background:#fff;color:var(--ink);border-top:5px solid var(--pink);box-shadow:13px 13px 0 #5d002b}.hide{display:none}form label{display:block;margin-bottom:20px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}form small{color:#897982}form input,form textarea,form select{display:block;width:100%;margin-top:5px;padding:11px 2px;border:0;border-bottom:1px solid #5e5058;border-radius:0;background:transparent;color:inherit;font:inherit}form input:focus,form textarea:focus,form select:focus{outline:2px solid rgba(255,8,123,.28);outline-offset:3px}form button{width:100%;cursor:pointer;margin-top:8px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,9vw,130px)}.contact-grid>div>p{max-width:520px;font-size:18px}.contact form{border:1px solid var(--line);border-top:5px solid var(--pink);box-shadow:13px 13px 0 var(--pink)}footer{display:grid;grid-template-columns:1fr 1fr;gap:24px 70px;padding:65px max(24px,calc((100vw - var(--max))/2)) 30px;background:#070607;color:#fff}.footer-call{margin:0;text-align:right;color:var(--pink);font:900 31px/1 "League Spartan";text-transform:uppercase}footer nav{display:flex;gap:20px;flex-wrap:wrap}footer nav a{font-size:11px}.paid{margin:0;text-align:right;color:#786b73;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
@keyframes foil{to{background-position:-220% center}}@keyframes ticker{to{transform:translateX(-50%)}}
@media(max-width:900px){.site-header{height:70px}.menu{display:block;width:42px;height:42px;padding:8px;border:0;background:none;color:#fff}.menu i{display:block;height:2px;margin:5px;background:currentColor}.site-header nav{display:none;position:absolute;left:0;top:70px;width:100%;height:calc(100dvh - 70px);padding:32px 24px;background:#09070a;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:18px 0;border-bottom:1px solid #3a2932;font:800 26px/1 "League Spartan"}.site-header nav .nav-sign{margin-top:22px;text-align:center;font:900 11px/1 "DM Sans"}.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{min-height:600px}.intro-grid,.stand-head,.work-grid,.sign,.contact-grid{grid-template-columns:1fr}.intro-grid,.stand-head{gap:35px}.anti-points{grid-template-columns:1fr}.stance-list article{grid-template-columns:45px 1fr}.stance-list p{grid-column:2}.proof-strip{grid-template-columns:1fr}.proof-strip div{border-right:0;border-bottom:1px solid #493740}footer{grid-template-columns:1fr}.footer-call,.paid{text-align:left}}
@media(max-width:560px){.section{padding-top:76px;padding-bottom:76px}.hero{padding:55px 20px}.hero h1{font-size:clamp(70px,22vw,98px)}.hero-lede{font-size:18px}.hero-actions{flex-direction:column}.hero-actions a{width:100%}.vote-note{flex-direction:column;gap:3px}.hero-visual{min-height:470px}.hero-visual figure{width:72%;height:79%}.shine-card{width:72%;bottom:4%}.shine-card span,.shine-card strong{font-size:40px}.star-two{left:6%}.intro h2,.stand h2,.work h2,.sign h2,.contact h2{font-size:46px}.intro blockquote{margin-top:60px;font-size:34px;padding-left:22px}.anti-club{padding:75px 20px}.anti-club h2{font-size:50px}.stand-head{gap:24px}.stance-list article{gap:12px}.proof-strip{margin-top:55px}.promise{padding:72px 20px}.sign form,.contact form{padding:24px}.ticker div{animation-duration:20s}footer{padding-top:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero h1 strong,.ticker div,.promise{animation:none}}

/* Shared multi-page campaign layouts. */
html,body{overflow-x:clip}
.site-header .brand b{color:#ff007f}
.issue-aside a[aria-current]{color:var(--pink);font-weight:800}
a:focus-visible,button:focus-visible{outline:3px solid #ff007f;outline-offset:5px}
.site-header nav{gap:21px}.site-header nav a[aria-current],.site-header nav a.section-current{color:#ff007f;text-decoration:underline;text-underline-offset:7px}
.hero{min-height:0;padding-top:62px;padding-bottom:62px}.hero-visual{min-height:560px}.hero-visual img{filter:none;object-position:center 40%}.hero-visual figure{height:88%;width:76%}.shine-card{bottom:0}
.hero .eyebrow,.page-hero .eyebrow,.home-intro .eyebrow,.issue-aside .eyebrow{color:#ff007f}
.ticker{background:#ff007f}.ticker div{animation:none;word-spacing:12px;color:#09070a}.ticker b{color:#09070a}
.page-hero{padding:74px max(24px,calc((100vw - var(--max))/2)) 66px;background:radial-gradient(ellipse at 90% 10%,#590026 0,transparent 48%),#09070a;color:#fff;border-bottom:4px solid #ff007f}
.page-hero h1{font:900 clamp(55px,7.5vw,102px)/.94 "League Spartan",sans-serif;letter-spacing:-.05em;margin:22px 0}
.page-hero h1 em{font-style:normal;color:#ff007f}.page-lede{font-size:20px;line-height:1.6;max-width:780px;color:#e2d3dc;margin-bottom:0}
.compact{padding-top:65px;padding-bottom:70px}.home-priorities{padding-top:70px;padding-bottom:75px}.home-priorities .section-tag{margin-bottom:35px}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end;margin-bottom:40px}
.section-heading h2,.home-intro h2{font:800 clamp(42px,4.5vw,64px)/1 "League Spartan",sans-serif;letter-spacing:-.04em;margin:0}
.section-heading h2 em,.home-intro h2 em{font-style:normal;color:var(--pink)}.section-heading p{margin:0;font-size:18px}
.issue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.issue-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;text-decoration:none;border:1px solid var(--line);border-top:5px solid var(--pink);background:#fff;transition:box-shadow .15s,transform .15s}
.issue-card:hover{box-shadow:6px 6px 0 #f9a1c7;transform:translateY(-3px)}
.issue-card .eyebrow{font-size:10px;margin:0}.issue-card h3{font:800 36px/1.02 "League Spartan",sans-serif;letter-spacing:-.035em;margin:25px 0 12px}
.issue-card p{font-size:16px;margin:0 0 28px}.read-link{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.read-link b{font-size:23px;color:var(--pink)}
.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:65px max(24px,calc((100vw - var(--max))/2));background:#130b10;color:#fff}.home-intro h2 em{color:#ff007f}.home-intro p{font-size:18px}.home-intro .eyebrow{font-size:11px}.text-link{font-weight:800;text-underline-offset:7px;color:#ff007f}
.reading-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:80px;max-width:1220px;padding:64px 24px 75px;margin:auto}
.issue-aside{align-self:start;position:sticky;top:108px;padding:25px;background:#130b10;color:#fff;border-top:4px solid #ff007f}.issue-aside a{display:block;padding:14px 0;border-bottom:1px solid #58404e;font-size:14px;text-underline-offset:4px}.issue-aside a:last-child{border:0}
.reading-content section{margin:0 0 38px;padding:0 0 24px;border-bottom:1px solid var(--line)}.reading-content section:last-child{margin:0;padding:0;border:0}
.reading-content h2,.experience-grid h2,.plain-steps h2{font:800 35px/1.08 "League Spartan",sans-serif;letter-spacing:-.025em;margin:0 0 18px}
.reading-content p{font-size:18px;line-height:1.75;margin:0 0 18px}.reading-content p:last-child{margin-bottom:0}
.next-step{padding:45px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:40px;align-items:center;background:#fce3ee;border-top:1px solid #e8a2c0}.next-step h2{font:800 35px/1.05 "League Spartan",sans-serif;margin:0 0 10px}.next-step p{margin:0;max-width:700px}.next-step .button{flex-shrink:0}
.principle-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;background:#140b11;color:#fff;padding:40px;margin-top:42px;border-left:6px solid #ff007f}.principle-note h2{font:800 38px/1.05 "League Spartan",sans-serif;margin:0;color:#ff007f}.principle-note p{font-size:18px;margin:0}
.story-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:start}.story-photo{margin:0;padding:8px;background:var(--foil);box-shadow:12px 12px 0 #ebc1d4}.story-photo img{display:block;width:100%;height:auto;max-height:670px;object-fit:cover}.story-photo figcaption{background:#130b10;color:#fff;padding:14px;font-size:12px}
.quote-band{padding:55px max(24px,calc((100vw - var(--max))/2));background:#130b10;color:#fff;border-block:6px solid #ff007f}.quote-band p{font:800 clamp(30px,3.7vw,49px)/1.15 "League Spartan",sans-serif;max-width:1040px;margin:0 0 22px}.quote-band span{color:#ff007f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.experience-grid article{border-top:4px solid var(--pink);padding-top:20px}.experience-grid h2{margin-top:20px}.experience-grid p{font-size:17px}.plain-steps{margin-top:50px}.plain-steps ol{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;padding-left:25px}.plain-steps li{padding-left:6px;font-size:17px}
.campaign-art{display:block;width:100%;height:auto;margin:0 0 34px;border:1px solid #ae3168}.sign-copy h2{font-size:48px}.form-note{font-size:13px;line-height:1.6;margin-top:25px}.contact-boundary{border-left:3px solid var(--pink);padding-left:20px;font-size:15px!important}.preview-notice{background:#fff0f7;border:2px solid #ff007f;color:#171116;font-size:14px;padding:14px;margin:0 0 25px}
form input,form textarea,form select{font:400 16px/1.5 "DM Sans",sans-serif;text-transform:none;letter-spacing:normal}form label{font-size:11px}form button:disabled{background:#6b5660;box-shadow:none;cursor:not-allowed}footer .paid{color:#b6a5af;font-size:10px}footer .nav-sign{border:0;padding:0;text-transform:none;letter-spacing:0}
@media(max-width:1000px){.issue-grid,.experience-grid{grid-template-columns:1fr}.issue-card{padding:26px}.issue-card h3{margin-top:18px}.section-heading{grid-template-columns:1fr;gap:25px}.reading-layout{grid-template-columns:210px minmax(0,1fr);gap:35px}.story-grid{gap:35px}.home-intro{gap:40px}}
@media(max-width:700px){.page-hero{padding-top:50px;padding-bottom:45px}.page-hero h1{font-size:clamp(46px,10vw,66px)}.page-lede{font-size:18px}.reading-layout{display:flex;flex-direction:column;padding-top:35px;gap:35px}.issue-aside{position:static;width:100%}.issue-aside a{padding:10px 0}.home-intro,.story-grid,.principle-note{grid-template-columns:1fr;gap:28px}.story-photo{max-width:370px;width:100%;margin:0 auto 20px}.story-photo img{max-height:480px;object-position:top}.principle-note{padding:28px}.next-step{flex-direction:column;align-items:flex-start;gap:24px}.plain-steps ol{grid-template-columns:1fr}.hero-visual{min-height:510px}.hero-visual figure{height:83%;width:76%}.shine-card{bottom:0}.reading-content h2{font-size:32px}.contact h2{font-size:40px}.sign{gap:40px}.hero-visual figcaption{font-size:9px;bottom:-39px}.home-priorities{padding-top:50px;padding-bottom:55px}.section-heading h2{font-size:43px}}
@media(max-width:400px){.hero-visual{min-height:440px}.shine-card span,.shine-card strong{font-size:36px}.shine-card b{font-size:8px}.hero h1{font-size:22vw}.page-hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.issue-card{transition:none}}
.footer-social{display:flex;gap:14px;align-items:center;justify-content:flex-end}.footer-social a{color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.footer-social a:hover,.footer-social a:focus-visible{color:var(--pink)}.direct-contact{display:grid;gap:10px;margin:28px 0}.direct-contact a{display:block;padding:16px 18px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;transition:.18s ease}.direct-contact a:hover,.direct-contact a:focus-visible{border-color:var(--pink);box-shadow:5px 5px 0 var(--pink);transform:translate(-2px,-2px)}.direct-contact span{display:block;margin-bottom:5px;color:#76656e;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.direct-contact strong{font-size:14px;overflow-wrap:anywhere}@media(max-width:900px){.footer-social{justify-content:flex-start}}

/* Pink-and-white holographic wave */
:root{--holo-pink:linear-gradient(112deg,#74002f 0%,#f00076 20%,#ff5aa9 34%,#fff 45%,#ffb6d8 52%,#fff 58%,#ff2790 70%,#a9004b 88%,#ff77ba 100%)}
.hero h1 span,.hero h1 strong{position:relative;display:block;background:
radial-gradient(ellipse 42% 110% at var(--wave-x,0%) 50%,#fff 0 8%,#ffd2e6 14%,#ff56a5 31%,transparent 54%),
var(--holo-pink);background-size:180% 120%,220% 100%;background-position:var(--wave-x,0%) 50%,calc(var(--wave-x,0%) * .7) 50%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:0;filter:drop-shadow(0 0 14px rgba(255,8,123,.34));animation:holo-wave 5.6s cubic-bezier(.45,0,.2,1) infinite}
.hero h1 span{animation-delay:-2.1s}
.hero-visual figure,.story-photo{background:linear-gradient(115deg,#f00076 0 24%,#fff 39%,#ff86bf 49%,#fff 58%,#ff007f 74%,#8d003d 100%);background-size:260% 100%;animation:holo-frame 7s ease-in-out infinite}
@property --wave-x{syntax:"<percentage>";inherits:false;initial-value:0%}
@keyframes holo-wave{0%,12%{--wave-x:-35%}55%,68%{--wave-x:135%}100%{--wave-x:135%}}
@keyframes holo-frame{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.hero h1 span,.hero h1 strong,.hero-visual figure,.story-photo{animation:none;--wave-x:52%;background-position:50% 50%}}


/* Restrained overview header: this page introduces positions rather than another campaign slogan. */
.stand-hero{padding-top:48px;padding-bottom:46px;background:#09070a;border-bottom:3px solid #ff007f}
.stand-hero h1{margin:14px 0 10px;font-size:clamp(48px,6vw,76px);letter-spacing:-.035em}
.stand-hero .page-lede{max-width:850px;font-size:18px}

.agenda-callout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,7vw,95px);padding:50px max(24px,calc((100vw - var(--max))/2));background:#130b10;color:#fff;border-block:1px solid #ff007f}
.agenda-callout h2{max-width:620px;margin:8px 0 0;font:800 clamp(35px,4.5vw,62px)/.98 "League Spartan",sans-serif;letter-spacing:-.045em}
.agenda-callout p{max-width:650px;margin:0 0 24px;font-size:18px;color:#eadde4}
.agenda-callout .button-line{border-color:#ff007f}
@media(max-width:700px){.agenda-callout{grid-template-columns:1fr;padding-top:42px;padding-bottom:46px}.agenda-callout h2{font-size:40px}}
.issue-context{padding:18px 20px;border-left:5px solid var(--pink);background:#fff0f7}.issue-context strong{color:#9c0047}

/* Reference-led campaign rebuild */
.campaign-hero{min-height:calc(100svh - 76px);display:grid;place-items:center;padding:clamp(70px,10vw,130px) 24px;background:
radial-gradient(ellipse at 50% 110%,rgba(255,0,127,.18),transparent 48%),
radial-gradient(ellipse at 80% 5%,rgba(116,0,47,.38),transparent 42%),#09070a;color:#fff;text-align:center;border-bottom:1px solid #34101f}
.campaign-hero-inner{width:min(1120px,100%)}
.campaign-kicker,.campaign-term{margin:0;text-transform:uppercase;font-weight:800;letter-spacing:.2em}
.campaign-kicker{color:#ff007f;font-size:.82rem}
.campaign-term{margin-top:2.2rem;color:#ad9da6;font-size:.76rem}
.campaign-wordmark{margin:1.7rem 0 .3rem;text-transform:uppercase}
.campaign-wordmark span{display:block;font:900 clamp(4.5rem,11.5vw,10rem)/.78 "League Spartan",sans-serif;letter-spacing:-.065em;background:
radial-gradient(ellipse 30% 140% at var(--wave-x,0%) 50%,#fff 0 8%,#ffd5e8 15%,#ff69b2 31%,transparent 55%),
linear-gradient(110deg,#fff 0%,#ff2e94 24%,#fff 45%,#ff65af 62%,#fff 78%,#ff007f 100%);
background-size:185% 120%,240% 100%;background-position:var(--wave-x,0%) 50%,50% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 20px rgba(255,0,127,.26));animation:holo-wave 5.6s cubic-bezier(.45,0,.2,1) infinite}
.campaign-wordmark small{display:block;margin-top:1.5rem;color:#fff;font:800 clamp(1.15rem,2.5vw,2rem)/1 "DM Sans",sans-serif;letter-spacing:.18em}
.campaign-slogan{margin:2.4rem 0 0;color:#ff007f;font:900 clamp(2rem,4vw,3.6rem)/1 "League Spartan",sans-serif;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 24px rgba(255,0,127,.32)}
.centered-actions{justify-content:center}
.home-about{display:grid;grid-template-columns:minmax(280px,.75fr) 1.25fr;gap:clamp(45px,8vw,110px);align-items:center;padding:90px max(24px,calc((100vw - var(--max))/2));background:#130b10;color:#fff}
.home-about figure{margin:0;padding:7px;background:linear-gradient(115deg,#f00076,#fff 40%,#ff78b8 58%,#fff 67%,#ff007f);box-shadow:14px 14px 0 #4d0024}
.home-about img{display:block;width:100%;max-height:560px;object-fit:cover;object-position:center 40%}
.home-about h2{margin:.5rem 0 1.5rem;font:800 clamp(3rem,5vw,5rem)/.93 "League Spartan",sans-serif;letter-spacing:-.045em}
.home-about p:not(.eyebrow){max-width:670px;font-size:1.1rem;color:#e2d5dc}
.home-about .text-link{display:inline-block;margin-top:1rem}
@media(max-width:700px){.campaign-hero{min-height:calc(100svh - 70px);padding:65px 20px}.campaign-wordmark span{font-size:clamp(4rem,22vw,6.4rem)}.campaign-wordmark small{line-height:1.25}.campaign-slogan{margin-top:2rem}.home-about{grid-template-columns:1fr;padding-top:65px;padding-bottom:70px}.home-about figure{max-width:360px}.section-heading h2{font-size:2.65rem}}
.nav-positions{position:relative}
.nav-positions summary{list-style:none;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}
.nav-positions summary::-webkit-details-marker{display:none}
.nav-positions summary::after{content:" +";color:#ff007f}
.nav-positions[open] summary::after{content:" −"}
.nav-positions summary:hover,.nav-positions summary:focus-visible,.nav-positions summary.section-current{color:#ff007f}
.nav-submenu{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%);width:245px;padding:10px 18px;background:#130b10;border:1px solid #50303f;border-top:3px solid #ff007f;box-shadow:0 16px 35px rgba(0,0,0,.35)}
.site-header .nav-submenu a{display:block;padding:11px 0;border-bottom:1px solid #3b2630;font-size:12px}
.site-header .nav-submenu a:last-child{border-bottom:0;color:#c5b4bd}
@media(max-width:900px){.nav-positions{border-bottom:1px solid #3a2932}.nav-positions summary{padding:18px 0;font:800 26px/1 "League Spartan"}.nav-submenu{position:static;transform:none;width:100%;padding:0 0 12px 18px;border:0;border-left:2px solid #ff007f;box-shadow:none}.site-header .nav-submenu a{padding:13px 0;font:700 18px/1.2 "League Spartan";border-bottom:0}}
/* Attachment-matched landing shimmer */
.hero{background:radial-gradient(circle at 82% 35%,rgba(255,0,127,.16),transparent 28%),#0a0a0a}
.hero h1 span,.hero h1 strong{display:block;background:linear-gradient(110deg,#fff 25%,#ff007f 50%,#fff 75%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;filter:drop-shadow(0 0 16px rgba(255,0,127,.3));animation:attachment-shimmer 4s linear infinite}
.hero h1 span{animation-delay:-1.25s}
.hero-visual figure{background:linear-gradient(110deg,#ff007f 15%,#fff 42%,#ff007f 68%,#fff 86%);background-size:250% 100%;animation:attachment-shimmer 6s linear infinite}
.ticker{background:#ff007f}
.button-pink{background:#ff007f}.brand b,.eyebrow,.text-link{color:#ff007f}
@keyframes attachment-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.hero h1 span,.hero h1 strong,.hero-visual figure{animation:none;background-position:50% 0}}
/* Correct landing hierarchy */
.hero .hero-name{margin:22px 0 0;font:900 clamp(3.8rem,6.2vw,6rem)/.86 "League Spartan",sans-serif;letter-spacing:-.055em;text-transform:uppercase}
.hero .hero-name span{display:block;white-space:nowrap;background:linear-gradient(110deg,#fff 20%,#ff91c8 34%,#ff007f 48%,#fff 58%,#ff4fa6 72%,#fff 84%);background-size:280% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px rgba(255,0,127,.32));animation:name-hologram 3.8s linear infinite}
.hero .hero-name small{display:block;margin-top:1rem;color:#fff;font:800 clamp(.9rem,1.5vw,1.2rem)/1.2 "DM Sans",sans-serif;letter-spacing:.18em}
.hero .hero-slogan{margin:1.8rem 0 0;color:#ff007f;font:900 clamp(2.5rem,4.6vw,4.5rem)/.92 "League Spartan",sans-serif;text-transform:uppercase;letter-spacing:-.025em;text-shadow:0 0 22px rgba(255,0,127,.3)}
@keyframes name-hologram{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media(max-width:560px){.hero .hero-name{font-size:clamp(3.4rem,17vw,5.2rem)}.hero .hero-name span{white-space:normal}.hero .hero-slogan{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.hero .hero-name span{animation:none;background-position:50% 0}}
.reading-content blockquote{margin:22px 0 26px;padding:22px 25px;border-left:5px solid #ff007f;background:#130b10;color:#fff;font:700 1.25rem/1.5 "DM Sans",sans-serif}.meaning-section{padding:30px!important;border:1px solid #e5b1c9!important;border-left:6px solid #ff007f!important;background:#fff5fa}

.striker-feature{margin:28px 0 8px;padding:6px;background:linear-gradient(115deg,#ff007f,#fff 42%,#ff76b8 60%,#fff 72%,#ff007f);box-shadow:10px 10px 0 #e6bfd1}
.striker-feature img{display:block;width:100%;aspect-ratio:2.14/1;object-fit:cover;object-position:center 45%}
.striker-feature figcaption{padding:11px 13px;background:#130b10;color:#fff;font-size:.8rem}
/* Compact About-page photo rail */
.story-photo-rail{display:grid;gap:34px;align-content:start;position:sticky;top:105px}
.story-photo-rail .story-photo{width:100%;margin:0}
.story-photo-rail .story-photo:first-child img{aspect-ratio:4/5;max-height:none;object-fit:cover;object-position:center 24%}
.story-photo-rail .striker-side-photo img{aspect-ratio:4/3;max-height:none;object-fit:cover;object-position:center 34%}
.story-photo-rail .striker-side-photo figcaption{line-height:1.45}
@media(max-width:700px){.story-photo-rail{position:static;grid-template-columns:1fr 1fr;gap:18px;max-width:none}.story-photo-rail .story-photo{max-width:none;margin:0}.story-photo-rail .story-photo:first-child img,.story-photo-rail .striker-side-photo img{aspect-ratio:1/1}.story-photo-rail .story-photo figcaption{min-height:56px}}
@media(max-width:460px){.story-photo-rail{grid-template-columns:1fr}.story-photo-rail .story-photo{max-width:340px;margin-inline:auto}.story-photo-rail .story-photo:first-child img{aspect-ratio:4/5}.story-photo-rail .striker-side-photo img{aspect-ratio:4/3}.story-photo-rail .story-photo figcaption{min-height:0}}
/* Readable global navigation and unified campaign pink */
.site-header{height:84px}
.site-header .brand span{font-size:24px}
.site-header .brand b{margin-top:8px;color:var(--pink);font-size:11px}
.site-header nav{gap:18px}
.site-header nav a{font-size:15px;line-height:1.25}
.site-header .nav-sign{padding:12px 16px}
footer{padding-top:58px;gap:28px 70px}
footer .brand span{font-size:25px}
footer .brand b{font-size:11px}
.footer-call{color:var(--pink);font-size:36px}
.footer-social a,footer nav a{font-size:14px;line-height:1.4}
footer .paid{font-size:12px;line-height:1.5}
@media(max-width:1100px) and (min-width:901px){.site-header nav{gap:13px}.site-header nav a{font-size:13px}.site-header .brand span{font-size:22px}}
@media(max-width:900px){.site-header{height:70px}.site-header .brand span{font-size:22px}.site-header .brand b{font-size:10px}.site-header nav a{font-size:26px}.site-header nav .nav-sign{font-size:15px}.footer-social a,footer nav a{font-size:16px}footer .paid{font-size:12px}}
/* Landing portrait: intentional head-and-shoulders crop */
.hero-visual figure{top:6%;width:84%;height:auto;aspect-ratio:1.085/1}
.hero-visual img{object-position:center 18%}
@media(max-width:700px){.hero-visual figure{top:5%;width:86%;height:auto;aspect-ratio:1.04/1}.hero-visual img{object-position:center 16%}}
/* Final landing readability and motion fixes */
.ticker div{animation:ticker 28s linear infinite}
.hero-actions .button{min-height:54px;padding:17px 22px;font-size:15px;line-height:1;letter-spacing:.055em}
.hero-actions .button b{font-size:18px}
footer nav{grid-column:1/-1;flex-wrap:nowrap;justify-content:center;gap:clamp(18px,2.2vw,34px);white-space:nowrap}
footer .paid{grid-column:1/-1;text-align:center}
@media(max-width:900px){footer nav{justify-content:flex-start;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.hero-actions .button{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ticker div{animation:none}}
/* Where-I-Stand sidebar readability */
.issue-aside{padding:28px}
.issue-aside .eyebrow{font-size:12px;line-height:1.4}
.issue-aside a{padding:16px 0;font-size:17px;line-height:1.35}
@media(max-width:700px){.issue-aside{padding:24px}.issue-aside a{padding:13px 0;font-size:18px}}