:root{--navy:#0e2140;--ink:#101827;--red:#b51226;--paper:#fff;--line:#d7dbe0;--muted:#364253;--sans:Arial,Helvetica,sans-serif}
.wrap{width:calc(100% - 8.5%);max-width:1320px}
.icon{width:24px;height:24px;flex:none;vertical-align:middle}
.bar,.footbar{min-height:56px;gap:20px;padding:8px 7px}
.bar nav,.footbar nav{gap:clamp(13px,2.4vw,35px)}
.bar nav a{position:relative;font:600 clamp(.76rem,1.22vw,.98rem) var(--serif);padding:7px 4px 9px;white-space:nowrap}
.bar nav a[aria-current],.bar nav a:hover{color:var(--navy);text-decoration:none}
.bar nav a[aria-current]::after,.bar nav a:hover::after{content:"";position:absolute;bottom:0;left:-3px;right:-3px;height:2px;background:var(--red)}
.home{line-height:1.23}
.civic-hero{isolation:isolate;position:relative;min-height:clamp(323px,30.8vw,442px);display:grid;align-items:center;background:#172b45;color:white;overflow:hidden}
.hero-photo,.civic-hero::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-photo{object-fit:cover;object-position:50% 48%}
.civic-hero::after{content:"";background:linear-gradient(90deg,#0a142e33 0%,#0b172eaf 12%,#0b172e89 33%,#0b172e19 61%,transparent 78%)}
.hero-inner{padding:22px 0 20px 4.25vw}
.civic-hero h1{color:#fff;font-size:clamp(2.55rem,4.36vw,4rem);line-height:.88;letter-spacing:-.035em;text-shadow:0 2px 5px #1119}
.civic-hero h1::after,.rule::after{content:"";display:block;background:var(--red);height:4px;width:55px;margin:14px 0 8px;border-radius:1px}
.hero-summary{max-width:405px;margin:9px 0 13px;font-size:clamp(.86rem,1.36vw,1.08rem);line-height:1.13;text-shadow:0 1px 4px #111}
.hero-actions,.update-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.civic-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:white;padding:8px 13px;border:1px solid white;border-radius:5px;font-weight:700;font-size:.91rem;text-decoration:none;min-height:38px}
.civic-button .icon{width:20px;height:20px}.civic-button.primary{background:linear-gradient(#c7162a,#a80e20)}.civic-button.secondary{background:#0b1c34a6}.civic-button:hover{background:#861322}
.facts,.civic-eligibility{background:linear-gradient(112deg,#f5f6f7,#eceef0)}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:12px 0}
.fact-grid a{display:flex;justify-content:center;align-items:center;gap:14px;text-decoration:none;color:var(--navy);padding:0 10px}
.fact-grid a+a{border-left:1px solid #aeb6c0}.fact-grid a:hover strong{text-decoration:underline}
.fact-grid .icon{width:clamp(24px,3.4vw,42px);height:clamp(24px,3.4vw,42px);color:var(--red)}
.fact-grid strong,.fact-grid small{display:block}.fact-grid strong{font:700 clamp(1.05rem,2.12vw,1.7rem)/.99 var(--serif);letter-spacing:-.03em}.fact-grid small{color:var(--ink);font-size:clamp(.68rem,1.19vw,.91rem);margin-top:3px}
.home h2{font-size:clamp(1.75rem,3.22vw,2.9rem);letter-spacing:-.04em;line-height:1.03}
.home h2 a{color:inherit;text-decoration:none}.home h2 a:hover{text-decoration:underline}
.rule::after{margin-top:8px;margin-bottom:9px}
.proposal{text-align:center;padding:10px 0 21px}.proposal .rule::after{margin-inline:auto}
.proposal-summary{max-width:600px;margin:0 auto 14px;font-size:clamp(.88rem,1.35vw,1.02rem);line-height:1.17}
.pillars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pillar,.criteria li{color:var(--ink);background:linear-gradient(#fff,#f7f7f8);border:1px solid #dce0e4;border-radius:6px;box-shadow:0 2px 3px #15233d23}
.pillar{display:block;text-decoration:none;padding:7px 10px 12px;min-height:154px}
.pillar:hover{border-color:var(--red)}.pillar .icon{width:37px;height:37px;color:var(--red);margin-bottom:5px}
.pillar h3,.stage-grid h3{font-size:clamp(.93rem,1.65vw,1.32rem);letter-spacing:-.045em}
.pillar p{font-size:clamp(.76rem,1.18vw,.94rem);line-height:1.2;text-align:left;max-width:18.5ch;margin:6px auto 0}
.eligibility-grid{display:grid;grid-template-columns:32% 1fr;gap:24px;align-items:center;padding:17px 0 24px}
.eligibility-intro{padding:0 23px 0 11px;border-right:1px solid #aeb6c0}
.eligibility-intro p,.path-heading p,.stay-informed p{font-size:clamp(.82rem,1.28vw,1rem);line-height:1.16;margin:0 0 7px}
.criteria{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin:0;padding:0;list-style:none}
.criteria li{display:flex;align-items:center;gap:clamp(9px,2vw,23px);min-height:43px;padding:5px 10px 5px clamp(8px,2vw,23px);font-size:clamp(.72rem,1.12vw,.92rem);line-height:1.14}
.criteria .icon{color:var(--red);width:24px;height:24px}
.civic-link,.more-faq>summary{display:inline-block;font-size:clamp(.72rem,1.13vw,.9rem);font-weight:700;text-decoration:underline;text-underline-offset:2px;color:var(--red)}
.pathway{padding:10px 7px 16px;border-bottom:1px solid #e6e7ea}
.path-heading{display:grid;grid-template-columns:41% 1fr;align-items:start;gap:18px}
.path-heading p{margin-top:5px;max-width:430px}
.stage-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:17px;list-style:none;margin:0 0 6px;padding:0}
.stage-grid::before{content:"";height:2px;background:#a4adbd;position:absolute;top:15px;left:12.5%;right:12.5%}
.stage-grid li{position:relative;text-align:center}
.stage-num{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--navy);color:white;font:700 1rem var(--serif);margin:0 auto 6px;box-shadow:0 0 0 3px #edf0f3,0 2px 5px #17233c40}
.stage-grid li:last-child .stage-num{background:var(--red)}
.stage-grid p{font-size:clamp(.73rem,1.1vw,.91rem);line-height:1.16;text-align:left;margin:7px auto 0;width:86%}
.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;padding:9px 11px 14px}
.lower-grid h2{font-size:clamp(1.58rem,2.67vw,2.3rem)}
.civic-faq details:not(.more-faq){border:1px solid #c9ced5;background:linear-gradient(#fff,#f3f5f7);border-radius:3px;box-shadow:0 2px 3px #17233c22;margin-bottom:4px}
.civic-faq details summary{cursor:pointer;list-style:none}.civic-faq details summary::-webkit-details-marker{display:none}
.civic-faq details:not(.more-faq)>summary{position:relative;padding:3px 29px 3px 12px;font-size:clamp(.74rem,1.18vw,.92rem);font-weight:700}
.civic-faq details:not(.more-faq)>summary::after{content:"+";position:absolute;right:10px;top:1px;font-size:1rem}.civic-faq details[open]:not(.more-faq)>summary::after{content:"−"}
.civic-faq details p{font-size:.87rem;padding:3px 12px 8px;margin:0}
.more-faq[open]>summary{margin-bottom:6px}
.stay-informed{margin-top:6px;padding:1px 0 10px clamp(17px,4.2vw,49px);border-left:1px solid #aeb6c0}
.stay-informed h2{display:flex;align-items:center;gap:12px;margin-bottom:8px}.stay-informed h2 .icon{color:var(--red);width:33px;height:33px}
.update-row{gap:8px;flex-wrap:nowrap;margin:12px 0 6px}.update-row .civic-button{white-space:nowrap;min-height:32px;padding:5px 8px;font-size:.78rem}
.feed-label{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 8px;border:1px solid #aeb6c0;border-radius:4px;flex:1;color:#343e4a;text-decoration:none;font-size:.78rem}.feed-label .icon{width:15px;height:15px;color:var(--red)}
footer{background:linear-gradient(105deg,#0d1c38,#142948,#0d1c38);padding:0 0 9px}
.footbar{padding:9px 7px;gap:15px}
.footbar nav{gap:clamp(11px,1.75vw,22px)}.footbar nav a{font-size:clamp(.61rem,.93vw,.81rem);font-weight:500}.footbar nav a:hover{text-decoration:underline}
footer p{padding-top:6px;font-size:clamp(.65rem,1vw,.81rem);font-style:italic;text-align:center;margin:0}
.shares{display:flex;gap:9px}.shares a{color:var(--navy);display:grid;place-items:center;width:19px;height:19px;background:white;border-radius:50%}.shares .icon{width:13px;height:13px}.shares a:hover{background:#f4ccd0}
@media(max-width:850px){.bar nav,.footbar nav{gap:10px}.bar,.footbar{padding-inline:0}.hero-inner{padding-left:3vw}.pillars{gap:7px}.pillar{padding-inline:7px}.eligibility-grid{gap:15px}.lower-grid{gap:16px}}

.brand{display:flex;align-items:center;flex:0 1 350px;min-width:0}
.brand img{display:block;width:100%;height:auto}
.footbar .brand{flex-basis:282px}
.footbar .brand img{filter:brightness(0) invert(1)}
.mobile-menu,.bill-mobile-index{display:none}

@media(max-width:900px){
    .bar{position:relative;min-height:64px;flex-direction:row;align-items:center;gap:12px;padding:8px 0}
    .bar .brand{flex:0 1 350px}
    .bar .desktop-nav{display:none}
    .mobile-menu{display:block;flex:none}
    .mobile-menu summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:5px;color:var(--navy);font-weight:700;font-size:.875rem}
    .mobile-menu summary::-webkit-details-marker,.bill-mobile-index summary::-webkit-details-marker{display:none}
    .mobile-menu summary .icon{width:19px;height:19px}
    .mobile-menu[open] summary{background:#eef1f5;border-color:#aab4c1}
    .mobile-menu nav{position:absolute;inset:100% 0 auto;z-index:4;display:grid;gap:0;padding:4px 12px;background:white;border:1px solid var(--line);border-radius:0 0 7px 7px;box-shadow:0 8px 20px #0e214025}
    .mobile-menu nav a{display:flex;align-items:center;min-height:46px;padding:9px 8px;font:600 1rem var(--sans);white-space:normal}
    .mobile-menu nav a+a{border-top:1px solid #e8eaee}
    .mobile-menu nav a[aria-current]{color:var(--red)}
    .mobile-menu nav a[aria-current]::after,.mobile-menu nav a:hover::after{display:none}
    .footbar{flex-wrap:wrap;gap:8px 20px}
}

@media(max-width:760px){
    .wrap{width:calc(100% - 32px)}
    .civic-hero{min-height:0}
    .hero-inner{padding:35px 0 28px}
    .civic-hero h1{font-size:clamp(1.96rem,8.5vw,3.4rem);line-height:.98}
    .hero-photo{object-position:64% center}
    .civic-hero::after{background:linear-gradient(90deg,#0b172ef2,#0b172eb5 58%,#0b172e57)}
    .hero-summary{max-width:41ch;font-size:1rem;line-height:1.4;margin-bottom:17px}
    .hero-actions{gap:8px}
    .civic-button{min-height:44px;padding-inline:9px;font-size:.875rem}
    .civic-button .icon{width:17px;height:17px}
    .fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:5px 0}
    .fact-grid a{justify-content:flex-start;min-height:63px;padding:8px 6px;gap:8px}
    .fact-grid a:nth-child(3){border-left:0}
    .fact-grid a:nth-child(n+3){border-top:1px solid #aeb6c0}
    .fact-grid strong{font-size:clamp(1.04rem,4.2vw,1.46rem)}
    .fact-grid small{font-size:.78rem}
    .proposal{padding:24px 0}
    .proposal-summary{font-size:1rem;line-height:1.4}
    .pillars{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    .pillar{min-height:0;padding:11px 8px}
    .pillars .pillar:last-child{grid-column:1/-1}
    .pillar h3,.stage-grid h3{font-size:1.13rem;letter-spacing:-.024em}
    .pillar p{font-size:.87rem;line-height:1.35;max-width:31ch;text-align:center}
    .eligibility-grid,.path-heading,.lower-grid,.columns,.bill-layout{grid-template-columns:minmax(0,1fr)}
    .eligibility-grid{padding:22px 0}
    .eligibility-intro,.stay-informed{border:0;padding:0}
    .eligibility-intro p,.path-heading p,.stay-informed p{font-size:1rem;line-height:1.4}
    .criteria{grid-template-columns:minmax(0,1fr);gap:7px}
    .criteria li{padding:8px 11px;gap:11px;font-size:.89rem;line-height:1.35}
    .criteria .icon{width:21px;height:21px}
    .path-heading{gap:0}
    .pathway{padding:24px 0 16px}
    .stage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:12px 0 5px}
    .stage-grid::before{width:2px;height:auto;left:15px;right:auto;top:15px;bottom:30px}
    .stage-grid li{text-align:left;padding:4px 0 16px 47px}
    .stage-num{position:absolute;top:2px;left:0;margin:0}
    .stage-grid p{width:auto;font-size:.91rem;line-height:1.35;margin:5px 0 0}
    .civic-link,.more-faq>summary{display:inline-flex;align-items:center;gap:5px;min-height:40px;font-size:.88rem}
    .lower-grid{padding:22px 0;gap:14px}
    .civic-faq details:not(.more-faq)>summary{display:flex;align-items:center;min-height:44px;font-size:.92rem;line-height:1.3}
    .civic-faq details:not(.more-faq)>summary::after{top:50%;transform:translateY(-50%)}
    .stay-informed{border-top:1px solid var(--line);padding-top:16px}
    .feed-label,.update-row .civic-button{min-height:44px}
    .footbar{display:grid;gap:9px;padding:14px 0 9px}
    .footbar .brand{width:min(290px,100%)}
    .footbar nav{gap:0 15px}
    .footbar nav a{display:flex;align-items:center;min-height:40px;font-size:.82rem}
    .shares a{width:32px;height:32px}
    .shares .icon{width:16px;height:16px}
    footer p{font-size:.74rem;line-height:1.45;padding-bottom:4px}
    .page-intro{padding-bottom:25px}
    .page-intro h1{font-size:clamp(2.3rem,8vw,3.4rem);overflow-wrap:anywhere}
    .columns,.bill-layout{gap:19px;padding:22px 0 34px}
    .bill-nav{position:static}
    .bill-desktop-index{display:none}
    .bill-mobile-index{display:block;border:1px solid var(--line);border-radius:5px;padding:0 12px}
    .bill-mobile-index summary{display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;list-style:none;color:var(--navy);font-weight:700}
    .bill-mobile-index summary::before{content:"+";color:var(--red)}
    .bill-mobile-index[open] summary::before{content:"−"}
    .bill-mobile-index summary span{margin-left:auto;font-size:.78rem;color:var(--muted);font-weight:400}
    .bill-mobile-index ol{columns:auto;margin:0}
    .bill-mobile-index a{min-height:44px;align-items:center;font-size:.88rem}
    .bill-text{padding:16px;font-size:1.02rem;line-height:1.55}
    .bill-text h2{font-size:1.38rem}
    .bill-text ol{padding-left:24px}
    .related a{display:flex;align-items:center;min-height:44px;margin-top:2px}
}

@media(max-width:430px){
    .hero-actions{align-items:stretch}
    .hero-actions .civic-button{flex:1 1 100%}
}

@media(max-width:380px){
    .bar{gap:7px}
    .mobile-menu summary{gap:5px;padding-inline:7px}
    .pillars{grid-template-columns:minmax(0,1fr)}
    .pillar{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;text-align:left;align-items:center}
    .pillar .icon{grid-row:span 2;width:32px;height:32px;margin:0}
    .pillar p{margin:4px 0 0;text-align:left;max-width:none}
}

.policy-note{margin:19px 0 0;padding:16px 18px;background:#f3f5f8;border-left:3px solid var(--red);text-align:left;font: .95rem/1.5 var(--sans)}
.policy-note p{margin:5px 0 0}
.constitutional-page{max-width:950px;padding-bottom:50px}
.constitutional-section{padding-top:30px;scroll-margin-top:15px}
.constitutional-section h2{font-size:2rem;margin-bottom:15px}
.constitutional-section h3{margin-top:22px}
.constitutional-section p{line-height:1.6}
.constitutional-section .resolution{font-style:italic}
#countries,#screening{scroll-margin-top:16px}
.bar .desktop-nav{gap:clamp(8px,1.2vw,22px)}
.bar .desktop-nav a{font-size:clamp(.72rem,1vw,.96rem)}
@media(max-width:1060px){.bar .desktop-nav{display:none}.mobile-menu{display:block;flex:none}.bar{position:relative}.mobile-menu summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:5px;color:var(--navy);font-weight:700;font-size:.875rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;inset:100% 0 auto;z-index:4;display:grid;gap:0;padding:4px 12px;background:#fff;border:1px solid var(--line);border-radius:0 0 7px 7px;box-shadow:0 8px 20px #0e214025}.mobile-menu nav a{display:flex;align-items:center;min-height:46px;padding:9px 8px;font:600 1rem var(--sans);white-space:normal}}
@media(max-width:760px){.constitutional-section h2{font-size:1.6rem}.constitutional-section h3{font-size:1.15rem}.policy-note{font-size:.9rem}}
