/* A shared refinement layer for both public contact variants and languages. */
:root{--radius:16px;--shadow-soft:0 8px 28px rgba(30,52,87,.055)}
body{line-height:1.65;min-height:100vh;display:flex;flex-direction:column}
body>.wrap{display:flex;flex-direction:column;min-height:100vh;width:100%;flex:1}
body>.wrap>header,body>.wrap>footer{flex-shrink:0}
main{padding-bottom:2.5rem;width:100%;flex:1}
main:focus{outline:none;box-shadow:none}
section.band{padding:2.1rem 0}
.page>section.band:first-child{padding-top:2.4rem}
.page-title{max-width:70ch;margin-bottom:1.4rem}
.sec{line-height:1.2}
.hero{grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr);gap:3.5rem;align-items:center;padding:2.4rem 0 2rem}
.hero .shot{width:100%;max-width:18.5rem;margin-inline:auto}
.hero .shot img{width:100%;height:24rem;object-fit:cover;object-position:50% 38%;border-radius:var(--radius)}
.hero .shot .plate{left:1rem;right:1rem;bottom:1rem;text-align:center;border-radius:7px;padding:.55rem}
.hero .supplied-quote{font-size:1.1rem;line-height:1.6;margin-top:1.6rem;padding:1rem 1.2rem;background:var(--sky-pale);border-radius:0 12px 12px 0;max-width:58ch}
.hero h1{font-size:clamp(2.25rem,4.4vw,3.4rem)}
.hero p.lede{margin-bottom:1.25rem}
.card{border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.grid .card{background:var(--paper)}
.grid .card:nth-child(2){background:var(--sky-pale)}
.grid .card:nth-child(3){background:var(--gold-soft)}
.card h3{line-height:1.4}
.card p{line-height:1.65}
.stats{border-radius:var(--radius)}
.stat{padding:1.1rem}
.num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--gold-soft);margin-bottom:.75rem}
.grid .card:nth-child(3) .num{background:var(--paper)}
.prose{max-width:none}
.prose p{margin:0 0 1rem;max-width:68ch}
.prose p:last-child{margin-bottom:0}
.story-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.4rem;margin:1.4rem 0}
.story-panel{border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;background:var(--surface)}
.story-panel:nth-child(2){background:var(--sky-pale)}
.story-panel h2,.service-panel h2,.focus-section h2{font-size:1.35rem;line-height:1.35;color:var(--navy-deep);margin:0 0 .9rem}
.story-panel .lead{font-size:1rem}
.service-panel{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:2rem;padding:1.8rem;border:1px solid var(--line);border-radius:var(--radius);margin:1.4rem 0}
.service-panel .eyebrow,.focus-section .eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:var(--gold-deep);margin:0 0 .5rem;font-weight:800}
.closing-quote{background:var(--navy-deep);color:var(--paper);border-radius:var(--radius);padding:1.5rem 1.8rem;margin:1.4rem 0 0;border-left:5px solid var(--gold)}
.closing-quote p{font-family:var(--serif);font-size:1.15rem;line-height:1.65;max-width:70ch}
.priority-intro{background:var(--sky-pale);padding:1.5rem 1.8rem;border:1px solid var(--line);border-radius:var(--radius);margin:1.3rem 0 1.8rem}
.priority-intro p{max-width:76ch;white-space:pre-line}
.priority-equity{border-left:4px solid var(--gold);padding:.3rem 0 .3rem 1.3rem;margin:1.3rem 0 1.4rem}
.focus-section{display:grid;grid-template-columns:13.5rem minmax(0,1fr);gap:2rem;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;margin:1.25rem 0;background:var(--surface)}
.focus-section:nth-of-type(even){background:var(--sky-pale)}
.focus-section .topic-start{margin:0 0 1rem;border:0;padding:0}
.focus-section .action-copy{border-left:3px solid var(--gold);padding-left:1rem;color:var(--navy-deep)}
.contact-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start;margin:1.5rem auto 0;max-width:52rem}
.contact-card h2{font-size:1.15rem;line-height:1.4;margin:0 0 .5rem}
.contact-layout .contact-card{margin:0;background:var(--sky-pale);max-width:none}
.contact-layout .contact-form{margin:0;max-width:none;border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.contact-form h2{font-size:1.4rem;line-height:1.35;color:var(--navy-deep)}
.contact-form .privacy-note{color:var(--ink-muted)}
.flyer-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:1.4rem;align-items:start;margin-top:1rem}
.flyer-layout .flyer{margin:0}
.flyer-layout .flyer-transcript{background:var(--gold-soft)}
.help-layout,.donate-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;margin-top:1.5rem}
.help-layout .ticks{gap:.8rem}
.help-layout .ticks li{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:.8rem 1rem .8rem 2.25rem}
.help-layout .ticks li::before{left:1rem;top:1.4rem}
.help-layout .contact-card{margin:0;background:var(--sky-pale)}
.donate-layout>div{background:var(--sky-pale);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.donate-layout .qr-block{margin:0 auto;text-align:center;max-width:21rem;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius)}
.qr-block img{margin:auto}
table.vote{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:62rem}
table.vote caption{padding-left:0}
table.vote th{background:var(--sky-pale);color:var(--navy-deep)}
table.vote th,table.vote td{padding:1rem 1.2rem}
table.vote th[scope="row"]{font-weight:700;background:transparent;text-align:left;font-size:inherit;letter-spacing:normal;text-transform:none}
table.vote tr:last-child td,table.vote tr:last-child th[scope="row"]{border-bottom:0;background:var(--gold-soft)}
.btn,.give{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.4;transition:background .15s ease,box-shadow .15s ease}
.btn:hover{box-shadow:0 3px 12px rgba(30,52,87,.12)}
nav button,nav a.route-nav{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.lang button,.lang a{min-height:40px;display:inline-flex;align-items:center}
.paidfor{color:var(--sky);border-style:solid}
footer{padding:1.8rem 1.25rem}
@media(max-width:56rem){
 .hero{grid-template-columns:minmax(0,1.25fr) minmax(190px,.75fr);gap:1.6rem}
 .hero .shot img{height:22rem}
 .hero h1{font-size:2.5rem}
 .story-grid{grid-template-columns:1fr}
 .service-panel,.focus-section{grid-template-columns:1fr;gap:.5rem}
 .contact-layout{grid-template-columns:1fr;gap:1rem}
 .flyer-layout{grid-template-columns:1fr 1fr}
}
@media(max-width:44rem){
 .bar{padding:.55rem 1rem;gap:.4rem .5rem}
 .mark{flex:1 1 auto;min-width:0}
 .mark b{font-size:1.15rem}
 .tools{width:auto;order:initial;margin-left:auto}
 .tools .give{display:none}
 nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;overflow:visible;gap:.1rem;order:3;padding:0}
 nav button,nav a.route-nav{white-space:normal;line-height:1.2;padding:.45rem .15rem;font-size:.79rem}
 nav>:last-child{grid-column:span 2}
 .lang button,.lang a{padding:.4rem .45rem;font-size:.75rem}
 .hero{grid-template-columns:1fr;gap:1.4rem;padding:1.7rem 0}
 .hero h1{font-size:clamp(2.05rem,8vw,2.7rem)}
 .hero .shot{max-width:19rem}
 .hero .shot img{height:23rem}
 .hero .supplied-quote{font-size:1.03rem;padding:.9rem 1rem;margin-top:1.25rem}
 main{padding-inline:1rem;padding-bottom:1.5rem}
 section.band,.page>section.band:first-child{padding:1.7rem 0}
 .sec{font-size:1.8rem}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .story-panel,.service-panel,.focus-section,.priority-intro,.closing-quote{padding:1.15rem}
 .contact-layout,.flyer-layout,.help-layout,.donate-layout{grid-template-columns:1fr;gap:1.2rem}
 .story-grid{gap:1rem}
 .help-layout,.donate-layout{margin-top:1.2rem}
 .contact-card{padding:1.25rem}
 .contact-form{padding:1.2rem}
 .email-address{font-size:1rem}
 table.vote th,table.vote td{padding:.85rem .7rem;vertical-align:top}
 table.vote th[scope="row"]{white-space:normal;width:38%}
 .fin{gap:1rem}
}
