/*
Theme Name: SAF Mission
Author: Save America's Future
Description: Editable editorial block theme for Save America's Future. Includes an explicit starter-page setup under Appearance > SAF Setup.
Version: 0.4.7
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: saf-mission
*/

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; }
a { text-underline-offset:4px; }
a:hover { color:#a40000; }
a:focus-visible,button:focus-visible { outline:3px solid #be6a00; outline-offset:5px; }
.wp-site-blocks > * { margin-block-start:0; }
.saf-container { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }
.saf-section { padding:76px 0; margin:0; }
.saf-section h1,.saf-section h2,.saf-section h3 { margin-top:0; }
.saf-section h1,.saf-hero h1 { font-size:clamp(46px,5.8vw,82px); letter-spacing:-.045em; line-height:1.02; }
.saf-section h2 { font-size:clamp(34px,3.8vw,52px); letter-spacing:-.035em; }
.saf-section h3 { font-size:30px; letter-spacing:-.025em; }
.saf-section p { color:#3e4650; }
.saf-eyebrow { font:700 12px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.25em; text-transform:uppercase; color:#c00000!important; margin-bottom:18px; }
.saf-lead { font-size:clamp(19px,2vw,23px); line-height:1.5; max-width:720px; }
.saf-small { font-size:13px; line-height:1.6; }
.saf-cream { background:#f5f2eb; }
.saf-navy { background:#01132e; color:white; }
.saf-navy p,.saf-navy h2,.saf-navy a { color:white; }
.saf-navy .wp-block-button__link:hover { color:white; }
.saf-site-header { background:#fff; position:relative; z-index:10; border-bottom:1px solid #ece9e2; }
.saf-header-row { display:flex; justify-content:space-between; align-items:center; gap:36px; padding-block:16px; }
.saf-logo { flex:0 1 320px; width:320px; margin:0; }
.saf-logo img { width:100%; display:block; }
.saf-navigation { margin:0; font-size:14px; flex:1; }
.saf-navigation .wp-block-navigation__container { gap:24px; }
.saf-navigation a { text-decoration:none; }
.saf-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a { background:#c00000; color:#fff; padding:12px 25px; border-radius:3px; font-weight:700; }
.saf-navigation .wp-block-navigation__submenu-container { min-width:180px!important; padding:12px!important; border-color:#e3dfd7!important; }
.saf-hero { position:relative; isolation:isolate; overflow:hidden; min-height:600px; display:flex; align-items:center; background:#f5f2eb; margin:0; }
.saf-hero-image { position:absolute; z-index:-2; inset:0; margin:0; width:100%; height:100%; }
.saf-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center 50%; }
.saf-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#f5f2eb 0%,rgba(245,242,235,.98) 24%,rgba(245,242,235,.91) 38%,rgba(245,242,235,.20) 61%,transparent 76%); }
.saf-hero > .saf-container { margin-block:0; padding-block:80px; }
.saf-hero-copy { width:53%; }
.saf-hero h1 { margin:16px 0 24px; }
.saf-hero .saf-lead { max-width:540px; }
.saf-hero .wp-block-buttons { margin-top:28px; gap:16px; }
.wp-block-button__link { transition:background .18s ease; text-decoration:none; }
.wp-block-button__link:hover { background:#9c0000; color:#fff; }
.wp-block-button.is-style-outline .wp-block-button__link { border:1px solid #b9b6af; color:#01132e; background:transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background:#fff; }
.saf-grid { display:grid; gap:28px; }
.saf-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.saf-two { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:64px; }
.saf-grid > * { margin-block:0; }
.saf-card { background:#fff; min-width:0; }
.saf-card-body { padding:28px; }
.saf-card h3 a { text-decoration:none; }
.saf-card h3 a:hover { text-decoration:underline; }
.saf-card p:last-child { margin-bottom:0; }
.saf-card-image { margin:0; }
.saf-card-image img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.saf-text-link { font-size:15px; font-weight:600; text-decoration:none; }
.saf-text-link span { color:#c00000; padding-left:10px; }
.saf-focus { padding:34px 0; }
.saf-focus .saf-grid { gap:0; }
.saf-focus .saf-card { background:none; border-right:1px solid #ddd9d1; }
.saf-focus .saf-card:last-child { border:0; }
.saf-focus .saf-card-body { padding:20px 36px; }
.saf-focus .saf-card:first-child .saf-card-body { padding-left:0; }
.saf-focus h3 { font-size:36px; }
.saf-focus .saf-eyebrow { font-size:11px; }
.saf-feature { display:grid; grid-template-columns:1.35fr 1fr; align-items:stretch; gap:0; background:#f5f2eb; margin-top:32px; }
.saf-feature > * { margin:0; }
.saf-feature-image img { display:block; width:100%; height:100%; min-height:390px; object-fit:cover; }
.saf-feature-copy { padding:44px; align-self:center; }
.saf-feature-copy h2 { font-size:46px; }
.saf-intro { padding-bottom:46px; }
.saf-intro h1 { max-width:1100px; }
.saf-intro + .saf-section { padding-top:48px; }
.saf-cta > .saf-container { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.saf-cta-copy { max-width:800px; }
.saf-cta-copy p { margin-bottom:0; }
.saf-cta .wp-block-buttons { flex-shrink:0; }
.saf-give-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:48px; align-items:start; }
.saf-give-grid > * { margin-block:0; }
.saf-rounded-image { margin:0 0 32px; }
.saf-rounded-image img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:3px; }
.saf-give-panel { padding:40px; background:#fff; border:1px solid #dedbd4; border-radius:4px; }
.saf-give-panel h2 { font-size:36px; }
.saf-email { overflow-wrap:anywhere; }
.saf-benefits { padding-top:20px; }
.saf-benefits h3 { font-size:27px; margin:28px 0 8px; padding-top:25px; border-top:1px solid #dcd8d0; }
.saf-benefits p { margin-top:0; }
.saf-contact-card { padding:30px; border:1px solid #e2ded6; align-self:stretch; }
.saf-contact-card h2 { font-size:29px; }
.saf-site-footer { background:white; padding:32px 0 20px; margin:0; }
.saf-footer-top,.saf-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.saf-footer-links { text-align:right; }
.saf-footer-links p { margin:8px 0; }
.saf-footer-links a { font-size:14px; text-decoration:none; }
.saf-footer-bottom { border-top:1px solid #e3dfd7; margin-top:22px; padding-top:16px; color:#526174; }
.saf-footer-bottom p { margin:0; }
.wp-block-post-template { gap:32px; }
.wp-block-post-template li { background:#fff; padding:22px; }
.wp-block-post-template .wp-block-post-featured-image { margin:-22px -22px 22px; }
.wp-block-post-template .wp-block-post-title { font-size:28px; }
.wp-block-post-template .wp-block-post-title a { text-decoration:none; }
.wp-block-post-terms { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:#c00000; }
.wp-block-post-date,.wp-block-post-author-name { font-size:13px; color:#526174; }
.saf-article { padding:70px 0; }
.saf-reading { width:min(760px,calc(100% - 48px)); margin:auto; }
.saf-reading h1 { font-size:clamp(40px,5vw,68px); line-height:1.1; letter-spacing:-.035em; }
.saf-reading h2 { font-size:36px; }
.saf-reading .wp-block-post-featured-image { margin-block:32px; }
.saf-reading .wp-block-post-content { margin-top:32px; }
.editor-styles-wrapper .saf-hero { isolation:isolate; }
@media(max-width:1050px) {
 .saf-container { width:calc(100% - 48px); }
 .saf-logo { width:260px; flex-basis:260px; }
 .saf-header-row { gap:24px; }
 .saf-navigation .wp-block-navigation__container { gap:14px; }
 .saf-hero-copy { width:58%; }
 .saf-feature-copy { padding:30px; }
 .saf-give-grid { gap:28px; }
 .saf-give-panel { padding:28px; }
 .saf-cta > .saf-container { display:block; }
 .saf-cta .wp-block-buttons { margin-top:24px; }
}
@media(min-width:600px) and (max-width:900px) {
 .saf-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
 .saf-navigation .wp-block-navigation__responsive-container-open { display:flex!important; }
}
@media(max-width:760px) {
 .saf-section { padding:48px 0; }
 .saf-container { width:calc(100% - 40px); }
 .saf-logo { width:240px; flex-basis:240px; }
 .saf-header-row { padding-block:10px; }
 .saf-hero { display:block; min-height:0; padding-bottom:280px; }
 .saf-hero-image { top:auto; bottom:0; height:300px; }
 .saf-hero-image img { object-position:70% center; }
 .saf-hero::after { background:linear-gradient(180deg,#f5f2eb 0%,#f5f2eb calc(100% - 310px),transparent calc(100% - 240px)); }
 .saf-hero > .saf-container { padding-block:45px 35px; }
 .saf-hero-copy { width:100%; }
 .saf-hero h1 { font-size:clamp(46px,9vw,64px); }
 .saf-three,.saf-two,.saf-feature,.saf-give-grid { grid-template-columns:1fr; gap:24px; }
 .saf-feature { gap:0; }
 .saf-feature-image img { min-height:0; aspect-ratio:3/2; }
 .saf-feature-copy { padding:30px 24px; }
 .saf-feature-copy h2 { font-size:38px; }
 .saf-focus { padding:16px 0; }
 .saf-focus .saf-card { border-right:0; border-bottom:1px solid #ddd9d1; }
 .saf-focus .saf-card-body,.saf-focus .saf-card:first-child .saf-card-body { padding:26px 0; }
 .saf-footer-top,.saf-footer-bottom { flex-direction:column; align-items:flex-start; gap:14px; }
 .saf-footer-top > .saf-logo { flex:0 0 auto; max-width:100%; }
 .saf-footer-links { text-align:left; }
 .wp-block-post-template.is-layout-grid { grid-template-columns:1fr!important; }
}
/* Open-menu styling applies at every overlay width, including 761–900px.
   Keep desktop right alignment on the closed menu only. */
.saf-navigation .wp-block-navigation__responsive-container.is-menu-open {
 padding:24px!important;
 background:#f5f2eb!important;
 color:#01132e!important;
 --navigation-layout-justification-setting:flex-start;
 --navigation-layout-text-align:left;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-close {
 width:100%; max-width:480px; margin-inline:auto;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
 align-items:stretch!important; text-align:left!important;
 padding-top:60px!important; padding-bottom:24px;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
 width:100%; gap:0!important; align-items:stretch!important;
 font-size:24px; line-height:1.3;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
 align-items:stretch!important; text-align:left!important; width:100%;
}
.saf-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
 padding:10px 0; border-bottom:1px solid #dedbd4;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
 display:flex; align-items:center; min-height:44px;
 padding:6px 0!important; text-align:left!important;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
 width:100%; min-width:0!important; gap:0!important;
 margin:4px 0 0; padding:0 0 0 20px!important;
 border:0!important; border-left:2px solid #d7d1c7!important;
 align-items:stretch!important; font-size:18px;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container a {
 color:#526174;
}
.saf-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child {
 border-bottom:0; padding-top:20px;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > .wp-block-navigation-item:last-child > a {
 justify-content:center; padding:14px 24px!important;
 font-size:18px; background:#c00000; color:#fff;
}
.saf-navigation .is-menu-open .wp-block-navigation__responsive-container-close {
 top:0; right:0; min-width:44px; min-height:44px;
 display:flex; align-items:center; justify-content:center;
 border:1px solid #d7d1c7; border-radius:3px;
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* About: editorial sections and editable leadership cards. */
.saf-about-story { display:grid; grid-template-columns:1fr 2fr; gap:64px; }
.saf-about-story > *, .saf-about-founder > *, .saf-about-memorial > * { margin-block:0; min-width:0; }
.saf-about-pillar { border-top:2px solid #c00000; padding-top:24px; }
.saf-about-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 64px; margin-top:36px; }
.saf-about-work { margin:0; border-top:1px solid #dedbd4; padding-top:24px; }
.saf-about-founder,.saf-about-memorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); gap:64px; align-items:center; }
.saf-founder-portrait,.saf-memorial-portrait,.saf-portrait { margin:0; }
.saf-founder-portrait img,.saf-memorial-portrait img { width:100%; height:auto; display:block; border-radius:3px; }
.saf-people-grid { display:grid; gap:28px; margin-top:36px; align-items:start; }
.saf-board-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.saf-advisor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.saf-person { margin:0; min-width:0; background:#fff; }
.saf-portrait img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 20%; }
.saf-person-copy { padding:22px 20px; margin:0; }
.saf-person-copy h3 { font-size:28px; margin-bottom:10px; }
.saf-section .saf-person-role { font:600 13px/1.6 Arial,Helvetica,sans-serif; color:#a40000; margin-top:0; }
.saf-person-copy p { font-size:15px; line-height:1.65; }
.saf-bio { border-top:1px solid #dedbd4; padding-top:12px; }
.saf-bio summary { cursor:pointer; font:600 14px/1.6 Arial,Helvetica,sans-serif; color:#01132e; padding:8px 0; }
.saf-bio summary:focus-visible { outline:3px solid #be6a00; outline-offset:4px; }
@media(max-width:1050px) { .saf-board-grid,.saf-advisor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .saf-about-founder,.saf-about-memorial,.saf-about-story { gap:32px; } }
@media(max-width:760px) { .saf-about-story,.saf-about-founder,.saf-about-memorial,.saf-about-work-grid { grid-template-columns:1fr; gap:28px; } .saf-founder-portrait,.saf-memorial-portrait { width:min(100%,400px); } }
@media(max-width:540px) { .saf-board-grid,.saf-advisor-grid { grid-template-columns:1fr; } .saf-person { width:100%; max-width:400px; margin-inline:auto; } }

/* About refinements: stronger hierarchy without additional photography. */
.saf-about-intro { padding-block:56px 44px; }
.saf-about-intro-note { max-width:760px; }
.saf-about-jumps { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:28px; padding-top:22px; border-top:1px solid #dcd8d0; font:600 14px/1.7 Arial,Helvetica,sans-serif; }
.saf-about-jumps a { text-decoration:none; }
.saf-about-jumps a:hover { text-decoration:underline; }
.saf-about-jumps span { color:#b5aaa0; }
.saf-section .saf-purpose-statement { border-left:3px solid #c00000; padding-left:22px; margin-top:34px; font:normal clamp(26px,2.6vw,36px)/1.3 Georgia,serif; letter-spacing:-.025em; color:#01132e; }
.saf-service-header { display:grid; grid-template-columns:1fr 1.5fr; gap:64px; align-items:start; }
.saf-service-header > * { margin-block:0; min-width:0; }
.saf-service-intro .saf-lead { margin-top:0; font-size:20px; }
.saf-about-work-grid { gap:24px; margin-top:32px; }
.saf-about-work { background:#f5f2eb; border-top:0; padding:28px 32px 32px; }
.saf-about-work h3 { margin-bottom:14px; }
.saf-about-work p:last-child { margin-bottom:0; }
.saf-section .saf-work-number { color:#a40000; font:700 13px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.18em; margin:0 0 18px; }
#our-purpose,#our-leadership,#remembering-ben { scroll-margin-top:60px; }
@media(max-width:760px) { .saf-about-intro { padding-block:40px 34px; } .saf-service-header { grid-template-columns:1fr; gap:16px; } .saf-purpose-statement { margin-bottom:12px; } .saf-about-work { padding:24px; } .saf-about-jumps { gap:10px 14px; } }

/* About landscape banner; independent of the homepage hero. */
.saf-about-banner { position:relative; isolation:isolate; overflow:hidden; background:#f5f2eb; margin:0; min-height:490px; display:flex; align-items:center; }
.saf-about-landscape { position:absolute; inset:0; z-index:-2; margin:0; width:100%; height:100%; }
.saf-about-landscape img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.saf-about-banner::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#f5f2eb 0%,rgba(245,242,235,.98) 26%,rgba(245,242,235,.94) 40%,rgba(245,242,235,.3) 62%,transparent 80%); }
.saf-about-banner > .saf-container { padding-block:56px; margin-block:0; }
.saf-about-banner-copy { width:58%; max-width:670px; }
.saf-about-banner h1 { font-size:clamp(46px,5.3vw,74px); line-height:1.04; letter-spacing:-.045em; margin:16px 0 24px; }
.saf-about-banner .saf-lead { color:#3e4650; max-width:570px; }
.saf-about-banner .saf-about-jumps { max-width:560px; }
@media(max-width:760px) {
 .saf-about-banner { display:block; min-height:0; padding-bottom:250px; }
 .saf-about-banner-copy { width:100%; max-width:none; }
 .saf-about-banner > .saf-container { padding-block:40px 26px; }
 .saf-about-landscape { top:auto; height:280px; }
 .saf-about-landscape img { object-position:80% 60%; }
 .saf-about-banner::after { background:linear-gradient(180deg,#f5f2eb 0%,#f5f2eb calc(100% - 280px),transparent calc(100% - 205px)); }
 .saf-about-banner h1 { font-size:clamp(42px,8.8vw,64px); }
}

/* Faith page: clear doctrine, accessible native disclosure controls. */
.saf-faith-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:56px; align-items:center; }
.saf-faith-hero-grid > *, .saf-faith-statement-grid > * { margin-block:0; min-width:0; }
.saf-faith-intro h1 { font-size:clamp(42px,4.5vw,65px); }
.saf-faith-foundation { padding:36px; border-top:4px solid #c00000; }
.saf-faith-foundation .saf-eyebrow { color:#fff!important; }
.saf-faith-foundation h2 { font-size:clamp(28px,3vw,38px); }
.saf-faith-foundation p:last-child { margin-bottom:0; }
.saf-faith-statement-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:64px; align-items:start; }
.saf-belief { margin:0; border-bottom:1px solid #d7d1c7; padding:0; }
.saf-belief:first-child { border-top:1px solid #d7d1c7; }
.saf-belief summary { font:normal 25px/1.35 Georgia,serif; cursor:pointer; padding:22px 12px; color:#01132e; }
.saf-belief summary::marker { color:#a40000; }
.saf-belief summary:hover { color:#a40000; }
.saf-belief summary:focus-visible { outline:3px solid #be6a00; outline-offset:2px; }
.saf-belief p { margin:0; padding:0 12px 24px; line-height:1.7; }
.saf-belief[open] { background:#fff; }
.saf-faith-resource-note { border-left:3px solid #c00000; padding-left:28px; }
#statement-of-faith,#grow-in-faith,#faith-resources { scroll-margin-top:60px; }
@media(max-width:760px) { .saf-faith-hero-grid,.saf-faith-statement-grid { grid-template-columns:1fr; gap:30px; } .saf-faith-foundation { padding:28px; } .saf-belief summary { font-size:23px; } }
@media print { .saf-belief::details-content { display:block!important; content-visibility:visible!important; } }

/* Family content refinements. */
.saf-section .saf-family-card-lead { font-weight:600; color:#01132e; }
#family-foundations,#family-education,#family-resources { scroll-margin-top:60px; }

/* Freedom: readable contrast for practical steps. */
.saf-freedom-steps .saf-about-work { background:#fff; }
#local-government,#get-started,#freedom-resources { scroll-margin-top:60px; }

/* Media: preserve a readable image and future embedded players. */
.saf-media-intro .saf-lead { max-width:800px; }
.saf-media-formats { margin-top:32px; align-items:stretch; }
.saf-media-formats .saf-about-work { padding:28px; }
.saf-feature-image:has(figcaption) { display:flex; flex-direction:column; }
.saf-feature-image:has(figcaption) img { flex:1; height:auto; min-height:0; aspect-ratio:4/3; object-fit:cover; }
.saf-feature-image figcaption { padding:12px 20px; margin:0; background:#f5f2eb; font-size:12px; line-height:1.5; }
.saf-reading .wp-block-embed { margin-inline:0; }
.saf-reading iframe { max-width:100%; }
#media-formats,#latest-media { scroll-margin-top:60px; }

/* A single Media opening: headline first, photography immediately below. */
.saf-media-merged { padding-block:38px 36px; }
.saf-media-merged h1 { margin:0; font-size:clamp(40px,5vw,70px); }
.saf-media-merged > .saf-container > .saf-eyebrow { margin:0 0 12px; }
.saf-media-opening { margin-top:28px; grid-template-columns:1.2fr 1fr; background:#fff; }
.saf-media-opening .saf-feature-copy { padding:28px 32px; }
.saf-media-opening .saf-feature-copy .saf-lead { font-size:19px; }
.saf-media-opening .saf-feature-copy h2 { font-size:32px; margin-bottom:16px; }
.saf-media-opening .saf-feature-copy p { margin-bottom:16px; }
.saf-media-opening .saf-feature-image figcaption { background:#fff; }
.saf-media-merged .saf-about-jumps { margin-top:24px; padding-top:18px; }
@media(max-width:760px) {
 .saf-media-merged { padding-block:30px; }
 .saf-media-opening { grid-template-columns:1fr; gap:0; margin-top:22px; }
 .saf-media-opening .saf-feature-copy { padding:24px; }
}

/* Resources: a photographic introduction and editable topic collections. */
.saf-resources-hero { padding-block:38px 36px; }
.saf-resources-hero h1 { margin:0; font-size:clamp(40px,5vw,70px); }
.saf-resources-hero > .saf-container > .saf-eyebrow { margin:0 0 12px; }
.saf-resources-opening { display:grid; grid-template-columns:1.2fr 1fr; gap:0; margin-top:28px; background:#f5f2eb; align-items:stretch; }
.saf-resources-opening > * { margin:0; min-width:0; }
.saf-resources-image img { display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; }
.saf-resources-copy { padding:32px; align-self:center; }
.saf-resources-copy h2 { font-size:36px; }
.saf-resources-copy .saf-lead { font-size:20px; }
.saf-resources-copy p:last-child { margin-bottom:0; }
.saf-resources-hero .saf-about-jumps { margin-top:24px; padding-top:18px; }
.saf-resources-category { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start; }
.saf-resources-category > * { margin:0; min-width:0; }
.saf-resources-topics { display:grid; gap:20px; }
.saf-resources-topics > * { margin:0; }
.saf-cream .saf-resources-topics .saf-about-work { background:#fff; }
.saf-resources-status { font-weight:700; border-left:3px solid #c00000; padding-left:16px; }
#faith-resources,#family-resources { scroll-margin-top:60px; }
@media(max-width:760px) {
 .saf-resources-hero { padding-block:30px; }
 .saf-resources-opening,.saf-resources-category { grid-template-columns:1fr; }
 .saf-resources-opening { margin-top:22px; }
 .saf-resources-image img { height:auto; aspect-ratio:3/2; }
 .saf-resources-copy { padding:24px; }
 .saf-resources-category { gap:28px; }
}

/* Get Involved: consistent volunteer cards and section navigation. */
.saf-involved-skills { margin-block:30px; align-items:stretch; }
.saf-involved-skills .saf-about-work { padding:28px; }
#stay-connected,#volunteer,#partner { scroll-margin-top:60px; }

/* Give: early contact action with supporting priorities below. */
.saf-give-intro { padding-block:38px 48px; }
.saf-give-intro h1 { margin:0 0 20px; font-size:clamp(40px,5vw,70px); }
.saf-give-opening { margin-top:30px; }
.saf-give-opening .saf-give-panel { position:static; }
.saf-give-opening .saf-rounded-image { margin:0; }
.saf-give-opening .saf-rounded-image img { width:100%; display:block; aspect-ratio:4/3; object-fit:cover; }
.saf-give-opening .wp-block-buttons { margin-block:24px; }
.saf-give-priorities { margin-top:32px; align-items:stretch; }
.saf-give-priorities .saf-about-work { padding:28px; }
@media(max-width:760px) { .saf-give-intro { padding-block:30px; } }

/* Contact: direct details and three distinct email inquiry routes. */
.saf-contact-hero { padding-block:48px; }
.saf-contact-opening { display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:center; }
.saf-contact-opening > * { margin:0; min-width:0; }
.saf-contact-intro h1 { font-size:clamp(44px,5vw,70px); }
.saf-contact-direct { padding:36px; border-top:4px solid #c00000; }
.saf-contact-direct h2 { font-size:32px; }
.saf-contact-direct .saf-eyebrow { color:white!important; }
.saf-contact-direct .saf-contact-label { font-size:12px; text-transform:uppercase; letter-spacing:.16em; margin:22px 0 6px; }
.saf-contact-direct .saf-contact-value { font-size:clamp(18px,2vw,24px); margin:0; overflow-wrap:anywhere; }
.saf-contact-routes { margin-block:30px; align-items:stretch; }
.saf-contact-route { padding:28px; display:flex; flex-direction:column; }
.saf-contact-route .wp-block-buttons { margin-top:auto; padding-top:16px; }
.saf-contact-route .wp-block-button__link { padding:13px 18px; }
@media(max-width:760px) { .saf-contact-opening { grid-template-columns:1fr; gap:24px; } .saf-contact-hero { padding-block:30px; } .saf-contact-direct { padding:28px; } }

/* Separate Contact actions from the next topic. */
.saf-contact-copy > .wp-block-buttons + h3.wp-block-heading { margin-top:40px; }

/* Home: fuller editorial previews without changing the approved hero. */
.saf-home-focus h2 { font-size:38px; }
.saf-home-purpose-title h2 { font-size:clamp(32px,3.4vw,44px); }
.saf-home-media { padding-top:24px; }
.saf-home-media > .saf-container { border-top:1px solid #dedbd4; padding-top:48px; }
.saf-home-status { font-size:14px; font-weight:700; border-left:3px solid #c00000; padding-left:14px; }
.saf-home-collections { margin-block:30px; align-items:stretch; }
.saf-home-collections .saf-about-work { background:#fff; padding:28px; }
.saf-home-collections h3 a { text-decoration:none; }
.saf-home-steps { margin-block:30px; align-items:start; }
.saf-home-step { border-top:2px solid #c00000; padding-top:24px; }
.saf-home-step h3 { font-size:28px; }
@media(max-width:760px) { .saf-home-media > .saf-container { padding-top:32px; } }

/* Freedom: separate successive participation topics. */
.saf-freedom-copy > p + h3.wp-block-heading { margin-top:36px; }

/* Supporting pages and complete footer — 0.4.4. */
.saf-policy-copy { max-width:800px; }
.saf-policy-copy > h2.wp-block-heading { font-size:clamp(25px,3vw,34px); margin-top:42px; margin-bottom:14px; }
.saf-policy-copy > h2.wp-block-heading:first-child { margin-top:0; }
.saf-policy-copy p { overflow-wrap:anywhere; }
.saf-footer-brand { flex:0 1 340px; }
.saf-footer-brand .saf-logo { width:280px; max-width:100%; }
.saf-footer-brand > p { margin:16px 0 0; }
.saf-footer-link-row { display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:flex-end; }
.saf-footer-bottom .saf-footer-link-row a { font-size:14px; }
.saf-footer-links a:hover,.saf-footer-bottom a:hover { text-decoration:underline; }
.saf-footer-links a { overflow-wrap:anywhere; }
@media (max-width:780px) {
 .saf-footer-brand { flex:0 0 auto; }
 .saf-footer-link-row { justify-content:flex-start; }
 .saf-footer-links,.saf-footer-bottom { width:100%; }
}

/* Supporting pages and complete footer — 0.4.4. */
.saf-policy-copy { max-width:800px; }
.saf-policy-copy > h2.wp-block-heading { font-size:clamp(25px,3vw,34px); margin-top:42px; margin-bottom:14px; }
.saf-policy-copy > h2.wp-block-heading:first-child { margin-top:0; }
.saf-policy-copy p { overflow-wrap:anywhere; }
.saf-footer-brand { flex:0 1 340px; }
.saf-footer-brand .saf-logo { width:280px; max-width:100%; }
.saf-footer-brand > p { margin:16px 0 0; }
.saf-footer-link-row { display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:flex-end; }
.saf-footer-bottom .saf-footer-link-row a { font-size:14px; }
.saf-footer-links a:hover,.saf-footer-bottom a:hover { text-decoration:underline; }
.saf-footer-links a { overflow-wrap:anywhere; }
@media (max-width:780px) {
 .saf-footer-brand { flex:0 0 auto; }
 .saf-footer-link-row { justify-content:flex-start; }
 .saf-footer-links,.saf-footer-bottom { width:100%; }
}
