/* Shared internal-page rules extracted from repeated inline CSS.
   Loaded only by the six pages that previously contained these identical rules. */
.stakes .section-photo{justify-self:center}
/* ---------- responsive ---------- */
  @media (max-width:960px){
    nav.links{display:none}
    .menu-toggle{display:flex}
    .brand{gap:.5rem}
    .brand-txt{display:none}
    .nav-cta{gap:.4rem}
    .nav-cta .btn{display:inline-flex;min-height:44px;padding:.62em .78em;font-size:.78rem;line-height:1;white-space:nowrap}
    .hero .wrap{grid-template-columns:1fr}
    .hero-figure{max-width:620px;margin:2rem auto 0}
    .hero-stamp{max-width:170px;padding:.45rem .6rem}
    .hero-stamp .k{font-size:.62rem}
    .hero-stamp .v{font-size:.80rem;line-height:1.2}
    .hero-stamp .cta{font-size:.60rem}
    .section-photo-row{grid-template-columns:1fr;gap:1.2rem}
    .section-photo-row > *{min-width:0}
    .section-photo img{width:120px;height:120px}
    .reform-heading{max-width:none !important;overflow-wrap:break-word}
    .steps,.prio,.lib,.actions{grid-template-columns:1fr}}
@media (max-width:560px){
    .father-photos{grid-template-columns:1fr}
    .father-grid > div:nth-child(2){order:-1}
    .about-grid > div:nth-child(2){order:-1}
    .father-photos img{max-height:260px;width:100%;object-fit:cover;object-position:center 15%}
    .section-photo-row--dark .section-photo{justify-self:center;margin-top:.8rem;margin-bottom:1.6rem}
    .creds{grid-template-columns:1fr}
    footer.site .wrap > div{text-align:center}
    footer.site .wrap > div:first-child{max-width:210px;margin-inline:auto}
  footer.site .wrap > div:first-child > div{justify-content:center;flex-direction:column;align-items:center;gap:.6rem}
  footer.site .wrap > div:first-child > div a{width:160px}
    footer.site nav[aria-label="Campaign links"]{display:flex;flex-wrap:wrap;justify-content:center}
    footer.site nav[aria-label="Campaign links"] a{flex:0 0 48%}
    #footerCampaignHeading{margin-top:1.5rem}
    #footerContactHeading{margin-top:.65rem}
    footer.site::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(/images/logo.webp);background-repeat:no-repeat;background-position:center 40%;background-size:min(90vw,480px) auto;opacity:.06}}
/* ---------- Campaign soul: vision + first-person reason ---------- */
  .name-gold{color:var(--gold-soft);font-weight:700}@media(max-width:800px){
    .rising-grid,.why-grid{grid-template-columns:1fr}
    .rising-mark,.why-side{position:static}
    .why-photo{max-width:430px}
    .creed-band:before,.creed-band:after{display:none}}/* Mobile labels remain compact, readable, and visually attached to their headings. */
  @media (max-width:560px){
    .docket::before{display:inline-block;width:16px;flex:0 0 16px}
    .rising-mark h2,.why-side h2{margin-top:.25rem}
    .stakes h2{margin-top:.25rem !important}
    .hero .docket{margin-bottom:.28rem}
    .hero-vote span{margin-right:.35rem}
    .hero-vote b{display:inline;font-weight:500;color:#fff}
    .topbar{font-size:.72rem;letter-spacing:.02em}
    .topbar .topbar-slogan{display:none}
    .hero-cta{flex-wrap:wrap;gap:.6rem}
    .hero-cta .btn{flex:1 1 auto;min-height:44px;padding:.75em 1em;font-size:.85rem;gap:.35rem;white-space:normal;line-height:1.25}
    .hero-cta .btn--gold{order:-1;font-size:.94rem;padding:.85em 1em}
    .doc-pair{flex-wrap:wrap}
    .doc-pair .btn{flex:1 1 auto;min-height:44px;font-size:.82rem;padding:.7em .6em;white-space:normal;text-align:center;line-height:1.3}}
/* restored: page-specific or conflicting declaration, kept out of shared stylesheet */
body{
    margin:0;
    overflow-x:hidden;
    background:var(--parchment);
    color:var(--ink);
    font-family:"Public Sans",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    font-size:clamp(16px,1.05vw,18px);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
a{color:inherit}
h1{font-size:clamp(2.6rem,6.4vw,4.7rem);font-weight:900}
h2{font-size:clamp(1.9rem,3.9vw,3rem)}
p{margin:0 0 1.05em}
.signup-note{margin:.9rem 0 0;font-size:.85rem;color:#93A3BB}
.ctct-form-wrap{background:#fff;border-radius:6px;padding:1.1rem;margin-top:1rem;max-width:100%}
.ctct-inline-form{width:100%;max-width:640px;margin:1.5rem auto;min-height:120px}

/* v109 mobile reading-rhythm refinement */
@media (max-width:560px){
  .section{padding-block:40px}
}
