/* ECCF 2026 refresh */
:root{--gold:#d9ae43;--gold2:#f2c94c;--ink:#171717;--muted:#6f7176;--cream:#fbf8ef;--white:#fff;--line:#e7dfcc;--shadow:0 18px 60px rgba(31,24,8,.12);--radius:28px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:9999;background:#fff;padding:10px 14px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.06)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand img{width:64px;height:64px;object-fit:contain}.brand strong{font-size:.88rem;line-height:1.05;letter-spacing:.02em}.brand small{display:block;font-size:.58rem;color:#8d6b14;margin-top:4px}.navlinks{display:flex;align-items:center;gap:24px;font-size:.88rem;font-weight:650}.navlinks a{position:relative;padding:10px 0}.navlinks a:after{content:"";position:absolute;left:0;bottom:4px;width:0;height:2px;background:var(--gold);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{width:100%}.btn{border:0;border-radius:12px;padding:13px 20px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,var(--gold2),#c48d18);color:#171717;box-shadow:0 10px 26px rgba(202,151,33,.25)}.btn-dark{background:#111;color:#fff}.btn-soft{background:#fff;border:1px solid var(--line)}.menu-btn{display:none;border:0;background:#fff;font-size:1.6rem}
.hero{min-height:690px;position:relative;overflow:hidden;background:#111;color:#fff;display:grid;align-items:end}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:kenburns 16s ease-in-out infinite alternate}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,6,.82) 0%,rgba(6,6,6,.52) 45%,rgba(6,6,6,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 60%)}@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.08)}}.hero .container{position:relative;z-index:2;padding:100px 0 92px}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:850;color:#f3ce6d}.hero h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.92;max-width:830px;margin:16px 0 24px;letter-spacing:-.055em}.hero h1 span,.gold{color:#f2c94c}.hero p{font-size:1.18rem;max-width:660px;color:rgba(255,255,255,.86);margin:0 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-orb{position:absolute;border:1px solid rgba(242,201,76,.34);border-radius:50%;filter:blur(.1px);animation:float 7s ease-in-out infinite}.orb1{width:220px;height:220px;right:7%;top:12%}.orb2{width:90px;height:90px;right:31%;bottom:15%;animation-delay:-2s}@keyframes float{50%{transform:translateY(-18px) rotate(5deg)}}
.stats-strip{background:#fff;box-shadow:var(--shadow);position:relative;z-index:3;margin-top:-28px;border-radius:24px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.stat{padding:26px;text-align:center;border-right:1px solid #eee}.stat:last-child{border-right:0}.stat b{font-size:1.8rem;color:#b78518;display:block}.section{padding:90px 0}.section-soft{background:var(--cream)}.section-dark{background:#101010;color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.kicker{color:#b7861a;font-weight:850;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem}.section h2,.page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1;letter-spacing:-.045em;margin:8px 0 16px}.lead{font-size:1.08rem;color:var(--muted);max-width:720px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:22px;padding:28px;box-shadow:0 14px 40px rgba(34,27,9,.06)}.card h3{margin:0 0 10px;font-size:1.3rem}.icon{width:52px;height:52px;border-radius:16px;background:#fff3c8;display:grid;place-items:center;font-weight:900;color:#a7770d;margin-bottom:18px}.photo-card{border-radius:28px;overflow:hidden;min-height:500px;position:relative}.photo-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}.photo-caption{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff}.pill{display:inline-block;border-radius:999px;padding:8px 13px;background:#fff3c8;color:#7c5909;font-size:.78rem;font-weight:800}.quote{font-size:1.55rem;line-height:1.35;font-weight:700;border-left:4px solid var(--gold);padding-left:22px}.page-hero{padding:90px 0 70px;background:linear-gradient(135deg,#fff 0%,#fbf6e8 100%);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #e5c875;border-radius:50%;right:-80px;top:-120px}.page-hero p{max-width:720px;color:var(--muted);font-size:1.1rem}.media-split{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.media-split img{border-radius:28px;box-shadow:var(--shadow)}
.event-tabs{display:flex;gap:10px;padding:7px;background:#f4f0e6;border-radius:16px;width:max-content;margin-bottom:30px}.event-tab{border:0;background:transparent;border-radius:11px;padding:11px 18px;font-weight:800;cursor:pointer}.event-tab.active{background:#111;color:#fff}.event-panel{display:none}.event-panel.active{display:block;animation:fadeUp .45s ease}.event-card{border:1px solid var(--line);border-radius:26px;padding:24px;background:#fff;margin-bottom:24px}.event-meta{color:#996d0b;font-weight:800;font-size:.84rem}.event-card h3{font-size:2rem;margin:8px 0 10px}.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:160px 160px;gap:10px;margin-top:22px}.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:16px}.mosaic img:first-child{grid-row:1/3}.mosaic-more{position:relative;cursor:pointer}.mosaic-more:after{content:attr(data-more);position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;border-radius:16px;font-weight:850;font-size:1.1rem}.gallery-modal,.donation-modal{position:fixed;inset:0;z-index:400;background:rgba(10,10,10,.78);display:none;padding:24px;overflow:auto}.gallery-modal.open,.donation-modal.open{display:block}.gallery-shell{background:#fff;border-radius:24px;max-width:1180px;margin:auto;min-height:80vh;padding:24px}.gallery-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:2;padding:4px 0 16px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.93);display:none;place-items:center;padding:30px}.lightbox.open{display:grid}.lightbox img{max-width:94vw;max-height:88vh;border-radius:12px}.close{border:0;background:#111;color:#fff;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.2rem}.upcoming{background:linear-gradient(135deg,#111,#2a2415);color:#fff;border:0}.upcoming .event-meta{color:#f1ca62}.date-badge{display:inline-grid;place-items:center;width:92px;height:92px;border-radius:24px;background:var(--gold2);color:#111;font-weight:900;line-height:1;text-align:center;font-size:1.4rem}.date-badge small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.event-facts{display:flex;gap:26px;flex-wrap:wrap;color:#ddd}.event-facts b{color:#fff;display:block}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:item}.timeline .step{padding:25px;border-radius:22px;background:#fff;border:1px solid var(--line)}.timeline .step:before{counter-increment:item;content:counter(item);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-weight:900;margin-bottom:18px}.laptop-hero{background:#111;color:#fff;overflow:hidden}.laptop-hero .container{min-height:640px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.laptop-hero img{height:520px;width:100%;object-fit:cover;border-radius:30px}.laptop-hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.95;letter-spacing:-.05em;margin:14px 0 20px}.laptop-hero p{color:#ddd;font-size:1.12rem}.pathways .card{position:relative;overflow:hidden}.pathways .card:after{content:"";position:absolute;right:-32px;bottom:-32px;width:100px;height:100px;border-radius:50%;background:#f6e3a4;opacity:.45}.board-coming{min-height:calc(100vh - 82px);display:grid;place-items:center;background:url('../images/general/family-care.webp') center/cover fixed;position:relative;color:#fff}.board-coming:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.63)}.board-copy{position:relative;z-index:1;max-width:800px;text-align:center;padding:80px 20px}.board-copy h1{font-size:clamp(3.5rem,8vw,7rem);line-height:.88;margin:12px 0 24px}.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.contact-card{background:#111;color:#fff;border-radius:28px;padding:34px}.contact-card a{color:#f1ca62}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-size:.8rem;font-weight:800}.form input,.form textarea,.form select{width:100%;padding:14px;border-radius:11px;border:1px solid #ddd;margin-top:6px}.form textarea{min-height:150px}.span2{grid-column:1/-1}.footer{background:#0f0f0f;color:#ddd;padding:58px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer h4{color:#fff;margin:0 0 12px}.footer a{display:block;margin:7px 0;color:#ccc}.footer-bottom{border-top:1px solid #2c2c2c;margin-top:36px;padding-top:20px;font-size:.84rem;color:#898989}.donation-dialog{max-width:900px;margin:5vh auto;background:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;box-shadow:0 30px 100px rgba(0,0,0,.35)}.donation-copy{padding:38px}.donation-copy h2{font-size:2.4rem;line-height:1;margin:0 0 14px}.bank{background:#fbf6e8;border:1px solid #ead9a5;border-radius:18px;padding:20px;margin:20px 0}.bank div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px solid #eee1bc}.bank div:last-child{border-bottom:0}.donation-image{background:url('../images/general/family-care.webp') center/cover;min-height:520px;position:relative}.donation-image .close{position:absolute;right:18px;top:18px;background:#fff;color:#111}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.in{opacity:1;transform:none}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:920px){.menu-btn{display:block}.navlinks{position:fixed;left:18px;right:18px;top:88px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;display:none;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.navlinks .btn{width:100%}.brand strong{font-size:.78rem}.stats-strip{grid-template-columns:1fr 1fr}.grid-3,.grid-4,.timeline{grid-template-columns:1fr 1fr}.grid-2,.media-split,.laptop-hero .container,.contact-wrap,.donation-dialog{grid-template-columns:1fr}.donation-image{min-height:260px;order:-1}.laptop-hero{padding:40px 0}.laptop-hero img{height:380px}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:230px 130px}.mosaic img:first-child{grid-row:auto;grid-column:1/-1}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.container{width:min(100% - 26px,var(--max))}.nav{height:72px}.brand{min-width:0}.brand img{width:50px;height:50px}.brand strong{font-size:.69rem}.brand small{display:none}.hero{min-height:650px}.hero .container{padding:90px 0 70px}.hero h1{font-size:3.6rem}.stats-strip{grid-template-columns:1fr 1fr;border-radius:18px}.stat{padding:18px 10px}.stat b{font-size:1.45rem}.section{padding:64px 0}.grid-3,.grid-4,.timeline{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:200px 110px}.gallery-grid{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.span2{grid-column:auto}.footer-grid{grid-template-columns:1fr}.page-hero{padding:70px 0 50px}.event-card h3{font-size:1.55rem}.event-tabs{width:100%}.event-tab{flex:1}.laptop-hero h1{font-size:3.4rem}.donation-copy{padding:25px}.donation-copy h2{font-size:2rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* =========================================================
   ECCF Corporate Editorial Refresh — September 2026
   Refines the existing warm identity into a more distinctive,
   contemporary nonprofit / institutional design system.
   ========================================================= */
:root{
  --gold:#c99b2e;
  --gold-bright:#e2b844;
  --gold-pale:#f7edcf;
  --ink:#111312;
  --charcoal:#202321;
  --forest:#20352d;
  --muted:#6b706d;
  --cream:#f7f4ec;
  --paper:#fdfcf9;
  --line:#ded8c9;
  --shadow:0 24px 70px rgba(29,31,27,.10);
  --shadow-soft:0 12px 36px rgba(29,31,27,.065);
  --radius:24px;
  --max:1240px;
}
html{background:var(--paper)}
body{background:var(--paper);font-size:16px;letter-spacing:-.006em}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 10% 0%,rgba(201,155,46,.06),transparent 27%),radial-gradient(circle at 90% 28%,rgba(32,53,45,.045),transparent 30%)}
.container{width:min(var(--max),calc(100% - 56px))}

.site-header{background:rgba(253,252,249,.88);border-bottom:1px solid rgba(17,19,18,.08);backdrop-filter:blur(24px) saturate(140%);box-shadow:0 1px 0 rgba(255,255,255,.7)}
.site-header:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--forest),var(--gold-bright),#f1cf6a,var(--gold),var(--forest))}
.nav{height:88px}
.brand{gap:12px;min-width:245px}
.brand img{width:58px;height:58px;border-radius:12px;object-fit:contain;background:#fff;box-shadow:0 7px 18px rgba(21,23,20,.08)}
.brand strong{font-size:.78rem;letter-spacing:.04em}
.brand small{font-size:.58rem;color:#8b6d22;letter-spacing:.025em}
.navlinks{gap:8px;font-size:.83rem;font-weight:750}
.navlinks>a{padding:10px 12px;border-radius:999px;transition:.25s ease}
.navlinks>a:hover,.navlinks>a.active{background:#f3efe4;color:#171915}
.navlinks a:after{display:none}
.navlinks .btn{margin-left:7px;padding:12px 18px}

.btn{border-radius:999px;padding:14px 22px;letter-spacing:.005em;box-shadow:none;position:relative;overflow:hidden}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.35),transparent 70%);transform:translateX(-120%);transition:.55s ease}
.btn:hover:before{transform:translateX(120%)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(24,28,23,.12)}
.btn-gold{background:linear-gradient(135deg,#e6bd4a,#bc8820);color:#151712}
.btn-dark{background:linear-gradient(135deg,#1d211f,#0c0d0c);color:#fff}
.btn-soft{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.5);color:#171915}

.hero{min-height:760px;background:#101511;align-items:center;isolation:isolate}
.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,14,11,.88) 0%,rgba(9,14,11,.70) 38%,rgba(9,14,11,.18) 72%,rgba(9,14,11,.08) 100%)}
.hero-bg{filter:saturate(.9) contrast(1.03);transform-origin:center right}
.hero-bg:after{background:linear-gradient(0deg,rgba(4,8,6,.45),transparent 60%)}
.hero .container{padding:112px 0 116px;z-index:3}
.eyebrow{padding:8px 12px;border:1px solid rgba(242,201,76,.28);background:rgba(14,20,16,.38);border-radius:999px;backdrop-filter:blur(8px);font-size:.69rem;letter-spacing:.16em}
.hero h1{font-size:clamp(3.9rem,7.6vw,7.3rem);max-width:900px;line-height:.88;margin:22px 0 26px;text-wrap:balance}
.hero p{font-size:1.18rem;line-height:1.72;max-width:680px;color:rgba(255,255,255,.82)}
.hero-orb{border-color:rgba(226,184,68,.22);box-shadow:inset 0 0 45px rgba(226,184,68,.035)}
.orb1{width:300px;height:300px;right:5%;top:9%}.orb2{width:120px;height:120px;right:34%;bottom:10%}

.stats-strip{margin-top:-42px;border:1px solid rgba(17,19,18,.08);border-radius:18px;box-shadow:0 28px 65px rgba(24,26,23,.12);background:rgba(255,255,255,.97)}
.stat{padding:28px 24px;text-align:left;border-right:1px solid #e7e3d9;position:relative}
.stat:before{content:"";width:24px;height:3px;border-radius:4px;background:var(--gold);display:block;margin-bottom:14px}
.stat b{font-size:2rem;color:#8b6715;letter-spacing:-.04em}
.stat span{color:#555b57;font-size:.88rem}

.section{padding:104px 0}
.section-soft{background:linear-gradient(180deg,#f7f4ec,#fbfaf6)}
.section-dark{background:linear-gradient(135deg,#111713,#1a211c 55%,#242116);position:relative;overflow:hidden}
.section-dark:after{content:"";position:absolute;right:-140px;top:-180px;width:480px;height:480px;border:1px solid rgba(226,184,68,.15);border-radius:50%}
.section-dark>.container{position:relative;z-index:2}
.section-head{margin-bottom:50px}
.kicker{font-size:.7rem;letter-spacing:.17em;color:#9a711b}
.section h2,.page-hero h1{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.055em;line-height:.96;text-wrap:balance}
.lead{line-height:1.8;color:#666c68}
.grid-2{gap:58px}
.grid-3{gap:24px}.grid-4{gap:20px}
.card{border:1px solid rgba(28,31,28,.075);border-radius:18px;padding:30px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-soft);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.card:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(26,28,24,.10);border-color:rgba(201,155,46,.28)}
.card h3{font-size:1.22rem;letter-spacing:-.025em}
.icon{border-radius:12px;background:linear-gradient(135deg,#fff6d8,#efe0ab);color:#88630c;box-shadow:inset 0 0 0 1px rgba(156,113,21,.1)}
.photo-card{border-radius:18px;min-height:540px;box-shadow:var(--shadow)}
.photo-card img{transition:transform .8s ease}
.photo-card:hover img{transform:scale(1.025)}
.photo-card:after{background:linear-gradient(0deg,rgba(9,13,10,.72),transparent 58%)}
.photo-caption{left:32px;right:32px;bottom:30px}.photo-caption h3{font-size:1.55rem;max-width:480px}
.pill{background:#f0ddb0;color:#76550b;border:1px solid rgba(122,88,10,.08)}
.quote{border-left:3px solid var(--gold);font-size:1.5rem}

.page-hero{padding:112px 0 94px;background:linear-gradient(120deg,#fdfcf8 0%,#f6f0df 70%,#efdfad 130%);border-bottom:1px solid rgba(17,19,18,.06)}
.page-hero:before{content:"ECCF";position:absolute;right:4%;bottom:-.2em;font-weight:900;font-size:clamp(8rem,18vw,17rem);letter-spacing:-.08em;color:rgba(201,155,46,.055);line-height:1}
.page-hero:after{width:430px;height:430px;border:1px solid rgba(201,155,46,.28);right:-150px;top:-210px;box-shadow:0 0 0 55px rgba(201,155,46,.035),0 0 0 110px rgba(201,155,46,.02)}
.page-hero .container{position:relative;z-index:2}
.page-hero p{font-size:1.12rem;line-height:1.8;max-width:780px}

.event-tabs{padding:5px;background:#efebe0;border:1px solid #e1dac9;border-radius:999px;box-shadow:inset 0 1px 2px rgba(23,24,21,.04)}
.event-tab{border-radius:999px;padding:12px 22px;color:#555b56;transition:.25s}
.event-tab.active{background:#19201b;color:#fff;box-shadow:0 7px 18px rgba(17,22,18,.16)}
.event-card{border:1px solid rgba(28,31,28,.08);border-radius:20px;padding:34px;background:#fff;box-shadow:var(--shadow-soft);margin-bottom:28px}
.event-meta{letter-spacing:.09em;font-size:.72rem;text-transform:uppercase;color:#8e6813}
.event-card h3{font-size:clamp(1.9rem,3vw,2.55rem);letter-spacing:-.045em;line-height:1.03}
.mosaic{grid-template-rows:190px 190px;gap:12px;margin-top:28px}
.mosaic img{border-radius:13px;transition:transform .35s ease,filter .35s ease}
.mosaic>img:hover,.mosaic-more:hover img{transform:scale(1.012);filter:saturate(1.05)}
.mosaic-more{overflow:hidden;border-radius:13px}
.mosaic-more:after{border-radius:13px;background:linear-gradient(rgba(10,15,12,.45),rgba(10,15,12,.68));font-size:1rem;letter-spacing:.02em}
.gallery-modal,.donation-modal{background:rgba(8,11,9,.82);backdrop-filter:blur(10px)}
.gallery-shell{border-radius:18px;max-width:1260px;padding:28px;box-shadow:0 40px 120px rgba(0,0,0,.4)}
.gallery-head{top:-1px;padding:4px 0 18px;border-bottom:1px solid #ece9e0;margin-bottom:16px}
.gallery-grid{grid-template-columns:repeat(4,1fr);gap:12px}
.gallery-grid img{border-radius:10px;filter:saturate(.95);transition:.25s ease}
.gallery-grid img:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 9px 25px rgba(20,22,18,.15)}
.close{background:#171b18;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.upcoming{background:linear-gradient(135deg,#161d19 0%,#202a23 55%,#342a15 130%);box-shadow:0 28px 70px rgba(14,19,16,.18)}
.date-badge{border-radius:16px;background:linear-gradient(135deg,#e4ba45,#c08b20);box-shadow:0 12px 30px rgba(196,142,30,.22)}
.event-facts{gap:34px}.event-facts span{padding-left:14px;border-left:1px solid rgba(255,255,255,.18)}

.laptop-hero{background:linear-gradient(135deg,#0f1511,#1a221c 58%,#2c2515);position:relative}
.laptop-hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid rgba(226,184,68,.14);right:-140px;top:-190px;box-shadow:0 0 0 70px rgba(226,184,68,.025)}
.laptop-hero .container{min-height:700px;gap:66px;position:relative;z-index:2}
.laptop-hero img{height:540px;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.34);filter:saturate(.92)}
.laptop-hero h1{font-size:clamp(3.6rem,6vw,6rem);line-height:.9;text-wrap:balance}
.timeline .step{border-radius:16px;box-shadow:var(--shadow-soft);transition:.3s}
.timeline .step:hover{transform:translateY(-4px)}
.timeline .step:before{background:linear-gradient(135deg,#dfb541,#bb8720)}
.pathways .card:after{background:#e6ca76}

.board-coming{min-height:calc(100vh - 91px);background-attachment:scroll}
.board-coming:before{background:linear-gradient(90deg,rgba(8,12,9,.83),rgba(8,12,9,.52)),linear-gradient(0deg,rgba(8,12,9,.45),transparent 50%)}
.board-copy{text-align:left;margin-right:auto;margin-left:max(28px,calc((100vw - var(--max))/2));max-width:760px;padding:110px 0}
.board-copy h1{font-size:clamp(4rem,8vw,7.8rem);letter-spacing:-.06em}
.board-copy p{font-size:1.14rem;line-height:1.8;color:rgba(255,255,255,.82);max-width:650px}

.contact-wrap{grid-template-columns:.88fr 1.12fr;gap:28px;align-items:stretch}
.contact-card{border-radius:18px;padding:38px;background:linear-gradient(145deg,#17201b,#0f1311);box-shadow:0 24px 70px rgba(16,20,17,.16)}
.contact-card h2{font-size:2.8rem;letter-spacing:-.05em}
.form input,.form textarea,.form select{padding:15px 16px;border-radius:10px;border:1px solid #d9d7cf;background:#fbfaf7;outline:none;transition:.2s}
.form input:focus,.form textarea:focus,.form select:focus{border-color:#c99b2e;box-shadow:0 0 0 4px rgba(201,155,46,.10);background:#fff}

.footer{background:#101511;padding:68px 0 28px;border-top:3px solid #bd8d29}
.footer-grid{grid-template-columns:2fr .8fr .8fr;gap:54px}
.footer h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#e4bb4a}
.footer a{color:#bfc5c1;transition:.2s}.footer a:hover{color:#fff;transform:translateX(2px)}
.footer .brand img{background:#fff}.footer .brand strong{color:#fff}
.footer-bottom{border-color:#29312c;color:#848d87}

.donation-dialog{max-width:960px;border-radius:18px;box-shadow:0 40px 120px rgba(0,0,0,.42)}
.donation-copy{padding:44px}
.donation-copy h2{font-size:2.65rem;letter-spacing:-.05em}
.bank{background:#faf6e8;border-color:#e4d7af;border-radius:14px;padding:22px}
.donation-image{min-height:560px;filter:saturate(.9)}

.reveal{transform:translateY(30px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal.in{transform:none}

@media (max-width:1040px){
  .navlinks{gap:2px}.navlinks>a{padding:9px 8px}.brand{min-width:210px}
}
@media (max-width:920px){
  .container{width:min(var(--max),calc(100% - 34px))}
  .site-header:before{height:2px}.nav{height:78px}
  .menu-btn{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e4dfd3;border-radius:50%;background:#fff;color:#171915;cursor:pointer}
  .navlinks{left:16px;right:16px;top:86px;border:1px solid #ebe7dc;border-radius:18px;padding:14px;gap:4px;box-shadow:0 28px 70px rgba(20,23,20,.18)}
  .navlinks>a{padding:13px 14px;border-radius:10px}
  .navlinks .btn{margin:6px 0 0}
  .hero{min-height:700px}.hero .container{padding:100px 0 90px}
  .hero:after{background:linear-gradient(90deg,rgba(9,14,11,.90),rgba(9,14,11,.58) 70%,rgba(9,14,11,.2))}
  .hero h1{font-size:clamp(3.8rem,10vw,6rem)}
  .stats-strip{grid-template-columns:1fr 1fr}.stat{text-align:left}
  .grid-2,.media-split,.laptop-hero .container,.contact-wrap,.donation-dialog{grid-template-columns:1fr}
  .grid-3,.grid-4,.timeline{grid-template-columns:1fr 1fr}
  .laptop-hero .container{padding:70px 0;min-height:auto}.laptop-hero img{height:440px}
  .donation-image{order:-1;min-height:300px}
  .board-copy{margin:0;padding:92px 28px;text-align:left}
  .mosaic{grid-template-rows:230px 140px}
}
@media (max-width:620px){
  .container{width:min(100% - 24px,var(--max))}
  .nav{height:70px}.brand img{width:48px;height:48px}.brand{gap:9px}.brand strong{font-size:.65rem}.brand small{display:none}
  .hero{min-height:690px}.hero .container{padding:84px 0 76px}.hero h1{font-size:3.75rem;line-height:.89}.hero p{font-size:1.02rem;line-height:1.65}
  .eyebrow{font-size:.61rem;padding:7px 10px}
  .stats-strip{margin-top:-28px}.stat{padding:19px 14px}.stat b{font-size:1.55rem}.stat span{font-size:.76rem}
  .section{padding:72px 0}.section h2,.page-hero h1{font-size:2.85rem}.section-head{margin-bottom:32px}
  .grid-3,.grid-4,.timeline{grid-template-columns:1fr}.grid-2{gap:30px}
  .card{padding:24px}.photo-card{min-height:410px}.photo-caption{left:22px;right:22px;bottom:20px}
  .page-hero{padding:78px 0 62px}.page-hero:before{font-size:9rem;right:-10%;bottom:0}
  .event-card{padding:22px}.event-card h3{font-size:1.7rem}.event-tabs{width:100%}.event-tab{flex:1;padding:11px 13px}
  .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:190px 105px;gap:8px}.mosaic img,.mosaic-more:after{border-radius:9px}
  .gallery-modal{padding:10px}.gallery-shell{padding:15px;border-radius:13px}.gallery-grid{grid-template-columns:1fr 1fr;gap:7px}
  .laptop-hero h1{font-size:3.55rem}.laptop-hero img{height:330px}
  .contact-card{padding:28px}.form{grid-template-columns:1fr}.span2{grid-column:auto}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .donation-copy{padding:28px}.donation-copy h2{font-size:2.1rem}.bank div{display:block}.bank div span{display:block;color:#777;font-size:.75rem}
}


/* 2026 corporate refinement + sponsors */
:root{--navy:#162447;--gold-deep:#b98419;--soft-blue:#eef2f7}
.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border:0;border-radius:50%;background:#171d19;color:#fff;box-shadow:0 12px 32px rgba(0,0,0,.22);z-index:800;cursor:pointer;opacity:0;transform:translateY(14px);pointer-events:none;transition:.25s ease;font-size:1.25rem}.to-top.show{opacity:1;transform:none;pointer-events:auto}.to-top:hover{background:var(--gold-deep);transform:translateY(-2px)}
.site-header{backdrop-filter:saturate(1.2) blur(14px)}.navlinks a{font-weight:650;letter-spacing:-.01em}.btn{font-weight:750}.card{border:1px solid rgba(33,38,34,.07)}
.sponsor-teaser{padding-top:12px}.sponsor-band{display:grid;grid-template-columns:1.55fr .8fr;gap:60px;padding:58px;border-radius:28px;background:linear-gradient(135deg,#16201a 0%,#121713 72%,#382b10 140%);color:#fff;overflow:hidden;position:relative;box-shadow:0 28px 80px rgba(18,24,20,.16)}.sponsor-band:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(218,174,67,.2);border-radius:50%;right:-80px;top:-180px;box-shadow:0 0 0 60px rgba(218,174,67,.035),0 0 0 120px rgba(218,174,67,.018)}.sponsor-band h2{max-width:700px}.sponsor-band p{color:#c6cbc8;max-width:700px}.sponsor-band-art{position:relative;z-index:2;display:grid;align-content:center;gap:10px}.sponsor-band-art span{font-size:clamp(2rem,4vw,4.2rem);line-height:.82;font-weight:900;letter-spacing:-.06em;color:rgba(255,255,255,.1)}.sponsor-band-art span:nth-child(2){color:#d9ae43}
.sponsor-hero{min-height:760px;position:relative;display:grid;align-items:end;color:#fff;overflow:hidden}.sponsor-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 38%;transform:scale(1.02);animation:sponsorDrift 18s ease-in-out infinite alternate}.sponsor-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,10,.91) 0%,rgba(8,13,10,.7) 48%,rgba(8,13,10,.28) 78%),linear-gradient(0deg,rgba(8,13,10,.72),transparent 54%)}@keyframes sponsorDrift{to{transform:scale(1.08) translateX(-1.2%)}}
.sponsor-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:end;padding:140px 0 90px}.sponsor-hero-copy h1{font-size:clamp(4.7rem,8.2vw,8.3rem);line-height:.84;letter-spacing:-.07em;margin:.28em 0}.sponsor-hero-copy p{font-size:1.16rem;max-width:680px;color:#e0e4e1}.sponsor-date-card{justify-self:end;width:min(330px,100%);padding:30px;border:1px solid rgba(255,255,255,.22);background:rgba(12,17,13,.66);backdrop-filter:blur(16px);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.sponsor-date-card span,.sponsor-date-card small{display:block;color:#cbd0cd}.sponsor-date-card strong{display:block;font-size:6rem;line-height:.9;color:var(--gold2);letter-spacing:-.07em}.sponsor-date-card b{display:block;letter-spacing:.12em;font-size:.8rem;margin:10px 0}
.sponsor-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sponsor-stat{padding:32px;border-radius:18px;background:#fff;border:1px solid #e8e4d9;box-shadow:0 12px 35px rgba(18,20,17,.06)}.sponsor-stat b{display:block;font-size:3.2rem;line-height:1;color:#172447;letter-spacing:-.06em}.sponsor-stat span{display:block;margin-top:10px;color:#646a66}.sponsor-note{margin-top:16px;padding:21px 26px;border-radius:14px;background:#172447;color:#fff;display:flex;justify-content:space-between;gap:24px}.sponsor-note b{color:#e6bb49}.sponsor-story{align-items:center}.partner-points{margin-top:30px;display:grid;gap:10px}.partner-points>div{display:grid;grid-template-columns:52px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid #ddd9cd}.partner-points b{font-size:.8rem;color:#bd8b22}.partner-points strong{display:block;font-size:1.02rem;color:#171917}.partner-points span{color:#666d68}.sponsor-photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:rotate(1deg)}.sponsor-photo-stack img{width:100%;height:460px;object-fit:cover;border-radius:18px;box-shadow:0 22px 58px rgba(20,23,20,.13)}.sponsor-photo-stack img:last-child{margin-top:55px}.sponsor-impact .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#fff}.sponsor-impact .card p{color:#bbc2bd}.sponsor-package{border-radius:26px;padding:48px;background:#172447;color:#fff;box-shadow:0 30px 90px rgba(23,36,71,.18);position:relative;overflow:hidden}.sponsor-package:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(218,174,67,.15);border-radius:50%;right:-170px;top:-220px}.package-heading{display:flex;justify-content:space-between;gap:30px;align-items:start;position:relative;z-index:2}.package-heading h2{max-width:650px}.price{text-align:right}.price small{display:block;color:#aab4cc}.price b{font-size:3.5rem;color:#e7bc4d;letter-spacing:-.05em}.package-grid{display:grid;grid-template-columns:.65fr 1fr 1.4fr;gap:18px;margin-top:30px;position:relative;z-index:2}.package-grid>div{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.035)}.package-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#e2b94b;font-weight:800}.package-grid li{margin-bottom:7px;color:#d5dae6}.package-cta{margin-top:18px;padding:20px 22px;border-radius:14px;background:#fff;color:#172447;display:flex;align-items:center;justify-content:space-between;gap:22px;position:relative;z-index:2}.package-cta strong,.package-cta span{display:block}.package-cta span{color:#68718b}.sponsor-bank{margin-top:24px}.contact-callout{padding:38px;border-radius:24px;background:#fff;box-shadow:0 18px 60px rgba(22,36,71,.09);border:1px solid #e4e5e2}.contact-callout h3{font-size:2.2rem;line-height:1.06;letter-spacing:-.04em}.contact-numbers{display:grid;gap:8px;margin:22px 0}.contact-numbers a{font-weight:750;color:#172447}.contact-numbers a:hover{color:#b98419}
@media(max-width:920px){.sponsor-band,.sponsor-hero-inner{grid-template-columns:1fr}.sponsor-band-art{grid-template-columns:repeat(3,auto);justify-content:start}.sponsor-date-card{justify-self:start}.sponsor-stat-grid,.package-grid{grid-template-columns:1fr}.sponsor-note,.package-heading,.package-cta{display:block}.price{text-align:left;margin-top:20px}.sponsor-photo-stack img{height:360px}.sponsor-hero{min-height:700px}}
@media(max-width:620px){.sponsor-band{padding:34px 26px}.sponsor-band-art{display:none}.sponsor-hero-inner{padding:105px 0 58px}.sponsor-hero-copy h1{font-size:4rem}.sponsor-date-card{padding:24px}.sponsor-stat-grid{grid-template-columns:1fr}.sponsor-note{display:block}.sponsor-note span{display:block;margin-top:6px}.sponsor-photo-stack{grid-template-columns:1fr}.sponsor-photo-stack img,.sponsor-photo-stack img:last-child{height:300px;margin:0}.sponsor-package{padding:28px 22px}.price b{font-size:2.7rem}.to-top{right:14px;bottom:14px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.sponsor-hero-bg{animation:none}.to-top{transition:none}}

/* Fix light-text-on-light-card issue on dark sections (About + Laptop Drive) */
.section-dark .grid-4:not(.sponsor-impact) .card,
.section-dark.pathways .card{
  color:#171b18;
}
.section-dark .grid-4:not(.sponsor-impact) .card h3,
.section-dark.pathways .card h3{
  color:#171b18;
}
.section-dark .grid-4:not(.sponsor-impact) .card p,
.section-dark.pathways .card p{
  color:#5f665f;
}


/* September 2026: preserve natural proportions for editorial photography */
.media-split > img,
.about-feature-photo{
  width:100%;
  height:auto !important;
  aspect-ratio:auto;
  object-fit:contain;
}
@media (max-width:920px){
  .media-split > img,
  .about-feature-photo{
    width:100%;
    height:auto !important;
    max-height:none;
  }
}

/* =========================================================
   ECCF production hotfix — 2026-09-13 build 4
   Cache-safe visual fixes for About, dark cards and gallery.
   ========================================================= */
.about-feature-photo,
.media-split > img.about-feature-photo{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:3 / 2 !important;
  object-fit:contain !important;
  align-self:center !important;
}

/* Force high contrast in the two pale-card/dark-section blocks. */
.contrast-card-section .card{
  background:#f7f6f1 !important;
  color:#17201b !important;
  border-color:rgba(23,32,27,.10) !important;
}
.contrast-card-section .card h3{
  color:#17201b !important;
  opacity:1 !important;
}
.contrast-card-section .card p{
  color:#505a54 !important;
  opacity:1 !important;
}
.contrast-card-section .card .btn-dark{
  background:#17201b !important;
  color:#fff !important;
}

/* Full-screen gallery viewer controls. */
.lightbox{
  grid-template-columns:72px minmax(0,1fr) 72px;
  grid-template-rows:1fr;
  align-items:center;
  justify-items:center;
}
.lightbox img{
  grid-column:2;
  grid-row:1;
  width:auto;
  height:auto;
  max-width:min(86vw,1400px);
  max-height:86vh;
  object-fit:contain;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}
.lightbox-close,
.lightbox-nav{
  position:fixed;
  z-index:3;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(18,18,18,.76);
  color:#fff;
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 12px 36px rgba(0,0,0,.3);
  backdrop-filter:blur(10px);
}
.lightbox-close{top:22px;right:22px;font-size:2rem;line-height:1}
.lightbox-prev{left:22px;top:50%;transform:translateY(-50%);font-size:2.5rem}
.lightbox-next{right:22px;top:50%;transform:translateY(-50%);font-size:2.5rem}
.lightbox-counter{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  z-index:3;
  background:rgba(18,18,18,.72);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.04em;
  backdrop-filter:blur(10px);
}
.gallery-image-error{background:#f1eee5;min-height:140px}

@media(max-width:620px){
  .lightbox{padding:16px;grid-template-columns:48px minmax(0,1fr) 48px}
  .lightbox img{max-width:92vw;max-height:78vh}
  .lightbox-close,.lightbox-nav{width:46px;height:46px}
  .lightbox-close{top:14px;right:14px;font-size:1.6rem}
  .lightbox-prev{left:10px;font-size:2rem}
  .lightbox-next{right:10px;font-size:2rem}
  .lightbox-counter{bottom:14px}
}
