/* ==========================================================================
   Houses for Healing – design system (ported from hfh-homepage-mockup-v2)
   Everything is scoped under .h4h so it never fights Avada's own styles.
   ========================================================================== */
:root{
  --blue:#5D89AC; --blue-dark:#3F6584; --blue-deepest:#2C4A63;
  --red:#E2231A; --red-dark:#B81810; --navy:#1E2A36;
  --cream:#F6F4EF; --gray-bg:#F2F4F6; --text:#2B2E33; --text-soft:#5A6069;
  --white:#fff; --radius:14px; --shadow:0 18px 40px rgba(30,42,54,.12);
  --h4h-top: var(--wp-admin--admin-bar--height, 0px);
}

/* ---------- Avada resets for H4H pages ---------- */
body.h4h-site{background:#fff;}
body.h4h-site #main{padding:0 !important; background:#fff;}
body.h4h-site #main > .fusion-row,
body.h4h-site #content{max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important; float:none !important;}
body.h4h-site .post-content > .fusion-fullwidth,
body.h4h-site .post-content .fusion-builder-row,
body.h4h-site .post-content .fusion-layout-column,
body.h4h-site .post-content .fusion-column-wrapper{padding:0 !important; margin:0 !important; max-width:none !important; width:100% !important; min-height:0 !important;}
body.h4h-site .post-content .fusion-fullwidth{border:0 !important;}
body.h4h-site .avada-page-titlebar-wrapper,
body.h4h-site .fusion-page-title-bar{display:none !important;}
body.h4h-site .fusion-tb-header, body.h4h-site .fusion-tb-footer{padding:0 !important;}
body.h4h-site .fusion-tb-header .fusion-fullwidth,
body.h4h-site .fusion-tb-footer .fusion-fullwidth{padding:0 !important; margin:0 !important; max-width:none !important;}
body.h4h-site .fusion-tb-header .fusion-builder-row,
body.h4h-site .fusion-tb-footer .fusion-builder-row,
body.h4h-site .fusion-tb-header .fusion-column-wrapper,
body.h4h-site .fusion-tb-footer .fusion-column-wrapper,
body.h4h-site .fusion-tb-header .fusion-layout-column,
body.h4h-site .fusion-tb-footer .fusion-layout-column{padding:0 !important; margin:0 !important; max-width:none !important; width:100% !important;}
body.h4h-site #wrapper, body.h4h-site #boxed-wrapper{overflow:visible;}
body.h4h-site .to-top-container{display:none;}
/* remove Avada clearfix line + empty header-layout strip that pushed the hero down (the white bar) */
body.h4h-site #main > .fusion-row::before, body.h4h-site #main > .fusion-row::after{content:none !important; display:none !important;}
body.h4h-site .fusion-tb-header{height:0 !important; min-height:0 !important; overflow:visible !important; border:0 !important;}
body.h4h-site #main{margin-top:0 !important;}

/* ---------- Base ---------- */
.h4h, .h4h *{box-sizing:border-box;}
.h4h{font-family:'Inter',sans-serif; color:var(--text); line-height:1.6; font-size:16px; -webkit-font-smoothing:antialiased;}
.h4h h1,.h4h h2,.h4h h3,.h4h h4,.h4h h5{font-family:'Poppins',sans-serif !important; font-weight:700; line-height:1.15; color:var(--navy); margin:0; padding:0; letter-spacing:normal; text-transform:none;}
.h4h p{margin:0 0 16px; font-family:'Inter',sans-serif;}
.h4h ul,.h4h ol{margin:0; padding:0;}
.h4h a{text-decoration:none; color:inherit; transition:color .2s, opacity .2s;}
.h4h img{max-width:100%; height:auto; display:block;}
.h4h .container::before, .h4h .container::after, .h4h .grid::before, .h4h .grid::after{content:none !important; display:none !important;}
.h4h .container{max-width:1200px; margin:0 auto; padding:0 28px; width:100%;}
.h4h .eyebrow{display:inline-block; font-family:'Poppins',sans-serif; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-dark); margin-bottom:14px;}
.h4h .eyebrow.on-dark{color:#BFD6E7;}
.h4h .section{padding:96px 0;}
.h4h .section.tight{padding:72px 0;}
.h4h .section-head{max-width:680px; margin:0 auto 56px; text-align:center;}
.h4h .section-head h2{font-size:clamp(28px,3.4vw,42px); margin-bottom:16px;}
.h4h .section-head p{color:var(--text-soft); font-size:18px;}
.h4h .btn{display:inline-flex; align-items:center; gap:8px; padding:15px 30px; border-radius:50px; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; line-height:1.2; cursor:pointer; border:2px solid transparent; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; text-decoration:none;}
.h4h .btn:hover{transform:translateY(-2px);}
.h4h .btn-red{background:var(--red); color:#fff !important; box-shadow:0 10px 24px rgba(226,35,26,.35);}
.h4h .btn-red:hover{background:var(--red-dark);}
.h4h .btn-outline{background:rgba(255,255,255,.08); color:#fff !important; border-color:rgba(255,255,255,.75); backdrop-filter:blur(4px);}
.h4h .btn-outline:hover{background:rgba(255,255,255,.18);}
.h4h .btn-blue{background:var(--blue); color:#fff !important;}
.h4h .btn-blue:hover{background:var(--blue-dark);}
.h4h .btn-ghost{background:transparent; color:var(--blue-dark) !important; border-color:var(--blue);}
.h4h .btn-ghost:hover{background:var(--blue); color:#fff !important;}
.h4h .btn-white{background:#fff; color:var(--red) !important; box-shadow:0 14px 30px rgba(0,0,0,.2); font-weight:700;}
.h4h .btn-row{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.h4h .center{text-align:center;}
.h4h .stories-cta{text-align:center; margin-top:48px;}

/* ---------- HEADER ---------- */
.h4h-header{position:fixed; top:var(--h4h-top); left:0; right:0; z-index:9990; transition:background .35s ease, box-shadow .35s ease;}
.h4h-header .nav-wrap{background:transparent; padding:22px 0; transition:background .35s ease, box-shadow .35s ease, padding .35s ease;}
.h4h-header .nav-wrap.solid{background:rgba(255,255,255,.97); box-shadow:0 4px 24px rgba(0,0,0,.08); padding:12px 0; backdrop-filter:blur(8px);}
.h4h-header nav.h4h-nav{display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:nowrap;}
.h4h-header .logo{display:flex; align-items:center; flex:none;}
.h4h-header .logo .logo-img{height:42px; width:auto; flex:none; transition:height .3s ease;}
.h4h-header .logo .logo-color{display:none;}
.h4h-header .nav-wrap.solid .logo .logo-img{height:36px;}
.h4h-header .nav-wrap.solid .logo .logo-white{display:none;}
.h4h-header .nav-wrap.solid .logo .logo-color{display:block;}
.h4h-header .nav-links{display:flex; align-items:center; gap:21px; list-style:none; flex-wrap:nowrap; margin:0; padding:0;}
.h4h-header .nav-links > li{position:relative; list-style:none;}
.h4h-header .nav-links > li > a{display:flex; align-items:center; gap:5px; padding:10px 0; font-family:'Poppins',sans-serif; font-weight:500; font-size:14.5px; color:#fff; opacity:.95; white-space:nowrap;}
.h4h-header .nav-links > li.menu-item-has-children > a::after{content:""; width:6px; height:6px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.7;}
.h4h-header .nav-wrap.solid .nav-links > li > a{color:var(--navy); opacity:1;}
.h4h-header .nav-links > li > a:hover, .h4h-header .nav-links > li.current-menu-item > a, .h4h-header .nav-links > li.current-menu-ancestor > a{opacity:.7;}
.h4h-header .nav-wrap.solid .nav-links > li.current-menu-item > a, .h4h-header .nav-wrap.solid .nav-links > li.current-menu-ancestor > a{color:var(--blue-dark); opacity:1;}
.h4h-header .sub-menu{position:absolute; top:100%; left:-8px; min-width:250px; background:#fff; border-radius:14px; box-shadow:0 22px 50px rgba(30,42,54,.18); padding:10px; list-style:none; margin:8px 0 0; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s; z-index:10;}
.h4h-header .sub-menu::before{content:""; position:absolute; top:-12px; left:0; right:0; height:12px;}
.h4h-header .nav-links > li:hover > .sub-menu, .h4h-header .nav-links > li:focus-within > .sub-menu{opacity:1; visibility:visible; transform:translateY(0);}
.h4h-header .sub-menu li{list-style:none;}
.h4h-header .sub-menu a{display:block; padding:10px 14px; border-radius:9px; font-family:'Poppins',sans-serif; font-size:14px; font-weight:500; color:var(--navy); white-space:nowrap;}
.h4h-header .sub-menu a:hover, .h4h-header .sub-menu .current-menu-item > a{background:var(--gray-bg); color:var(--blue-dark);}
.h4h-header .nav-cta{display:flex; align-items:center; gap:16px; flex:none;}
.h4h-header .nav-phone{font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; color:#fff; white-space:nowrap;}
.h4h-header .nav-wrap.solid .nav-phone{color:var(--navy);}
.h4h-header .nav-donate{background:var(--red); color:#fff !important; padding:11px 24px; border-radius:50px; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; white-space:nowrap; box-shadow:0 8px 20px rgba(226,35,26,.3);}
.h4h-header .nav-donate:hover{background:var(--red-dark);}
.h4h-header .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:0; padding:8px; margin:0;}
.h4h-header .burger span{width:26px; height:2.5px; background:#fff; display:block; border-radius:2px;}
.h4h-header .nav-wrap.solid .burger span{background:var(--navy);}
/* mobile drawer */
.h4h-drawer{position:fixed; inset:0; z-index:99999; background:var(--navy); color:#fff; transform:translateX(100%); transition:transform .35s ease; overflow-y:auto; padding:90px 28px 40px; visibility:hidden;}
.h4h-drawer.open{transform:none; visibility:visible;}
.h4h-drawer .close{position:absolute; top:22px; right:22px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:none; color:#fff; font-size:26px; line-height:1; cursor:pointer;}
.h4h-drawer ul{list-style:none; margin:0; padding:0;}
.h4h-drawer > ul > li{border-bottom:1px solid rgba(255,255,255,.1);}
.h4h-drawer li{list-style:none;}
.h4h-drawer a{display:block; padding:14px 0; font-family:'Poppins',sans-serif; font-size:19px; font-weight:600; color:#fff;}
.h4h-drawer .sub-menu{display:none; padding:0 0 12px 14px;}
.h4h-drawer li.open > .sub-menu{display:block;}
.h4h-drawer .sub-menu a{font-size:15.5px; font-weight:500; padding:9px 0; color:#C6D8E4;}
.h4h-drawer .menu-item-has-children{position:relative;}
.h4h-drawer .toggle{position:absolute; right:0; top:8px; width:40px; height:40px; background:none; border:0; color:#fff; font-size:22px; cursor:pointer;}
.h4h-drawer .drawer-cta{margin-top:30px; display:flex; flex-direction:column; gap:14px;}
.h4h-drawer .drawer-cta a{font-size:16px; padding:0;}
.h4h-drawer .drawer-cta .nav-donate{background:var(--red); text-align:center; padding:15px; border-radius:50px;}
body.h4h-lock{overflow:hidden;}

/* ---------- HERO (home) ---------- */
.h4h .hero{position:relative; height:100vh; min-height:620px; display:flex; align-items:flex-end; overflow:hidden; background:linear-gradient(150deg,#2C4A63 0%,#1E2A36 62%,#16212C 100%);}
.h4h .hero-video-wrap{position:absolute; inset:0; z-index:0; background:#0e1a24;}
.h4h .hero-video-wrap video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.h4h .hero-top-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:26px;}
.h4h .hero-sound-toggle{position:relative; display:inline-flex; align-items:center; gap:8px; padding:8px 16px 8px 12px; border-radius:50px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(6px); color:#fff; font-family:'Poppins',sans-serif; font-weight:500; font-size:13px; white-space:nowrap; cursor:pointer; transition:background .2s ease, border-color .2s ease; line-height:1.2;}
.h4h .hero-sound-toggle:hover{background:rgba(226,35,26,.85); border-color:rgba(226,35,26,.85);}
.h4h .hero-sound-toggle svg{width:16px; height:16px; flex:none;}
.h4h .hero-sound-toggle .icon-ring{position:absolute; inset:-6px; border-radius:50px; border:1.5px solid rgba(255,255,255,.5); animation:h4hSoundPulse 2.2s ease-out infinite; pointer-events:none;}
.h4h .hero-sound-toggle.is-unmuted .icon-ring{display:none;}
@keyframes h4hSoundPulse{0%{transform:scale(1); opacity:.65;} 70%{transform:scale(1.35); opacity:0;} 100%{opacity:0;}}
.h4h .hero-scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(15,26,36,.55) 0%, rgba(20,32,44,.35) 38%, rgba(14,22,30,.78) 100%);}
.h4h .hero-inner{position:relative; z-index:2; width:100%; padding-bottom:118px; padding-top:170px;}
.h4h .hero-badge{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); color:#fff; font-family:'Poppins',sans-serif; font-size:13px; font-weight:500; padding:8px 16px; border-radius:50px; backdrop-filter:blur(6px);}
.h4h .hero-badge .dot{width:7px; height:7px; border-radius:50%; background:#4CD97B; box-shadow:0 0 0 4px rgba(76,217,123,.25);}
.h4h .hero h1{color:#fff; font-size:clamp(38px,5.6vw,68px); max-width:820px; margin-bottom:22px; text-shadow:0 4px 24px rgba(0,0,0,.25);}
.h4h .hero h1 span{color:#8FC1E0;}
.h4h .hero p.lead{color:rgba(255,255,255,.92); font-size:clamp(16px,1.7vw,20px); max-width:600px; margin-bottom:36px; font-weight:400;}
.h4h .hero-ctas{display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-bottom:64px;}
.h4h .hero-play{display:inline-flex; align-items:center; gap:12px; color:#fff !important; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px;}
.h4h .hero-play .circle{width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.7); display:flex; align-items:center; justify-content:center; backdrop-filter:blur(6px); transition:.2s;}
.h4h .hero-play:hover .circle{background:var(--red); border-color:var(--red);}
.h4h .hero-stats{position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.18); background:rgba(10,18,26,.42); backdrop-filter:blur(10px);}
.h4h .hero-stats .container{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:26px 28px;}
.h4h .hstat{text-align:center; color:#fff;}
.h4h .hstat .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(22px,2.6vw,34px); color:#fff; line-height:1.2;}
.h4h .hstat .lbl{font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-top:4px;}
.h4h .hstat + .hstat{border-left:1px solid rgba(255,255,255,.16);}

/* ---------- PAGE HERO (inner pages) ---------- */
.h4h .page-hero{position:relative; min-height:460px; display:flex; align-items:flex-end; overflow:hidden; background:linear-gradient(150deg,#2C4A63 0%,#1E2A36 62%,#16212C 100%); color:#fff;}
.h4h .page-hero.short{min-height:360px;}
.h4h .page-hero .bg{position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; transform:scale(1.03);}
.h4h .page-hero .scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(15,26,36,.62) 0%, rgba(20,32,44,.42) 40%, rgba(14,22,30,.84) 100%);}
.h4h .page-hero .container{position:relative; z-index:2; padding-top:150px; padding-bottom:64px;}
.h4h .page-hero .crumbs{font-family:'Poppins',sans-serif; font-size:13px; color:rgba(255,255,255,.75); margin-bottom:14px;}
.h4h .page-hero .crumbs a{color:#BFD6E7;} .h4h .page-hero .crumbs a:hover{color:#fff;}
.h4h .page-hero h1{color:#fff; font-size:clamp(34px,4.6vw,56px); max-width:860px; margin-bottom:16px; text-shadow:0 4px 24px rgba(0,0,0,.25);}
.h4h .page-hero h1 span{color:#8FC1E0;}
.h4h .page-hero p.lead{color:rgba(255,255,255,.92); font-size:clamp(16px,1.6vw,19px); max-width:640px; margin:0;}
.h4h .page-hero .btn-row{margin-top:28px;}

/* ---------- MISSION STRIP / SPLIT ---------- */
.h4h .mission{background:var(--cream); padding:90px 0;}
.h4h .mission .grid, .h4h .split{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
.h4h .split.rev > :first-child{order:2;}
.h4h .split.wide-text{grid-template-columns:1fr 1.2fr;}
.h4h .mission-photo, .h4h .split-photo{position:relative;}
.h4h .mission-photo img, .h4h .split-photo img{border-radius:var(--radius); box-shadow:var(--shadow); width:100%; object-fit:cover;}
.h4h .mission-photo .tag, .h4h .split-photo .tag{position:absolute; bottom:-22px; left:-22px; background:#fff; border-radius:12px; box-shadow:var(--shadow); padding:16px 22px; display:flex; align-items:center; gap:12px;}
.h4h .tag .n{font-family:'Poppins',sans-serif; font-weight:800; font-size:24px; color:var(--red); line-height:1;}
.h4h .tag .t{font-size:12.5px; color:var(--text-soft); line-height:1.3;}
.h4h .mission-copy h2, .h4h .split-copy h2{font-size:clamp(26px,3vw,36px); margin-bottom:20px;}
.h4h .mission-copy p, .h4h .split-copy p{color:var(--text-soft); font-size:17px; margin-bottom:16px;}
.h4h .mission-copy p strong, .h4h .split-copy p strong{color:var(--navy);}
.h4h .mission-list{margin-top:26px; display:flex; flex-direction:column; gap:14px; list-style:none;}
.h4h .mission-list li{list-style:none; display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--text); margin:0;}
.h4h .mission-list .chk{flex:none; width:22px; height:22px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; margin-top:2px;}
.h4h .bg-cream{background:var(--cream);} .h4h .bg-gray{background:var(--gray-bg);} .h4h .bg-white{background:#fff;}
.h4h .bg-navy{background:var(--navy); color:#fff;} .h4h .bg-deep{background:var(--blue-deepest); color:#fff;}
.h4h .bg-navy h2, .h4h .bg-navy h3, .h4h .bg-deep h2, .h4h .bg-deep h3, .h4h .bg-navy h4, .h4h .bg-deep h4{color:#fff;}
.h4h .bg-navy .section-head p, .h4h .bg-deep .section-head p{color:#C6D8E4;}

/* ---------- PROSE ---------- */
.h4h .prose{max-width:780px; margin:0 auto;}
.h4h .prose h2{font-size:clamp(24px,2.6vw,32px); margin:44px 0 16px;}
.h4h .prose h2:first-child, .h4h .prose h3:first-child{margin-top:0;}
.h4h .prose h3{font-size:21px; margin:32px 0 12px;}
.h4h .prose p, .h4h .prose li{font-size:17.5px; color:#3c424a; line-height:1.75;}
.h4h .prose ul, .h4h .prose ol{padding-left:22px; margin:0 0 18px;}
.h4h .prose li{margin-bottom:8px;}
.h4h .prose blockquote, .h4h blockquote.scripture{margin:28px 0; padding:22px 28px; border-left:4px solid var(--blue); background:var(--gray-bg); border-radius:0 12px 12px 0; font-family:'Poppins',sans-serif; font-size:18px; font-weight:500; color:var(--navy); line-height:1.5;}
.h4h .prose blockquote cite, .h4h blockquote.scripture cite{display:block; margin-top:8px; font-family:'Inter',sans-serif; font-size:14px; font-style:normal; color:var(--text-soft); font-weight:500;}
.h4h .lead-p{font-size:20px !important; color:var(--navy) !important; font-family:'Poppins',sans-serif; font-weight:500; line-height:1.55 !important;}
.h4h .dropcap::first-letter{float:left; font-family:'Poppins',sans-serif; font-weight:800; font-size:64px; line-height:.9; color:var(--red); margin:6px 12px 0 0;}

/* ---------- STORIES ---------- */
.h4h .story-feature{display:grid; grid-template-columns:1.1fr 1fr; gap:0; border-radius:20px; overflow:hidden; box-shadow:var(--shadow); margin-bottom:56px;}
.h4h .story-feature .video-side{position:relative; min-height:420px; background:#0e1a24; cursor:pointer;}
.h4h .story-feature .video-side img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.82;}
.h4h .play-btn{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:78px; height:78px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(0,0,0,.35); cursor:pointer; transition:.2s; z-index:2;}
.h4h .play-btn:hover{transform:translate(-50%,-50%) scale(1.08);}
.h4h .play-btn svg{margin-left:4px;}
.h4h .story-feature .text-side{background:var(--navy); color:#fff; padding:52px 48px; display:flex; flex-direction:column; justify-content:center;}
.h4h .quote-mark{font-family:'Poppins',sans-serif; font-size:56px; color:var(--blue); line-height:1; margin-bottom:8px;}
.h4h .story-feature blockquote{font-family:'Poppins',sans-serif; font-size:22px; font-weight:500; line-height:1.5; margin:0 0 22px; padding:0; border:0; background:none; color:#fff;}
.h4h .story-feature .who{font-weight:600; font-size:15px; color:#fff;}
.h4h .story-feature .role{font-size:13.5px; color:#9FB4C4; margin-bottom:0;}
.h4h .placeholder-note{display:inline-block; font-size:11.5px; background:rgba(255,255,255,.1); border:1px dashed rgba(255,255,255,.4); color:#BFD6E7; padding:6px 12px; border-radius:8px; margin-top:20px; width:fit-content;}
.h4h .story-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.h4h .story-card{border-radius:16px; overflow:hidden; box-shadow:0 10px 26px rgba(30,42,54,.1); background:#fff; transition:transform .2s ease, box-shadow .2s ease; cursor:pointer; display:block;}
.h4h .story-card:hover{transform:translateY(-6px); box-shadow:0 18px 36px rgba(30,42,54,.16);}
.h4h .story-card .thumb{position:relative; height:180px; background:#12222f;}
.h4h .story-card .thumb img{width:100%; height:100%; object-fit:cover; opacity:.8;}
.h4h .story-card .thumb .play-btn{width:52px; height:52px;}
.h4h .story-card .thumb .play-btn svg{width:16px;}
.h4h .story-card .info{padding:16px 18px 20px;}
.h4h .story-card .info .name{font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; color:var(--navy);}
.h4h .story-card .info .tag2{font-size:12.5px; color:var(--text-soft); margin-top:2px;}

/* ---------- HOMES GALLERY ---------- */
.h4h .homes{background:var(--gray-bg);}
.h4h .homes-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:160px; gap:16px;}
.h4h .homes-grid a{border-radius:14px; overflow:hidden; position:relative; box-shadow:0 8px 20px rgba(30,42,54,.08); display:block;}
.h4h .homes-grid a img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.h4h .homes-grid a:hover img{transform:scale(1.08);}
.h4h .homes-grid a.big{grid-column:span 2; grid-row:span 2;}
.h4h .cap{position:absolute; left:0; right:0; bottom:0; padding:14px 16px; background:linear-gradient(0deg, rgba(0,0,0,.6), transparent); color:#fff; font-size:13px; font-family:'Poppins',sans-serif; font-weight:500;}

/* ---------- HOW IT WORKS ---------- */
.h4h .how-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
.h4h .how-grid.three{grid-template-columns:repeat(3,1fr);}
.h4h .how-card{position:relative; padding:36px 26px 30px; border:1px solid #E8ECEF; border-radius:16px; background:#fff;}
.h4h .how-card .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:44px; color:#E4EBF0; margin-bottom:6px; line-height:1.1;}
.h4h .how-card h4{font-size:18px; margin-bottom:10px;}
.h4h .how-card p{color:var(--text-soft); font-size:14.5px; margin:0;}
.h4h .how-card p a{color:var(--blue-dark); font-weight:600;}
.h4h .how-grid:not(.three) .how-card:not(:last-child)::after{content:"›"; position:absolute; right:-24px; top:50%; transform:translateY(-50%); color:#C7D2D9; font-size:26px; font-weight:700;}

/* ---------- WHERE WE SERVE ---------- */
.h4h .serve{background:var(--blue-deepest); color:#fff; position:relative; overflow:hidden;}
.h4h .serve::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.06), transparent 40%); pointer-events:none;}
.h4h .serve .section-head h2{color:#fff;} .h4h .serve .section-head p{color:#C6D8E4;}
.h4h .serve-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative;}
.h4h .serve-card{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:28px 24px; transition:.2s; display:block; color:#fff;}
.h4h .serve-card:hover{background:rgba(255,255,255,.12); transform:translateY(-4px);}
.h4h .serve-card .ic{width:46px; height:46px; border-radius:12px; background:var(--red); display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:20px;}
.h4h .serve-card h4{color:#fff; font-size:16.5px; margin-bottom:8px;}
.h4h .serve-card p{color:#B9CEDC; font-size:13.5px; margin-bottom:16px;}
.h4h .serve-card .more{font-size:12.5px; font-weight:600; font-family:'Poppins',sans-serif; color:#8FC1E0;}

/* ---------- SPONSOR / CTA BAND ---------- */
.h4h .sponsor{background:linear-gradient(120deg, var(--red) 0%, #c81810 100%); color:#fff; padding:80px 0;}
.h4h .sponsor .grid{display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center;}
.h4h .sponsor h2{color:#fff; font-size:clamp(26px,3.2vw,38px); margin-bottom:16px;}
.h4h .sponsor p{color:rgba(255,255,255,.92); font-size:16.5px; max-width:540px;}
.h4h .sponsor .btn-white{padding:16px 32px;}
.h4h .sponsor-right{display:flex; justify-content:flex-end; gap:14px; flex-wrap:wrap;}
.h4h .sponsor-stat{background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); border-radius:14px; padding:20px 22px; text-align:center; min-width:120px;}
.h4h .sponsor-stat .n{font-family:'Poppins',sans-serif; font-weight:800; font-size:26px; line-height:1.2;}
.h4h .sponsor-stat .l{font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; margin-top:4px; color:rgba(255,255,255,.85);}
.h4h .sponsor.blue{background:linear-gradient(120deg, var(--blue-dark) 0%, var(--blue-deepest) 100%);}

/* ---------- PARTNERS ---------- */
.h4h .partners-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:20px;}
.h4h .partner-tile{aspect-ratio:3/2; border:1.5px dashed #D7DEE3; border-radius:12px; background:var(--gray-bg); color:var(--text-soft); font-size:12.5px; font-family:'Poppins',sans-serif; font-weight:600; display:flex; align-items:center; justify-content:center; text-align:center; padding:12px; line-height:1.3;}
.h4h .partner-tile.real{border-style:solid; border-color:#E4E9ED; background:#fff; color:var(--navy);}
.h4h .partner-tile img{max-height:70%; width:auto; object-fit:contain;}

/* ---------- NEWSLETTER ---------- */
.h4h .newsletter{background:var(--cream); padding:64px 0;}
.h4h .newsletter .box{max-width:640px; margin:0 auto; text-align:center;}
.h4h .newsletter h3{font-size:24px; margin-bottom:10px;}
.h4h .newsletter p{color:var(--text-soft); margin-bottom:22px;}
.h4h .ctct-wrap{max-width:520px; margin:0 auto; text-align:left;}
.h4h .ctct-inline-form .ctct-form-embed.form_0 .ctct-form-defaults{background:transparent !important; padding:0 !important;}
.h4h .ctct-form-embed .ctct-form-header, .h4h .ctct-form-embed .ctct-form-text{display:none !important;}
.h4h .ctct-form-embed .ctct-form-custom .ctct-form-input{border-radius:50px !important; border:1.5px solid #DDE3E7 !important; padding:12px 18px !important; height:auto !important; font-family:'Inter',sans-serif !important;}
.h4h .ctct-form-embed .ctct-form-custom .ctct-form-button{background:var(--red) !important; border:0 !important; border-radius:50px !important; font-family:'Poppins',sans-serif !important; font-weight:600 !important; padding:14px 28px !important;}
.h4h .ctct-form-embed .ctct-form-custom .ctct-form-label{font-family:'Poppins',sans-serif !important; color:var(--navy) !important;}

/* ---------- CARDS / TILES ---------- */
.h4h .card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.h4h .card-grid.two{grid-template-columns:repeat(2,1fr);}
.h4h .card-grid.four{grid-template-columns:repeat(4,1fr);}
.h4h .tile{display:flex; flex-direction:column; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 10px 30px rgba(30,42,54,.09); transition:transform .22s ease, box-shadow .22s ease; color:var(--text);}
.h4h a.tile:hover{transform:translateY(-6px); box-shadow:0 22px 44px rgba(30,42,54,.16);}
.h4h .tile .ph{position:relative; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,#5D89AC,#2C4A63);}
.h4h .tile .ph img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.h4h a.tile:hover .ph img{transform:scale(1.06);}
.h4h .tile .ph .badge{position:absolute; top:14px; left:14px; background:rgba(255,255,255,.95); color:var(--navy); font-family:'Poppins',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:6px 11px; border-radius:50px;}
.h4h .tile .bd{padding:24px 24px 26px; display:flex; flex-direction:column; flex:1;}
.h4h .tile h3{font-size:19px; margin-bottom:8px;}
.h4h .tile p{color:var(--text-soft); font-size:15px; margin-bottom:16px;}
.h4h .tile .more{margin-top:auto; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; color:var(--blue-dark);}
.h4h .info-card{background:#fff; border:1px solid #E8ECEF; border-radius:16px; padding:30px 28px;}
.h4h .info-card .ic{width:50px; height:50px; border-radius:14px; background:var(--gray-bg); color:var(--blue-dark); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:18px;}
.h4h .info-card h3, .h4h .info-card h4{font-size:18px; margin-bottom:10px;}
.h4h .info-card p, .h4h .info-card li{color:var(--text-soft); font-size:15px;}
.h4h .info-card ul{padding-left:18px;} .h4h .info-card li{margin-bottom:6px;}
.h4h .bg-navy .info-card, .h4h .bg-deep .info-card{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14);}
.h4h .bg-navy .info-card p, .h4h .bg-deep .info-card p, .h4h .bg-navy .info-card li, .h4h .bg-deep .info-card li{color:#B9CEDC;}
.h4h .bg-navy .info-card .ic, .h4h .bg-deep .info-card .ic{background:var(--red); color:#fff;}
.h4h .checklist{list-style:none; display:grid; gap:12px; padding:0;}
.h4h .checklist li{list-style:none; display:flex; gap:12px; align-items:flex-start; font-size:16px; color:var(--text); margin:0;}
.h4h .checklist li::before{content:"✓"; flex:none; width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; margin-top:1px;}
.h4h .checklist.two-col{grid-template-columns:1fr 1fr; column-gap:30px;}

/* ---------- PHOTO PLACEHOLDER ---------- */
.h4h .ph-placeholder{position:relative; width:100%; aspect-ratio:4/3; border-radius:var(--radius); background:linear-gradient(135deg,#5D89AC,#2C4A63); display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; padding:24px; overflow:hidden;}
.h4h .ph-placeholder::before{content:""; position:absolute; inset:14px; border:1.5px dashed rgba(255,255,255,.45); border-radius:10px;}
.h4h .ph-placeholder span{position:relative; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; max-width:260px; line-height:1.4;}
.h4h .ph-placeholder span small{display:block; font-family:'Inter',sans-serif; font-weight:400; font-size:12px; opacity:.85; margin-top:6px;}

/* ---------- GALLERY + LIGHTBOX ---------- */
.h4h .gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.h4h .gallery.three{grid-template-columns:repeat(3,1fr);}
.h4h .gallery a{position:relative; display:block; aspect-ratio:4/3; border-radius:12px; overflow:hidden; background:#dfe6eb; box-shadow:0 6px 16px rgba(30,42,54,.08);}
.h4h .gallery a img{width:100%; height:100%; object-fit:cover; transition:transform .45s ease;}
.h4h .gallery a:hover img{transform:scale(1.07);}
.h4h .gallery a::after{content:"⤢"; position:absolute; right:10px; bottom:10px; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.9); color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:14px; opacity:0; transition:opacity .2s;}
.h4h .gallery a:hover::after{opacity:1;}
.h4h .house-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.h4h .house-card{position:relative; display:block; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 10px 26px rgba(30,42,54,.1); transition:transform .2s, box-shadow .2s; cursor:pointer;}
.h4h .house-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(30,42,54,.16);}
.h4h .house-card .ph{position:relative; aspect-ratio:1/1; overflow:hidden;}
.h4h .house-card .ph img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.h4h .house-card:hover .ph img{transform:scale(1.07);}
.h4h .house-card .ph .view{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(30,42,54,.45); color:#fff; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; opacity:0; transition:opacity .25s;}
.h4h .house-card:hover .ph .view{opacity:1;}
.h4h .house-card .ph .view span{border:1.5px solid #fff; border-radius:50px; padding:9px 20px;}
.h4h .house-card .bd{padding:16px 18px 18px; background:var(--blue-dark); color:#fff;}
.h4h .house-card .bd h3{color:#fff; font-size:18px; margin:0;}
.h4h .house-card .bd p{color:#D3E2EC; font-size:13px; margin:2px 0 0;}
.h4h .block-label{display:flex; align-items:center; gap:14px; margin:48px 0 20px;}
.h4h .block-label:first-child{margin-top:0;}
.h4h .block-label h3{font-size:20px;}
.h4h .block-label::after{content:""; flex:1; height:1px; background:#E1E7EB;}
.h4h-lightbox{position:fixed; inset:0; z-index:100000; background:rgba(10,16,22,.94); display:none; align-items:center; justify-content:center; padding:60px 70px;}
.h4h-lightbox.open{display:flex;}
.h4h-lightbox img{max-width:100%; max-height:100%; object-fit:contain; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.5);}
.h4h-lightbox .lb-video{width:min(1100px,100%); aspect-ratio:16/9; background:#000; border-radius:10px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.5);}
.h4h-lightbox .lb-video iframe, .h4h-lightbox .lb-video video{width:100%; height:100%; border:0; display:block;}
.h4h-lightbox button{position:absolute; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; width:50px; height:50px; border-radius:50%; font-size:24px; cursor:pointer; display:flex; align-items:center; justify-content:center; line-height:1; padding:0;}
.h4h-lightbox button:hover{background:var(--red); border-color:var(--red);}
.h4h-lightbox .lb-close{top:18px; right:18px;}
.h4h-lightbox .lb-prev{left:14px; top:50%; transform:translateY(-50%);}
.h4h-lightbox .lb-next{right:14px; top:50%; transform:translateY(-50%);}
.h4h-lightbox .lb-cap{position:absolute; bottom:16px; left:0; right:0; text-align:center; color:#C6D8E4; font-family:'Poppins',sans-serif; font-size:14px;}

/* ---------- TESTIMONIALS ---------- */
.h4h .quote-card{background:#fff; border-radius:18px; padding:34px 32px; box-shadow:0 10px 30px rgba(30,42,54,.08); position:relative; display:flex; flex-direction:column;}
.h4h .quote-card .quote-mark{font-size:46px; margin-bottom:4px;}
.h4h .quote-card p{font-size:16px; color:#3c424a; line-height:1.7;}
.h4h .quote-card .who{margin-top:auto; padding-top:14px; border-top:1px solid #EDF1F4; font-family:'Poppins',sans-serif; font-weight:600; color:var(--navy); font-size:15px;}
.h4h .quote-card .who small{display:block; font-family:'Inter',sans-serif; font-weight:400; color:var(--text-soft); font-size:13px;}
.h4h .quote-cols{columns:2; column-gap:26px;}
.h4h .quote-cols .quote-card{break-inside:avoid; margin-bottom:26px;}
.h4h .video-row{display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; padding:46px 0; border-bottom:1px solid #E8ECEF;}
.h4h .video-row:last-child{border-bottom:0;}
.h4h .video-row.rev > :first-child{order:2;}
.h4h .video-row .vthumb{position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#0e1a24; cursor:pointer; box-shadow:var(--shadow);}
.h4h .video-row .vthumb img{width:100%; height:100%; object-fit:cover; opacity:.85; transition:transform .5s;}
.h4h .video-row .vthumb:hover img{transform:scale(1.04);}
.h4h .video-row h3{font-size:26px; margin-bottom:6px;}
.h4h .video-row .sub{font-family:'Poppins',sans-serif; color:var(--blue-dark); font-weight:600; font-size:14px; margin-bottom:14px;}
.h4h .video-row p{color:var(--text-soft); font-size:16.5px;}

/* ---------- FAQ ---------- */
.h4h .faq{max-width:860px; margin:0 auto;}
.h4h .faq details{background:#fff; border:1px solid #E5EAEE; border-radius:14px; margin-bottom:14px; transition:box-shadow .2s;}
.h4h .faq details[open]{box-shadow:0 12px 30px rgba(30,42,54,.08); border-color:#d6dee4;}
.h4h .faq summary{list-style:none; cursor:pointer; padding:22px 60px 22px 26px; font-family:'Poppins',sans-serif; font-weight:600; font-size:17px; color:var(--navy); position:relative;}
.h4h .faq summary::-webkit-details-marker{display:none;}
.h4h .faq summary::after{content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); width:30px; height:30px; border-radius:50%; background:var(--gray-bg); color:var(--blue-dark); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:500; transition:.2s;}
.h4h .faq details[open] summary::after{content:"–"; background:var(--blue); color:#fff;}
.h4h .faq .ans{padding:0 26px 22px; color:var(--text-soft); font-size:16px; line-height:1.7;}
.h4h .faq .ans p:last-child{margin-bottom:0;}
.h4h .faq .ans a{color:var(--blue-dark); font-weight:600;}

/* ---------- DONATE ---------- */
.h4h .give-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.h4h .give-card{display:flex; flex-direction:column; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(30,42,54,.09); border:1px solid #EBEFF2; transition:transform .2s, box-shadow .2s;}
.h4h .give-card:hover{transform:translateY(-5px); box-shadow:0 20px 40px rgba(30,42,54,.14);}
.h4h .give-card .ph{aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,#5D89AC,#2C4A63);}
.h4h .give-card .ph img{width:100%; height:100%; object-fit:cover;}
.h4h .give-card .bd{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1;}
.h4h .give-card .kicker{font-family:'Poppins',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-bottom:6px;}
.h4h .give-card h3{font-size:19px; margin-bottom:8px;}
.h4h .give-card p{font-size:14.5px; color:var(--text-soft); margin-bottom:18px;}
.h4h .give-card .btn{margin-top:auto; justify-content:center; padding:13px 20px; font-size:14.5px;}
.h4h .give-card.featured{border:2px solid var(--red);}
.h4h .ways{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.h4h .impact-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--navy); border-radius:18px; overflow:hidden;}
.h4h .impact-strip .it{padding:30px 22px; text-align:center; color:#fff;}
.h4h .impact-strip .it + .it{border-left:1px solid rgba(255,255,255,.1);}
.h4h .impact-strip .n{font-family:'Poppins',sans-serif; font-weight:800; font-size:30px; color:#fff; line-height:1.15;}
.h4h .impact-strip .l{font-size:13px; color:#B9CEDC; margin-top:6px;}
.h4h .donorbox-wrap{background:#fff; border-radius:18px; box-shadow:var(--shadow); padding:18px; max-width:560px; margin:0 auto;}

/* ---------- FORMS ---------- */
.h4h .form-card{background:#fff; border-radius:20px; box-shadow:var(--shadow); padding:44px 44px 36px; border:1px solid #EBEFF2;}
.h4h .notice{background:#FFF7E6; border:1px solid #F4D79B; color:#6B4E12; border-radius:12px; padding:16px 20px; font-size:14.5px; margin-bottom:24px;}
.h4h .notice.blue{background:#EEF5FA; border-color:#C9DDEC; color:#2C4A63;}
.h4h .hipaa{background:var(--gray-bg); border-radius:14px; padding:24px 26px; font-size:14.5px; color:#3c424a; margin-bottom:26px; max-height:260px; overflow:auto;}
.h4h .hipaa h4{font-size:16px; margin-bottom:10px;}

/* ---------- EVENTS / NEWS ---------- */
.h4h .event-card{display:grid; grid-template-columns:300px 1fr; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(30,42,54,.09); margin-bottom:26px;}
.h4h .event-card .ph{position:relative; min-height:240px; background:linear-gradient(135deg,#5D89AC,#2C4A63);}
.h4h .event-card .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.h4h .event-card .date{position:absolute; top:16px; left:16px; background:#fff; border-radius:12px; padding:8px 14px; text-align:center; box-shadow:0 6px 16px rgba(0,0,0,.15);}
.h4h .event-card .date .m{font-family:'Poppins',sans-serif; font-size:12px; font-weight:700; color:var(--red); text-transform:uppercase; letter-spacing:.08em;}
.h4h .event-card .date .d{font-family:'Poppins',sans-serif; font-size:26px; font-weight:800; color:var(--navy); line-height:1;}
.h4h .event-card .bd{padding:30px 32px;}
.h4h .event-card h3{font-size:22px; margin-bottom:8px;}
.h4h .event-card .meta{display:flex; gap:18px; flex-wrap:wrap; font-size:14px; color:var(--blue-dark); font-weight:600; font-family:'Poppins',sans-serif; margin-bottom:12px;}
.h4h .event-card p{color:var(--text-soft); font-size:15.5px;}
.h4h .news-card .ph{aspect-ratio:16/9;}
.h4h .news-card .src{font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--red); margin-bottom:8px;}
.h4h .video-embed{position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden; box-shadow:var(--shadow); background:#000;}
.h4h .video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

/* ---------- CONTACT ---------- */
.h4h .contact-grid{display:grid; grid-template-columns:1fr 1.25fr; gap:50px; align-items:start;}
.h4h .contact-list{display:grid; gap:18px;}
.h4h .contact-item{display:flex; gap:16px; align-items:flex-start;}
.h4h .contact-item .ic{flex:none; width:48px; height:48px; border-radius:14px; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px;}
.h4h .contact-item h4{font-size:15px; margin-bottom:2px;}
.h4h .contact-item p, .h4h .contact-item a{margin:0; color:var(--text-soft); font-size:15.5px;}
.h4h .contact-item a:hover{color:var(--red);}
.h4h .map-embed{border-radius:18px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/9;}
.h4h .map-embed iframe{width:100%; height:100%; border:0; display:block;}
.h4h .social-row{display:flex; gap:12px; margin-top:8px;}
.h4h .social-row a{width:44px; height:44px; border-radius:50%; background:var(--gray-bg); display:flex; align-items:center; justify-content:center; color:var(--navy); font-weight:700; font-family:'Poppins',sans-serif; font-size:14px;}
.h4h .social-row a:hover{background:var(--red); color:#fff;}

/* ---------- FOOTER ---------- */
.h4h-footer{background:var(--navy); color:#B7C2CB; padding:70px 0 30px;}
.h4h-footer .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.08);}
.h4h-footer .foot-logo img{height:52px; width:auto; margin-bottom:18px;}
.h4h-footer p.tag{font-size:14px; max-width:290px; color:#8FA0AC; margin:0 0 16px;}
.h4h-footer h5{color:#fff; font-family:'Poppins',sans-serif !important; font-size:14.5px; margin:0 0 18px; letter-spacing:.03em; font-weight:700;}
.h4h-footer ul{list-style:none; margin:0; padding:0;}
.h4h-footer ul li{margin-bottom:11px; font-size:14px; list-style:none;}
.h4h-footer ul li a{color:#B7C2CB;} .h4h-footer ul li a:hover{color:#fff;}
.h4h-footer .contact-line{display:flex; gap:10px; margin-bottom:12px; font-size:14px;}
.h4h-footer .contact-line a{color:#B7C2CB;} .h4h-footer .contact-line a:hover{color:#fff;}
.h4h-footer .social{display:flex; gap:10px;}
.h4h-footer .social a{width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:13px;}
.h4h-footer .social a:hover{background:var(--red); border-color:var(--red);}
.h4h-footer .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:12.5px; color:#7C8B96; flex-wrap:wrap; gap:10px;}
.h4h-footer .foot-bottom a{color:#7C8B96;} .h4h-footer .foot-bottom a:hover{color:#fff;}

/* ---------- Reveal on scroll ---------- */
.h4h .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.h4h .reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .h4h .reveal{opacity:1; transform:none; transition:none;} .h4h .hero-sound-toggle .icon-ring{animation:none;} }

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .h4h .hero{flex-direction:column; align-items:stretch; justify-content:flex-end;}
  .h4h .hero-inner{padding-bottom:40px;}
  .h4h .hero-ctas{margin-bottom:0;}
}
@media (max-width:1180px){
  .h4h-header .nav-phone{display:none;}
  .h4h-header .nav-links{gap:14px;}
  .h4h-header .nav-links > li > a{font-size:14px;}
}
@media (max-width:1024px){
  .h4h-header .nav-links{display:none;}
  .h4h-header .burger{display:flex;}
  .h4h-header .nav-phone{display:none;}
  .h4h .mission .grid, .h4h .split, .h4h .split.wide-text, .h4h .story-feature, .h4h .sponsor .grid, .h4h .contact-grid, .h4h .video-row{grid-template-columns:1fr; gap:36px;}
  .h4h .split.rev > :first-child, .h4h .video-row.rev > :first-child{order:0;}
  .h4h .story-grid, .h4h .card-grid.four, .h4h .house-grid, .h4h .give-grid{grid-template-columns:repeat(2,1fr);}
  .h4h .card-grid{grid-template-columns:repeat(2,1fr);}
  .h4h .homes-grid, .h4h .gallery{grid-template-columns:repeat(3,1fr);}
  .h4h .homes-grid{grid-template-columns:repeat(2,1fr);}
  .h4h .homes-grid a.big{grid-column:span 2; grid-row:span 1;}
  .h4h .how-grid, .h4h .serve-grid, .h4h .ways{grid-template-columns:repeat(2,1fr);}
  .h4h .how-grid.three{grid-template-columns:1fr 1fr;}
  .h4h .how-card::after{display:none !important;}
  .h4h .hero-stats .container, .h4h .impact-strip{grid-template-columns:repeat(2,1fr); row-gap:18px;}
  .h4h .impact-strip .it:nth-child(3){border-left:0;}
  .h4h-footer .foot-grid{grid-template-columns:1fr 1fr;}
  .h4h .sponsor-right{justify-content:flex-start;}
  .h4h .partners-grid{grid-template-columns:repeat(3,1fr);}
  .h4h .event-card{grid-template-columns:1fr;}
  .h4h .quote-cols{columns:1;}
  .h4h .mission-photo .tag, .h4h .split-photo .tag{left:16px; bottom:-18px;}
}
@media (max-width:640px){
  .h4h .container{padding:0 20px;}
  .h4h .story-grid, .h4h .homes-grid, .h4h .how-grid, .h4h .how-grid.three, .h4h .serve-grid, .h4h .card-grid, .h4h .card-grid.two, .h4h .card-grid.four, .h4h .ways, .h4h .give-grid{grid-template-columns:1fr;}
  .h4h .house-grid, .h4h .gallery, .h4h .gallery.three{grid-template-columns:repeat(2,1fr); gap:10px;}
  .h4h .homes-grid a.big{grid-row:span 1;}
  .h4h .section{padding:64px 0;}
  .h4h .hero-inner{padding-top:130px; padding-bottom:40px;}
  .h4h .hero-sound-toggle{font-size:12px; padding:7px 13px 7px 10px;}
  .h4h .hstat .lbl{font-size:11px;}
  .h4h .hstat:nth-child(3){border-left:0;}
  .h4h .story-feature .text-side{padding:36px 28px;}
  .h4h .story-feature .video-side{min-height:260px;}
  .h4h .form-card{padding:28px 22px;}
  .h4h .checklist.two-col{grid-template-columns:1fr;}
  .h4h .partners-grid{grid-template-columns:repeat(2,1fr);}
  .h4h-footer .foot-grid{grid-template-columns:1fr;}
  .h4h-header .logo .logo-img{height:38px;}
  .h4h-header .nav-donate{padding:9px 18px; font-size:13px;}
  .h4h-header .nav-cta{gap:8px;}
  .h4h .page-hero{min-height:380px;}
  .h4h .page-hero .container{padding-top:120px; padding-bottom:44px;}
  .h4h-lightbox{padding:60px 12px;}
  .h4h-lightbox .lb-prev, .h4h-lightbox .lb-next{top:auto; bottom:14px; transform:none;}
}

/* ---------- H4H FORMS ---------- */
.h4h .h4h-form fieldset{border:0; padding:0; margin:0 0 30px;}
.h4h .h4h-form legend{font-family:'Poppins',sans-serif; font-weight:700; font-size:18px; color:var(--navy); margin-bottom:16px; padding:0 0 10px; border-bottom:2px solid var(--gray-bg); width:100%;}
.h4h .h4h-form .fgrid{display:grid; grid-template-columns:1fr 1fr; gap:16px 20px;}
.h4h .h4h-form .field.full, .h4h .h4h-form .fnote.full{grid-column:1/-1;}
.h4h .h4h-form .flabel{display:block; font-family:'Poppins',sans-serif; font-weight:600; font-size:13.5px; color:var(--navy); margin-bottom:6px;}
.h4h .h4h-form input[type=text], .h4h .h4h-form input[type=email], .h4h .h4h-form input[type=tel], .h4h .h4h-form input[type=date], .h4h .h4h-form input[type=number], .h4h .h4h-form select, .h4h .h4h-form textarea{width:100%; padding:13px 15px; border:1.5px solid #DDE3E7; border-radius:12px; font-family:'Inter',sans-serif; font-size:15px; color:var(--text); background:#fff; height:auto; transition:border-color .2s, box-shadow .2s;}
.h4h .h4h-form input:focus, .h4h .h4h-form select:focus, .h4h .h4h-form textarea:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 4px rgba(93,137,172,.15);}
.h4h .h4h-form .req{color:var(--red);}
.h4h .h4h-form .fnote{font-size:14px; color:var(--text-soft); background:var(--gray-bg); border-radius:12px; padding:14px 16px; margin:0;}
.h4h .h4h-form .opts{display:flex; flex-wrap:wrap; gap:8px;}
.h4h .h4h-form .pill{position:relative; cursor:pointer; margin:0;}
.h4h .h4h-form .pill input{position:absolute; opacity:0; pointer-events:none;}
.h4h .h4h-form .pill span{display:inline-block; padding:9px 16px; border:1.5px solid #DDE3E7; border-radius:50px; font-size:14px; font-family:'Poppins',sans-serif; font-weight:500; color:var(--navy); transition:.15s;}
.h4h .h4h-form .pill input:checked + span{background:var(--blue); border-color:var(--blue); color:#fff;}
.h4h .h4h-form .pill input:focus-visible + span{box-shadow:0 0 0 4px rgba(93,137,172,.25);}
.h4h .h4h-form .check{display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:var(--text); cursor:pointer;}
.h4h .h4h-form .check input{margin-top:4px; width:18px; height:18px; accent-color:var(--blue); flex:none;}
.h4h .h4h-form .fsubmit{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.h4h .h4h-form .fsmall{font-size:13px; color:var(--text-soft);}
.h4h .h4h-form .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.h4h .h4h-form-done{text-align:center; padding:40px 20px;}
.h4h .h4h-form-done .ic{width:70px; height:70px; border-radius:50%; background:#E7F6EC; color:#1E8E4E; font-size:32px; display:flex; align-items:center; justify-content:center; margin:0 auto 16px;}
.h4h .h4h-form-done h3{font-size:24px; margin-bottom:8px;}
.h4h .h4h-form-done p{color:var(--text-soft); max-width:520px; margin:0 auto;}
@media (max-width:640px){ .h4h .h4h-form .fgrid{grid-template-columns:1fr;} }
.h4h blockquote{font-style:normal;}

/* v1.3.3 – keep the fixed header above the hero (Avada row z-index:10 was trapping it under page content) */
body.h4h-site .fusion-tb-header{position:relative !important; z-index:9990 !important;}
body.h4h-site .fusion-tb-header .fusion-builder-row,
body.h4h-site .fusion-tb-header .fusion-fullwidth,
body.h4h-site .fusion-tb-header .fusion-layout-column{z-index:auto !important;}

/* ===== v1.3.4 fixes (2026-10-28) ===== */
/* No white gap above the hero: WordPress adds an empty <p> before the first section */
body.h4h-site .post-content > p:empty, body.h4h-site #content .post-content > p:first-child:empty{display:none !important; margin:0 !important;}
/* Dropdown menus: Avada's .container clips overflow, which hid the sub-menus */
.h4h-header .container, .h4h-header .nav-wrap{overflow:visible !important;}
/* reCAPTCHA badge (from the Constant Contact signup) hidden; the required notice is shown under the signup form instead */
.grecaptcha-badge{visibility:hidden !important;}
.h4h .recaptcha-note{font-size:12px; color:#7C8B96; text-align:center; margin:14px auto 0; max-width:520px;}
.h4h .recaptcha-note a{color:#5A6069; text-decoration:underline;}
/* Footer column headings readable on navy */
.h4h-footer h5, body .h4h-footer h5{color:#fff !important;}
/* Social icons: solid, visible circles */
.h4h .social-row a{background:var(--navy); color:#fff;}
.h4h .social-row a svg, .h4h-footer .social a svg{width:18px; height:18px; fill:currentColor;}
.h4h .social-row a:hover{background:var(--red); color:#fff;}
/* Hero video always fills, centered */
.h4h .hero-video-wrap video{object-fit:cover; object-position:center center;}
/* Three stat boxes in the sponsor band */
.h4h .sponsor-right.three{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;}
.h4h .sponsor-right.three .sponsor-stat{min-width:0;}
.h4h .sponsor .btn-row{display:flex; flex-wrap:wrap; gap:12px;}
.h4h .sponsor .btn-outline-white{display:inline-flex; align-items:center; border:1.5px solid rgba(255,255,255,.75); color:#fff; border-radius:50px; padding:14px 26px; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px;}
.h4h .sponsor .btn-outline-white:hover{background:#fff; color:var(--red);}
.h4h .sponsor-note{font-size:13.5px; color:rgba(255,255,255,.82); margin-top:14px;}
@media (max-width: 760px){ .h4h .sponsor-right.three{grid-template-columns:1fr 1fr;} }
/* Card photos: always centered on the subject */
.h4h .house-card .ph img, .h4h .tile .ph img, .h4h .give-card .ph img, .h4h .story-card .thumb img{object-position:center center;}
/* Photo credit line under hero (for licensed photos) */
.h4h .photo-credit{position:absolute; right:14px; bottom:10px; z-index:3; font-size:11px; color:rgba(255,255,255,.7);}
.h4h .photo-credit a{color:rgba(255,255,255,.8);}

/* ==========================================================================
   v1.4.0 — Brand theme matched to Karen's print pieces (Oct 2026)
   Navy + sky blue (no red), script accent words, soft wave dividers, hearts.
   ========================================================================== */
:root{
  --navy:#17335A;            /* deep brochure navy */
  --blue-deepest:#1B3D66;
  --blue-dark:#2B67AE;       /* brand blue: eyebrows, links */
  --blue:#5B9BD5;
  --sky:#8ECFEA;             /* logo-heart sky blue */
  --sky-pale:#EAF5FB;
  --red:#2B67AE;             /* former red accents now brand blue */
  --red-dark:#1F4F8A;
  --cream:#EEF6FB;           /* pale sky instead of beige */
  --gray-bg:#F3F8FB;
  --script:'Allura', 'Great Vibes', cursive;
}
/* Buttons: primary = brand blue */
.h4h .btn-red{background:var(--red); box-shadow:0 10px 24px rgba(43,103,174,.32);}
.h4h .btn-red:hover{background:var(--red-dark);}
.h4h .btn-white{color:var(--navy) !important;}
.h4h-header .nav-donate{background:var(--red); box-shadow:0 8px 20px rgba(43,103,174,.35);}
.h4h-header .nav-donate:hover{background:var(--red-dark);}

/* Script accent words — like "Hope Changes Everything" and "hope." on the brochures */
.h4h .hero h1 span, .h4h .page-hero h1 span{font-family:var(--script) !important; font-weight:400; font-size:1.35em; line-height:.9; color:var(--sky); letter-spacing:0; text-shadow:0 2px 18px rgba(0,0,0,.25);}
.h4h .script, .h4h h2 .script{font-family:var(--script) !important; font-weight:400; font-size:1.35em; color:var(--blue-dark); line-height:.8;}
.h4h .sponsor .script, .h4h .bg-navy .script, .h4h .serve .script{color:var(--sky);}

/* Heart divider under centered section headings */
.h4h .section-head h2::after{content:"\2665"; display:block; margin:14px auto 0; width:120px; font-size:16px; line-height:1; color:var(--sky); text-align:center;
  background:linear-gradient(var(--sky),var(--sky)) left 50%/42px 1.5px no-repeat, linear-gradient(var(--sky),var(--sky)) right 50%/42px 1.5px no-repeat;}
.h4h .serve .section-head h2::after, .h4h .bg-navy .section-head h2::after{color:var(--sky);}

/* Soft wave at the bottom of page heroes */
.h4h .page-hero .container{padding-bottom:96px;}
.h4h .page-hero::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:78px; z-index:2; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 62 C 260 18 520 18 760 52 S 1220 98 1440 46 L1440 120 L0 120Z' fill='%238ECFEA' fill-opacity='.55'/%3E%3Cpath d='M0 84 C 300 44 560 52 820 78 S 1250 112 1440 70 L1440 120 L0 120Z' fill='%23ffffff'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;}
@media (max-width:760px){ .h4h .page-hero::after{height:46px;} .h4h .page-hero .container{padding-bottom:64px;} }

/* Home hero: same wave under the stats bar */
.h4h .hero::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:40px; z-index:3; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C 360 0 720 10 1080 30 S 1440 20 1440 20 L1440 60 L0 60Z' fill='%23ffffff'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;}
.h4h .hero-stats{background:rgba(15,36,64,.55); padding-bottom:20px;}

/* Sponsor / call-to-action band: navy with sky wave (was red) */
.h4h .sponsor{position:relative; overflow:hidden; background:linear-gradient(135deg,#1F4F8A 0%,#17335A 55%,#0F2442 100%);}
.h4h .sponsor::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:70px; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 70 C 300 30 620 40 900 70 S 1300 105 1440 60 L1440 120 L0 120Z' fill='%238ECFEA' fill-opacity='.35'/%3E%3Cpath d='M0 95 C 320 62 640 70 940 92 S 1320 118 1440 88 L1440 120 L0 120Z' fill='%238ECFEA' fill-opacity='.22'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;}
.h4h .sponsor .container{position:relative; z-index:1;}
.h4h .sponsor .eyebrow{color:var(--sky) !important;}
.h4h .sponsor .btn-outline-white:hover{color:var(--navy);}
.h4h .sponsor-stat{background:rgba(142,207,234,.12); border-color:rgba(142,207,234,.45);}

/* Navy sections, footer, event dates */
.h4h .serve{background:linear-gradient(160deg,#1F4F8A 0%,#17335A 60%,#0F2442 100%);}
.h4h-footer{background:linear-gradient(180deg,#17335A 0%,#0F2442 100%); position:relative;}
.h4h-footer::before{content:""; position:absolute; left:0; right:0; top:0; height:4px; background:linear-gradient(90deg,var(--sky),#5B9BD5,var(--sky));}
.h4h .event-card .date .m{color:var(--blue-dark);}
.h4h .eyebrow{color:var(--blue-dark);}
.h4h .how-card .num{color:#CFE6F3;}
.h4h .serve-card .ic, .h4h .bg-navy .info-card .ic, .h4h .bg-deep .info-card .ic{background:var(--sky); color:var(--navy);}
.h4h .info-card .ic{background:var(--sky-pale); border-radius:50%;}
.h4h .partner-tile.real{border-color:#D6E8F3;}
.h4h .notice.blue{background:var(--sky-pale);}

/* v1.4.1: contact icons as sky-blue SVGs (replaces emoji that were nearly invisible on navy) */
.h4h-footer .contact-line{align-items:flex-start;}
.h4h-footer .contact-line .ci{flex:0 0 18px; width:18px; height:18px; margin-top:1px; color:var(--sky);}
.h4h-footer .contact-line span{color:#B7C2CB;}
.h4h-drawer .drawer-cta a .ci{width:18px; height:18px; vertical-align:-3px; margin-right:6px; color:var(--sky);}
/* v1.4.2: mobile hero — let it grow so the stats bar never covers the intro text or button on shorter phones */
@media (max-width:980px){
  .h4h .hero{height:auto; min-height:100vh; min-height:100svh;}
  .h4h .hero-inner, .h4h .hero-stats{flex-shrink:0;}
}
/* v1.4.4: menu dropdown arrows in brand sky blue, a bit bolder */
.h4h-header .nav-links > li.menu-item-has-children > a::after{border-right:2px solid #4FA9DC; border-bottom:2px solid #4FA9DC; opacity:1;}
/* v1.4.4: white card hugs the Donorbox form (form is ~425px wide) */
.h4h .donorbox-wrap{max-width:463px;}
.h4h .donorbox-wrap iframe{max-width:427px !important; width:100% !important; margin:0 auto !important;}

/* v1.4.8: long radio answers (e.g. social work opt-in) stack as full-width rows */
.h4h .h4h-form .field.full.f-radio .opts{flex-direction:column; gap:10px;}
.h4h .h4h-form .field.full.f-radio .pill span{display:block; border-radius:12px; white-space:normal; line-height:1.45; padding:12px 16px;}
