*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --dark:    #1B1E2D;
      --green:   #64D2A1;
      --green-d: #3fba85;
      --green-p: rgba(100,210,161,0.12);
      --white:   #ffffff;
      --off:     #f8f9fc;
      --light:   #f0f2f8;
      --ink:     #1B1E2D;
      --muted:   #6b7280;
      --border:  rgba(27,30,45,0.10);
      --font:    'Poppins', sans-serif;
      --sh:      0 4px 32px rgba(27,30,45,0.08);
      --sh-lg:   0 16px 64px rgba(27,30,45,0.13);
    }

    html { scroll-behavior: smooth; overflow-x: hidden; }
    body { font-family: var(--font); background: var(--white); color: var(--ink); overflow-x: hidden; cursor: auto; }
    a, button, input, textarea, select { cursor: auto; }

  
    /* ─── PROGRESS BAR ─── */
    #progressBar { position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--dark),var(--green));z-index:3000;width:0%;transition:width .1s linear; }

    /* ─── NAV ─── */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      height: 80px; padding: 0 48px;
      display: flex; align-items: center; justify-content: space-between;
      background: transparent;
      transition: background .4s, box-shadow .4s;
    }
    nav.scrolled {
      background: rgba(255,255,255,0.97);
      backdrop-filter: blur(20px);
      box-shadow: 0 1px 0 var(--border);
    }

    /* Logo image — swap out logo.png for your transparent PNG */
    .nav-logo { display: flex; align-items: center; text-decoration: none; }
    .nav-logo img {
      height: 48px; /* adjust to fit your logo */
      width: auto;
      display: block;
    }
    /* Fallback text — color controlled by scroll state rules below */
    .nav-logo-fallback {
      font-size: 16px; font-weight: 800; letter-spacing: .08em;
      text-transform: uppercase; color: var(--dark);
    }

    .logo-light { display: block; height: 48px; width: auto; }
    .logo-dark  { display: none;  height: 48px; width: auto; }

    nav.scrolled .logo-light { display: none; }
    nav.scrolled .logo-dark  { display: block; }

    .nav-links { display: flex; gap: 36px; list-style: none; }
    .nav-links a {
      font-size: 14px; font-weight: 600; letter-spacing: .05em;
      text-transform: uppercase; color: var(--muted);
      text-decoration: none; transition: color .3s;
      position: relative; padding-bottom: 4px;
    }
    .nav-links a::after {
      content: ''; position: absolute; bottom: 0; left: 0;
      width: 0; height: 2px; background: var(--green);
      border-radius: 2px; transition: width .3s;
    }
    .nav-links a:hover,
    .nav-links a.active { color: var(--dark); }
    .nav-links a.active::after,
    .nav-links a:hover::after { width: 100%; }

    /* Logo fallback text — white at top, dark after scroll */
    .nav-logo-fallback { transition: color .4s; }
    nav:not(.scrolled) .nav-logo-fallback { color: var(--white) !important; }
    nav:not(.scrolled) .nav-logo-fallback svg circle { fill: var(--green); }

    /* Nav links — white at top, dark after scroll */
    nav:not(.scrolled) .nav-links a { color: rgba(255,255,255,.75); }
    nav:not(.scrolled) .nav-links a:hover,
    nav:not(.scrolled) .nav-links a.active { color: var(--white); }

    /* Hamburger */
    .nav-ham { display:none;flex-direction:column;gap:6px;background:none;border:none;padding:4px; }
    .nav-ham span { width:24px;height:2px;background:var(--dark);border-radius:2px;display:block;transition:background .4s; }
    nav:not(.scrolled) .nav-ham span { background: var(--white); }
    @media(max-width:900px) { .nav-ham { display:flex; } .nav-links { display:none; } nav { padding:0 24px; height:70px; } }

    /* Mobile menu */
    .mob-menu { display:none;position:fixed;top:70px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);z-index:999;padding:12px 24px 24px;border-bottom:1px solid var(--border);flex-direction:column; }
    .mob-menu.open { display:flex; }
    .mob-menu a { font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dark);text-decoration:none;padding:15px 0;border-bottom:1px solid var(--border);transition:color .2s; }
    .mob-menu a:hover { color:var(--green-d); }
    .mob-menu a:last-child { border-bottom:none; }

    /* ─── HERO ─── */
    #hero {
      min-height: 100vh;
      position: relative;
      display: flex; align-items: center;
      overflow: hidden;
      padding: 0 48px;
    }

    /* ── OPTION 1 (ACTIVE): Animated gradient background ── */
    .hero-bg-animated {
      position: absolute; inset: 0;
      background: linear-gradient(135deg, var(--dark) 0%, #252840 40%, #1a2a3a 70%, var(--dark) 100%);
      background-size: 400% 400%;
      animation: gradientShift 12s ease infinite;
      z-index: 0;
    }
    .hero-bg-animated::after {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse at 20% 50%, rgba(100,210,161,0.18) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 20%, rgba(100,210,161,0.08) 0%, transparent 45%),
        radial-gradient(ellipse at 60% 80%, rgba(100,210,161,0.06) 0%, transparent 40%);
      animation: auraShift 8s ease-in-out infinite alternate;
    }
    @keyframes gradientShift {
      0%   { background-position: 0% 50%; }
      50%  { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }
    @keyframes auraShift {
      from { opacity: .7; transform: scale(1); }
      to   { opacity: 1; transform: scale(1.05); }
    }

    /* floating particles */
    .hero-particles { position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden; }
    .particle {
      position:absolute; border-radius:50%;
      background: var(--green); opacity: 0;
      animation: floatParticle linear infinite;
    }
    @keyframes floatParticle {
      0%   { opacity:0; transform:translateY(0) scale(0); }
      10%  { opacity:.25; }
      90%  { opacity:.1; }
      100% { opacity:0; transform:translateY(-100vh) scale(1); }
    }

    /* dot grid overlay */
    .hero-dots {
      position:absolute;inset:0;z-index:1;pointer-events:none;
      background-image: radial-gradient(circle, rgba(255,255,255,.08) 1px, transparent 1px);
      background-size: 32px 32px;
    }

    /* ── OPTION 2 (COMMENTED OUT): Still image background
    .hero-bg-image {
      position: absolute; inset: 0; z-index: 0;
      background: url('your-hero-image.jpg') center center / cover no-repeat;
    }
    .hero-bg-image::after {
      content: '';
      position: absolute; inset: 0;
      background: rgba(27,30,45,0.68);
    }
    ── */

    /* ── OPTION 3 (COMMENTED OUT): Looping video background
    .hero-bg-video {
      position: absolute; inset: 0; z-index: 0; overflow: hidden;
    }
    .hero-bg-video video {
      min-width: 100%; min-height: 100%;
      width: auto; height: auto;
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%,-50%);
      object-fit: cover;
    }
    .hero-bg-video::after {
      content: '';
      position: absolute; inset: 0;
      background: rgba(27,30,45,0.60);
    }
    To activate: replace .hero-bg-animated div with:
    <div class="hero-bg-video">
      <video autoplay muted loop playsinline>
        <source src="your-hero-video.mp4" type="video/mp4">
      </video>
    </div>
    ── */

    .hero-content { position:relative;z-index:2;max-width:800px; }
    .hero-badge {
      display:inline-flex;align-items:center;gap:10px;
      background:rgba(100,210,161,.12);border:1px solid rgba(100,210,161,.3);
      padding:8px 20px;border-radius:100px;margin-bottom:36px;
      opacity:0;animation:fadeUp .7s ease forwards .3s;
    }
    .hero-badge-dot { width:7px;height:7px;background:var(--green);border-radius:50%;animation:dotPulse 2s infinite; }
    @keyframes dotPulse { 0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.6} }
    .hero-badge span { font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--green); }

    .hero-title {
      font-size: clamp(48px, 7.5vw, 112px);
      font-weight: 900; line-height: .95; letter-spacing: -.04em;
      color: var(--white);
      opacity:0;transform:translateY(28px);animation:fadeUp .9s ease forwards .5s;
    }
    .hero-title .accent { color: var(--green); display:block; }

    .hero-byline {
      font-size: clamp(16px, 1.6vw, 20px);
      font-weight: 300; line-height: 1.75; color: rgba(255,255,255,.72);
      max-width: 560px; margin-top: 32px;
      opacity:0;animation:fadeUp .9s ease forwards .8s;
    }

    .hero-stats {
      display: flex; gap: 0; margin-top: 60px; flex-wrap: wrap;
      opacity:0;animation:fadeUp .9s ease forwards 1.1s;
    }
    .hero-stat { padding: 0 40px; border-right: 1px solid rgba(255,255,255,.15); }
    .hero-stat:first-child { padding-left: 0; }
    .hero-stat:last-child { border-right: none; }
    .hero-stat-num { font-size: 40px; font-weight: 900; color: var(--white); line-height: 1; letter-spacing: -.03em; }
    .hero-stat-num .g { color: var(--green); }
    .hero-stat-lbl { font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-top: 5px; }

    .hero-scroll {
      position:absolute;bottom:40px;left:48px;z-index:2;
      display:flex;align-items:center;gap:12px;
      font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
      color:rgba(255,255,255,.45);
      opacity:0;animation:fadeUp 1s ease forwards 1.5s;
    }
    .hero-scroll-btn { width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:arrowBounce 2s ease-in-out infinite 2s; }
    @keyframes arrowBounce { 0%,100%{transform:translateY(0)}50%{transform:translateY(5px)} }
    @keyframes fadeUp { to{opacity:1;transform:translateY(0)} }
    @media(max-width:900px) { #hero { padding:0 24px;min-height:auto;padding-top:90px;padding-bottom:64px; } .hero-scroll{display:none;} .hero-stat{border-right:none;padding:0;} .hero-stats{gap:24px;} }

    /* ─── MARQUEE ─── */
    .marquee-wrap { overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0;background:var(--dark); }
    .marquee-track { display:flex;width:max-content;animation:marquee 30s linear infinite; }
    .marquee-item { font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);white-space:nowrap;padding:0 36px;border-right:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px; }
    .mi-dot { width:5px;height:5px;background:var(--green);border-radius:50%;flex-shrink:0; }
    @keyframes marquee { from{transform:translateX(0)}to{transform:translateX(-50%)} }

    /* ─── SHARED ─── */
    .section-inner { max-width:1160px;margin:0 auto;padding:0 48px; }
    @media(max-width:900px) { .section-inner { padding:0 24px; } }
    .eyebrow { font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--green-d);margin-bottom:16px;display:flex;align-items:center;gap:12px; }
    .eyebrow::before { content:'';width:28px;height:2px;background:var(--green);border-radius:2px;flex-shrink:0; }
    .sec-title { font-size:clamp(34px,4vw,58px);font-weight:800;line-height:1.06;letter-spacing:-.03em;color:var(--dark); }
    .sec-title .g { color:var(--green-d); }

    /* REVEAL */
    .rv  { opacity:0;transform:translateY(38px);transition:opacity .8s ease,transform .8s ease; }
    .rvl { opacity:0;transform:translateX(-38px);transition:opacity .8s ease,transform .8s ease; }
    .rvr { opacity:0;transform:translateX(38px);transition:opacity .8s ease,transform .8s ease; }
    .vis { opacity:1 !important;transform:none !important; }

    /* ─── WHY WE EXIST ─── */
    #why { padding:130px 0;background:var(--off); }
    .why-intro { max-width:640px;margin-bottom:64px; }
    .why-intro p { font-size:18px;font-weight:300;line-height:1.85;color:var(--muted);margin-top:20px; }
    .why-grid { display:grid;grid-template-columns:1fr 1fr;gap:28px; }
    @media(max-width:768px) { .why-grid{grid-template-columns:1fr;} #why{padding:80px 0;} }
    .why-card {
      background:var(--white);border-radius:20px;padding:52px 44px;
      border:1.5px solid var(--border);box-shadow:var(--sh);
      position:relative;overflow:hidden;
      transition:transform .4s,box-shadow .4s,border-color .3s;
    }
    .why-card:hover { transform:translateY(-7px);box-shadow:var(--sh-lg);border-color:rgba(100,210,161,.35); }
    .why-card-bar { position:absolute;bottom:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--dark),var(--green));transform:scaleX(0);transform-origin:left;transition:transform .45s; }
    .why-card:hover .why-card-bar { transform:scaleX(1); }
    .why-bg-art { position:absolute;top:16px;right:16px;opacity:.04;pointer-events:none; }
    .why-tag { font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green-d);background:var(--green-p);display:inline-block;padding:6px 14px;border-radius:100px;margin-bottom:22px; }
    .why-card h3 { font-size:24px;font-weight:700;color:var(--dark);margin-bottom:16px;letter-spacing:-.02em;line-height:1.3; }
    .why-card p  { font-size:16px;font-weight:300;line-height:1.85;color:var(--muted); }

    /* ─── PROGRAMS ─── */
    #programs { padding:130px 0;background:var(--white); }
    @media(max-width:768px) { #programs{padding:80px 0;} }
    .prog-top { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:64px; }
    @media(max-width:768px) { .prog-top{grid-template-columns:1fr;gap:16px;margin-bottom:40px;} }
    .prog-sub { font-size:17px;font-weight:300;line-height:1.85;color:var(--muted); }
    .prog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
    @media(max-width:900px) { .prog-grid{grid-template-columns:1fr 1fr;} }
    @media(max-width:560px) { .prog-grid{grid-template-columns:1fr;} }
    .prog-card {
      background:var(--white);border:1.5px solid var(--border);border-radius:20px;
      padding:40px 32px;position:relative;overflow:hidden;
      display:flex;flex-direction:column;
      transition:transform .4s,border-color .3s,box-shadow .4s;
    }
    .prog-card:hover { transform:translateY(-8px);border-color:var(--green);box-shadow:0 12px 48px rgba(100,210,161,.14); }
    .prog-art { position:absolute;top:-16px;right:-16px;opacity:.04;pointer-events:none;transition:opacity .4s,transform .4s; }
    .prog-card:hover .prog-art { opacity:.09;transform:scale(1.1) rotate(5deg); }
    .prog-art-icon {
      position: absolute;
      top: -10px;
      right: -10px;
      pointer-events: none;
      opacity: 0.05;
      transition: opacity .4s, transform .4s;}

    .prog-card:hover .prog-icon svg { stroke: var(--white); }
    .prog-icon svg { width: 32px; height: 32px; stroke: var(--green-d); transition: stroke .3s; }
    .prog-icon i { display: flex; }
    .prog-n  { font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px; }
    .prog-card h3 { font-size:19px;font-weight:700;color:var(--dark);margin-bottom:12px;letter-spacing:-.01em; }
    .prog-card p  { font-size:15px;font-weight:300;line-height:1.8;color:var(--muted);flex:1; }
    .prog-wide { grid-column:1/-1;flex-direction:row;align-items:flex-start;gap:32px; }
    .prog-wide .prog-text { flex:1; }
    @media(max-width:560px) { .prog-wide{flex-direction:column;gap:0;} .prog-wide{grid-column:auto;} }

    /* ─── IMPACT ─── */
    #impact { padding:130px 0;background:var(--dark);overflow:hidden;position:relative; }
    @media(max-width:768px) { #impact{padding:80px 0;} }
    .imp-ring { position:absolute;border-radius:50%;border:1px solid rgba(100,210,161,.07);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none; }
    .imp-ring-1 { width:500px;height:500px;animation:spinRing 38s linear infinite; }
    .imp-ring-2 { width:800px;height:800px;animation:spinRing 60s linear infinite reverse; }
    .imp-ring-3 { width:1100px;height:1100px;border-color:rgba(100,210,161,.03);animation:spinRing 85s linear infinite; }
    @keyframes spinRing { from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)} }
    .imp-eyebrow { color:rgba(100,210,161,.75); }
    .imp-eyebrow::before { background:var(--green); }
    .imp-title { color:var(--white); }
    .imp-title .g { color:var(--green); }
    .imp-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.06);border-radius:20px;overflow:hidden;margin-top:56px;position:relative;z-index:2; }
    @media(max-width:768px) { .imp-grid{grid-template-columns:1fr;} }
    .imp-stat { background:rgba(255,255,255,.03);padding:56px 48px;position:relative;overflow:hidden;transition:background .3s; }
    .imp-stat:hover { background:rgba(255,255,255,.07); }
    .imp-stat::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green),transparent);opacity:0;transition:opacity .3s; }
    .imp-stat:hover::before { opacity:1; }
    .imp-art { position:absolute;bottom:20px;right:20px;opacity:.06; }
    .imp-num { font-size:clamp(56px,6.5vw,88px);font-weight:900;color:var(--white);line-height:1;letter-spacing:-.04em; }
    .imp-num .g { color:var(--green); }
    .imp-lbl { font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:14px; }

    /* ─── ABOUT ─── */
    #about { padding:130px 0;background:var(--off); }
    @media(max-width:768px) { #about{padding:80px 0;} }
    .about-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:60px; }
    @media(max-width:900px) { .about-grid{grid-template-columns:1fr;gap:40px;} }
    .about-card {
      background:var(--white);border-radius:24px;padding:48px 44px;
      box-shadow:var(--sh-lg);border:1px solid var(--border);
      position:relative;overflow:hidden;
    }
    .about-card::before { content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--dark),var(--green)); }
    .about-quote { font-size:24px;font-weight:700;line-height:1.45;color:var(--dark);letter-spacing:-.02em;margin-bottom:28px; }
    .about-quote .g { color:var(--green-d); }
    .about-chip { display:inline-flex;align-items:center;gap:8px;background:var(--green-p);padding:8px 16px;border-radius:100px; }
    .about-chip span { font-size:12px;font-weight:600;color:var(--green-d);letter-spacing:.1em;text-transform:uppercase; }
    .about-text h3 { font-size:26px;font-weight:700;color:var(--dark);letter-spacing:-.02em;margin-bottom:18px;line-height:1.35; }
    .about-text p  { font-size:16px;font-weight:300;line-height:1.9;color:var(--muted);margin-bottom:20px; }
    .about-tgts { margin-top:32px;display:flex;flex-direction:column; }
    .about-tgt  { display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--border); }
    .about-tgt:last-child { border-bottom:none; }
    .tgt-dot { width:8px;height:8px;background:var(--green);border-radius:50%;margin-top:6px;flex-shrink:0; }
    .tgt-t { font-size:15px;font-weight:400;color:var(--muted);line-height:1.6; }
    .tgt-t strong { color:var(--dark);font-weight:600; }

    /* ─── GIVE ─── */
    #give { padding:130px 0;background:var(--white); }
    @media(max-width:768px) { #give{padding:80px 0;} }
    .give-hd { text-align:center;max-width:580px;margin:0 auto 68px; }
    .give-hd .eyebrow { justify-content:center; }
    .give-hd .eyebrow::before { display:none; }
    .give-sub { font-size:17px;font-weight:300;line-height:1.85;color:var(--muted);margin-top:16px; }
    .give-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
    @media(max-width:768px) { .give-grid{grid-template-columns:1fr;gap:16px;} }
    .give-card { border:1.5px solid var(--border);border-radius:20px;padding:52px 40px;text-align:center;transition:transform .4s,border-color .3s,box-shadow .4s; }
    .give-card.feat { background:var(--dark);border-color:var(--dark); }
    .give-card:not(.feat):hover { transform:translateY(-8px);border-color:var(--green);box-shadow:0 16px 48px rgba(100,210,161,.12); }
    .give-card.feat:hover { transform:translateY(-8px);box-shadow:0 16px 48px rgba(27,30,45,.22); }
    .gi-icon { width:76px;height:76px;border-radius:50%;margin:0 auto 28px;display:flex;align-items:center;justify-content:center;background:var(--green-p);transition:transform .4s,background .3s; }
    .give-card.feat .gi-icon { background:rgba(100,210,161,.14); }
    .give-card:hover .gi-icon { transform:scale(1.08) rotate(-4deg); }
    .gi-icon svg { stroke:var(--green-d); }
    .give-card.feat .gi-icon svg { stroke:var(--green); }
    /* unused give/contact detail styles removed */

/* ─── CONTACT ─── */
    #contact { padding:130px 0;background:var(--white); }
    @media(max-width:768px) { #contact{padding:80px 0;} }
    .contact-intro { max-width:680px;margin:0 auto 52px;text-align:center; }
    .contact-intro h3 { font-size:28px;font-weight:700;color:var(--dark);letter-spacing:-.02em;margin-bottom:14px;line-height:1.35; }
    .contact-intro h3 .g { color:var(--green-d); }
    .contact-intro p { font-size:16px;font-weight:300;line-height:1.85;color:var(--muted); }
    .contact-email-wrap { display:flex;flex-direction:column;align-items:center;gap:20px; }
    .contact-email-link { display:inline-flex;align-items:center;gap:20px;background:var(--off);border:1.5px solid var(--border);border-radius:16px;padding:28px 40px;box-shadow:var(--sh);text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s;max-width:520px;width:100%; }
    .contact-email-link:hover { transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--green); }
    .contact-email-icon { width:52px;height:52px;background:var(--green-p);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s; }
    .contact-email-link:hover .contact-email-icon { background:var(--green); }
    .contact-email-link:hover .contact-email-icon svg { stroke:var(--white); }
    .contact-email-icon svg { transition:stroke .3s; }
    .contact-email-text { font-size:20px;font-weight:600;color:var(--dark);letter-spacing:-.01em;flex:1; }
    @media(max-width:560px) { .contact-email-text { font-size:16px; } }
    .contact-email-arrow { color:var(--muted);transition:color .3s,transform .3s;flex-shrink:0; }
    .contact-email-link:hover .contact-email-arrow { color:var(--green-d);transform:translateX(4px); }
    .contact-email-note { font-size:13px;font-weight:400;color:var(--muted);text-align:center; }

    /* ─── FOOTER ─── */
    footer { background:var(--dark);padding:60px 48px 36px; }
    @media(max-width:768px) { footer{padding:40px 24px 28px;} }
    .footer-top { display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);gap:40px;flex-wrap:wrap; }
    @media(max-width:768px) { .footer-top{flex-direction:column;gap:36px;} }
    .footer-brand .footer-logo-img { height:44px;width:auto;display:block;margin-bottom:16px; }
    .footer-brand .footer-logo-txt { font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--white);display:flex;align-items:center;gap:8px;margin-bottom:14px; }
    .footer-dot { width:8px;height:8px;background:var(--green);border-radius:50%; }
    .footer-tagline { font-size:14px;font-weight:300;color:rgba(255,255,255,.4);max-width:300px;line-height:1.7; }
    .f-col h4 { font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:18px; }
    .f-col ul { list-style:none;display:flex;flex-direction:column;gap:11px; }
    .f-col a { font-size:14px;font-weight:400;color:rgba(255,255,255,.55);text-decoration:none;transition:color .3s; }
    .f-col a:hover { color:var(--green); }
   .footer-legal {
  padding: 10px 0 0;
  border-top: none;
  margin-top: 0;
  text-align: center;
}
    .footer-501 { font-size:13px;font-weight:500;color:rgba(255,255,255,.55);margin-bottom:10px;text-align:center; }
    .footer-501 span { color:var(--green);font-weight:600; }
    .footer-disclaimer { font-size:12px;font-weight:300;color:rgba(255,255,255,.28);line-height:1.7;max-width:760px;margin:0 auto 20px;text-align:center; }
    .footer-bottom { display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:10px; }
    @media(max-width:768px) {
  .footer-bottom { justify-content:center; text-align:center; }
}
    .footer-copy { font-size:12px;font-weight:300;color:rgba(255,255,255,.28); }
    .footer-made { font-size:12px;color:rgba(255,255,255,.28); }
    .footer-made .g { color:var(--green); }