/* SAFF Homepage Redesign v1.0 — isolated from existing Gutenberg/CSS styling */
body.saff-redesign-active {overflow-x:clip}
body.saff-redesign-active .saff-rd,body.saff-redesign-active .saff-rd *{box-sizing:border-box}
body.saff-redesign-active .saff-rd{--rd-red:#bc1725;--rd-burgundy:#690f1a;--rd-gold:#d7ad62;--rd-ink:#14202a;--rd-cream:#faf7f3;--rd-muted:#4c5760;position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;margin-right:0;padding:0;background:#fff;color:var(--rd-ink);font-family:inherit;line-height:1.6;text-align:left;isolation:isolate}
.saff-rd h1,.saff-rd h2,.saff-rd h3,.saff-rd p,.saff-rd ul{margin-top:0}
.saff-rd h1,.saff-rd h2,.saff-rd h3{font-family:inherit;font-weight:800;letter-spacing:-.035em;line-height:1.12;color:inherit}
.saff-rd h2{font-size:clamp(2.1rem,3.8vw,3.5rem);margin-bottom:22px}
.saff-rd h3{font-size:1.25rem;letter-spacing:-.015em}
.saff-rd p{font-size:1.06rem;line-height:1.7}
.saff-rd a{text-decoration:none}
.saff-rd svg{width:1.1em;height:1.1em;display:inline-block;flex-shrink:0;vertical-align:-.12em}
.saff-rd .saff-rd-shell{width:min(1260px,calc(100% - 72px));margin-inline:auto}
.saff-rd .saff-rd-section{padding-block:92px}
.saff-rd .saff-rd-eyebrow{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--rd-red);margin-bottom:14px}
.saff-rd .saff-rd-btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:49px;padding:13px 25px;border-radius:999px;font-weight:750;font-size:.92rem;line-height:1.25;text-align:center;white-space:normal;transition:transform .18s,background .18s,box-shadow .18s;color:#fff}
.saff-rd .saff-rd-btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px #0002}
.saff-rd .saff-rd-btn:focus-visible,.saff-rd a:focus-visible{outline:3px solid var(--rd-gold);outline-offset:4px}
.saff-rd .saff-rd-btn-primary{background:linear-gradient(110deg,#a20e1a,#e21c2b);color:#fff;border:1px solid #bd1823}
.saff-rd .saff-rd-btn-primary:hover{background:linear-gradient(110deg,#8c1019,#bd1725);color:#fff}
.saff-rd .saff-rd-btn-outline{border:1.5px solid #fff;background:#14141466;color:#fff}
.saff-rd .saff-rd-btn-outline:hover{background:#ffffff24;color:#fff}
/* Hero */
.saff-rd .saff-rd-hero{position:relative;isolation:isolate;min-height:680px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(130deg,#4a1119,#0a141c)}
.saff-rd .saff-rd-hero-img,.saff-rd .saff-rd-impact-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.saff-rd .saff-rd-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080c14b8,#120d14aa 50%,#0a0d13c4);z-index:-1}
.saff-rd .saff-rd-hero-inner{text-align:center;max-width:1040px;padding-block:95px;color:#fff}
.saff-rd .saff-rd-hero-kicker{color:#f4d99b;text-transform:uppercase;font-size:.76rem;font-weight:800;letter-spacing:.23em;margin-bottom:25px}
.saff-rd .saff-rd-hero h1{font-size:clamp(2.7rem,5.3vw,5.5rem);line-height:1.07;max-width:1000px;margin:0 auto 25px;color:#fff;text-wrap:balance;text-shadow:0 3px 20px #0005}
.saff-rd .saff-rd-hero-lead{font-size:clamp(1.06rem,1.65vw,1.3rem);line-height:1.65;max-width:820px;margin:0 auto 32px;color:#f7f5f4}
.saff-rd .saff-rd-actions{display:flex;gap:17px;justify-content:center;flex-wrap:wrap}
.saff-rd .saff-rd-actions .saff-rd-btn{min-width:225px}
/* About */
.saff-rd .saff-rd-about{background:linear-gradient(135deg,#fff,#fcf8f3)}
.saff-rd .saff-rd-about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(35px,6vw,95px);align-items:center}
.saff-rd .saff-rd-about-copy{padding-block:12px}
.saff-rd .saff-rd-body{color:#34414a;max-width:610px;margin-bottom:25px}
.saff-rd .saff-rd-checks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 19px;margin:0 0 32px}
.saff-rd .saff-rd-checks li{display:flex;align-items:center;gap:9px;font-size:.95rem;font-weight:650}
.saff-rd .saff-rd-check-icon{background:var(--rd-red);color:white;border-radius:50%;width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.saff-rd .saff-rd-check-icon svg{width:13px;height:13px;stroke-width:3}
.saff-rd .saff-rd-about-photo{position:relative;min-height:450px;box-shadow:0 22px 55px #2c19291c;border-radius:18px}
.saff-rd .saff-rd-about-photo:before{content:"";position:absolute;inset:-13px -13px 13px 13px;border-radius:18px;background:var(--rd-burgundy);z-index:0}
.saff-rd .saff-rd-photo{position:relative;display:block;width:100%;height:100%;object-fit:cover;border-radius:18px}
.saff-rd .saff-rd-about-photo .saff-rd-photo{height:450px}
.saff-rd .saff-rd-image-prompt{display:flex;justify-content:center;align-items:center;text-align:center;background:#eae3dc;color:#6b5d58;min-height:100%;padding:25px;font-size:.95rem;border-radius:16px}
/* Impact */
.saff-rd .saff-rd-impact{position:relative;isolation:isolate;overflow:hidden;background:#101923;color:#fff}
.saff-rd .saff-rd-impact-overlay{position:absolute;inset:0;background:linear-gradient(95deg,#0a111aee,#1b101be8);z-index:-1}
.saff-rd .saff-rd-impact-grid{display:grid;grid-template-columns:.85fr 1.3fr;align-items:center;gap:60px}
.saff-rd .saff-rd-impact h2{color:#fff}
.saff-rd .saff-rd-impact-copy>p:last-child{color:#f3ebea;max-width:450px}
.saff-rd .saff-rd-eyebrow-gold{color:#f4d48f}
.saff-rd .saff-rd-impact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.saff-rd .saff-rd-stat{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;color:var(--rd-ink);border-radius:17px;padding:32px 24px 27px;box-shadow:0 18px 40px #0003}
.saff-rd .saff-rd-stat-icon{color:var(--rd-red);display:flex;margin-bottom:12px}
.saff-rd .saff-rd-stat-icon svg{width:36px;height:36px;stroke-width:1.6}
.saff-rd .saff-rd-stat-number{font-size:clamp(2.1rem,3vw,3.1rem);font-weight:850;letter-spacing:-.055em;color:var(--rd-red);line-height:1.12;margin:0 0 9px;white-space:nowrap}
.saff-rd .saff-rd-stat-label{font-weight:800;font-size:.9rem;margin-bottom:13px}
.saff-rd .saff-rd-stat-description{font-size:.89rem;line-height:1.6;color:#4d545c;flex:1;margin-bottom:22px}
.saff-rd .saff-rd-stat .saff-rd-btn{font-size:.78rem;min-height:42px;padding:10px 17px}
/* Help */
.saff-rd .saff-rd-help{background:var(--rd-cream)}
.saff-rd .saff-rd-section-intro{max-width:760px;color:var(--rd-muted);margin-bottom:35px}
.saff-rd .saff-rd-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.saff-rd .saff-rd-help-card{background:#fff;border:1px solid #eee4db;border-radius:16px;box-shadow:0 13px 30px #4c302114;padding:35px 30px 31px;text-align:center;display:flex;align-items:center;flex-direction:column;min-height:315px}
.saff-rd .saff-rd-round-icon{width:65px;height:65px;background:var(--rd-red);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:20px;box-shadow:0 0 0 8px #f9e7e7}
.saff-rd .saff-rd-round-icon svg{width:30px;height:30px}
.saff-rd .saff-rd-help-card h3{margin-bottom:13px}
.saff-rd .saff-rd-help-card p{font-size:.96rem;color:var(--rd-muted);margin-bottom:24px;flex:1}
.saff-rd .saff-rd-help-card .saff-rd-btn{font-size:.83rem}
/* Events */
.saff-rd .saff-rd-events{background:#fff}
.saff-rd .saff-rd-events-top{display:flex;justify-content:space-between;align-items:end;gap:30px}
.saff-rd .saff-rd-events-top .saff-rd-section-intro{margin-bottom:35px}
.saff-rd .saff-rd-text-link{display:inline-flex;gap:10px;align-items:center;border:1.5px solid var(--rd-red);color:var(--rd-red);border-radius:999px;padding:11px 19px;font-weight:800;font-size:.85rem;white-space:nowrap;margin-bottom:37px}
.saff-rd .saff-rd-text-link:hover{background:var(--rd-red);color:#fff}
.saff-rd .saff-rd-events-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.saff-rd .saff-rd-event{border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #13212e1b;background:#fff;border:1px solid #e9e8e7;border-bottom:3px solid var(--rd-red)}
.saff-rd .saff-rd-event a{display:block;height:100%;color:var(--rd-ink)}
.saff-rd .saff-rd-event-photo{height:185px;overflow:hidden;background:#eae3dc}
.saff-rd .saff-rd-event-img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.saff-rd .saff-rd-event a:hover .saff-rd-event-img{transform:scale(1.045)}
.saff-rd .saff-rd-event-photo .saff-rd-image-prompt{height:100%;border-radius:0}
.saff-rd .saff-rd-event-info{padding:18px 17px 19px}
.saff-rd .saff-rd-event h3{font-size:1.03rem;line-height:1.25;margin-bottom:8px}
.saff-rd .saff-rd-event-info p{font-size:.83rem;color:var(--rd-red);display:flex;align-items:center;gap:7px;margin:0}
/* Contact */
.saff-rd .saff-rd-contact{display:grid;grid-template-columns:1fr 1fr;min-height:350px;background:var(--rd-red)}
.saff-rd .saff-rd-contact-copy{background:linear-gradient(120deg,#a40f1a,#c71b28);display:flex;align-items:center;justify-content:flex-end}
.saff-rd .saff-rd-contact-inner{width:min(100%,630px);padding:62px 60px 62px 36px;color:#fff}
.saff-rd .saff-rd-contact .saff-rd-eyebrow{color:#f4d48f}
.saff-rd .saff-rd-contact h2{color:#fff;margin-bottom:17px}
.saff-rd .saff-rd-contact p:not(.saff-rd-eyebrow){color:#fff;font-size:1.04rem;max-width:540px;margin-bottom:24px}
.saff-rd .saff-rd-btn-light{background:#fff;color:var(--rd-red);border:1px solid #fff}
.saff-rd .saff-rd-btn-light:hover{color:var(--rd-burgundy);background:#fff}
.saff-rd .saff-rd-contact-photo{min-height:350px;overflow:hidden;background:#292a2e}
.saff-rd .saff-rd-contact-photo .saff-rd-photo{border-radius:0;object-position:center}
.saff-rd .saff-rd-contact-photo .saff-rd-image-prompt{color:#f4ebe6;background:#333d42;border-radius:0}
@media(max-width:1100px){.saff-rd .saff-rd-impact-grid{grid-template-columns:1fr;gap:35px}.saff-rd .saff-rd-impact-copy>p:last-child{max-width:850px}.saff-rd .saff-rd-about-grid{gap:45px}.saff-rd .saff-rd-stat-number{font-size:2.65rem}}
@media(max-width:800px){.saff-rd .saff-rd-shell{width:min(100% - 40px,680px)}.saff-rd .saff-rd-section{padding-block:68px}.saff-rd .saff-rd-hero{min-height:600px}.saff-rd .saff-rd-about-grid{grid-template-columns:1fr}.saff-rd .saff-rd-about-copy{order:0}.saff-rd .saff-rd-about-photo{order:1;min-height:330px}.saff-rd .saff-rd-about-photo .saff-rd-photo{height:330px}.saff-rd .saff-rd-help-grid{grid-template-columns:1fr;max-width:570px;margin-inline:auto}.saff-rd .saff-rd-help-card{min-height:0}.saff-rd .saff-rd-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saff-rd .saff-rd-contact{grid-template-columns:1fr}.saff-rd .saff-rd-contact-copy{justify-content:center}.saff-rd .saff-rd-contact-inner{padding:65px 35px}.saff-rd .saff-rd-contact-photo{min-height:290px}.saff-rd .saff-rd-contact-photo .saff-rd-photo{height:290px}}
@media(max-width:560px){.saff-rd .saff-rd-shell{width:calc(100% - 36px)}.saff-rd .saff-rd-section{padding-block:56px}.saff-rd .saff-rd-hero{min-height:620px}.saff-rd .saff-rd-hero-inner{padding-block:70px}.saff-rd .saff-rd-hero h1{font-size:clamp(2.45rem,10vw,3.4rem)}.saff-rd .saff-rd-hero-kicker{font-size:.67rem;letter-spacing:.12em}.saff-rd .saff-rd-hero-lead{font-size:1rem}.saff-rd .saff-rd-actions{flex-direction:column;align-items:center}.saff-rd .saff-rd-actions .saff-rd-btn{width:min(100%,320px)}.saff-rd h2{font-size:2.25rem}.saff-rd .saff-rd-about-copy,.saff-rd .saff-rd-impact-copy,.saff-rd .saff-rd-help,.saff-rd .saff-rd-events,.saff-rd .saff-rd-contact-copy{text-align:center}.saff-rd .saff-rd-body,.saff-rd .saff-rd-section-intro,.saff-rd .saff-rd-impact-copy>p:last-child{margin-inline:auto}.saff-rd .saff-rd-checks{grid-template-columns:1fr;justify-items:center}.saff-rd .saff-rd-impact-cards{grid-template-columns:1fr}.saff-rd .saff-rd-stat{max-width:440px;width:100%;margin-inline:auto}.saff-rd .saff-rd-events-top{flex-direction:column;align-items:center;gap:0}.saff-rd .saff-rd-events-top .saff-rd-section-intro{margin-bottom:18px}.saff-rd .saff-rd-text-link{margin-bottom:28px}.saff-rd .saff-rd-events-grid{grid-template-columns:1fr;max-width:390px;margin-inline:auto}.saff-rd .saff-rd-event-photo{height:210px}.saff-rd .saff-rd-contact-inner{padding:56px 24px}.saff-rd .saff-rd-contact-inner p{margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.saff-rd .saff-rd-btn,.saff-rd .saff-rd-event-img{transition:none}.saff-rd .saff-rd-btn:hover{transform:none}}
