:root {
  --navy:#082f49;
  --blue:#075985;
  --water:#0ea5b7;
  --green:#13795b;
  --foam:#effcfb;
  --cream:#fffdf7;
  --ink:#102a39;
  --gold:#f4b942;
  --white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.6}
a{color:inherit}
.site-header{height:82px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid #dce8ea;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--navy);line-height:1}
.brand-art{width:260px;height:66px;overflow:hidden;background:white}
.brand-art img{width:100%;height:100%;object-fit:contain}
.brand>span:last-child{display:flex;flex-direction:column;gap:.25rem}
.brand strong{font-size:1.15rem;letter-spacing:.04em}
.brand strong span{color:var(--green)}
.brand small{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.drop{display:grid;place-items:center;width:40px;height:48px;border-radius:52% 48% 55% 45% / 67% 65% 35% 33%;background:linear-gradient(145deg,var(--water),var(--blue));color:white;font-size:1.65rem;font-family:Georgia,serif;font-style:italic;font-weight:bold;transform:rotate(9deg)}
nav{display:flex;align-items:center;gap:1.05rem}
nav a{text-decoration:none;font-size:.88rem;font-weight:700;color:#234452}
nav a:hover{color:var(--water)}
.nav-vote{padding:.55rem 1rem;background:var(--green);color:white!important;border-radius:99px}
.menu-button{display:none;border:1px solid #a9c1c9;background:white;color:var(--navy);padding:.55rem .8rem;border-radius:6px;font-weight:700}
.campaign-banner{background:#e8f5f8;border-bottom:1px solid #b9d8df}
.campaign-banner img{display:block;width:100%;height:auto}
.hero{min-height:680px;position:relative;overflow:hidden;padding:clamp(5rem,10vw,8rem) clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:4rem;align-items:center;background:linear-gradient(125deg,#f8fffe 0%,#e3f8f7 55%,#bae8eb 100%)}
.hero:before{content:"";position:absolute;width:460px;height:460px;border:90px solid rgba(14,165,183,.08);border-radius:50%;right:-100px;top:-170px}
.hero-copy,.hero-photo{position:relative;z-index:2}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:800;color:var(--green);margin:0 0 1rem}
h1,h2,h3{margin-top:0;line-height:1.08}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,6.7vw,6.5rem);font-weight:500;letter-spacing:-.045em;color:var(--navy);max-width:880px;margin-bottom:1.4rem}
h1 em{display:block;color:var(--green);font-weight:700}
.hero-lede{font-size:clamp(1.05rem,1.5vw,1.28rem);max-width:700px;color:#31505c}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:2rem 0}
.button{display:inline-block;text-decoration:none;padding:.85rem 1.25rem;border-radius:4px;font-weight:800}
.button.primary{background:var(--navy);color:white}
.button.secondary{border:2px solid var(--navy);color:var(--navy)}
.election{display:flex;gap:1rem;flex-wrap:wrap;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;margin-top:2.5rem}
.election strong{color:var(--blue)}
.hero-photo{margin:0;justify-self:center;width:min(520px,90vw);aspect-ratio:1;border-radius:8px;overflow:hidden;border:8px solid rgba(255,255,255,.78);box-shadow:0 24px 80px rgba(8,47,73,.2)}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.wave{position:absolute;height:70px;left:-3%;right:-3%;bottom:-36px;border-radius:50% 50% 0 0;background:var(--cream);transform:rotate(-1deg)}
.ballot-trail{display:grid;grid-template-columns:1.1fr repeat(3,1fr);background:white;border-bottom:1px solid #c8dce0;box-shadow:0 12px 35px rgba(8,47,73,.08);position:relative;z-index:3}
.ballot-trail>div{min-height:112px;padding:1.3rem clamp(1rem,2vw,2rem);display:flex;align-items:center;gap:1rem;border-right:1px solid #d6e4e7}
.ballot-trail>div:last-child{border-right:0}
.ballot-intro{background:var(--navy);color:white;flex-direction:column;align-items:flex-start!important;justify-content:center;gap:.1rem!important}
.ballot-intro span{font-size:.72rem;font-weight:800;letter-spacing:.15em;color:#9ae0e1}
.ballot-intro strong{font-family:Georgia,serif;font-size:2rem}
.candidate b{font-family:Georgia,serif;font-size:3.4rem;color:var(--blue);line-height:1}
.candidate span{font-size:.82rem;line-height:1.25;text-transform:uppercase;letter-spacing:.05em}
.candidate span strong{font-size:1rem;color:var(--navy)}
.candidate.jill{background:var(--green);color:white}
.candidate.jill b,.candidate.jill span strong{color:white}
.vote-three-explainer{display:flex;justify-content:center;gap:.5rem 1rem;flex-wrap:wrap;padding:1rem clamp(1.25rem,8vw,8rem);background:#dff5f2;color:var(--navy);text-align:center;border-bottom:1px solid #badbd7}
.vote-three-explainer strong{color:var(--green)}
.statement{background:var(--navy);color:white;text-align:left;padding:3rem clamp(1.25rem,12vw,12rem);display:flex;align-items:center;justify-content:center;gap:clamp(2rem,6vw,5rem)}
.campaign-button{display:block;flex:0 0 150px;border-radius:50%;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 14px 35px rgba(0,0,0,.25)}
.campaign-button:hover,.campaign-button:focus-visible{transform:translateY(-5px) rotate(-2deg);box-shadow:0 20px 45px rgba(0,0,0,.35)}
.campaign-button img{display:block;width:100%;height:auto;border-radius:50%}
.statement p{color:#90e1e6;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.statement h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);max-width:900px;margin:.5rem 0 0;font-weight:500}
.section{padding:clamp(4.5rem,8vw,7.5rem) clamp(1.25rem,8vw,8rem)}
.section-heading{max-width:850px;margin-bottom:3rem}
.section-heading h2,.meet h2,.explainer h2,.vote h2{font-family:Georgia,serif;font-size:clamp(2.35rem,4.5vw,4.4rem);color:var(--navy);font-weight:500;letter-spacing:-.035em;margin-bottom:1rem}
.section-heading .intro,.intro{font-size:1.24rem;color:#35535e}
.card-grid{display:grid;gap:1.2rem}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.card-grid.four{grid-template-columns:repeat(2,1fr)}
.priority-card{background:white;border-top:5px solid var(--water);padding:2rem;box-shadow:0 14px 45px rgba(8,47,73,.08)}
.number{font-family:Georgia,serif;font-size:2.5rem;color:#8bb9bf}
.priority-card h3,.investigation-grid h3,.journey h3{font-size:1.35rem;color:var(--navy);margin:.6rem 0}
.meet{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:clamp(2rem,7vw,7rem);align-items:center;background:#f0f8f6}
.meet-poster{margin:0;max-width:430px;width:100%;border:8px solid white;box-shadow:22px 22px 0 #bfe8df;overflow:hidden}
.meet-poster img{display:block;width:100%;height:auto}
.meet p:not(.eyebrow){max-width:760px}
.proof-list{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.5rem;padding:0;list-style:none;margin-top:2rem}
.proof-list li{border-left:4px solid var(--water);padding-left:.9rem;font-weight:700}
.follow{background:var(--blue);color:white}
.light{color:#8fe6dc}
.split{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:2rem}
.split h2{color:white;margin-bottom:0}
.split>p{max-width:420px;font-size:1.12rem}
.investigation-grid article{background:white;color:var(--ink);padding:2rem;border-radius:4px}
.status{font-size:.7rem;letter-spacing:.12em;color:var(--green);font-weight:900;border:1px solid #a7d8cc;padding:.28rem .5rem;border-radius:99px}
.flood-map{margin:3rem 0 0;scroll-margin-top:100px}
.flood-map h3{font-size:1.7rem;margin-bottom:.65rem}
.flood-map>p{margin-bottom:1.25rem}
.flood-map>a{display:block;border-radius:6px;overflow:hidden;background:white}
.flood-map img{display:block;width:100%;height:auto}
.flood-map figcaption{margin-top:.9rem;font-size:.95rem;color:#d7f1f3}
.flood-map figcaption a{color:white;font-weight:700;text-underline-offset:3px}
.flood-map a:focus-visible{outline:3px solid #8fe6dc;outline-offset:5px}
.water-system{margin:0 0 3rem;scroll-margin-top:100px}
.water-system h3{color:var(--navy);font-size:1.7rem;margin-bottom:1rem}
.water-system>a{display:block;border-radius:6px;overflow:hidden;background:white}
.water-system img{display:block;width:100%;height:auto}
.water-system figcaption{margin-top:.9rem;font-size:.95rem}
.water-system figcaption a{font-weight:700;text-underline-offset:3px}
.water-system a:focus-visible{outline:3px solid var(--water);outline-offset:5px}
.guardrail{font-size:.88rem;color:#cce8ed;margin-top:1.5rem}
.wisdom{background:var(--cream)}
.journey{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #9fc6ca;border-bottom:1px solid #9fc6ca}
.journey article{padding:2rem 1.5rem;border-right:1px solid #9fc6ca}
.journey article:last-child{border-right:0}
.journey span{display:grid;place-items:center;width:36px;height:36px;background:var(--green);color:white;border-radius:50%;font-weight:900}
blockquote{font-family:Georgia,serif;font-size:clamp(1.7rem,3.5vw,3rem);color:var(--blue);margin:4rem 0 0;text-align:center;font-style:italic}
.media-hub{background:#eef8f8}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.media-card,.action-grid article{background:white;padding:2rem;box-shadow:0 14px 45px rgba(8,47,73,.08);border-top:5px solid var(--water)}
.media-card.video-card{border-top-color:var(--green)}
.media-card.social-card{border-top-color:var(--gold)}
.media-type,.event-label,.action-number{display:block;font-size:.76rem;letter-spacing:.12em;font-weight:900;color:var(--green);margin-bottom:.8rem}
.media-card h3,.action-grid h3,.event-card h3{font-family:Georgia,serif;font-size:1.8rem;color:var(--navy);margin:0 0 .8rem}
.media-card .button{margin-top:.55rem}
.text-link{font-weight:800;color:var(--blue);text-decoration-thickness:2px;text-underline-offset:4px}
.events{background:var(--navy);color:white}
.events .section-heading h2{color:white}
.event-card{display:grid;grid-template-columns:130px 1fr;gap:2rem;align-items:center;background:white;color:var(--ink);padding:2rem;max-width:940px;border-left:7px solid var(--gold)}
.event-date{display:flex;align-items:center;justify-content:center;gap:.7rem;color:var(--navy);border-right:1px solid #bfd1d6;padding-right:1.5rem}
.event-date strong{font-family:Georgia,serif;font-size:4rem;line-height:1;color:var(--blue)}
.event-date span{font-size:.78rem;line-height:1.35;font-weight:900;letter-spacing:.1em}
.event-card p{margin:.45rem 0}
.event-card .event-label{color:var(--green)}
.event-note{color:#58717a;font-size:.9rem}
.involved{background:#f7fbfa}
.action-grid article{display:flex;flex-direction:column;align-items:flex-start}
.action-grid article p{flex:1}
.action-number{color:var(--blue)}
.pending{background:#dce7e9;color:#526970;cursor:default}
.explainer{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;background:white;align-items:center}
.explainer-title{display:grid;grid-template-columns:110px 1fr;gap:1.5rem;align-items:start}
.mwrd-seal{width:110px;height:110px;object-fit:contain}
.explainer-copy{font-size:1.12rem}
.vision{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,12vw,12rem);background:linear-gradient(90deg,rgba(4,31,51,.96),rgba(4,31,51,.72)),url('assets/water-leadership-banner.png') center/cover no-repeat;color:white;text-align:left}
.vision-copy{max-width:900px}
.vision h2{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,5rem);font-weight:500;letter-spacing:-.035em;max-width:1050px;margin:0 auto 2rem}
.vision-copy>p:not(.eyebrow){max-width:800px;color:#d4eef0;font-size:1.15rem}
.vision .policy-quote{margin-top:2.5rem;padding-left:1.25rem;border-left:4px solid var(--gold);font-family:Georgia,serif;font-size:1.35rem!important;font-style:italic;color:white!important}
.vote{text-align:center;background:#effcfb}
.vote>p:not(.eyebrow){max-width:700px;margin:0 auto 2rem;font-size:1.12rem}
.slate-vote{max-width:900px;margin:2.5rem auto 1.5rem;display:grid;grid-template-columns:repeat(3,1fr);border:3px solid var(--navy);background:white;text-align:left}
.slate-vote>div{padding:1.25rem;display:flex;align-items:center;gap:.8rem;border-right:2px solid #b5cbd0}
.slate-vote>div:last-child{border-right:0}
.slate-vote strong{font-family:Georgia,serif;font-size:3.4rem;color:var(--blue);line-height:1}
.slate-vote span{font-size:.8rem;line-height:1.2;text-transform:uppercase;letter-spacing:.05em}
.slate-vote b{font-size:.96rem;color:var(--navy)}
.slate-vote .final{background:var(--green);color:white}
.slate-vote .final strong,.slate-vote .final b{color:white}
.finish-line{font-size:.85rem!important;letter-spacing:.12em;font-weight:900;color:var(--navy)}
.finish-line strong{font-family:Georgia,serif;font-size:2rem;color:var(--green);vertical-align:middle}
footer{padding:3rem clamp(1.25rem,8vw,8rem);background:#061f2e;color:white;display:grid;grid-template-columns:auto 1fr;gap:1rem 4rem;align-items:center}
.footer-brand{color:white}
footer>p{margin:0;color:#b9d8df}
.fine-print{grid-column:2;font-size:.78rem}
@media(max-width:900px){
  .menu-button{display:block}.site-header{height:72px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:1rem 1.25rem;flex-direction:column;align-items:stretch;border-bottom:1px solid #dce8ea}nav.open{display:flex}.nav-vote{text-align:center}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:4rem;gap:3rem}.hero-photo{width:min(520px,88vw)}
  .ballot-trail{grid-template-columns:1fr 1fr}.ballot-intro{grid-column:1/-1}.ballot-trail>div{min-height:95px}.candidate.jill{grid-column:1/-1}.card-grid.three,.card-grid.four,.media-grid,.action-grid{grid-template-columns:1fr}.meet,.explainer{grid-template-columns:1fr}.meet-poster{max-width:360px}.split{display:block}.split>p{margin-top:1.25rem}
  .journey{grid-template-columns:1fr 1fr}.journey article:nth-child(2){border-right:0}.journey article:nth-child(-n+2){border-bottom:1px solid #9fc6ca}
  footer{grid-template-columns:1fr}.fine-print{grid-column:1}
}
@media(max-width:560px){
  h1{font-size:3.2rem}.brand-art{width:205px;height:58px}.statement{flex-direction:column;text-align:center}.statement h2{margin-left:auto;margin-right:auto}.campaign-button{flex-basis:auto;width:125px}.event-card{grid-template-columns:1fr;gap:1rem}.event-date{justify-content:flex-start;border-right:0;border-bottom:1px solid #bfd1d6;padding:0 0 1rem}.explainer-title{grid-template-columns:70px 1fr}.mwrd-seal{width:70px;height:70px}.brand small{letter-spacing:.1em}.proof-list,.journey,.slate-vote{grid-template-columns:1fr}.journey article{border-right:0;border-bottom:1px solid #9fc6ca!important}.journey article:last-child{border-bottom:0!important}.slate-vote>div{border-right:0;border-bottom:1px solid #b5cbd0}.slate-vote>div:last-child{border-bottom:0}.election{display:block}.election span{display:block;margin-top:.45rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.events .event-card + .event-card{margin-top:1.5rem}

.campaign-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:2rem 0}.campaign-videos h3{font-size:1.15rem;margin-bottom:1rem}.campaign-videos iframe{width:100%;aspect-ratio:16/9;border:0}.campaign-videos a{color:inherit}@media(max-width:700px){.campaign-videos{grid-template-columns:1fr}}

.campaign-shorts{margin:2.5rem 0}.campaign-shorts label{display:block;margin-bottom:.5rem}.campaign-shorts select{display:block;width:100%;max-width:650px;padding:.8rem;margin-bottom:1.5rem;font:inherit}.campaign-shorts iframe{display:block;width:min(100%,360px);aspect-ratio:9/16;border:0;margin:auto}.campaign-shorts a{color:inherit}

.lwv-answers{max-width:850px}.lwv-answer{margin:2rem 0;padding-bottom:1.5rem;border-bottom:1px solid #d4dfdf}.lwv-answer h3{font-size:1.35rem;margin-bottom:.75rem}.lwv-answer p{line-height:1.8}

.campaign-art{display:block;width:100%;max-width:720px;height:auto;object-fit:contain;margin:2rem auto}.yard-sign-art{max-width:900px}.yard-sign{text-align:center}.mwrd-size{padding-top:1rem}

.tribune-endorsement{padding:clamp(2.5rem,5vw,4rem) clamp(1.25rem,8vw,8rem);background:#fff;color:var(--navy);border-top:6px solid var(--gold);border-bottom:1px solid #c8dce0;scroll-margin-top:90px}
.tribune-endorsement h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.025em;max-width:1000px;margin:0 0 1.25rem}
.tribune-endorsement blockquote{font-size:clamp(1.3rem,2.5vw,2rem);text-align:left;max-width:1000px;margin:0;line-height:1.4;border-left:4px solid var(--water);padding-left:1.25rem}
.tribune-endorsement .endorsement-credit{font-weight:700;margin:1rem 0 0;color:#35535e}
.tribune-endorsement .hero-actions{margin:1.5rem 0 0}

.mwrd-promise{display:flex;flex-wrap:wrap;gap:0 .4em;margin:0 0 1.25rem;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:700;line-height:1.35;color:var(--navy)}
.mwrd-promise span{white-space:nowrap}.mwrd-promise strong{color:var(--green);font-weight:900}
