@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--g:#087443;--gd:#045a34;--g2:#0d9556;--lime:#b8ef6b;--red:#e63946;--ink:#12332a;--muted:#687b74;--soft:#f2f8f4;--line:#dce9e3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.03em}h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}h2 span{color:var(--g)}a{text-decoration:none}.top{background:var(--gd);color:#e7f5ed;font-size:.82rem;padding:8px 0}.top a{color:#fff}.nav-main{box-shadow:0 6px 25px #034b2a0d}.navbar-brand img{width:48px;height:48px;object-fit:contain}.navbar-brand b,.navbar-brand small{display:block}.navbar-brand b{font-size:.75rem;color:var(--gd);letter-spacing:.04em}.navbar-brand small{font-size:.6rem;color:#789087;letter-spacing:.15em}.nav-link{font-weight:600;color:#35524a!important}.nav-link:hover{color:var(--g)!important}.btn-danger{background:var(--red);border-color:var(--red)}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#043c25,#087443 55%,#0c9656);color:#fff;padding:95px 0}.hero-grid{position:absolute;inset:0;opacity:.12;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:34px 34px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--lime)}.eyebrow i{display:inline-block;width:34px;height:3px;background:var(--lime);vertical-align:middle;margin-right:8px}.hero h1{font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:1.01;margin:16px 0}.hero h1 em{font-style:normal;color:var(--lime)}.hero .lead{max-width:650px;line-height:1.8;color:#e7f4ed}.hero-tags{display:flex;gap:20px;flex-wrap:wrap;font-size:.84rem}.hero-tags i{color:var(--lime);margin-right:5px}.hero-art{height:500px;display:grid;place-items:center;position:relative}.hero-art img{width:min(90%,530px);position:relative;filter:drop-shadow(0 25px 45px #0004);animation:float 5s ease-in-out infinite}.ring{position:absolute;border:1px solid #ffffff2e;border-radius:50%}.r1{width:460px;height:460px}.r2{width:350px;height:350px;border-color:#b8ef6b66}.float{position:absolute;background:#fff;color:var(--ink);padding:13px 17px;border-radius:18px;box-shadow:0 18px 40px #0003;font-weight:700;font-size:.8rem}.float i{color:var(--g);font-size:1.2rem;margin-right:8px}.f1{left:0;top:18%}.f2{right:0;bottom:18%}@keyframes float{50%{transform:translateY(-12px)}}.ribbon{background:#fff;box-shadow:0 12px 35px #045a3412;position:relative;z-index:2}.ribbon .col-md-4{padding:24px;display:flex;align-items:center;gap:14px;border-right:1px solid var(--line)}.ribbon i{font-size:1.8rem;color:var(--g)}.ribbon small,.ribbon span{display:block}.ribbon small{font-size:.65rem;color:#81918b;font-weight:800;letter-spacing:.13em}.ribbon span{font-weight:700}.section{padding:100px 0}.soft{background:var(--soft)}.kicker{color:var(--g);font-size:.72rem;font-weight:800;letter-spacing:.17em;margin-bottom:10px}.heading{max-width:850px}.heading p{color:var(--muted);line-height:1.8}
.about-art{height:500px;border-radius:30px;position:relative;overflow:hidden;background:linear-gradient(145deg,#0b7043,#82c83e)}
.about-art:before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(145deg,#0000,#063e2799),url('../img/children.jpg') center/cover}.about-caption{position:absolute;bottom:25px;left:25px;color:#fff}.about-caption small,.about-caption b{display:block}.about-caption small{font-weight:800;letter-spacing:.18em}.about-caption b{font-size:1.4rem}.years{position:absolute;right:-5px;margin-top:-90px;background:#fff;padding:18px 20px;border-radius:20px;box-shadow:0 15px 35px #0002;display:flex;gap:10px;align-items:center}.years b{font-size:2rem;color:var(--g)}.years span{max-width:130px;font-size:.75rem;color:var(--muted)}.text-muted{line-height:1.8}.features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.features span{padding:13px;border:1px solid var(--line);border-radius:14px;font-size:.85rem;font-weight:700}.features i{color:var(--g);font-size:1.1rem;margin-right:8px}.vision{padding:85px 0;background:#edf7f1}.vcard{height:100%;padding:35px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px #0756310f}.vcard.green{background:var(--g);color:#fff}.vcard>i{font-size:1.8rem;color:var(--g);display:block;margin-bottom:20px}.vcard.green>i,.vcard.green .kicker{color:var(--lime)}.vcard p{color:var(--muted);line-height:1.8}.vcard.green p{color:#e2f3e9}.reason{height:100%;position:relative;padding:32px;border-radius:24px;background:#fff;border:1px solid var(--line);transition:.3s}.reason:hover,.programme:hover,.story:hover,.doc:hover{transform:translateY(-7px);box-shadow:0 20px 45px #054d2b1a}.reason>b{position:absolute;right:20px;top:5px;font-size:4rem;color:#edf5f0}.reason>i{font-size:2rem;color:var(--g)}.reason p,.programme p,.story p{color:var(--muted);line-height:1.7}.programme{height:100%;padding:27px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(#fff,#f7fbf9);transition:.3s;position:relative}.progicon{width:54px;height:54px;border-radius:16px;background:#e9f7ef;color:var(--g);display:grid;place-items:center;font-size:1.4rem}.programme>small{position:absolute;right:20px;top:20px;color:#b7c8c0;font-weight:800}.programme h4{font-size:1.05rem;margin-top:20px}.programme a{color:var(--g);font-weight:800;font-size:.84rem}.impact{padding:100px 0;background:linear-gradient(125deg,#063c25,#087443 60%,#0c8e51);color:#fff;overflow:hidden}.impact h2 span,.lime{color:var(--lime)}.impact p{color:#dceee4;line-height:1.8}.pills{display:flex;gap:8px;flex-wrap:wrap}.pills b{border:1px solid #ffffff25;padding:9px 13px;border-radius:50px;font-size:.8rem}.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.impact-grid>div{background:#ffffff12;border:1px solid #ffffff1c;padding:24px;border-radius:22px}.impact-grid b{color:var(--lime)}.impact-grid p{font-size:.86rem}.approach>div{display:grid;grid-template-columns:35px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.approach i{color:var(--g);font-size:1.35rem}.approach b,.approach small{display:block}.approach small{color:var(--muted)}.approach-art{height:430px;border-radius:35px;background:radial-gradient(circle,#e7f8ee 0 18%,transparent 19%),linear-gradient(145deg,#f4faf6,#e2f3e9);position:relative;display:grid;place-items:center}.core{width:145px;height:145px;border-radius:50%;background:var(--g);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 45px #08744340}.core i{font-size:2rem;color:var(--lime)}.core small{font-size:.65rem}.tag{position:absolute;background:#fff;padding:9px 13px;border-radius:50px;box-shadow:0 8px 20px #0002;font-size:.75rem;font-weight:800}.t1{top:70px;left:55px}.t2{top:85px;right:50px}.t3{bottom:70px;left:65px}.t4{bottom:55px;right:60px}.stories{padding:100px 0}.story{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;height:100%;transition:.3s}.storypic{height:210px;background-size:cover;background-position:center}.storypic.a{background-image:url('https://images.unsplash.com/photo-1544027993-37dbfe43562a?auto=format&fit=crop&w=900&q=85')}.storypic.b{background-image:url('https://images.unsplash.com/photo-1532629345422-7515f3d16bb6?auto=format&fit=crop&w=900&q=85')}.storypic.c{background-image:url('https://images.unsplash.com/photo-1559027615-cd4628902d4a?auto=format&fit=crop&w=900&q=85')}.story>div:last-child{padding:25px}.story small{color:var(--g);font-weight:800;letter-spacing:.13em}.story b{color:var(--g);font-size:.8rem}.video{max-width:1000px;margin:35px auto 0;border-radius:25px;overflow:hidden;box-shadow:0 25px 55px #053c241f}.partners{padding:100px 0;background:var(--g);color:#fff}.partners h2 span{color:var(--lime)}.partners p{color:#dceee4;line-height:1.8}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.partner-grid div{padding:22px;border:1px solid #ffffff20;background:#ffffff10;border-radius:20px;font-weight:700}.partner-grid i{color:var(--lime);font-size:1.4rem;margin-right:8px}.doc{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;color:var(--ink);font-weight:700;transition:.3s}.doc i:first-child{color:var(--g);font-size:1.3rem}.global{padding:80px 0;background:#eef7f2}.global-card{padding:45px;border-radius:30px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.global-card p{color:var(--muted);line-height:1.8}.countries{display:grid;gap:12px}.countries>div{display:grid;grid-template-columns:45px 1fr;align-items:center;padding:16px;border:1px solid var(--line);border-radius:18px}.countries b{font-size:1.7rem;grid-row:span 2}.countries strong,.countries small{display:block}.countries small{color:var(--muted)}.support{padding:90px 0}.support-card{display:grid;grid-template-columns:.8fr 1.2fr;overflow:hidden;border:1px solid var(--line);border-radius:32px;box-shadow:0 25px 60px #0546281a}.support-art{min-height:360px;display:grid;place-items:center;background:linear-gradient(145deg,#087443,#043e26)}.support-art div{width:120px;height:120px;border-radius:35px;background:#fff;color:var(--red);display:grid;place-items:center;font-size:3rem;box-shadow:0 20px 50px #0003}.support-card>div:last-child{padding:55px}.red{color:var(--red)}.support-card p{color:var(--muted);line-height:1.8}.gov,.leader{height:100%;background:#fff;border:1px solid var(--line);border-radius:28px;padding:35px}.govgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.govgrid span{background:var(--soft);padding:12px;border-radius:12px;font-size:.84rem}.leader{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.avatar{width:90px;height:90px;border-radius:50%;background:#e7f5ed;color:var(--g);display:grid;place-items:center;font-size:2.5rem}.leader p{color:var(--muted)}.contact{padding:100px 0;background:linear-gradient(125deg,#063c25,#087443);color:#fff}.contact h2 span{color:var(--lime)}.contact-line{display:flex;gap:14px;margin-top:25px}.contact-line>i{color:var(--lime);font-size:1.35rem}.contact-line small{display:block;color:#a8cabb;font-size:.63rem;letter-spacing:.14em;font-weight:800}.contact-line b,.contact-line a{display:block;color:#fff;line-height:1.5}.formbox{background:#fff;color:var(--ink);padding:35px;border-radius:28px}.formbox label{font-size:.78rem;font-weight:800;margin-bottom:7px}.formbox .form-control{border-radius:12px;padding:12px}.footer-logo{width:260px;max-width:100%}footer{background:#042a1a;color:#fff;padding:70px 0 25px}footer h6{color:var(--lime);font-size:.72rem;letter-spacing:.13em}footer a{display:block;color:#c4d8ce;margin:10px 0;font-size:.86rem}footer a:hover{color:#fff}.muted{color:#a9c4b7}.social{display:flex;gap:8px}.social a{width:38px;height:38px;border:1px solid #ffffff20;border-radius:50%;display:grid;place-items:center;color:#fff;margin:0}#topBtn{position:fixed;right:20px;bottom:20px;width:45px;height:45px;border:0;border-radius:50%;background:var(--red);color:#fff;display:none;z-index:50}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.show{opacity:1;transform:none}@media(max-width:991px){.hero{padding:70px 0}.hero-art{height:390px}.ribbon .col-md-4{border-right:0;border-bottom:1px solid var(--line)}.global-card,.support-card{grid-template-columns:1fr}}@media(max-width:767px){.section,.stories,.partners,.impact,.contact{padding:75px 0}.hero h1{font-size:2.7rem}.hero-art{height:330px}.r1{width:300px;height:300px}.r2{width:230px;height:230px}.float{font-size:.68rem}.features,.impact-grid,.partner-grid,.govgrid{grid-template-columns:1fr}.about-art{height:390px}.global-card,.support-card>div:last-child{padding:28px}.support-art{min-height:280px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-art img{animation:none}}

/* ===== SMIF HOMEPAGE ADDITIONS ===== */
.about-highlight{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:22px 0 18px;
}
.about-highlight>div{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:16px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8fcfa;
}
.about-highlight>div>i{
    color:var(--g);
    font-size:1.45rem;
    line-height:1;
}
.about-highlight b,.about-highlight small{display:block}
.about-highlight b{font-size:.85rem}
.about-highlight small{color:var(--muted);font-size:.73rem;line-height:1.55;margin-top:4px}

.video-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    padding:0 55px;
}
.video-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 15px 35px #054d2b10;
}
.video-card iframe{
    border:0;
}
.video-caption{
    padding:17px 18px 19px;
}
.video-caption small{
    color:var(--g);
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.13em;
}
.video-caption h5{
    font-size:.95rem;
    margin:5px 0 0;
}
.video-placeholder{
    min-height:280px;
    background:linear-gradient(145deg,#eaf7ef,#dcefe5);
}
.video-placeholder-inner{
    min-height:230px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    color:var(--g);
    text-align:center;
    padding:25px;
}
.video-placeholder-inner i{font-size:3rem}
.video-placeholder-inner b{font-size:1rem}
.video-placeholder-inner small{
    max-width:230px;
    color:var(--muted);
    line-height:1.5;
}
.gallery-control{
    width:45px;
    opacity:1;
}
.gallery-arrow{
    width:44px;
    height:44px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--g);
    color:#fff;
    box-shadow:0 10px 25px #054d2b25;
}
.gallery-note{
    display:inline-block;
    color:var(--muted);
    font-size:.75rem;
    font-weight:700;
}
.photo-gallery{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.photo-card{
    position:relative;
    display:block;
    width:100%;
    padding:0;
    border:0;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    cursor:pointer;
    aspect-ratio:4/3;
    box-shadow:0 10px 28px #054d2b10;
}
.photo-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .45s ease;
}
.photo-card:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 45%,#000b);
    pointer-events:none;
}
.photo-card span{
    position:absolute;
    left:15px;
    right:15px;
    bottom:13px;
    z-index:2;
    color:#fff;
    text-align:left;
    font-size:.76rem;
    font-weight:800;
}
.photo-card:hover img{transform:scale(1.07)}
.gallery-modal{border:0;border-radius:22px;overflow:hidden}
.gallery-modal .modal-header{padding:18px 22px}
.gallery-modal .modal-body{padding:0 18px 18px}

.sustain-card{
    height:100%;
    position:relative;
    padding:30px;
    border:1px solid var(--line);
    border-radius:24px;
    background:linear-gradient(#fff,#f7fbf9);
    transition:.3s;
}
.sustain-card:hover{
    transform:translateY(-7px);
    box-shadow:0 20px 45px #054d2b1a;
}
.sustain-icon{
    width:54px;
    height:54px;
    border-radius:16px;
    background:#e9f7ef;
    color:var(--g);
    display:grid;
    place-items:center;
    font-size:1.35rem;
    margin-bottom:20px;
}
.sustain-number{
    position:absolute;
    right:20px;
    top:17px;
    color:#dcebe4;
    font-size:2.7rem;
    font-weight:900;
}
.sustain-card h4{font-size:1.1rem}
.sustain-card p{
    color:var(--muted);
    line-height:1.75;
    margin-bottom:0;
}
.sustain-strip{
    margin-top:20px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}
.sustain-strip>div{
    display:grid;
    grid-template-columns:35px 1fr;
    column-gap:10px;
    align-items:center;
}
.sustain-strip i{
    grid-row:span 2;
    color:var(--g);
    font-size:1.35rem;
}
.sustain-strip b,.sustain-strip small{display:block}
.sustain-strip b{font-size:.82rem}
.sustain-strip small{color:var(--muted);font-size:.7rem;line-height:1.4}

.support-mini{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:15px;
    border-radius:15px;
    background:#f7f9f8;
}
.support-mini>i{
    color:var(--red);
    font-size:1.35rem;
}
.support-mini b,.support-mini small{display:block}
.support-mini b{font-size:.82rem}
.support-mini small{color:var(--muted);font-size:.74rem;line-height:1.55;margin-top:3px}

@media(max-width:991px){
    .video-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 35px}
    .photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
    .about-highlight{grid-template-columns:1fr}
    .video-gallery-grid{
        grid-template-columns:1fr;
        padding:0 35px;
    }
    .video-card{margin-bottom:2px}
    .video-placeholder{min-height:240px}
    .video-placeholder-inner{min-height:190px}
    .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .photo-card{border-radius:14px}
    .photo-card span{font-size:.68rem;left:10px;right:10px;bottom:9px}
    .sustain-strip{grid-template-columns:1fr}
    .gallery-control{width:35px}
    .gallery-arrow{width:36px;height:36px}
}
@media(max-width:480px){
    .photo-gallery{grid-template-columns:1fr 1fr}
}


/* ===== SMIF MODALS / BOARD OUTPUT ===== */
.smif-shared-ui .smif-modal-card{
    border:1px solid var(--line);
    border-radius:26px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 30px 80px #053c241f;
}
.smif-shared-ui .smif-modal-header{
    background:linear-gradient(125deg,var(--gd),var(--g) 62%,var(--g2));
    color:#fff;
    padding:20px 24px;
}
.smif-shared-ui .smif-modal-header small{color:#d8f0e3}
.smif-shared-ui .smif-mark{
    width:48px;
    height:48px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:#ffffff16;
    border:1px solid #ffffff25;
    color:var(--lime);
    font-size:1.35rem;
}
.smif-shared-ui .smif-modal-card .form-label{font-weight:800;color:var(--ink)}
.smif-shared-ui .smif-modal-card .form-control{border-color:var(--line);min-height:48px;border-radius:12px}
.smif-shared-ui .smif-modal-card .form-control:focus{border-color:var(--g2);box-shadow:0 0 0 .2rem #0874431c}
.smif-shared-ui .board-card-photo{
    width:100%;
    aspect-ratio:1 / 1;
    border-radius:20px;
    overflow:hidden;
    background:var(--soft);
}
.smif-shared-ui .board-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.smif-shared-ui .board-card .social a{
    background:var(--soft);
    color:var(--g);
    border:1px solid var(--line);
}
.smif-shared-ui .board-card .social a:hover{background:var(--g);color:#fff;border-color:var(--g)}
.smif-shared-ui .upcomingevent_caption{
    left:7%;
    right:7%;
    bottom:7%;
    text-align:left;
    padding:22px;
    border-radius:20px;
    background:linear-gradient(135deg,#063c25e8,#087443e8);
    backdrop-filter:blur(8px);
}
.smif-shared-ui .upcomingevent_caption h5{font-size:clamp(1.2rem,2.4vw,2rem);margin:.35rem 0 .5rem}
.smif-shared-ui .upcomingevent_caption p{margin:0;color:#e7f5ed;line-height:1.7}
.smif-shared-ui .bottom-modal .modal-dialog{max-width:620px}
@media(max-width:767px){
    .smif-shared-ui .smif-modal-header{padding:16px 18px}
    .smif-shared-ui .upcomingevent_caption{left:4%;right:4%;bottom:4%;padding:15px}
    .smif-shared-ui .upcomingevent_caption p{font-size:.82rem;line-height:1.5;max-height:90px;overflow:auto}
}


.smif-shared-ui .event-thumb-sm{
    width:92px;
    height:72px;
    background:#e9f7ef;
}
.smif-shared-ui .event-kicker,.smif-shared-ui .board-kicker{
    color:var(--g);
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size:.68rem;
}
.smif-shared-ui .event-icon-box{
    width:44px;
    height:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e9f7ef;
    color:var(--g);
    flex-shrink:0;
}
.smif-shared-ui .event-card-title{color:var(--ink);font-weight:800}
.smif-shared-ui .event-card-date{color:var(--muted)}

/* =========================================================
   SMIF EVENT GALLERY PAGE
   Scoped to .smif-events-gallery-page so other pages using
   this shared stylesheet are not affected.
   ========================================================= */
.smif-events-gallery-page .gallery-page-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(125deg, #063c25, #087443 60%, #0c8e51);
    color: #fff;
    padding: 85px 0 75px;
}

.smif-events-gallery-page .gallery-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .08;
    background-image: radial-gradient(#fff 1px, transparent 1px);
    background-size: 30px 30px;
}

.smif-events-gallery-page .gallery-page-hero .container {
    position: relative;
    z-index: 1;
}

.smif-events-gallery-page .gallery-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    color: var(--lime);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.smif-events-gallery-page .gallery-page-hero h1 {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    line-height: 1.04;
    margin: 16px 0 14px;
}

.smif-events-gallery-page .gallery-page-hero p {
    max-width: 760px;
    color: #dceee4;
    line-height: 1.8;
    margin-bottom: 0;
}

.smif-events-gallery-page .gallery-meta {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.smif-events-gallery-page .gallery-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    font-size: .82rem;
    color: #effbf4;
}

.smif-events-gallery-page .gallery-shell {
    margin-top: -28px;
    position: relative;
    z-index: 2;
}

.smif-events-gallery-page .gallery-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: 0 22px 55px rgba(5, 77, 43, .10);
    padding: 24px;
}

.smif-events-gallery-page .gallery-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.smif-events-gallery-page .gallery-count {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 700;
}

.smif-events-gallery-page .event-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.smif-events-gallery-page .event-photo-card {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
    aspect-ratio: 4 / 3;
    box-shadow: 0 10px 28px #054d2b10;
}

.smif-events-gallery-page .event-photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease;
}

.smif-events-gallery-page .event-photo-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.66));
    pointer-events: none;
}

.smif-events-gallery-page .event-photo-card span {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 12px;
    z-index: 2;
    color: #fff;
    text-align: left;
    font-size: .75rem;
    font-weight: 800;
}

.smif-events-gallery-page .event-photo-card:hover img {
    transform: scale(1.07);
}

.smif-events-gallery-page .gallery-empty {
    padding: 70px 20px;
    text-align: center;
    border: 1px dashed var(--line);
    border-radius: 20px;
    background: #f8fcfa;
}

.smif-events-gallery-page .gallery-empty i {
    display: block;
    color: var(--g);
    font-size: 3rem;
    margin-bottom: 12px;
}

.smif-events-gallery-page .gallery-empty b,
.smif-events-gallery-page .gallery-empty small {
    display: block;
}

.smif-events-gallery-page .gallery-empty small {
    color: var(--muted);
    margin-top: 5px;
}

.smif-events-gallery-page .footer-mini {
    background: #042a1a;
    color: #c4d8ce;
    padding: 60px 0 25px;
}

.smif-events-gallery-page .footer-mini h6 {
    color: var(--lime);
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.smif-events-gallery-page .footer-mini a {
    color: #c4d8ce;
}

.smif-events-gallery-page .footer-mini a:hover {
    color: #fff;
}

.smif-events-gallery-page .footer-mini .social {
    margin-top: 14px;
}

.smif-events-gallery-page .footer-mini .social a {
    width: 38px;
    height: 38px;
    margin: 0;
}

.smif-events-gallery-page .back-top-gallery {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    z-index: 1050;
}

.smif-shared-ui .gallery-modal {
    background: #03140c;
    border: 0;
    border-radius: 24px;
    overflow: hidden;
}

.smif-shared-ui .gallery-modal .modal-body {
    padding: 0 0 18px;
}

.smif-shared-ui .gallery-modal img {
    max-height: 78vh;
    object-fit: contain;
    background: #03140c;
}

/* Donation section - page-safe shared component */
.smif-shared-ui .smif-donation-section {
    background: linear-gradient(125deg, #063c25, #087443 62%, #0c8e51);
    color: #fff;
    padding-top: 90px;
    padding-bottom: 90px;
    overflow: hidden;
}

.smif-shared-ui .donation-card {
    position: relative;
    overflow: hidden;
    padding: 44px;
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 25px 60px rgba(3, 60, 37, .24);
}

.smif-shared-ui .donation-card::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -90px;
    top: -90px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.smif-shared-ui .donation-card h2 span {
    color: var(--lime);
}

.smif-shared-ui .donation-lead {
    color: #eef9f2;
    line-height: 1.8;
    max-width: 800px;
}

.smif-shared-ui .donation-note {
    color: #cfe7da;
    line-height: 1.7;
    max-width: 800px;
    font-size: .92rem;
}

.smif-shared-ui .donation-impact-list {
    display: grid;
    gap: 9px;
    text-align: left;
}

.smif-shared-ui .donation-impact-list span {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.10);
    color: #f2fbf5;
    font-size: .83rem;
    font-weight: 700;
}

.smif-shared-ui .donation-impact-list i {
    color: var(--lime);
}

@media (max-width: 991px) {
    .smif-events-gallery-page .event-photo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .smif-events-gallery-page .gallery-page-hero {
        padding: 70px 0 60px;
    }

    .smif-events-gallery-page .gallery-panel {
        padding: 16px;
        border-radius: 22px;
    }

    .smif-events-gallery-page .gallery-shell {
        margin-top: -18px;
    }

    .smif-events-gallery-page .event-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .smif-events-gallery-page .event-photo-card {
        border-radius: 14px;
    }

    .smif-events-gallery-page .event-photo-card span {
        left: 10px;
        right: 10px;
        bottom: 9px;
        font-size: .68rem;
    }

    .smif-shared-ui .donation-card {
        padding: 28px;
        border-radius: 24px;
    }
}


/* ===== ARTICLES & INSIGHTS ===== */
.articles-section{background:#fff}
.article-card{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#ffffff,#f7fbf9);
    border:1px solid var(--line);
    border-radius:26px;
    box-shadow:0 12px 32px #054d2b0d;
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.article-card:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,var(--g),var(--g2),var(--lime));
}
.article-card:hover{
    transform:translateY(-7px);
    box-shadow:0 22px 48px #054d2b18;
    border-color:#b9d8c9;
}
.article-icon{
    width:58px;
    height:58px;
    margin:28px 28px 0;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:#e9f7ef;
    color:var(--g);
    font-size:1.5rem;
}
.article-body{padding:22px 28px 28px}
.article-kicker{
    display:inline-block;
    color:var(--g);
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.14em;
    margin-bottom:8px;
}
.article-card h3{
    color:var(--ink);
    font-size:1.2rem;
    line-height:1.25;
    margin-bottom:12px;
}
.article-card p{
    color:var(--muted);
    line-height:1.75;
    margin-bottom:18px;
}
.article-link{
    color:var(--g);
    font-weight:800;
    font-size:.86rem;
}
.article-link:hover{color:var(--gd)}

@media(max-width:767px){
    .article-icon{margin:24px 22px 0}
    .article-body{padding:18px 22px 24px}
}
