:root {
  --nf-primary: var(--mp-primary, #174b3a);
  --nf-accent: var(--mp-accent, #d5aa57);
  --nf-surface: var(--mp-surface, #ffffff);
  --nf-text: var(--mp-body-text, #26312d);
  --nf-muted: var(--mp-muted-text, #69756f);
  --nf-border: var(--mp-border, #e2e8e4);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--nf-text); background: var(--mp-body-bg, #f7f9f7); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--nf-primary); }
.site-main { min-height: 55vh; }
.mp-page-body { min-height: 42vh; }
.navbar-brand img { display: block; }
.navbar .nav-link { color: var(--nf-text); font-weight: 600; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: var(--nf-primary); }

/* Shared public-page helpers. */
.mp-page-header { padding: 2.5rem 0; background: var(--nf-surface); border-bottom: 1px solid var(--nf-border); }
.mp-empty-state { max-width: 620px; margin: 3rem auto; padding: 2rem; text-align: center; background: var(--nf-surface); border: 1px solid var(--nf-border); border-radius: 14px; }
.mp-icon-list { display: grid; grid-template-columns: repeat(var(--mp-il-cols, 1), minmax(0, 1fr)); gap: .65rem; padding: 0; margin: 0; list-style: none; }
.mp-icon-list a { display: flex; gap: .6rem; align-items: center; padding: .65rem .8rem; text-decoration: none; border-radius: 8px; }
.mp-icon-list a:hover { background: rgba(23, 75, 58, .07); }

/* Footer template 1. */
.mp-footer { margin-top: 4rem; background: #14261f; color: #e8efeb; }
.mp-footer-top, .mp-footer-menu, .mp-footer-bottom { padding: 1.6rem 0; }
.mp-footer-menu, .mp-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); }
.mp-footer-brand { color: #fff; font-size: 1.4rem; font-weight: 700; text-decoration: none; }
.mp-footer-brand img { max-width: 190px; max-height: 75px; object-fit: contain; }
.mp-footer-about, .mp-news-sub { color: #bdcbc4; }
.mp-newsletter-form .form-control { min-height: 44px; }
.mp-footer-menu-list, .mp-footer-contact-row { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; padding: 0; margin: 0; list-style: none; }
.mp-footer-contact-row { margin-top: 1rem; }
.mp-footer a { color: #eef5f1; text-decoration: none; }
.mp-footer a:hover { color: var(--nf-accent); }
.mp-social { display: flex; gap: .75rem; }

/* Footer template 2. */
.mmf-footer { margin-top: 4rem; padding: 2.5rem 0 1.25rem; background: #14261f; color: #dce7e1; }
.mmf-brand-strip { text-align: center; padding-bottom: 2rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.mmf-logo-img { max-width: 100%; max-height: 90px; object-fit: contain; }
.mmf-brand-name { color: #fff; font-size: 1.8rem; font-weight: 700; text-decoration: none; }
.mmf-brand-kicker { margin-top: .9rem; color: var(--nf-accent); text-transform: uppercase; letter-spacing: .13em; font-size: .75rem; font-weight: 700; }
.mmf-tagline { max-width: 620px; margin: .6rem auto 0; color: #b9c8c0; }
.mmf-social { display: flex; justify-content: center; gap: .75rem; margin-top: 1rem; }
.mmf-social-link { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; }
.mmf-links-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 2rem; padding: 2rem 0; }
.mmf-col-toggle { width: 100%; padding: 0 0 .8rem; border: 0; background: none; color: var(--nf-accent); text-align: left; font-weight: 700; }
.mmf-col-toggle i { display: none; }
.mmf-link-list { padding: 0; margin: 0; list-style: none; }
.mmf-link-list li { margin: .55rem 0; }
.mmf-link-list a { color: #dce7e1; text-decoration: none; }
.mmf-link-list a:hover { color: var(--nf-accent); }
.mmf-contact-list li { display: flex; gap: .7rem; }
.mmf-contact-list small { display: block; color: #9fb2a8; }
.mmf-newsletter { display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding: 1.4rem; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; }
.mmf-nl-label { font-size: 1.2rem; font-weight: 700; }
.mmf-nl-sub { margin: .2rem 0 0; color: #aebeb5; }
.mmf-nl-form { display: flex; gap: .6rem; flex: 0 1 460px; }
.mmf-nl-form input { flex: 1; min-width: 0; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; background: rgba(255,255,255,.08); color: #fff; }
.mmf-nl-form button { padding: .7rem 1.2rem; border: 0; border-radius: 8px; background: var(--nf-accent); color: #1c241f; font-weight: 700; }
.mmf-copyright { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); color: #aebeb5; font-size: .85rem; }

@media (max-width: 991.98px) {
  .mmf-links-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .mmf-newsletter { align-items: stretch; flex-direction: column; }
  .mmf-nl-form { flex-basis: auto; }
}
@media (max-width: 575.98px) {
  .mmf-links-grid { display: block; }
  .mmf-col { border-bottom: 1px solid rgba(255,255,255,.12); }
  .mmf-col-toggle { display: flex; justify-content: space-between; padding: 1rem 0; }
  .mmf-col-toggle i { display: inline-block; }
  .mmf-col .mmf-link-list { display: none; padding-bottom: 1rem; }
  .mmf-col.open .mmf-link-list { display: block; }
  .mmf-nl-form { flex-direction: column; }
  .mmf-copyright { display: block; text-align: center; }
}

/* Organization header — shared by header templates 1 and 2. */
.nf-header-spacer { height: 102px; }
.nf-site-header { position: fixed; inset: 18px 0 auto; z-index: 1040; padding: 0 18px; }
.nf-navbar { min-height: 70px; padding: .55rem 1rem; border: 1px solid rgba(23,75,58,.09); border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 12px 38px rgba(5,37,27,.12); backdrop-filter: blur(14px); }
.nf-navbar .navbar-brand { display: flex; align-items: center; gap: .7rem; max-width: 255px; margin-right: 1rem; color: var(--nf-primary); font-weight: 800; line-height: 1.08; text-decoration: none; }
.nf-navbar .navbar-brand img { width: auto; max-width: 180px; height: 50px; object-fit: contain; }
.nf-brand-text { font-size: 1rem; }
.nf-navbar .navbar-nav { gap: .1rem; }
.nf-navbar .nav-link { padding: .8rem .55rem !important; font-size: .84rem; white-space: nowrap; }
.nf-navbar .dropdown-menu { padding: .5rem; border: 1px solid var(--nf-border); border-radius: 10px; box-shadow: 0 16px 35px rgba(14,45,35,.12); }
.nf-navbar .dropdown-item { padding: .55rem .75rem; border-radius: 7px; font-size: .88rem; }
.nf-navbar .dropdown-item:hover { color: var(--nf-primary); background: rgba(23,75,58,.07); }
.nf-header-actions, .nf-mobile-actions, .nf-lang-switch { display: flex; align-items: center; }
.nf-header-actions { gap: .65rem; }
.nf-mobile-actions { display: none; gap: .5rem; margin-left: auto; }
.nf-lang-switch { gap: .25rem; color: #9aa7a1; }
.nf-lang-switch button { padding: .2rem; border: 0; background: transparent; color: var(--nf-muted); font-size: .76rem; font-weight: 700; }
.nf-lang-switch button:hover { color: var(--nf-primary); }
.nf-account-btn { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--nf-border); border-radius: 50%; color: var(--nf-primary); text-decoration: none; }
.nf-account-btn:hover { color: #fff; background: var(--nf-primary); }
.nf-donate-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: .6rem 1.15rem; border-radius: 8px; color: #fff; background: var(--nf-primary); box-shadow: 0 7px 16px rgba(23,75,58,.2); font-size: .87rem; font-weight: 700; text-decoration: none; }
.nf-donate-btn:hover { color: #fff; background: #0d392b; transform: translateY(-1px); }

/* Organization footer — shared by footer templates 1 and 3. */
.nf-footer { position: relative; margin-top: 5rem; padding: 0 0 1.25rem; overflow: visible; color: #dce9e3; background: var(--mp-footer-bg,#061712) url('../images/foundation-footer-pattern.svg') center/cover no-repeat; }

html,body,button,input,select,textarea{font-family:"Noto Sans Bengali",Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.nf-navbar .nf-brand-text{display:none}
.nf-footer::before { position: absolute; inset: 0; content: ''; background: linear-gradient(120deg,rgba(4,22,16,.98),rgba(7,43,31,.9)); }
.nf-footer > .container-xxl { position: relative; z-index: 1; }
.nf-subscribe { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.8rem 2rem; transform: translateY(-50%); margin-bottom: -1.2rem; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: #174b3a; box-shadow: 0 14px 35px rgba(0,0,0,.22); }
.mp-page-body > .sw-slider:first-child { margin-top: 0; }
.nf-home-page .nf-header-spacer { height: 0; }
.nf-home-page .mp-page-body > .sw-slider { height: max(var(--sw-d-h,500px),540px); }
.nf-inner-page .nf-header-spacer { height: 0; }
.nf-inner-page .nf-page-hero,
.nf-inner-page .nf-about-hero,
.nf-inner-page .nf-simple-hero,
.nf-inner-page .blog-hero,
.nf-inner-page .nf-gallery { padding-top: 140px; }
.nf-inner-page .nf-fund-hero > .container { padding-top: 96px; }
.nf-inner-page .nf-activity-hero-content { padding-top: 9rem; }
.nf-inner-page .hocb-contact-page { padding-top: 130px !important; }
.nf-inner-page .nf-member-shell { padding-top: 112px; }
.nf-inner-page .site-main > .container.py-5:first-child { padding-top: 140px !important; }
.nf-visual-hero{position:relative;min-height:500px;display:flex;align-items:center;padding:145px 0 80px;color:#fff;background-position:center;background-size:cover;overflow:hidden}.nf-visual-hero:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(4,38,29,.94),rgba(4,38,29,.28))}.nf-visual-hero>.container{position:relative;z-index:1}.nf-visual-hero h1{max-width:820px;margin:.5rem 0 1rem;font-size:clamp(2.8rem,6vw,5.8rem);font-weight:950;line-height:1;letter-spacing:-.055em}.nf-visual-hero p{max-width:680px;margin:0;font-size:1.15rem;line-height:1.8;opacity:.88}.nf-visual-gallery{background-image:url('../images/foundation/hero-1.webp')}.nf-visual-contact{background-image:url('../images/foundation/hero-3.webp')}.nf-visual-legal{min-height:390px;background-image:url('../images/foundation/hero-2.webp')}.nf-contact-showcase{padding:80px 0}.nf-contact-showcase-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:35px;align-items:start}.nf-contact-aside{padding:32px;border-radius:26px;background:linear-gradient(145deg,#073d2f,#0a7d59);color:#fff}.nf-contact-aside h2{font-weight:900}.nf-contact-aside p{opacity:.8;line-height:1.75}.nf-contact-point{display:flex;gap:12px;margin-top:20px}.nf-contact-point i{color:var(--mp-accent,#f5bd36)}.nf-legal-content{max-width:920px;margin:auto;padding:80px 20px;line-height:1.85}.nf-legal-content h2{margin-top:2rem;font-weight:900;color:var(--mp-primary,#087a55)}
@media(max-width:768px){.nf-visual-hero{min-height:440px;padding:120px 0 65px}.nf-contact-showcase-grid{grid-template-columns:1fr}.nf-visual-hero h1{font-size:2.7rem}}
.nf-subscribe span { color: #d7bd84; text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; font-weight: 800; }
.nf-subscribe h2 { max-width: 510px; margin: .25rem 0 0; color: #fff; font-size: clamp(1.2rem,2vw,1.75rem); }
.nf-subscribe form { display: grid; grid-template-columns: minmax(210px,340px) auto; gap: .55rem; }
.nf-subscribe input { min-height: 48px; padding: 0 1rem; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; outline: 0; color: #fff; background: rgba(255,255,255,.1); }
.nf-subscribe input::placeholder { color: rgba(255,255,255,.7); }
.nf-subscribe input:focus { border-color: #d7bd84; }
.nf-subscribe button { min-height: 48px; padding: 0 1.15rem; border: 0; border-radius: 8px; color: #15251f; background: #d7bd84; font-weight: 800; }
.nf-subscribe small { grid-column: 1/-1; color: #fff; }
.nf-footer-grid { display: grid; grid-template-columns: minmax(280px,1.7fr) repeat(3,minmax(150px,1fr)); gap: clamp(1.5rem,4vw,4rem); padding: 2rem 0 3rem; }
.nf-footer h3 { position: relative; margin: 0 0 1.2rem; padding-bottom: .65rem; color: #fff; font-size: 1rem; }
.nf-footer h3::after { position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; content: ''; background: #d7bd84; }
.nf-footer ul { padding: 0; margin: 0; list-style: none; }
.nf-footer li { margin: .65rem 0; }
.nf-footer a { color: #cedbd5; text-decoration: none; transition: color .2s ease; }
.nf-footer a:hover { color: #d7bd84; }
.nf-footer-about img { max-width: 210px; max-height: 75px; object-fit: contain; filter: brightness(0) invert(1); }
.nf-footer-about p { max-width: 390px; margin: 1.25rem 0; color: #aebfb7; line-height: 1.75; }
.nf-footer-social { display: flex; gap: .55rem; }
.nf-footer-social a { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.nf-footer-social a:hover { border-color: #d7bd84; background: #d7bd84; color: #13251e; }
.nf-contact-list li { display: flex; align-items: flex-start; gap: .65rem; }
.nf-contact-list i { margin-top: .12rem; color: #d7bd84; }
.nf-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); color: #91a49b; font-size: .82rem; }
.nf-footer-bottom div { display: flex; gap: 1.25rem; }

/* Activities listing and builder-driven detail pages. */
.nf-page-hero { padding: clamp(4.5rem,9vw,7.5rem) 0; color: #fff; text-align: center; background: linear-gradient(115deg,rgba(10,54,39,.97),rgba(28,91,68,.9)), radial-gradient(circle at 70% 20%,#3f8b6e,transparent 45%); }
.nf-page-hero h1 { margin: .4rem 0 .8rem; font-size: clamp(2.3rem,6vw,4.6rem); font-weight: 800; }
.nf-page-hero p { max-width: 670px; margin: auto; color: #d8e7e0; font-size: 1.05rem; }
.nf-eyebrow { display: inline-flex; align-items: center; gap: .45rem; color: #d5aa57; text-transform: uppercase; letter-spacing: .16em; font-size: .72rem; font-weight: 800; }
.nf-eyebrow::before { width: 22px; height: 2px; content: ''; background: currentColor; }
.nf-activities-section { padding: clamp(3.5rem,7vw,6rem) 0; }
.nf-section-heading { max-width: 660px; margin: 0 auto 2.5rem; text-align: center; }
.nf-section-heading h2 { margin: 0; color: var(--nf-primary); font-size: clamp(1.8rem,3vw,2.6rem); }
.nf-heading-line { width: 54px; height: 3px; margin: .85rem auto; background: var(--nf-accent); }
.nf-activity-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.nf-activity-card { overflow: hidden; border: 1px solid var(--nf-border); border-radius: 14px; background: #fff; box-shadow: 0 12px 32px rgba(11,53,39,.07); transition: transform .25s ease,box-shadow .25s ease; }
.nf-activity-card:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(11,53,39,.12); }
.nf-activity-image { display: grid; place-items: center; height: 220px; overflow: hidden; color: #fff; background: linear-gradient(145deg,#174b3a,#6c9d87); font-size: 3rem; }
.nf-activity-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.nf-activity-card:hover .nf-activity-image img { transform: scale(1.045); }
.nf-activity-body { padding: 1.45rem; }
.nf-card-label { color: var(--nf-primary); text-transform: uppercase; letter-spacing: .1em; font-size: .7rem; font-weight: 800; }
.nf-activity-body h2 { margin: .55rem 0 .7rem; font-size: 1.2rem; line-height: 1.35; }
.nf-activity-body h2 a { color: #183029; text-decoration: none; }
.nf-activity-body p { color: var(--nf-muted); line-height: 1.65; }
.nf-soft-button { display: inline-flex; align-items: center; gap: .45rem; margin-top: .3rem; font-weight: 750; text-decoration: none; }
.nf-activity-detail-hero { position: relative; display: grid; min-height: 480px; place-items: end start; overflow: hidden; color: #fff; background: #174b3a var(--activity-image) center/cover no-repeat; }
.nf-activity-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,24,17,.93),rgba(3,24,17,.35)); }
.nf-activity-hero-content { position: relative; z-index: 1; padding-top: 6rem; padding-bottom: 5rem; }
.nf-activity-hero-content h1 { max-width: 900px; margin: .7rem 0 1rem; font-size: clamp(2.2rem,6vw,4.5rem); font-weight: 800; }
.nf-activity-hero-content p { max-width: 700px; color: #dce7e2; font-size: 1.08rem; }
.nf-activity-detail { padding: 4rem 0; background: #fff; }
.nf-rich-content { max-width: 980px; margin: auto; line-height: 1.8; }
.nf-rich-content img { max-width: 100%; height: auto; border-radius: 12px; }

/* Gallery shortcode: media-type, year and category filters. */
.nf-gallery { padding: clamp(3.5rem,7vw,6rem) max(1rem,calc((100% - 1320px)/2)); background: #f7f9f7; }
.nf-gallery-head { max-width: 680px; margin: 0 auto 2rem; text-align: center; }
.nf-gallery-head h2 { margin: .4rem 0; color: var(--nf-primary); font-size: clamp(2rem,4vw,3.2rem); }
.nf-gallery-head p { color: var(--nf-muted); }
.nf-gallery-type-tabs, .nf-gallery-year-tabs, .nf-gallery-categories { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem; }
.nf-gallery-type-tabs { margin-bottom: 1rem; }
.nf-gallery-year-tabs { margin-bottom: 1.5rem; }
.nf-gallery-categories { margin-bottom: 2rem; }
.nf-gallery button { font: inherit; }
.nf-gallery-type-tabs button, .nf-gallery-year-tabs button, .nf-gallery-categories button { padding: .62rem 1rem; border: 1px solid #d7e0dc; border-radius: 999px; color: #385148; background: #fff; font-size: .85rem; font-weight: 700; }
.nf-gallery-type-tabs button { min-width: 125px; border-radius: 8px; }
.nf-gallery-type-tabs button.active, .nf-gallery-year-tabs button.active, .nf-gallery-categories button.active { border-color: var(--nf-primary); color: #fff; background: var(--nf-primary); }
.nf-gallery-panel { display: none; }
.nf-gallery-panel.active { display: block; }
.nf-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.nf-gallery-item { overflow: hidden; border-radius: 13px; background: #fff; box-shadow: 0 10px 28px rgba(11,53,39,.08); }
.nf-gallery-media { position: relative; display: grid; width: 100%; height: 245px; padding: 0; place-items: center; overflow: hidden; border: 0; color: #fff; background: linear-gradient(145deg,#174b3a,#7aa590); font-size: 3rem; cursor: pointer; }
.nf-gallery-media img { width: 100%; height: 100%; object-fit: contain; transition: opacity .3s ease; }
.nf-gallery-item:hover .nf-gallery-media img { opacity: .94; }
.nf-play { position: absolute; display: grid; width: 62px; height: 62px; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #174b3a; background: rgba(255,255,255,.92); font-size: 1.8rem; }
.nf-gallery-caption { padding: 1rem 1.15rem 1.2rem; }
.nf-gallery-caption h3 { margin: 0 0 .3rem; color: #183029; font-size: 1.05rem; }
.nf-gallery-caption span { color: var(--nf-muted); font-size: .78rem; }
.nf-gallery-empty { display: none; grid-column: 1/-1; padding: 3rem; border: 1px dashed var(--nf-border); border-radius: 12px; color: var(--nf-muted); text-align: center; }
.nf-lightbox { position: fixed; inset: 0; z-index: 1100; display: grid; padding: 2rem; place-items: center; background: rgba(0,0,0,.9); }
.nf-lightbox[hidden] { display: none; }
.nf-lightbox img { max-width: min(1100px,92vw); max-height: 82vh; border-radius: 9px; }
.nf-lightbox p { position: absolute; bottom: 1rem; color: #fff; }
.nf-lightbox button { position: absolute; top: 1.2rem; right: 1.5rem; border: 0; color: #fff; background: transparent; font-size: 2.5rem; }

@media (max-width: 1199.98px) {
  .nf-header-spacer { height: 90px; }
  .nf-site-header { inset: 10px 0 auto; padding: 0 10px; }
  .nf-mobile-actions { display: flex; }
  .nf-navbar .navbar-collapse { margin-top: .65rem; padding-top: .6rem; border-top: 1px solid var(--nf-border); }
  .nf-navbar .navbar-nav { align-items: stretch !important; }
  .nf-navbar .nav-link { padding: .55rem .25rem !important; }
  .nf-header-actions { justify-content: space-between; padding: .6rem 0; }
  .nf-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
  .nf-activity-grid, .nf-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nf-subscribe { align-items: stretch; flex-direction: column; transform: translateY(-24%); margin-bottom: 0; }
}
@media (max-width: 575.98px) {
  .nf-home-page .mp-page-body > .sw-slider { height: 430px !important; }
  .nf-home-page .mp-page-body > .sw-slider .sw-content { padding-top: 92px; }
  .nf-header-spacer { height: 80px; }
  .nf-site-header { inset: 7px 0 auto; padding: 0 6px; }
  .nf-navbar { min-height: 64px; padding: .4rem .6rem; }
  .nf-navbar .navbar-brand { max-width: 145px; margin: 0; }
  .nf-navbar .navbar-brand img { max-width: 118px; height: 43px; }
  .nf-brand-text { display: none; }
  .nf-mobile-actions .nf-donate-btn { min-height: 36px; padding: .45rem .7rem; font-size: .76rem; }
  .nf-subscribe { padding: 1.3rem; }
  .nf-subscribe form { grid-template-columns: 1fr; }
  .nf-subscribe small { grid-column: 1; }
  .nf-footer-grid, .nf-activity-grid, .nf-gallery-grid { grid-template-columns: 1fr; }
  .nf-footer-grid { gap: 2rem; }
  .nf-footer-bottom { align-items: center; flex-direction: column; text-align: center; }
  .nf-activity-image { height: 205px; }
  .nf-gallery-media { height: 225px; }
  .nf-lightbox { padding: 1rem; }
}
