/* =========================================================
   Site Overrides
   =========================================================
   Reserved for manual site-specific CSS overrides.

   This file intentionally loads last.
   Keep empty unless a site needs a targeted fix that does not belong
   in oc-ui.css, oc-components.css, tokens.css, or theme-generated.css.
   ========================================================= */

.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:300;line-height:1.2}
.display-1{font-size:2.75rem}
.display-2{font-size:2.4rem}
.display-3{font-size:2rem}
.display-4{font-size:1.75rem}
.display-5{font-size:1.5rem}
.display-6{font-size:1.25rem}
.lead{font-size:1.2rem; font-weight:400;line-height:normal}
@media (max-width:768px){.display-1{font-size:2.2rem}.display-2{font-size:2rem}.display-3{font-size:1.8rem}.display-4{font-size:1.6rem}.display-5{font-size:1.4rem}.display-6{font-size:1.2rem}lead{font-size:1.1rem}}

/* Reusable campaign page components. Colors and type come from theme-generated.css. */
.oc-campaign{--oc-content-width:1180px;--oc-reading-width:760px;color:var(--oc-text);font-family:var(--oc-font-body)}
.oc-campaign *{box-sizing:border-box}
.oc-campaign img{display:block;max-width:100%;height:auto}
.oc-campaign a{color:var(--oc-secondary);text-underline-offset:.18em}
.oc-campaign h1,.oc-campaign h2,.oc-campaign h3{font-family:var(--oc-font-heading);line-height:1.08}
.oc-campaign h1{font-size:clamp(2.5rem,7vw,5.35rem)}
.oc-campaign h2{font-size:clamp(2rem,4.5vw,3.4rem)}
.oc-campaign h3{font-size:clamp(1.3rem,2.5vw,1.8rem)}
.oc-campaign p,.oc-campaign li{font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.72}
.oc-campaign-shell{width:min(var(--oc-content-width),calc(100% - 2.5rem));margin-inline:auto}
.oc-campaign-kicker{margin:0 0 .75rem;color:var(--oc-secondary);font-size:.82rem!important;font-weight:800;letter-spacing:.13em;line-height:1.3!important;text-transform:uppercase}
.oc-campaign-lead{font-size:clamp(1.2rem,2vw,1.45rem)!important;line-height:1.55!important}
.oc-campaign-button{display:inline-block;padding:.85rem 1.25rem;border:2px solid var(--oc-button-background);border-radius:var(--oc-button-radius);background:var(--oc-button-background);color:var(--oc-button-text)!important;font-weight:750;text-decoration:none!important}
.oc-campaign-button--outline{background:transparent;color:var(--oc-primary)!important}
.oc-campaign-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

.oc-campaign-hero{position:relative;overflow:hidden;background:var(--oc-accent)}
.oc-campaign-hero::after{position:absolute;right:-7rem;bottom:-9rem;width:22rem;height:22rem;border:3.5rem solid rgba(112,40,119,.07);border-radius:50%;content:""}
.oc-campaign-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr);align-items:center;gap:clamp(2rem,6vw,5rem);min-height:31rem;padding-block:clamp(3.5rem,8vw,7rem)}
.oc-campaign-hero h1{max-width:850px;margin:.2rem 0 1.25rem;color:var(--oc-primary)}
.oc-campaign-hero__copy>p:not(.oc-campaign-kicker){max-width:680px}
.oc-campaign-hero figure{margin:0}
.oc-campaign-hero figure img{width:100%;max-height:34rem;object-fit:cover;object-position:center top;border-radius:calc(var(--oc-button-radius) * 2);box-shadow:18px 18px 0 var(--oc-secondary)}
.oc-campaign-hero--compact .oc-campaign-hero__inner{display:block;min-height:0;padding-block:clamp(3rem,7vw,5.5rem)}
.oc-campaign-hero--compact p{max-width:720px}

.oc-campaign-linkbar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--oc-primary)}
.oc-campaign-linkbar a{padding:1.4rem 1rem;border-right:1px solid rgba(255,255,255,.22);color:#fff;text-align:center;text-decoration:none}
.oc-campaign-linkbar b,.oc-campaign-linkbar span{display:block}.oc-campaign-linkbar span{margin-top:.25rem;font-size:.85rem;opacity:.78}
.oc-campaign-section{padding-block:clamp(3.5rem,7vw,6rem)}
.oc-campaign-section--tint{background:var(--oc-surface)}
.oc-campaign-intro{display:grid;grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);gap:clamp(2rem,7vw,6rem);align-items:start}
.oc-campaign-intro h2{margin:.2rem 0}.oc-campaign-prose{max-width:var(--oc-reading-width)}
.oc-campaign-prose>:first-child{margin-top:0}.oc-campaign-prose>:last-child{margin-bottom:0}
.oc-campaign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.oc-campaign-card{padding:clamp(1.5rem,3vw,2.25rem);border-top:5px solid var(--oc-secondary);border-radius:var(--oc-button-radius);background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.08)}
.oc-campaign-card h3{margin:.2rem 0 .7rem}.oc-campaign-card p:last-child{margin-bottom:0}
.oc-campaign-number{display:block;color:var(--oc-secondary);font-size:.82rem;font-weight:850;letter-spacing:.12em}

.oc-campaign-donate{padding-block:clamp(3.5rem,7vw,5.5rem);background:var(--oc-primary);color:#fff}
.oc-campaign-donate__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,1fr);align-items:center;gap:clamp(2rem,7vw,6rem)}
.oc-campaign-donate h2,.oc-campaign-donate .oc-campaign-kicker{color:#fff}.oc-campaign-donate p{max-width:650px}.oc-campaign-donate__form{padding:clamp(1.25rem,3vw,2rem);border-radius:var(--oc-button-radius);background:rgba(255,255,255,.1)}

.oc-campaign-list{display:grid;gap:1rem;margin:2rem 0 0;padding:0;list-style:none}
.oc-campaign-list>li,.oc-campaign-list>article{padding:1.35rem 1.5rem;border-left:5px solid var(--oc-secondary);background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.06)}
.oc-campaign-list h2,.oc-campaign-list h3{margin:.1rem 0 .5rem}.oc-campaign-list p:last-child{margin-bottom:0}
.oc-campaign-issue{padding-block:clamp(2.5rem,5vw,4rem);border-bottom:1px solid rgba(107,114,128,.25)}
.oc-campaign-issue:last-child{border-bottom:0}.oc-campaign-issue__inner{display:grid;grid-template-columns:minmax(13rem,.55fr) minmax(0,1.45fr);gap:clamp(2rem,7vw,6rem)}
.oc-campaign-issue h2{margin:0}.oc-campaign-issue h3{margin-top:1.7rem;color:var(--oc-secondary)}
.oc-campaign-form{padding:clamp(1.5rem,4vw,3rem);border-radius:var(--oc-button-radius);background:var(--oc-surface)}
.oc-campaign-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-block:2rem}
.oc-campaign-contact-card{padding:1.5rem;border-top:5px solid var(--oc-secondary);background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.07)}
.oc-campaign-data{width:100%;border-collapse:collapse;margin-top:1.5rem}.oc-campaign-data th,.oc-campaign-data td{padding:.85rem;border-bottom:1px solid rgba(107,114,128,.25);text-align:left;vertical-align:top}.oc-campaign-data th{color:var(--oc-primary)}
.oc-campaign-note{padding:1.25rem 1.5rem;border-left:5px solid var(--oc-secondary);background:var(--oc-accent)}

@media(max-width:767.98px){.oc-campaign-hero__inner,.oc-campaign-intro,.oc-campaign-donate__inner,.oc-campaign-issue__inner{grid-template-columns:1fr}.oc-campaign-hero__inner{padding-bottom:3rem}.oc-campaign-hero figure{width:min(21rem,82vw);margin-inline:auto}.oc-campaign-linkbar{grid-template-columns:1fr 1fr}.oc-campaign-grid{grid-template-columns:1fr}.oc-campaign-contact-grid{grid-template-columns:1fr}}
@media(max-width:430px){.oc-campaign-linkbar{grid-template-columns:1fr}.oc-campaign-actions{align-items:stretch;flex-direction:column}.oc-campaign-button{text-align:center}.oc-campaign-data{font-size:.88rem}.oc-campaign-data th,.oc-campaign-data td{padding:.65rem .45rem}}
