:root{
  --blue:#092a6e;
  --blue2:#003a9a;
  --red:#e91508;
  --ink:#101828;
  --muted:#48576b;
  --soft:#f7f9fc;
  --shadow:0 20px 55px rgba(8,41,109,.14);
  --soft-shadow:0 10px 26px rgba(8,41,109,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-999px;top:12px;background:var(--blue);color:#fff;padding:10px 14px;border-radius:8px;z-index:999}.skip-link:focus{left:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(8,41,109,.08)}
.nav-shell{max-width:1480px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 28px}
.brand{width:250px;flex:0 0 auto}.brand img{width:100%;height:auto}
.primary-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);font-family:Montserrat,Inter,sans-serif;font-weight:800;color:var(--blue);font-size:1.05rem}
.primary-nav a{position:relative;white-space:nowrap}.primary-nav a:not(.donate-nav)::after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:.2s}.primary-nav a.active::after,.primary-nav a:hover::after{transform:scaleX(1)}
.donate-nav{background:linear-gradient(180deg,#e5160a,#bd0f07);color:#fff;padding:14px 18px;border-radius:8px;box-shadow:0 8px 18px rgba(198,17,9,.28)}
.menu-toggle{display:none;background:transparent;border:0;gap:5px;flex-direction:column;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:28px;height:3px;background:var(--blue);border-radius:99px}

.section{padding:clamp(56px,7vw,96px) clamp(20px,4vw,56px);max-width:1400px;margin:auto}.narrow{max-width:1040px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 34px;border-radius:8px;font-family:Inter,sans-serif;font-weight:900;font-size:1.1rem;box-shadow:0 10px 20px rgba(8,41,109,.22);transition:.18s ease}.btn:hover{transform:translateY(-2px)}.btn-blue{background:linear-gradient(180deg,#0e43a1,#092a6e);color:#fff}.btn-red{background:linear-gradient(180deg,#f01408,#c70f08);color:#fff}.eyebrow{font-family:Montserrat,Inter,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-weight:900;color:var(--blue);margin:0 0 10px}.script-red,.script-line{font-family:Allura,cursive;color:var(--red);font-size:clamp(2rem,4vw,4rem);line-height:1;margin:0}

.hero{max-width:1480px;margin:auto;min-height:calc(100vh - 96px);display:grid;grid-template-columns:minmax(310px,40%) 1fr;align-items:center;gap:clamp(28px,5vw,80px);padding:clamp(24px,4vw,52px) clamp(20px,4vw,56px);background:radial-gradient(circle at 62% 45%,rgba(8,41,109,.06),transparent 32%),#fff;overflow:hidden}.hero-photo{align-self:end;display:flex;align-items:flex-end;justify-content:center;min-height:600px}.hero-photo img{width:min(96%,520px);height:min(74vh,620px);object-fit:cover;object-position:top center;filter:drop-shadow(0 18px 22px rgba(8,41,109,.10))}.hero-content{max-width:820px;z-index:2}.hero-strong h1{margin:0;text-transform:uppercase;color:var(--blue);font-family:Montserrat,Inter,sans-serif;font-weight:800;letter-spacing:.015em;line-height:.95}.hero-strong h1 span{display:block}.hero-strong h1>span:not(.house-line):not(.district-line){font-size:clamp(2.1rem,5vw,5.35rem)}.house-line{display:flex!important;align-items:flex-end;gap:18px;margin:8px 0 6px;flex-wrap:nowrap}.house-line em{font-family:Allura,cursive;text-transform:none;font-style:normal;font-weight:400;color:var(--blue);font-size:clamp(2.5rem,5.1vw,5.2rem);line-height:.72;letter-spacing:0;transform:translateY(-3px)}.house-line strong{font-size:clamp(2.25rem,5.2vw,5.7rem);color:var(--red);letter-spacing:.01em}.district-line{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font-size:clamp(1.9rem,4.5vw,4.6rem);letter-spacing:.14em}.district-line i{height:4px;background:var(--red);display:block}.hero-subtitle{font-family:Inter,sans-serif;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:800;color:var(--blue);margin:20px 0 28px;text-transform:uppercase;letter-spacing:.06em}

.section-heading{font-size:clamp(1.2rem,1.8vw,1.8rem);text-align:center;color:var(--blue);line-height:1.75;margin:0 auto 38px}.section-heading p{margin:0}.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.priority-card{background:#fff;border:1px solid rgba(8,41,109,.08);border-radius:12px;padding:30px 28px 34px;text-align:center;box-shadow:var(--soft-shadow);display:flex;flex-direction:column;align-items:center}.priority-icon{height:72px;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.priority-icon img{width:72px;height:72px;object-fit:contain;display:block}.small-icon svg *,.icon-wrap svg *{vector-effect:non-scaling-stroke}.priority-card h3{font-family:Oswald,Inter,sans-serif;color:var(--blue);font-size:clamp(1.3rem,1.85vw,1.7rem);line-height:1.18;margin:0}.mini-rule{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;width:138px;color:var(--blue);margin:17px 0}.mini-rule span{height:2px;background:var(--red)}.priority-card p{margin:0;font-size:1rem;line-height:1.72;color:#111}

.meet{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,6vw,80px);align-items:center;max-width:1440px}.meet-copy{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.9;color:#111}.meet-copy p:not(.script-red){margin:0 0 26px}.meet-photo img{border-radius:12px;width:100%;box-shadow:var(--shadow)}
.card-soft{background:#fff;border:1px solid rgba(8,41,109,.08);border-radius:16px;box-shadow:var(--soft-shadow)}.why-top{padding:32px 40px;font-size:clamp(1.2rem,1.85vw,1.75rem);color:var(--blue);line-height:1.65;margin-bottom:28px}.why-top p{margin:0 0 20px}.why-top p:last-child{margin-bottom:0}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.why-card{padding:34px 38px}.why-card h3{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;color:var(--blue);font-size:clamp(1.45rem,2.2vw,2.1rem);line-height:1.15;margin:0 0 20px}.why-card p{font-size:1.05rem;line-height:1.8;margin:0 0 18px}.card-blue{background:linear-gradient(135deg,#092a6e,#003a9a);color:#fff;border-radius:16px;box-shadow:var(--soft-shadow)}.card-blue h3,.card-blue p{color:#fff}.small-icon{color:var(--blue);margin-bottom:16px}.small-icon svg{width:54px;height:54px}.small-icon path{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.small-icon svg path:last-child{fill:none}.card-blue .small-icon{color:#fff}

.intro-cta{display:grid;grid-template-columns:36% 1fr;align-items:center;gap:clamp(24px,5vw,70px);padding-top:60px}.intro-photo{align-self:end}.intro-photo img{width:100%;max-height:690px;object-fit:cover;object-position:top center}.intro-copy{text-align:center}.intro-copy h2{font-family:Cinzel,Georgia,serif;color:var(--blue);font-size:clamp(3.1rem,6.5vw,7rem);line-height:.9;margin:0 0 18px}.intro-copy h2 span{color:var(--red)}.stand-script{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.15;margin:0 auto;max-width:790px}.cta-cards{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(16px,3vw,48px);align-items:center;margin:42px auto 30px;max-width:650px}.cta-card{background:#fff;border:1px solid rgba(8,41,109,.08);border-radius:14px;padding:22px 20px 26px;box-shadow:var(--soft-shadow)}.icon-wrap{color:var(--blue);height:76px;display:flex;align-items:center;justify-content:center}.icon-wrap svg{width:74px;height:74px}.icon-wrap path{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.icon-wrap path:last-child{fill:currentColor;stroke:none}.icon-wrap.heart{color:var(--red)}.icon-wrap.heart path{fill:currentColor;stroke:none}.cta-card h3{font-family:Allura,cursive;color:var(--blue);font-size:2.1rem;margin:0 0 16px;font-weight:400}.cta-star{font-size:2.3rem;color:var(--blue)}.funded-note{font-size:.9rem;color:var(--blue);line-height:1.6}.funded-note strong{font-family:Oswald,Inter,sans-serif;font-size:1.1rem}

.donate-section{padding-top:20px}.donate-box{max-width:860px;margin:auto;text-align:center;background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid rgba(8,41,109,.08);border-radius:20px;padding:46px 32px;box-shadow:var(--shadow)}.donate-box h2{font-family:Montserrat,Inter,sans-serif;text-transform:uppercase;color:var(--blue);font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.05;margin:10px 0 18px}.donate-box p{font-size:1.1rem;margin:0 0 26px}

.site-footer{background:var(--blue);color:#fff;margin-top:36px;padding:28px clamp(20px,4vw,56px) 24px}.footer-top{max-width:1220px;margin:auto;display:grid;grid-template-columns:minmax(220px,410px) auto minmax(250px,330px);gap:clamp(28px,5vw,60px);align-items:center}.footer-logo{display:flex;align-items:center;justify-content:center}.footer-logo img{width:min(100%,360px)}.footer-divider{width:2px;height:118px;background:rgba(255,255,255,.78)}.footer-social{text-align:center}.footer-social h2{font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.4rem,2.1vw,2.05rem);margin:0 0 22px;color:#fff}.social-links{display:flex;justify-content:center;gap:34px}.social-links a{color:#fff;display:block}.social-links svg{width:66px;height:66px}.footer-bottom{max-width:1220px;margin:28px auto 0;padding-top:20px;border-top:2px solid rgba(255,255,255,.72);text-align:center;font-size:clamp(.95rem,1.45vw,1.3rem)}.footer-bottom p{margin:9px 0}.footer-bottom a:hover{text-decoration:underline}.footer-bottom span{display:inline-block;margin:0 22px;color:rgba(255,255,255,.8)}
.policy-page{max-width:900px;margin:0 auto;padding:80px 24px}.policy-page h1{font-family:Montserrat,Inter,sans-serif;color:var(--blue);font-size:3rem;text-transform:uppercase}.policy-page p{font-size:1.1rem}

@media (max-width:1080px){
  .brand{width:220px}.primary-nav{gap:18px;font-size:1rem}.hero{grid-template-columns:40% 1fr}.hero-photo{min-height:540px}.hero-strong h1>span:not(.house-line):not(.district-line){font-size:clamp(2rem,4.3vw,4.6rem)}.house-line strong{font-size:clamp(2.1rem,4.7vw,4.9rem)}.house-line em{font-size:clamp(2.3rem,4.5vw,4.2rem)}.district-line{font-size:clamp(1.8rem,3.8vw,3.9rem)}.priority-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .nav-shell{padding:10px 18px}.brand{width:195px}.menu-toggle{display:flex}.primary-nav{position:fixed;left:16px;right:16px;top:82px;display:grid;gap:0;background:#fff;border-radius:16px;padding:14px;box-shadow:0 18px 45px rgba(8,41,109,.22);transform:translateY(-16px);opacity:0;pointer-events:none;transition:.2s ease}.primary-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.primary-nav a{padding:14px 12px;border-bottom:1px solid rgba(8,41,109,.09)}.primary-nav a::after{display:none}.donate-nav{text-align:center;border-bottom:0!important;margin-top:10px}
  .hero{min-height:auto;grid-template-columns:1fr;text-align:center;padding-top:28px;gap:20px}.hero-photo{order:2;min-height:0;align-items:center}.hero-photo img{width:min(78vw,380px);height:430px;object-fit:cover;object-position:top center}.hero-content{order:1;margin:auto;max-width:680px}.house-line{justify-content:center;gap:14px}.district-line{grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr)}.hero .btn{margin:auto}.intro-cta{grid-template-columns:1fr;text-align:center}.intro-photo{display:flex;justify-content:center;max-width:360px;margin:0 auto 18px}.intro-photo img{width:min(78vw,340px);max-height:460px;object-fit:cover;object-position:top center}.priority-grid{grid-template-columns:1fr}.meet{grid-template-columns:1fr}.meet-copy{order:2}.meet-photo{order:1}.why-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:20px}.footer-divider{width:100%;height:2px}.footer-logo img{width:min(70vw,330px)}.social-links svg{width:58px;height:58px}.footer-bottom span{margin:0 12px}
}
@media (max-width:560px){
  .brand{width:160px}.primary-nav{top:72px}.section{padding:50px 18px}.hero{padding-left:16px;padding-right:16px}.hero-strong h1>span:not(.house-line):not(.district-line){font-size:clamp(1.82rem,8.8vw,2.65rem);line-height:1.04}.house-line{gap:10px;margin:7px 0 6px;flex-wrap:nowrap}.house-line em{font-size:clamp(2.15rem,10vw,3rem)}.house-line strong{font-size:clamp(1.95rem,9.2vw,2.75rem)}.district-line{font-size:clamp(1.4rem,7vw,2rem);gap:12px;letter-spacing:.1em}.district-line i{height:3px}.hero-subtitle{font-size:.88rem;margin:18px 0 22px}.btn{width:100%;max-width:315px;padding:14px 18px}.script-red{font-size:2.2rem}.section-heading{font-size:1.08rem;line-height:1.62}.priority-card{padding:28px 22px}.priority-icon{height:64px}.priority-icon img{width:64px;height:64px}.why-top,.why-card{padding:26px 22px}.intro-copy h2{font-size:3.25rem}.stand-script{font-size:2.05rem;line-height:1.18;max-width:330px}.cta-cards{grid-template-columns:1fr;max-width:330px;margin-top:30px}.cta-star{display:none}.icon-wrap{height:66px}.icon-wrap svg{width:64px;height:64px}.footer-social h2{font-size:1.35rem;margin-bottom:16px}.site-footer{padding-top:24px;padding-bottom:22px}.footer-bottom{font-size:.9rem;margin-top:22px;padding-top:18px}.footer-bottom p:last-child{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.footer-bottom span{margin:0}.policy-page{padding:54px 18px}.policy-page h1{font-size:2.1rem}
}


/* V3 refinements: removed separate donation card and compacted footer per review notes */
.site-footer{margin-top:24px;padding:18px clamp(20px,4vw,48px) 16px;}
.footer-top{max-width:1120px;grid-template-columns:minmax(190px,280px) auto minmax(210px,270px);gap:clamp(24px,4vw,52px);align-items:center;}
.footer-logo img{width:min(100%,260px);display:block;}
.footer-divider{height:78px;width:1.5px;}
.footer-social{transform:translateY(4px);}
.footer-social h2{font-size:clamp(1.15rem,1.65vw,1.55rem);margin:0 0 14px;letter-spacing:.03em;}
.social-links{gap:24px;}
.social-links svg{width:48px;height:48px;}
.footer-bottom{max-width:1120px;margin:16px auto 0;padding-top:13px;border-top:1.5px solid rgba(255,255,255,.72);font-size:clamp(.86rem,1.15vw,1.05rem);}
.footer-bottom p{margin:6px 0;}

@media (max-width:860px){
  .site-footer{padding-top:22px;padding-bottom:18px;}
  .footer-top{grid-template-columns:1fr;gap:14px;}
  .footer-logo img{width:min(58vw,240px);}
  .footer-divider{width:100%;height:1px;max-width:340px;margin:auto;}
  .footer-social{transform:none;}
  .footer-social h2{font-size:1.25rem;margin-bottom:12px;}
  .social-links svg{width:48px;height:48px;}
  .footer-bottom{font-size:.88rem;margin-top:14px;padding-top:12px;}
}
@media (max-width:560px){
  .site-footer{padding:20px 18px 16px;}
  .footer-logo img{width:min(68vw,220px);}
  .social-links{gap:20px;}
  .social-links svg{width:44px;height:44px;}
  .footer-bottom{font-size:.82rem;line-height:1.45;}
}


/* Section separators requested by Audrey: title, red lines, navy star */
.section-title{
  text-align:center;
  color:var(--blue);
  margin:0 auto 34px;
  max-width:980px;
}
.title-rule{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:22px;
  color:var(--blue);
  margin:0 auto 16px;
  max-width:560px;
}
.title-rule span{
  display:block;
  height:2px;
  background:var(--red);
}
.title-rule strong{
  font-size:1.35rem;
  line-height:1;
}
.section-title h2{
  margin:0;
  font-family:Oswald,Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-size:clamp(1.9rem,3.3vw,3rem);
  line-height:1.08;
  color:var(--blue);
}
.section-title p{
  margin:12px auto 0;
  max-width:820px;
  font-size:clamp(1.05rem,1.55vw,1.45rem);
  line-height:1.4;
  color:var(--blue);
}
.section-title-sub{
  margin-top:44px;
  margin-bottom:22px;
}
.meet-section{
  max-width:1440px;
}
.stand-title{
  grid-column:1/-1;
  margin-bottom:10px;
}

.why-top{
  background:linear-gradient(135deg,#092a6e,#003a9a);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.why-top::before{
  content:"“";
  position:absolute;
  left:28px;
  top:10px;
  font-family:Georgia,serif;
  font-size:6rem;
  line-height:1;
  color:rgba(255,255,255,.9);
}
.why-top p{
  color:#fff;
  position:relative;
  padding-left:52px;
}
.priorities .section-heading{
  margin-top:-8px;
  margin-bottom:38px;
}
@media (max-width: 720px){
  .title-rule{max-width:360px;gap:14px}
  .section-title h2{font-size:clamp(1.65rem,8vw,2.25rem)}
  .section-title p{font-size:1rem}
  .why-top p{padding-left:28px}
  .why-top::before{font-size:4rem;left:18px;top:12px}
}


/* Policy and Terms pages */
.policy-page{
  max-width:980px;
  margin:0 auto;
  padding:clamp(36px,6vw,80px) 22px;
  line-height:1.75;
}
.policy-page .btn{
  margin-bottom:30px;
}
.policy-page h1{
  font-family:Oswald,Inter,sans-serif;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.035em;
  font-size:clamp(2.2rem,5vw,4rem);
  line-height:1;
  margin:0 0 18px;
}
.policy-page h2{
  font-family:Oswald,Inter,sans-serif;
  color:var(--blue);
  font-size:clamp(1.3rem,2.5vw,1.75rem);
  margin:34px 0 10px;
  line-height:1.15;
}
.policy-page p{
  font-size:1.03rem;
  color:#111;
  margin:0 0 16px;
}
.policy-page em{
  color:var(--muted);
}


/* v15: soften Stand With Audrey photo and tighten spacing */
.intro-photo img{display:block;}
.intro-copy h2{margin:0 0 28px;}
@media (max-width: 1024px){.intro-copy h2{margin-bottom:24px;}}


/* v16 hero refinement per client notes */
.hero-strong h1{font-weight:700;letter-spacing:.008em;line-height:.92;}
.hero-strong h1>span:not(.house-line):not(.district-line):not(.district-simple){font-size:clamp(1.95rem,4.3vw,4.35rem);}
.advocate-line{display:block;font-size:clamp(1.95rem,4.3vw,4.35rem);}
.house-line{margin:12px 0 8px;gap:16px;}
.house-line em{font-size:clamp(2.2rem,4.6vw,4.55rem);}
.house-line strong{font-size:clamp(2.1rem,4.7vw,4.85rem);}
.district-simple{display:block;font-size:clamp(1.8rem,4vw,4rem);font-family:Montserrat,Inter,sans-serif;font-weight:700;letter-spacing:.12em;color:var(--blue);}
.hero-subtitle{display:none;}
.hero-photo img{filter:drop-shadow(0 16px 20px rgba(8,41,109,.08));-webkit-mask-image:radial-gradient(circle at 48% 42%, #000 58%, rgba(0,0,0,.96) 70%, rgba(0,0,0,.75) 82%, transparent 100%);mask-image:radial-gradient(circle at 48% 42%, #000 58%, rgba(0,0,0,.96) 70%, rgba(0,0,0,.75) 82%, transparent 100%);}
@media (max-width:1080px){
  .hero-strong h1>span:not(.house-line):not(.district-line):not(.district-simple), .advocate-line{font-size:clamp(1.85rem,4vw,3.95rem);}
  .house-line strong{font-size:clamp(1.95rem,4.4vw,4.35rem);}
  .house-line em{font-size:clamp(2rem,4.1vw,3.8rem);}
  .district-simple{font-size:clamp(1.6rem,3.5vw,3.4rem);}
}
@media (max-width:560px){
  .hero-strong h1>span:not(.house-line):not(.district-line):not(.district-simple), .advocate-line{font-size:clamp(1.55rem,7.3vw,2.35rem);line-height:1.03;}
  .house-line{gap:10px;margin:7px 0 6px;}
  .house-line em{font-size:clamp(1.95rem,9vw,2.7rem);}
  .house-line strong{font-size:clamp(1.8rem,8.4vw,2.55rem);}
  .district-simple{font-size:clamp(1.3rem,6.2vw,1.85rem);letter-spacing:.09em;}
}


/* v19 hero adjustments per Audrey notes */
.hero{
  align-items:center;
  gap:clamp(34px,5vw,86px);
}
.hero-photo{
  min-height:620px;
}
.hero-photo img{
  width:min(100%,560px);
  height:min(78vh,650px);
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 12px 18px rgba(8,41,109,.06));
  -webkit-mask-image:none;
  mask-image:none;
}

/* Use an elegant serif campaign headline style closer to “Stand With Audrey” */
.hero-strong h1{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  letter-spacing:.02em;
  line-height:.92;
}
.advocate-line{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  color:var(--blue);
  font-size:clamp(2.45rem,4.65vw,5.15rem);
}
.house-line{
  margin:14px 0 10px;
  align-items:flex-end;
  gap:18px;
}
.house-line em{
  font-family:Allura,cursive;
  font-size:clamp(2.45rem,4.55vw,5.05rem);
  line-height:.72;
}
.house-line strong{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  font-size:clamp(2.45rem,4.85vw,5.45rem);
  color:var(--red);
}
.district-simple{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  font-size:clamp(2.25rem,4.55vw,5rem);
  letter-spacing:.10em;
  color:var(--blue);
}

/* Move hero button down slightly */
.hero .btn{
  margin-top:18px;
}

@media (max-width:1080px){
  .hero-photo{min-height:560px;}
  .hero-photo img{height:min(72vh,590px);width:min(100%,500px);}
  .advocate-line{font-size:clamp(2.1rem,4.2vw,4.25rem);}
  .house-line strong{font-size:clamp(2.05rem,4.4vw,4.65rem);}
  .house-line em{font-size:clamp(2.1rem,4.1vw,4.2rem);}
  .district-simple{font-size:clamp(1.95rem,4vw,4.25rem);}
}

@media (max-width:860px){
  .hero-photo img{
    width:min(86vw,420px);
    height:auto;
    max-height:560px;
    object-fit:contain;
  }
  .hero .btn{margin-top:16px;}
}

@media (max-width:560px){
  .advocate-line{font-size:clamp(1.85rem,8.4vw,2.65rem);line-height:1.02;}
  .house-line{gap:10px;margin:8px 0 6px;justify-content:center;}
  .house-line em{font-size:clamp(2.05rem,9.2vw,2.95rem);}
  .house-line strong{font-size:clamp(1.8rem,8.1vw,2.55rem);}
  .district-simple{font-size:clamp(1.55rem,7.1vw,2.1rem);letter-spacing:.08em;}
  .hero-photo img{width:min(88vw,390px);max-height:520px;}
}


/* v20: Meet Audrey revision */
#meet .section-title h2{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  letter-spacing:.045em;
  font-size:clamp(2.25rem,4.2vw,4.75rem);
  line-height:.95;
}
#meet .meet-copy{
  padding-top:8px;
}


/* v21: Why Audrey Is Running heading font revision */
#why > .section-title:first-child h2{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  letter-spacing:.045em;
  font-size:clamp(2.25rem,4.2vw,4.75rem);
  line-height:.95;
}


/* v22: Experience section refinements */
#why .section-title-sub h2{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  letter-spacing:.045em;
  font-size:clamp(2.1rem,3.65vw,4.25rem);
  line-height:.95;
}
#why .section-title-sub p{
  max-width:1200px;
  white-space:nowrap;
}
.why-card .small-icon{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 22px;
  width:70px;
  height:70px;
}
.why-card .small-icon svg{
  width:64px;
  height:64px;
}
.why-card .small-icon path,
.why-card .small-icon rect{
  fill:none;
  stroke:currentColor;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.why-card.card-blue .small-icon{
  color:#fff;
}
@media (max-width:900px){
  #why .section-title-sub p{
    white-space:normal;
  }
}


/* v23: Priorities heading and icon size revisions */
#priorities > .section-title h2{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  letter-spacing:.045em;
  font-size:clamp(2.15rem,3.75vw,4.4rem);
  line-height:.95;
}
#priorities .priority-icon{
  height:92px;
  margin-bottom:20px;
}
#priorities .priority-icon img{
  width:92px;
  height:92px;
}
@media (max-width:560px){
  #priorities > .section-title h2{
    font-size:clamp(1.75rem,7.6vw,2.45rem);
  }
  #priorities .priority-icon{
    height:78px;
  }
  #priorities .priority-icon img{
    width:78px;
    height:78px;
  }
}


/* v24: Stand With Audrey section refinements */
.stand-title{
  display:none;
}
.intro-copy h2{
  font-family:Cinzel,Georgia,serif;
  font-weight:800;
  letter-spacing:.02em;
}
.funded-note{
  font-size:1.08rem;
  line-height:1.7;
}
.funded-note strong{
  font-size:1.35rem;
}
@media (max-width:560px){
  .funded-note{
    font-size:.98rem;
  }
  .funded-note strong{
    font-size:1.15rem;
  }
}


/* v25: Footer alignment refinements */
.site-footer{
  padding-top:34px;
  padding-bottom:26px;
}
.footer-top{
  grid-template-columns:minmax(220px,310px) 1fr minmax(230px,310px);
  align-items:center;
  gap:clamp(28px,4vw,58px);
  margin-bottom:0;
}
.footer-logo{
  align-self:center;
  transform:translateY(10px);
}
.footer-logo img{
  width:min(100%,275px);
}
.footer-divider{
  display:none;
}
.footer-social{
  align-self:center;
  transform:translateY(10px);
}
.footer-bottom{
  margin:-66px auto 0;
  padding-top:0;
  border-top:1.5px solid rgba(255,255,255,.72);
  max-width:760px;
  position:relative;
  z-index:2;
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.footer-bottom p{
  margin:5px 0;
}
.footer-bottom p:first-child{
  max-width:720px;
}
@media (max-width:860px){
  .footer-top{
    grid-template-columns:1fr;
  }
  .footer-logo,
  .footer-social{
    transform:none;
  }
  .footer-divider{
    display:none;
  }
  .footer-bottom{
    margin:18px auto 0;
    padding-top:16px;
    border-top:1.5px solid rgba(255,255,255,.72);
    min-height:auto;
  }
}

/* v26 footer correction based on client notes */
.site-footer{
  margin-top:24px;
  padding:34px clamp(24px,4vw,56px) 24px;
}
.site-footer .footer-top{
  max-width:1240px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:minmax(250px,360px) 1fr minmax(250px,360px);
  align-items:end;
  column-gap:40px;
  row-gap:0;
}
.site-footer .footer-logo{
  justify-content:flex-start;
  align-items:flex-end;
  transform:translateY(18px);
}
.site-footer .footer-logo img{
  width:min(100%,310px);
  display:block;
}
.site-footer .footer-divider{
  display:none !important;
}
.site-footer .footer-social{
  text-align:center;
  align-self:end;
  transform:translateY(18px);
}
.site-footer .footer-social h2{
  margin:0 0 14px;
  font-size:clamp(1.3rem,2vw,2rem);
  letter-spacing:.03em;
}
.site-footer .social-links{
  gap:28px;
}
.site-footer .social-links svg{
  width:52px;
  height:52px;
}
.site-footer .footer-bottom{
  max-width:860px;
  margin:0 auto;
  padding-top:16px;
  border-top:1.5px solid rgba(255,255,255,.72);
  text-align:center;
  font-size:clamp(.95rem,1.2vw,1.18rem);
  line-height:1.5;
}
.site-footer .footer-bottom p{
  margin:6px 0;
}
.site-footer .footer-bottom p:first-child{
  max-width:none;
}
.site-footer .footer-bottom p:last-child{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.site-footer .footer-bottom span{
  margin:0;
}

@media (max-width: 900px){
  .site-footer{
    padding:26px 18px 20px;
  }
  .site-footer .footer-top{
    grid-template-columns:1fr;
    row-gap:14px;
    margin-bottom:14px;
  }
  .site-footer .footer-logo,
  .site-footer .footer-social{
    justify-content:center;
    transform:none;
  }
  .site-footer .footer-logo img{
    width:min(70vw,260px);
  }
  .site-footer .footer-social h2{
    font-size:1.3rem;
    margin-bottom:12px;
  }
  .site-footer .social-links svg{
    width:54px;
    height:54px;
  }
  .site-footer .footer-bottom{
    max-width:100%;
    margin-top:0;
    padding-top:14px;
    font-size:.92rem;
  }
}

/* v27 footer layout: logo and follow lower on sides, text centered in the middle */
.site-footer{
  margin-top:28px;
  padding:26px clamp(22px,4vw,48px) 20px;
}
.site-footer .footer-shell{
  max-width:1380px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(230px,340px) minmax(420px,1fr) minmax(230px,340px);
  align-items:end;
  column-gap:36px;
}
.site-footer .footer-logo,
.site-footer .footer-social{
  align-self:end;
  padding-bottom:10px;
}
.site-footer .footer-logo{
  justify-content:flex-start;
}
.site-footer .footer-logo img{
  width:min(100%,300px);
  display:block;
}
.site-footer .footer-social{
  text-align:center;
}
.site-footer .footer-social h2{
  margin:0 0 12px;
  font-size:clamp(1.25rem,1.9vw,1.75rem);
  letter-spacing:.03em;
}
.site-footer .social-links{
  justify-content:center;
  gap:28px;
}
.site-footer .social-links svg{
  width:56px;
  height:56px;
}
.site-footer .footer-bottom{
  max-width:720px;
  margin:0 auto;
  padding:0;
  border-top:none;
  text-align:center;
}
.site-footer .footer-lines{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
  margin-bottom:14px;
}
.site-footer .footer-line{
  display:block;
  height:1.5px;
  background:rgba(255,255,255,.72);
}
.site-footer .footer-paid,
.site-footer .footer-links{
  margin:0;
}
.site-footer .footer-paid{
  font-size:clamp(1rem,1.25vw,1.12rem);
  line-height:1.45;
}
.site-footer .footer-links{
  margin-top:6px;
  font-size:clamp(.98rem,1.2vw,1.08rem);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.site-footer .footer-links span{
  color:rgba(255,255,255,.85);
}
.site-footer .footer-divider,
.site-footer .footer-top{
  display:none !important;
}

@media (max-width: 980px){
  .site-footer .footer-shell{
    grid-template-columns:1fr;
    row-gap:16px;
  }
  .site-footer .footer-logo,
  .site-footer .footer-social,
  .site-footer .footer-bottom{
    justify-content:center;
    text-align:center;
    padding-bottom:0;
  }
  .site-footer .footer-logo img{
    width:min(72vw,250px);
    margin:0 auto;
  }
  .site-footer .footer-bottom{
    order:2;
  }
  .site-footer .footer-social{
    order:3;
  }
  .site-footer .footer-lines{
    gap:20px;
    margin-bottom:12px;
  }
}

@media (max-width: 640px){
  .site-footer{
    padding:24px 18px 18px;
  }
  .site-footer .footer-social h2{
    font-size:1.3rem;
  }
  .site-footer .social-links svg{
    width:52px;
    height:52px;
  }
  .site-footer .footer-lines{
    gap:14px;
  }
  .site-footer .footer-paid{
    font-size:.93rem;
  }
  .site-footer .footer-links{
    font-size:.92rem;
    gap:10px;
  }
}


/* v34: Stay Connected contact form page */
.contact-page{
  min-height:100vh;
  background:radial-gradient(circle at 50% 0, rgba(8,41,109,.08), transparent 34%), #fff;
  padding:clamp(28px,5vw,70px) 20px;
}
.contact-page .back-home{
  margin:0 auto 28px;
  width:max-content;
  max-width:100%;
}
.contact-card{
  max-width:960px;
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(8,41,109,.10);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:clamp(28px,5vw,56px);
}
.contact-card .section-title{
  margin-bottom:28px;
}
.contact-card h1{
  margin:0;
  font-family:Cinzel,Georgia,serif;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:clamp(2.25rem,5vw,4.5rem);
  line-height:.95;
}
.campaign-form{
  display:grid;
  gap:22px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.campaign-form label{
  display:grid;
  gap:8px;
  font-weight:800;
  color:var(--blue);
}
.campaign-form input,
.campaign-form select,
.campaign-form textarea{
  width:100%;
  border:1.5px solid rgba(8,41,109,.20);
  border-radius:10px;
  padding:14px 15px;
  font:inherit;
  color:#111;
  background:#fff;
  outline:none;
}
.campaign-form input:focus,
.campaign-form select:focus,
.campaign-form textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(8,41,109,.10);
}
.consent-row{
  grid-template-columns:auto 1fr!important;
  align-items:start;
  gap:12px!important;
  font-weight:600!important;
  color:#111!important;
  line-height:1.5;
}
.consent-row input{
  width:20px;
  height:20px;
  margin-top:2px;
}
.hidden-field{
  display:none;
}
.form-note{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.5;
}
.form-submit{
  border:0;
  cursor:pointer;
  justify-self:center;
  min-width:190px;
}
.thank-you-page{
  display:grid;
  place-items:center;
}
.thank-you-page .contact-card{
  text-align:center;
}
@media (max-width:720px){
  .form-grid{
    grid-template-columns:1fr;
  }
  .contact-card{
    padding:28px 20px;
  }
  .contact-page .back-home{
    width:100%;
  }
}


/* v37: Meet Audrey layout test requested by Audrey
   Shift the photo up and let the closing paragraph run full width underneath. */
.meet-revised{
  align-items:start;
}
.meet-revised .meet-photo{
  align-self:start;
  transform:translateY(-28px);
}
.meet-revised .meet-photo img{
  width:100%;
  object-position:top center;
}
.meet-revised .meet-bottom{
  grid-column:1 / -1;
  margin:4px auto 0;
  max-width:1180px;
  color:#111;
  font-size:clamp(1.08rem,1.45vw,1.3rem);
  line-height:1.85;
  text-align:left;
}
@media (max-width:860px){
  .meet-revised .meet-photo{
    transform:none;
  }
  .meet-revised .meet-bottom{
    grid-column:auto;
    margin-top:0;
    font-size:1.05rem;
    line-height:1.75;
  }
}
