/* ============================================================
   Dr. Abdul Kalam Social Welfare Trust — Stylesheet
   Design concept: "Banyan Root" — a branching line motif drawn
   from the founder's own story of starting under a banyan tree.
   ============================================================ */


/* ---------- Design Tokens ---------- */

:root {
    /* Color */
    --forest: #16342A;
    /* deep green — header/footer, primary text on light */
    --forest-2: #0F241D;
    /* darker shade for gradients */
    --leaf: #2F6B4F;
    /* mid green — section accents, links */
    --leaf-light: #E4EFE7;
    /* pale green tint for chips/backgrounds */
    --marigold: #E8A33D;
    /* primary accent — CTAs, highlights */
    --marigold-dark: #C9822A;
    --sand: #FBF6EC;
    /* warm background */
    --sand-deep: #F3EAD6;
    /* deeper sand for alternating sections */
    --charcoal: #23281F;
    /* body text */
    --charcoal-soft: #52594C;
    --white: #FFFFFF;
    --line: rgba(22, 52, 42, 0.12);
    /* Type */
    --font-display: "Poppins", sans-serif;
    --font-body: "Poppins", sans-serif;
    /* Layout */
    --max-w: 1180px;
    --radius-sm: 6px;
    --radius-md: 14px;
    --radius-lg: 28px;
    --shadow-soft: 0 20px 45px -25px rgba(22, 52, 42, 0.35);
    --shadow-card: 0 12px 30px -18px rgba(22, 52, 42, 0.25);
}


/* ---------- Reset ---------- */

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: Helvetica;
    color: var(--charcoal);
    background: var(--sand);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

ul {
    list-style: none;
}

button {
    font: inherit;
    cursor: pointer;
    border: none;
    background: none;
}

:focus-visible {
    outline: 3px solid var(--marigold);
    outline-offset: 3px;
}

.container {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 24px;
}

h1,
h2,
h3,
h4 {
    /* font-family: var(--font-display); */
    color: var(--forest);
    line-height: 1.15;
    font-weight: 600;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--marigold-dark);
    margin-bottom: 14px;
}

.eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: var(--marigold);
    display: inline-block;
}

.section-head {
    max-width: 620px;
    margin-bottom: 28px;
}

.section-head.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.section-head h2 {
    font-size: 35px;
    margin-bottom: 14px;
}

.section-head p {
    color: var(--charcoal-soft);
    font-size: 16px;
}

section {
    padding: 96px 0;
    position: relative;
}

.section-alt {
    /* background: var(--sand-deep); */
    padding: 65px 0;
}

footer#site-footer {
    display: none;
}

@media (max-width: 768px) {
    .site-footers  {
        padding: 45px 0 28px !important;
    }

    footer#site-footer {
    display: none;
}
    /* footer#site-footer {
    display: none;
} */
 .site-footers:not(.dynamic-footer) {
    padding-inline-end: 0px;
        padding-inline-start: 0px;
 }
    .contact-form {
        padding: 20px !important;
    }
    .contact-info-item span {
        font-size: 15px !important;
    }
    .contact-grid {
        gap: 20px !important;
    }
    .section-alt {
        padding: 45px 0;
    }
    .section-head {
        margin-bottom: 25px;
    }
    .vision-card h3 {
        font-size: 20px;
    }
    .vision-grid {
        gap: 12px !important;
    }
}


/* Reusable branch-line divider (signature motif) */

.branch-divider {
    width: 100%;
    height: 46px;
    display: block;
}


/* ---------- Buttons ---------- */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 30px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 16px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color .2s ease;
    white-space: nowrap;
}

.btn-primary {
    background: #E8A33D;
    color: var(--forest-2);
    /* box-shadow: 0 10px 24px -10px rgba(232, 163, 61, 0.65); */
}

.btn-primary:hover {
    background: var(--marigold-dark);
    transform: translateY(-2px);
}

[type=submit], button {
    border: none
}

.btn-outline {
    background: transparent;
    color: var(--white);
    border: 1.5px solid rgba(255, 255, 255, 0.55);
}

.btn-outline:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-2px);
}

.btn-ghost {
    background: transparent;
    color: #52594c;
    border: 1px solid #52594c;
    padding: 8px 26px;
    /* margin-top: -6px; */
    font-weight: 400;
}

.btn-ghost:hover {
    border-color: var(--leaf);
    color: var(--forest);
}

.btn-sm {
    padding: 8px 20px;
    font-size: 16px;
}


/* ---------- Header / Nav ---------- */

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(251, 246, 236, 0.9);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
    transition: box-shadow .3s ease;
}

.site-header.is-scrolled {
    box-shadow: 0 8px 24px -18px rgba(22, 52, 42, 0.4);
}

.nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    max-width: var(--max-w);
    margin: 0 auto;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--leaf), var(--forest));
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    /* font-family: var(--font-display); */
    font-weight: 700;
    font-size: 1.05rem;
    flex-shrink: 0;
}

.brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.brand-text strong {
    font-family: var(--font-display);
    font-size: 1.02rem;
    color: var(--forest);
}

.brand-text span {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    color: var(--charcoal-soft);
    text-transform: uppercase;
}

.nav-menu {
    display: flex;
    align-items: center;
    /* gap: 6px; */
}

.nav-menu>li {
    position: relative;
}

.nav-menu>li>a,
.nav-menu>li>button.nav-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 14px;
    font-size: 0.92rem;
    font-weight: 500;
    border-radius: 999px;
    color: var(--forest);
    transition: background .2s ease, color .2s ease;
}

.nav-menu>li>a:hover,
.nav-menu>li>button.nav-link:hover,
.nav-menu>li.open>button.nav-link {
    background: var(--leaf-light);
    color: var(--leaf);
}

.caret {
    width: 9px;
    height: 9px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    margin-top: -3px;
    transition: transform .2s ease;
}

.nav-menu>li.open .caret {
    transform: rotate(225deg);
    margin-top: 3px;
}

.dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 210px;
    background: var(--white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: all .2s ease;
}

.nav-menu>li.open .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown a {
    display: block;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    color: var(--charcoal);
}

.dropdown a:hover {
    background: var(--leaf-light);
    color: var(--leaf);
}

.nav-cta {
    margin-left: 8px;
}

.nav-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
}

.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after {
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    background: var(--forest);
    position: relative;
    transition: all .25s ease;
}

.nav-toggle span::before {
    position: absolute;
    top: -6px;
}

.nav-toggle span::after {
    position: absolute;
    top: 6px;
}

.nav-toggle.active span {
    background: transparent;
}

.nav-toggle.active span::before {
    transform: rotate(45deg);
    top: 0;
}

.nav-toggle.active span::after {
    transform: rotate(-45deg);
    top: 0;
}


/* ---------- Hero ---------- */

.hero {
    position: relative;
    min-height: 100vh;
    /* min-height: 88vh; */
    display: flex;
    align-items: center;
    background: radial-gradient(ellipse at 20% 20%, rgba(232, 163, 61, 0.25), transparent 55%), linear-gradient(160deg, var(--forest) 0%, var(--forest-2) 65%, #0A1712 100%);
    overflow: hidden;
    color: var(--white);
}

.hero-copy {
    padding-top: 100px;
}

.hero-roots {
    position: absolute;
    inset: 0;
    opacity: 0.35;
    pointer-events: none;
}

.hero-inner {
    position: relative;
    z-index: 2;
    max-width: var(--max-w);
    margin: 0 auto;
    /* padding: 120px 24px 90px; */
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
    align-items: center;
}

.hero-copy .eyebrow {
    color: var(--marigold);
}

.hero-copy .eyebrow::before {
    background: var(--marigold);
}

.hero-copy h1 {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    color: var(--white);
    margin-bottom: 20px;
}

.hero-copy p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.82);
    max-width: 520px;
    margin-bottom: 34px;
}

.hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.hero-visual {
    position: relative;
    aspect-ratio: 7/5;
    border-radius: var(--radius-lg);
    background: linear-gradient(160deg, #2F6B4F, #16342A 70%);
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    display: flex;
    align-items: flex-end;
}

.hero-visual svg {
    width: 100%;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: .9;
}

.hero-visual-caption {
    position: relative;
    z-index: 2;
    padding: 22px;
    color: var(--white);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.45), transparent);
    width: 100%;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
}


/* ---------- Welcome / Feature cards ---------- */

#welcome {
    background-color: #fffdfa;
    padding: 65px 0 !important;
}

.welcome-intro {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 28px;
    align-items: flex-start;
    margin-bottom: 28px;
}

.welcome-mark {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: rgba(0, 128, 0, 0);
    color: var(--leaf);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.welcome-intro h2 {
    font-size: 32px;
    margin-bottom: 12px;
}

.welcome-intro p {
    color: var(--charcoal-soft);
    max-width: 700px;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.feature-card {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 30px 24px;
    box-shadow: var(--shadow-card);
    border-top: 3px solid var(--marigold);
    transition: transform .25s ease;
}

.feature-card:hover {
    transform: translateY(-6px);
}

.feature-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    color: var(--leaf);
}

.feature-card h3 {
    font-size: 18px;
    margin-bottom: 8px;
}

.feature-card p {
    font-size: 16px;
    color: #52594c;
}

@media (max-width: 768px) {
    #welcome {
        padding: 45px 0 !important;
    }
    .welcome-mark {
        width: 100px;
        height: 100px;
    }
    .welcome-intro h2 {
        line-height: 1.3;
    }
    .welcome-intro {
        margin-bottom: 10px;
    }
    .feature-card h3 {
        font-size: 22px;
    }
    .feature-icon {
        margin-bottom: 0;
    }
    .welcome-intro  {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }
}
 

/* ---------- About ---------- */

#about {
    background: white;
    padding: 35px 0 45px;
}

.about-grid {
    display: grid;
    grid-template-columns: 0.85fr 1fr;
    gap: 60px;
    align-items: center;
}

.about-visual {
    position: relative;
    aspect-ratio: 1/1.05;
    border-radius: var(--radius-lg);
    /* background: linear-gradient(150deg, var(--leaf) 0%, var(--forest) 100%); */
    overflow: hidden;
    /* box-shadow: var(--shadow-soft); */
}

.about-visual svg {
    width: 100%;
    height: 100%;
}

.about-copy p {
    color: #52594c;
    margin-bottom: 22px;
}

.pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
}

.pill {
    padding: 9px 18px;
    border-radius: 999px;
    background: var(--leaf-light);
    color: var(--leaf);
    font-size: 16px;
    font-weight: 400;
}

@media (max-width: 768px) {
    #about {
        padding: 0 0 45px;
    }
    .about-grid {
        gap: 0;
    }
}


/* ---------- Founder ---------- */

#founder {
    background: #fffdfa;
    padding: 65px 0 35px
}

.founder-grid {
    display: grid;
    grid-template-columns: 0.7fr 1fr;
    gap: 56px;
    align-items: center;
}

.founder-portrait {
    width: 100%;
    aspect-ratio: 3/3.6;
    border-radius: var(--radius-lg);
    /* background: linear-gradient(160deg, var(--forest), #0A1712); */
    display: flex;
    align-items: center;
    justify-content: center;
    /* box-shadow: var(--shadow-soft); */
    position: relative;
    overflow: hidden;
}

.founder-portrait .initials {
    font-family: var(--font-display);
    color: var(--marigold);
    font-size: 4.2rem;
    font-weight: 600;
}

blockquote.founder-quote {
    font-family: var(--font-display);
    font-size: 24px;
    color: var(--forest);
    line-height: 1.4;
    border-left: 3px solid var(--marigold);
    padding-left: 24px;
    /* margin-bottom: 24px; */
    margin: 20px 0;
}

.founder-copy p.body-text {
    color: #52594c;
    margin-bottom: 18px;
}

.founder-name strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.1rem;
    color:#16342a;
}

.founder-name span {
    font-size: 16px;
    color: #52594c;
}

.founder-copy .founder-name {
    margin-bottom: 22px;
}

@media (max-width: 768px) {
    #founder  {
        padding: 45px 0 20px;
    }
    .founder-grid {
        gap: 30px;
    }
    .founder-copy blockquote.founder-quote  {
        font-size: 18px;
    }
}


/* ---------- Vision ---------- */

#vision {
    background-color: var(--forest);
    padding: 65px 0;
}

#vision h2 {
    color: white;
}

#home-vision-para {
    color: rgb(172 169 169);
}

.vision-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.vision-card {
    background: white;
    color: black;
    border-radius: var(--radius-md);
    padding: 34px 28px;
    position: relative;
    overflow: hidden;
}

.vision-card:nth-child(2) {
    background: white;
}

.vision-card:nth-child(3) {
    background: white;
}

.vision-card h3 {
    color: rgb(0, 0, 0);
    font-size: 18px;
    margin-bottom: 12px;
}

.vision-card p {
    color: #52594c;
    font-size: 16px;
}

.vision-num {
    font-family: var(--font-display);
    font-size: 0.85rem;
    color: var(--marigold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block;
}

.home-awards-section {
    padding: 65px 0px;
    background: #fff;
}

.home-awards-container {
    max-width: 1180px;
    margin: auto;
    padding: 0 24px;
}

.home-awards-heading {
    text-align: center;
    margin-bottom: 28px;
}

.home-awards-subtitle {
    color: #d39b35;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: 600;
}

.home-awards-heading h2 {
    margin: 8px 0 10px;
    font-size: 35px;
    color: #222;
}

.home-awards-heading p {
    max-width: 600px;
    margin: auto;
    color: #52594c;
    line-height: 1.6;
}

.home-awards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.home-awards-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    box-shadow: 0 5px 20px #00000010;
    transition: .3s;
}

.home-awards-card:hover {
    transform: translateY(-6px);
}

.home-awards-image {
    aspect-ratio: 1600 / 1000;
    background: #f5f5f5;
}

.home-awards-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.home-awards-card h3 {
    margin: 15px;
    font-size: 18px;
    color: #222;
}

.home-awards-button {
    text-align: center;
    margin-top: 35px;
}

.home-awards-button a {
    display: inline-block;
    padding: 11px 24px;
    border: 1px solid #52594c;
    border-radius: 30px;
    color: #52594c;
    text-decoration: none;
    transition: .3s;
}

.home-awards-button a:hover {
    background: #222;
    color: #fff;
}

.home-awards-button span {
    margin-left: 6px;
}

@media (max-width: 768px) {
    #vision {
        padding: 45px 0;
    }
    .home-awards-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .home-awards-heading h2 {
        font-size: 30px;
    }
    .home-awards-section {
        padding: 45px 0px;
    }
    .home-awards-heading {
        margin-bottom: 30px;
    }
    .home-awards-container {
        padding: 0 16px;
    }
}


/* Two Image Grid */
.timg-gallery-grid {
    display: grid;
    /* grid-template-columns: repeat(2, 1fr); */
    grid-template-columns: 1.5fr 0.7fr;
    gap: 25px;
}

/* Image Card */
.timg-gallery-card {
    position: relative;
    /* height: 380px; */
    height: 465px;
    overflow: hidden;
    border-radius: 16px;
    background: #e2e8f0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    cursor: pointer;
}

.timg-gallery-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Hover Effect */
/* .timg-gallery-card:hover img {
    transform: scale(1.08);
} */

/* Image Overlay */
.timg-gallery-overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 65px 25px 25px;
    background: linear-gradient(
        to top,
        rgba(10, 25, 50, 0.85),
        transparent
    );
    color: #fff;
}

.timg-gallery-overlay span {
    font-size: 13px;
    font-weight: 600;
    color: #8bd0ff;
    letter-spacing: 2px;
}

.timg-gallery-overlay h3 {
    font-size: 24px;
    margin: 8px 0 0;
    font-weight: 600;
}

@media (max-width: 768px) {
    .timg-gallery-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .timg-gallery-card.timg-gallery-card-two {
        height: 100%;
    }
    .timg-gallery-card.timg-gallery-card-one {
        height: 100%;
    }
}



/* ---------- Activities ---------- */

.activity-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.activity-card {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 26px 22px;
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.activity-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--leaf-light);
    color: var(--leaf);
    display: flex;
    align-items: center;
    justify-content: center;
}

.activity-card h3 {
    font-size: 1rem;
}

.activity-card p {
    font-size: 0.88rem;
    color: var(--charcoal-soft);
    flex-grow: 1;
}

.activity-card a {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--marigold-dark);
}

.activity-card a:hover {
    text-decoration: underline;
}


/* ---------- Stats (tree-ring signature) ---------- */


/* ================= STATS / NUMBER COUNTER ================= */

.stats-section {
    background: var(--forest);
    color: var(--white);
    padding: 65px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    text-align: center;
}

.stat-item {
    padding: 10px;
}

.stat-ring {
    width: 96px;
    height: 96px;
    margin: 0 auto 18px;
    border-radius: 50%;
    border: 2px solid rgba(232, 163, 61, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.stat-ring::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    border: 1.5px solid rgba(232, 163, 61, 0.55);
}

.stat-ring span {
    font-size: 1.5rem;
}

.stat-num {
    font-size: 2rem;
    font-weight: 600;
    /* color: var(--marigold); */
    margin-bottom: 4px;
    color: #C9822A;
}

.stat-label {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.75);
}


/* Mobile */

@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
    }
    .stats-section {
        padding: 45px 0;
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------- Gallery ---------- */

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.gallery-item {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    aspect-ratio: 4/3.2;
    box-shadow: var(--shadow-card);
}

.gallery-item .g-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(150deg, var(--leaf), var(--forest));
}

.gallery-item:nth-child(2) .g-bg {
    background: linear-gradient(150deg, #C9822A, #7A5219);
}

.gallery-item:nth-child(3) .g-bg {
    background: linear-gradient(150deg, #3E7C5B, #16342A);
}

.gallery-item:nth-child(4) .g-bg {
    background: linear-gradient(150deg, #E8A33D, #A9631C);
}

.gallery-item:nth-child(5) .g-bg {
    background: linear-gradient(150deg, #244F3C, #0A1712);
}

.gallery-item:nth-child(6) .g-bg {
    background: linear-gradient(150deg, #6E8F52, #2F4B23);
}

.gallery-item svg {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    margin: auto;
    top: 38%;
    color: rgba(255, 255, 255, 0.85);
}

.gallery-tag {
    position: absolute;
    left: 16px;
    bottom: 14px;
    z-index: 2;
    background: rgba(0, 0, 0, 0.35);
    color: var(--white);
    font-size: 0.78rem;
    padding: 6px 14px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
}

.gallery-more {
    text-align: center;
    margin-top: 40px;
}


/* ---------- Team ---------- */

.team-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.team-card {
    background: var(--white);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    text-align: center;
}

.team-avatar {
    aspect-ratio: 1/1;
    background: linear-gradient(150deg, var(--leaf), var(--forest));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.8rem;
}

.team-info {
    padding: 18px 14px 22px;
}

.team-info h3 {
    font-size: 0.98rem;
    margin-bottom: 4px;
}

.team-info span {
    font-size: 0.82rem;
    color: var(--charcoal-soft);
}

.team-social {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.team-social a {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    color: var(--charcoal-soft);
}

.team-social a:hover {
    background: var(--marigold);
    border-color: var(--marigold);
    color: var(--forest-2);
}


/* ---------- CTA bands ---------- */

.cta-band {
    background: linear-gradient(135deg, var(--leaf), var(--forest));
    color: var(--white);
    border-radius: var(--radius-lg);
    padding: 56px;
    text-align: center;
    margin: 0 24px;
    max-width: calc(var(--max-w) - 48px);
    margin-inline: auto;
}

.cta-band h2 {
    color: var(--white);
    margin-bottom: 12px;
}

.cta-band p {
    color: rgba(255, 255, 255, 0.82);
    max-width: 520px;
    margin: 0 auto 30px;
}

.cta-band .hero-actions {
    justify-content: center;
}

.donate-band {
    background: var(--marigold);
    border-radius: var(--radius-lg);
    padding: 56px;
    text-align: center;
    margin: 0 24px;
    max-width: calc(var(--max-w) - 48px);
    margin-inline: auto;
}

.donate-band h2 {
    color: var(--forest-2);
}

.donate-band p {
    color: #4A3B1E;
    max-width: 520px;
    margin: 0 auto 28px;
}


/* ---------- Requests ---------- */

.request-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.request-card {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 34px;
    box-shadow: var(--shadow-card);
    border-bottom: 4px solid var(--leaf);
}

.request-card:nth-child(2) {
    border-bottom-color: var(--marigold);
}

.request-card h3 {
    margin-bottom: 12px;
    font-size: 24px;
}

.request-card p {
    color: var(--charcoal-soft);
    margin-bottom: 22px;
}


/* ---------- Testimonial ---------- */

.testimonial-card {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.testimonial-avatar {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    margin: 0 auto 22px;
    background: linear-gradient(150deg, var(--marigold), var(--marigold-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--forest-2);
    font-family: var(--font-display);
    font-size: 1.4rem;
}

.testimonial-card blockquote {
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 2vw, 1.4rem);
    color: var(--forest);
    margin-bottom: 20px;
}

.testimonial-card .founder-name {
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* ---------- Contact ---------- */

#contact {
    background-color: white;
    /* margin-bottom: 30px !important; */
}

.contact-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 50px;
}

.contact-grid h3 {
    font-size: 24px;
}

.contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 26px 0 32px;
}

.contact-info-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.contact-info-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--leaf-light);
    color: var(--leaf);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-info-item strong {
    display: block;
    font-size: 16px;
    color: #16342A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 3px;
}

.contact-info-item span {
    font-size: 16px;
    color: #52594c;
}

.map-frame {
    border-radius: var(--radius-md);
    overflow: hidden;
    aspect-ratio: 16/9;
    border: 1px solid var(--line);
}

.map-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.contact-form {
    background: var(--white);
    /* border-radius: var(--radius-lg); */
    border-radius: 20px;
    padding: 38px;
    box-shadow: var(--shadow-card);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 18px;
}

.field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.field.full {
    grid-column: 1 / -1;
}

.field label {
    font-size: 16px;
    font-weight: 600;
    color: var(--forest);
}

.field input,
.field textarea {
    border: 1.5px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
    font-family: var(--font-body);
    font-size: 0.95rem;
    /* background: var(--sand); */
    transition: border-color .2s ease;
}

.field input:focus,
.field textarea:focus {
    border-color: var(--leaf);
    outline: none;
}

.field textarea {
    resize: vertical;
    min-height: 120px;
}

.contact-form .btn {
    width: 100%;
    margin-top: 4px;
}


/* ---------- Footer ---------- */

.site-footers {
    background: var(--forest-2);
    color: rgba(255, 255, 255, 0.75);
    padding: 30px 0 28px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 50px;
}

.footer-brand .brand-text strong,
.footer-brand .brand-text span {
    color: var(--white);
}

.footer-brand p {
    /* margin-top: 16px; */
    margin: 18px 0;
    font-size: 16px;
    max-width: 320px;
    color: rgba(255, 255, 255, 0.65);
}

.footer-col h4 {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 18px;
    font-family: var(--font-body);
    font-weight: 600;
    /* letter-spacing: 0.03em; */
}

.footer-col ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-col a,
.footer-col li {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.65);
}

.footer-col a:hover {
    color: var(--marigold);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 26px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
}
.footer-bottom a:hover {
    color: #E8A33D;
}


/* ============================================================
   Responsive
   ============================================================ */

@media (max-width: 1024px) {
    .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .activity-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 40px;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .hero-inner {
        grid-template-columns: 1fr;
    }
    .hero-visual {
        max-width: 420px;
        aspect-ratio: 16/9;
    }
    .about-grid,
    .founder-grid,
    .contact-grid {
        grid-template-columns: 1fr;
    }
    .about-visual,
    .founder-portrait {
        max-width: 420px;
        margin: 0 auto;
    }
}

@media (max-width: 860px) {
    .nav-menu {
        display: none;
    }
    .nav-toggle {
        display: flex;
    }
    .nav-cta {
        display: none;
    }
    .nav-menu.mobile-open {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--sand);
        border-bottom: 1px solid var(--line);
        padding: 10px 20px 24px;
        box-shadow: var(--shadow-card);
        gap: 2px;
    }
    .nav-menu.mobile-open>li {
        width: 100%;
    }
    .nav-menu.mobile-open>li>a,
    .nav-menu.mobile-open>li>button.nav-link {
        width: 100%;
        justify-content: space-between;
    }
    .nav-menu.mobile-open .dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        display: none;
        padding-left: 14px;
        margin-top: 2px;
    }
    .nav-menu.mobile-open li.open .dropdown {
        display: block;
    }
    section {
        padding: 64px 0;
    }
    .vision-grid,
    .request-grid {
        grid-template-columns: 1fr;
    }
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .form-row {
        grid-template-columns: 1fr;
    }
    .cta-band,
    .donate-band {
        padding: 40px 26px;
        margin: 0 16px;
    }
}

@media (max-width: 600px) {
    .hero {
        height: 250px !important;
        min-height: 0vh;
    }
    .container {
        padding: 0 16px;
    }
    .feature-grid,
    .activity-grid,
    .team-grid {
        grid-template-columns: 1fr 1fr;
    }
    .gallery-grid {
        grid-template-columns: 1fr;
    }
    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }
    .hero-inner {
        padding: 100px 18px 60px;
    }
    .hero-actions .btn {
        flex: 1 1 auto;
    }
    .welcome-intro {
        grid-template-columns: 1fr;
    }
    .founder-copy blockquote.founder-quote {
        padding-left: 16px;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .footer-grid {
        margin-bottom: 35px;
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 420px) {
    .feature-grid,
    .team-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    * {
        transition: none !important;
        animation: none !important;
    }
}


/* Header */

.header-outer {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 999;
    /* background: rgba(251, 246, 236, 0.9); */
    border-bottom: 1px solid #2925251a;
    /* padding-top: 15px !important; */
    /* padding-bottom: 10px; */
    /* padding-top: 15px; */
    /* padding-bottom: 10px; */
    max-width: 100%;
    /* padding-left: 30px; */
    /* padding-right: 30px; */
    background-color: #fff;
}

.header-outer .container {
    max-width: 1200px;
    display: grid;
    /* grid-template-columns: 1fr 1.5fr auto; */
    grid-template-columns: 0.9fr auto;
    width: 100%;
    /* padding-left: 2%; */
    /* padding-right: 2%; */
    align-items: center;
    padding: 10px;
    background: #ffffff14;
    border-radius: 84px;
}

.header-left a {
    display: flex;
}

.header-left img {
    max-width: 85px;
}

#mega-menu-wrap-menu-1 {
    background: none;
    color: #fff;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 {
    text-align: left;
    padding: 0px;
    background: none;
    /* background: transparent; */
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item>a.mega-menu-link {
    line-height: 40px;
    height: 40px;
    padding: 0px 16px;
    vertical-align: baseline;
    width: auto;
    display: block;
    /* color: #fff; */
    color: #000;
    text-transform: none;
    text-decoration: none;
    text-align: left;
    /* background-color: rgba(0, 0, 0, 0); */
    border: 0;
    border-radius: 0px;
    font-family: inherit;
    font-size: 16px;
    font-weight: normal;
    outline: none;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item>a.mega-menu-link:hover {
    background: none;
    color: #000;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    /* background-color: #333; */
    color: #000;
    /* font-weight: normal; */
    /* text-decoration: none; */
    /* border-color: #fff; */
}

.site-footers:not(.dynamic-footer) {
    /* max-width: 12000px; */
}

span.mega-indicator:hover {
    background: #e8e5d9;
}

a.mega-menu-link:hover {
    background: rgba(251, 246, 236, 0.9);
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item.mega-current-menu-item>a.mega-menu-link {
    background: none;
}

#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-box
 {
    width: 40px;
    height: 24px;
    display: inline-block;
    position: relative;
    outline: 0;
}


@media (max-width: 768px)  {
.header-outer {
    padding-left: 15px;
    padding-right: 15px;
}
.header-outer .container {
    padding: 7px;
}
.header-left img {
    max-width: 50px;
}

    
}

@media only screen and (max-width: 768px) {
    #mega-menu-wrap-menu-1 .mega-menu-toggle {
    background: none !important;
}
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {
        left: 0;
}
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {
        /* display: flex; */
        visibility: visible;
}
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open:after {
        position: fixed;
        width: 100%;
        height: 99999px;
        content: "";
        top: 0;
        left: 0;
        opacity: 0.5;
        background: black;
        cursor: pointer;
        z-index: 9999999998;
    }
        #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        background: #fff;
        height: 100%;
        max-height: 100%;
        gap: 0;
        /* display: block !important; */
    }
        #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        flex-direction: column;
        flex-wrap: nowrap;
        /* background: #222; */
        padding: 0px;
        /* display: none; */
        position: fixed;
        width: 300px;
        max-width: 100%;
        /* height: 100dvh; */
        /* max-height: 100dvh; */
        top: 0;
        box-sizing: border-box;
        transition: left 200ms ease-in-out, right 200ms ease-in-out, visibility 200ms ease-in-out;
        overflow-y: auto;
        overflow-x: hidden;
        z-index: 9999999999;
        overscroll-behavior: contain;
        visibility: hidden;
        /* display: flex; */
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item>a.mega-menu-link {
        color: #000;
        font-size: 16px;
        font-weight: 700;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        /* left: -300px; */
    }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item.mega-current-menu-item>a.mega-menu-link {
    color: #16342A !important;
    background: none;
    font-size: 16px;
        font-weight: 700;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item>a.mega-menu-link:hover {
    background: none;
    color: #16342A;
    font-size: 16px;
        font-weight: 700;

    }
        #mega-menu-wrap-menu-1 .mega-menu-toggle {
        z-index: 1 !important;
        cursor: pointer !important;
        /* background: #222 !important; */
        border-radius: 2px !important;
        line-height: 40px !important;
        height: 40px !important;
        text-align: left !important;
        user-select: none !important;
        outline: none !important;
        white-space: nowrap !important;
        display: flex !important;
        position: relative !important;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle ~ button.mega-close
 {
        display: flex;
        position: fixed;
        top: 0;
        z-index: 99999999999;
        cursor: pointer;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        opacity: 0;
    }
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        /* visibility: visible; */
        /* opacity: 1; */
        left: calc(min(100vw - 40px, 300px));
        right: auto;
    }

    
}

/* vision and mission */


/* Section Wrapper */

.about-grid-section {
    padding: 65px 0px;
}


/* CSS Grid Layout */

.about-grid-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}


/* Card Styling */

.grid-card {
    background: #ffffff;
    padding: 40px 32px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.grid-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 20px -3px rgba(0, 0, 0, 0.1);
}

.card-icon {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.grid-card h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: #0f172a;
}

.grid-card p {
    font-size: 1rem;
    line-height: 1.6;
    color: #52594c;
}


/* Responsive Breakdown for Tablets & Mobile */

@media (max-width: 900px) {
    .about-grid-section {
        padding: 45px 0px;
    }
    .about-grid {
        grid-template-columns: 1fr;
        /* Stacks cards vertically on smaller screens */
        /* gap: 24px; */
    }
    .about-grid-inner {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


/* end */


/* About page */


/* ============================================================
   About Us Page (inner page)
   ============================================================ */


/* ---------- Breadcrumb ---------- */

.breadcrumb-bar {
    background: var(--white);
    /* border-bottom: 1px solid var(--line); */
    padding: 14px 0;
    font-size: 0.85rem;
}

.breadcrumb-bar a {
    color: var(--leaf);
    font-weight: 600;
}

.breadcrumb-bar span {
    color: var(--charcoal-soft);
    margin: 0 6px;
}

.breadcrumb-bar strong {
    color: var(--charcoal-soft);
    font-weight: 600;
    letter-spacing: 0.03em;
}


/* ---------- About hero (image + intro text) ---------- */

.about-hero {
    padding: 65px 0 0px;
}

.about-hero-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 52px;
    align-items: flex-start;
    /* padding-top: 13%; */
    
}

.about-hero-media {
    border-radius: var(--radius-md);
    overflow: hidden;
    aspect-ratio: 4/3.1;
    /* background: linear-gradient(150deg, var(--leaf), var(--forest)); */
    /* box-shadow: var(--shadow-card); */
}

.about-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-hero-copy h1 {
    font-size: clamp(2rem, 3.4vw, 2.6rem);
    margin-bottom: 22px;
}

.about-hero-copy p {
    color: #52594c;
    margin-bottom: 18px;
    font-size: 1.02rem;
}

.accent-text {
    color: var(--marigold-dark);
    font-weight: 700;
}

.about-hero-quote {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 700;
    color: var(--marigold-dark);
    font-size: 1.15rem;
    margin-top: 26px;
    line-height: 1.5;
}


/* ---------- Section divider rule ---------- */

.rule {
    border: none;
    border-top: 1px solid var(--line);
    margin: 56px 0;
}


/* ---------- Founder message (long form) ---------- */

/* .founder-msg {
    padding-top: 8px;
} */

section.founder-msg {
    padding: 0 0 65px;
}

.founder-msg-grid {
    display: grid;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 52px;
    align-items: start;
}

.founder-msg-media {
    text-align: center;

    position: sticky;
    top: 25px;
}

.founder-msg-photo {
    /* border-radius: var(--radius-md); */
    overflow: hidden;
    /* aspect-ratio: 1/1; */
    /* max-width: 240px; */
    margin: 0 auto 18px;
    /* background: linear-gradient(150deg, var(--leaf), var(--forest));
  box-shadow: var(--shadow-card); */
}

.founder-msg-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.founder-msg-media strong {
    display: block;
    font-size: 0.98rem;
    color: var(--forest);
}

.founder-msg-media span {
    display: block;
    font-size: 0.9rem;
    color: var(--charcoal-soft);
    margin-top: 2px;
}

.founder-msg-copy .lede {
    font-family: var(--font-display);
    font-style: italic;
    color: var(--charcoal-soft);
    font-size: 1.08rem;
    margin-bottom: 22px;
}

.founder-msg-copy p {
    color: #52594c;
    margin-bottom: 16px;
    font-size: 0.98rem;
}

.founder-msg-copy .callout {
    color: var(--marigold-dark);
    font-weight: 700;
}

.founder-msg-copy .vow {
    color: var(--forest);
    font-weight: 700;
    font-style: italic;
}

.founder-msg-copy .duty-line {
    font-weight: 700;
    color: var(--forest);
    margin-bottom: 10px;
}

.tamil-line {
    font-weight: 700;
    color: var(--forest);
    font-size: 1.05rem;
    margin-top: 4px;
}


/* ---------- Supporters strip ---------- */

.supporters {
    padding: 0 0 64px;
    text-align: center;
    overflow: hidden;
}

.supporters h2 {
    font-size: 1.3rem;
    margin-bottom: 34px;
}


/* Slider container */

.supporters-slider {
    width: 100%;
    overflow: hidden;
    position: relative;
}


/* Moving row */

.supporters-track {
    display: flex;
    align-items: center;
    width: max-content;
    gap: 83px;
    animation: supportersLoop 20s linear infinite;
}


/* Logo */

.supporter-logo {
    width: 160px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}


/* Actual image */

.supporter-logo img {
    display: block;
    max-width: 150px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
}


/* Infinite loop */

@keyframes supportersLoop {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-50% - 41.5px));
    }
}


/* Optional: pause on hover */

.supporters-slider:hover .supporters-track {
    animation-play-state: paused;
}


/* ---------- Volunteer CTA band (dark, image overlay) ---------- */

.volunteer-band {
    position: relative;
    padding: 110px 24px;
    text-align: center;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(15, 36, 29, 0.75), rgba(10, 23, 18, 0.92)), linear-gradient(160deg, #1c4433, #0A1712 70%);
    color: var(--white);
    margin-bottom: 65px;
}

.volunteer-band-roots {
    position: absolute;
    inset: 0;
    opacity: 0.25;
    pointer-events: none;
}

.volunteer-band h2 {
    position: relative;
    z-index: 2;
    color: var(--white);
    font-style: italic;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    margin-bottom: 34px;
}

.volunteer-band .btn-outline {
    position: relative;
    z-index: 2;
    border-color: rgba(255, 255, 255, 0.7);
    letter-spacing: 0.08em;
    font-size: 0.85rem;
    padding: 14px 40px;
    border-radius: 2px;
}
.volunteer-band .btn-outline:hover {
    color: #fff;
}


/* ---------- Responsive: About page ---------- */

@media (max-width: 900px) {
    .about-hero-grid,
    .founder-msg-grid {
        grid-template-columns: 1fr;
    }
    .founder-msg-grid {
        gap: 18px;
    }
    .about-hero-grid {
        gap: 16px;
    }
    .about-hero-media {
        max-width: 460px;
        margin: 0 auto;
    }
    .founder-msg-media {
        /* max-width: 260px; */
        margin: 0 auto;
        position: unset;
    }
    section.founder-msg {
        padding: 0 0 45px;
    }
    .founder-msg-copy p {
        margin-bottom: 0;
    }
    .supporters-row {
        gap: 28px 34px;
    }
}

@media (max-width: 600px) {
    .about-hero {
        padding: 45px 0 0px;
    }
    .about-hero-copy p {
        margin-bottom: 0;
    }
    .rule {
        margin: 40px 0;
    }
    .volunteer-band {
        padding: 74px 20px;
        margin-bottom: 45px;
    }
    .supporter-logo {
        font-size: 1rem;
    }


    section.gallery-outer {
        padding: 45px 0 !important;
    }
    .gallery-outer .container {
        padding: 0 16px !important;
    }
    
}


/* end */


/* What we do */


/* Grid Container */

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    /* gap: 2rem; */
        gap: 25px;
    row-gap: 25px;
    max-width: 1200px;
    width: 100%;
    /* padding-top: 11%; */
}


/* Single Card Wrapper */

.card-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background-color: #fff;
    border-radius: 20px;
}


/* Inner Card Image Container */

.card-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    /* border-radius: 20px; */
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    overflow: hidden;
    /* box-shadow: 0 8px 24px rgba(22, 52, 42, 0.08); */
    background-color: var(--color-leaf);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-image-wrapper:hover {
    /* transform: translateY(-4px); */
    /* box-shadow: 0 12px 28px rgba(22, 52, 42, 0.15); */
}

.card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* Outer Text Below the Card */

.card-title {
    text-align: center;
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 600;
    color: #16342a;
    line-height: 1.2;
    transition: color 0.2s ease;
    padding: 10px;
}

.card-item:hover .card-title {
    color: var(--color-leaf);
}


/* end */


/* gallery page*/

.row {
    display: flex;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-top: 15px;
}

section.gallery-outer {
    /* padding-top: 5%; */
    padding: 65px 0;
    background: #fffdfa;
}

.work-card img {
    border-radius: 20px;
}

.gallery-title {
    text-align: center;
}


/* end */


/* Donate page*/

.hero-banner {
    width: 100%;
    background: #111;
    overflow: hidden;
}

.hero-banner img {
    width: 100%;
    height: auto;
    max-height: 380px;
    object-fit: cover;
    display: block;
}


/* Breadcrumb */


/* .breadcrumb {
      font-size: 0.875rem;
      color: var(--text-muted);
      margin-bottom: 1.5rem;
    } */


/* .breadcrumb a {
      color: var(--primary-color);
      text-decoration: none;
      font-weight: 500;
    }

    .breadcrumb a:hover {
      text-decoration: underline;
    } */


/* Main Grid Layout */

.donation-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start;
}


/* Left Column: Info & Bank Details */

.info-card {
    background-color: #ffffff;
    padding: 2.5rem;
    border-radius: 25px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.trust-desc {
    font-size: 1rem;
    color: #52594c;
    margin-bottom: 1.5rem;
}

.info-card h3 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1.25rem;
    color: #1a1a1a;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e0e0e0;
}

.bank-details {
    list-style: none;
    margin-bottom: 2rem;
}

.bank-details li {
    margin-bottom: 0.6rem;
    font-size: 0.95rem;
}

.bank-details strong {
    color: #333;
    display: inline-block;
    width: 140px;
}

.btn-action {
    display: inline-block;
    width: 100%;
    text-align: center;
    background-color: #16342a;
    color: #ffffff;
    padding: 0.85rem 1.5rem;
    font-family: 'Work Sans', -apple-system, Segoe UI, sans-serif;
    font-weight: 600;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.btn-action:hover {
    background-color: #2e7d32;
    color: #fff;
}


/* Right Column: Form */

.form-card {
    background-color: #ffffff;
    padding: 2.5rem;
    border-radius: 25px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.form-group {
    margin-bottom: 1.25rem;
}

.form-group label {
    display: block;
    font-weight: 500;
    font-size: 0.9rem;
    margin-bottom: 0.4rem;
    color: #333;
}

.form-group input {
    width: 100%;
    padding: 0.75rem 1rem;
    font-family: 'Work Sans', -apple-system, Segoe UI, sans-serif;
    font-size: 0.95rem;
    border: 1px solid #e0e0e0;
    border-radius: calc(var(--radius) - 2px);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-group input:focus {
    outline: none;
    border-color: #388e3c;
    box-shadow: 0 0 0 3px rgba(56, 142, 60, 0.15);
}

.page-title {
    font-size: 32px;
    margin-bottom: 30px;
    text-align: center;
    color: #000;
}


/* Responsive Design */

@media (max-width: 768px) {
    #donate-page {
        padding: 35px 16px !important;
    }
    .donation-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .info-card {
        padding: 1.5rem;
    }
    .trust-desc {
            margin-bottom: 0;
    }
    .form-card {
        padding: 1.5rem;
    }
    .scanner-title {
        margin-bottom: 0;
    }
    .scanner-img {
    margin-top: 10px;
    }
    .page-title {
        font-size: 1.75rem;
        margin-bottom: 22px;
    }
    .bank-details strong {
        display: block;
        width: 100%;
        margin-bottom: 0.1rem;
    }
    .card-grid {
        row-gap: 16px;
    }
    
}

#donate-page {
    /* padding-top: 4%; */
    /* padding-bottom: 4%; */
    padding: 65px 24px;
}

.scanner-title {
    text-align: center;
    margin-top: 0;
    color: #000;
    font-size: 35px;
}

.scanner-img {
    margin-top: 22px;
}

.scanner-img img {
    width: 100%;
    object-fit: cover;
    /* height: 59%; */
    /* margin-left: 50px; */
}


/* end */


/* contact page */

section.contact-section {
    padding-bottom: 30px;
}

fieldset.hidden-fields-container h1 {
    font-size: 32px;
}


/* Layout Container */

.contact-container {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    max-width: 1200px;
    /* margin: 40px auto; */
    font-family: Helvetica, sans-serif;
    color: #333;
    /* padding-top: 5%; */
}

.contact-info,
.contact-form-wrapper {
    flex: 1;
}


/* Left Column Styling */

.org-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: center;
    margin-top: 0;
}

.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 25px;
}

.icon-box {
    width: 32px;
    height: 32px;
    background-color: var(--forest);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
    font-size: 15px;
}

.icon-box i {
    color: #ffffff;
}

.info-details strong {
    display: block;
    font-size: 18px;
    margin-bottom: 4px;
}

.info-details p {
    margin: 0;
    line-height: 1.5;
    color: #52594c;
}


@media (max-width: 768px) {
    section.contact-section {
        padding: 45px 0 !important;
    }
}  

/* Right Column (CF7) Styling */

.wpcf7-form p {
    margin-bottom: 20px;
}

.wpcf7-form label {
    display: block;
    color: #52594c;
    font-size: 16px;
    margin-bottom: 5px;
}

.wpcf7-text,
.wpcf7-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #e0e0e0;
    border-radius: 0;
    background-color: #fff;
    box-sizing: border-box;
    font-size: 14px;
}

.wpcf7-textarea {
    height: 100px;
    resize: vertical;
}

.wpcf7-text:focus,
.wpcf7-textarea:focus {
    border-color: #4CAF50;
    outline: none;
}


/* Submit Button Styling */

.wpcf7-submit {
    background-color: var(--forest);
    color: #ffffff;
    border: none;
    padding: 12px 30px;
    font-size: 15px;
    cursor: pointer;
    border-radius: 0;
    transition: background 0.3s ease;
}

.wpcf7-submit:hover {
    background-color: #16342A;
}
[type=submit]:not(:disabled) {
    background-color: #16342A;
}

/* Responsive view for mobile screens */

@media (max-width: 768px) {
    .contact-container {
        flex-direction: column;
        gap: 10px;
    }
}


/* =========================
   SLIDER
========================= */

.slider {
    /* width: 1200%;
    height: 500px; */
    width: 100%;
    height: 100%;
    overflow: hidden;
    /* position: relative; */
    position: absolute;
}


/* =========================
   SLIDES
========================= */

.slides {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.7s ease-in-out;
}

.slide {
    min-width: 100%;
    height: 100%;
    position: relative;
}


/* Image */

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Dark overlay */

.slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
}


/* =========================
   CONTENT
========================= */


/* .home-content-encryt {
    position: absolute;

    z-index: 2;

    top: 50%;
    left: 10%;

    transform: translateY(-50%);

    color: rgb(246, 242, 242);
}

.home-content-encryt h1 {
    font-size: 48px;
    margin-bottom: 15px;
}

.home-content-encryt p {
    font-size: 20px;
    margin-bottom: 25px;
}

.home-content-encryt button {
    padding: 12px 25px;

    border: none;
    border-radius: 5px;

    background: white;
    color: black;

    font-size: 16px;

    cursor: pointer;
}

.home-content-encryt button:hover {
    background: #ddd;
} */


/* =========================
   ARROWS
========================= */

.prev,
.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 45px;
    height: 45px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 22px;
    cursor: pointer;
}

.prev {
    left: 20px;
}

.next {
    right: 20px;
}

.prev:hover,
.next:hover {
    background: rgba(0, 0, 0, 0.8);
}


/* =========================
   SMALL DOTS
========================= */

.dots {
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 5;
}

.dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin: 3px;
    background: white;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0.5;
    transition: 0.3s;
}

.dot.active {
    opacity: 1;
    transform: scale(1.3);
}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {
    .slider {
        height: 320px;
    }
    /* .home-content-encryt {
        left: 7%;
    }

    .home-content-encryt h1 {
        font-size: 30px;
    }

    .home-content-encryt p {
        font-size: 15px;
    }

    .home-content-encryt button {
        padding: 10px 18px;
        font-size: 14px;
    } */
    .prev,
    .next {
        width: 35px;
        height: 35px;
        font-size: 17px;
    }
    .prev {
        left: 10px;
    }
    .next {
        right: 10px;
    }
}


/* =========================
   RESET
========================= */

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

.gallery-outer {
    font-family: Helvetica, sans-serif;
    background: #ffffff;
    color: #111111;
}


/* =========================
   HOME TEAM SECTION
========================= */


/* =========================================
   TEAM SECTION
========================================= */

.gallery-outer {
    width: 100%;
    padding: 60px 20px 50px;
    background: #ffffff;
    overflow: hidden;
}

.gallery-title {
    font-size: 38px;
    font-weight: 700;
    color: #151515;
    text-align: center;
    margin: 0 0 25px;
    position: relative;
}

.gallery-title::after {
    display: none;
    content: "";
    /* display: block; */
    width: 65px;
    height: 4px;
    background: #ff2868;
    border-radius: 10px;
    margin: 15px auto 0;
}

/* Main container */

.gallery-outer .container {
    max-width: 1180px;
    padding: 0 24px;
    width: 100%;
    margin: 0 auto;
}

.gallery-outer .row {
/*     display: block; */
    
    margin: 0;
    width: 100%;
}
@media (max-width: 768px) {
    .gallery-outer .row {
            grid-template-columns: 1fr;
    }
    .gallery-title {
        margin-bottom: 10px !important; 
    }
}
.work-content.mt-3 h4 {
        font-size: 18px !important;
        margin: 15px;
}

.work-content.mt-3 h4 {
    font-size: 18px !important;
    margin: 7px 15px;
    padding: 12px 0 15px;
}
.work-card {
    background: #fff;
    border-radius: 20px;
}



/* =========================================
   TEAM GRID
========================================= */

.home-team-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    /* column-gap: 38px;
    row-gap: 73px; */
    column-gap: 28px;
    row-gap: 65px;
    align-items: start;
    width: 100%;
    font-family: Helvetica;
}

/* =========================================
   TEAM CARD
========================================= */

.home-team-card {
    position: relative;
    min-width: 0;
    /* min-height: 225px; */
    min-height: 210px;
    margin-top: 35px;
    background: #ffffff;
    border: 0;
    /* border-top: 6px solid #ff2868; */
    border-top: 5px solid #E8A33D;
    border-radius: 18px;
    /* box-shadow: 0 7px 16px rgba(39, 157, 231, 0.15); */
    box-shadow: 0 7px 16px rgb(157 157 157 / 38%);
    text-align: center;
    transition: transform 0.35s ease,
                box-shadow 0.35s ease;
}

/* Card hover animation */

.home-team-card:hover {
    transform: translateY(-8px);
    /* box-shadow: 0 13px 28px rgba(39, 157, 231, 0.22); */
}

/* Remove default link styling */

.home-team-card > a {
    display: block;
    position: relative;
    height: 100%;
    min-height: 264px;
    color: #111111;
    text-decoration: none !important;
}

/* =========================================
   TEAM MEMBER IMAGE
========================================= */

.home-team-image {
    position: relative;
    width: 150px;
    height: 150px;
    margin: -85px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 50%;
    z-index: 2;
}

/* Team portrait */

.home-team-image img {
    display: block;
    width: 145px;
    height: 145px;
    object-fit: contain;
    object-position: center bottom;
    border-radius: 50%;
    background: #ffffff;
    border: none;
    outline: none;
    box-shadow: none;
    transition: transform 0.35s ease;
}

.home-team-card:hover .home-team-image img {
    transform: scale(1.04);
}

/* =========================================
   LINKEDIN BADGE
   CSS-created badge without changing PHP
========================================= */

.home-team-image::after {
    content: "in";
    position: absolute;
    right: -1px;
    bottom: 5px;
    width: 48px;
    height: 48px;
    /* display: flex; */
    display: none;
    align-items: center;
    justify-content: center;
    background: #087db5;
    color: #ffffff;
    font-family: Helvetica, sans-serif;
    font-size: 33px;
    font-weight: 700;
    letter-spacing: -2px;
    line-height: 1;
    border-radius: 50%;
    border: 3px solid #ffffff;
    box-sizing: border-box;
    z-index: 3;
}

/* =========================================
   TEAM MEMBER DETAILS
========================================= */

.home-team-info {
    padding: 33px 18px 0px;
    /* padding: 8px 18px 30px; */
}

.home-team-info h3 {
    margin: 0 0 2px;
    padding: 0;
    color: #111111;
    font-family: Helvetica;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.home-team-info p {
    margin: 0;
    padding: 0;
    color: #111111;
    font-family: Helvetica;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}

/* Remove unwanted theme decorations */

.home-team-card a::before,
.home-team-card a::after {
    box-shadow: none;
}

/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .gallery-outer {
        padding: 45px 22px;
    }

    .gallery-title {
        font-size: 32px;
        margin-bottom: 60px;
    }

    .home-team-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 28px;
        row-gap: 100px;
    }

    .home-team-card {
        min-height: 255px;
    }

    .home-team-card > a {
        min-height: 249px;
    }

    .home-team-image {
        width: 145px;
        height: 145px;
        margin-top: -78px;
    }

    .home-team-image img {
        width: 132px;
        height: 132px;
    }

    .home-team-image::after {
        width: 43px;
        height: 43px;
        font-size: 29px;
    }

    .home-team-info h3 {
        font-size: 25px;
    }

    .home-team-info p {
        font-size: 17px;
    }
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 600px) {

    .gallery-outer {
        padding: 35px 18px 45px;
    }

    .gallery-title {
        font-size: 29px;
        margin-bottom: 65px;
    }

    .home-team-container {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 67px;
        max-width: 420px;
        margin: 0 auto;
    }

    .home-team-card {
        width: 100%;
        min-height: 175px;
        margin-top: 25px;
        border-top-width: 5px;
        border-radius: 16px;
    }

    .home-team-card > a {
        min-height: 230px;
    }

    .home-team-image {
        width: 135px;
        height: 135px;
        margin-top: -72px;
    }

    .home-team-image img {
        width: 123px;
        height: 123px;
    }

    .home-team-image::after {
        width: 40px;
        height: 40px;
        right: 0;
        bottom: 3px;
        font-size: 27px;
        border-width: 2px;
    }

    .home-team-info {
        padding: 20px 14px 0px;
    }

    .home-team-info h3 {
        font-size: 22px !important;
        line-height: 1.35;
        margin-bottom: 5px;
    }

    .home-team-info p {
        font-size: 16px !important;
        line-height: 1.6;
    }
}

/* Small mobile devices */

@media (max-width: 360px) {

    .gallery-outer {
        padding-right: 14px;
        padding-left: 14px;
    }

    .home-team-info h3 {
        font-size: 21px;
    }

    .home-team-info p {
        font-size: 15px;
    }
}

/* Respect reduced-motion preference */

@media (prefers-reduced-motion: reduce) {
    .home-team-card,
    .home-team-image img {
        transition: none;
    }

    .home-team-card:hover {
        transform: none;
    }
}


/* .home-team-section {
    width: 100%;
    padding: 80px 40px;
}

.home-team-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    
} */


/* =========================
   HOME TEAM CARD
========================= */

/* .home-team-card {
    width: 100%;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-team-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
} */


/* =========================
   HOME TEAM IMAGE
   1600 x 1000
========================= */

/* .home-team-image {
    width: 100%;
    aspect-ratio: 1600 / 1000;
    height: 400px;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
}

.home-team-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.home-team-card:hover .home-team-image img {
    transform: scale(1.03);
} */


/* =========================
   HOME TEAM INFO
========================= */

/* .home-team-info {
    padding: 16px 12px 18px;
    text-align: center;
    background: #ffffff;
}

.home-team-info h3 {
    margin: 0 0 5px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
}

.home-team-info p {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    color: #666666;
    line-height: 1.4;
} */


/* =========================
   TABLET
========================= */

/* @media (max-width: 900px) {
    .home-team-section {
        padding: 60px 30px;
    }
    .home-team-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
} */


/* =========================
   MOBILE
========================= */

/* @media (max-width: 600px) {
    .home-team-section {
        padding: 50px 20px;
    }
    .home-team-container {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .home-team-info {
        padding: 14px 10px 16px;
    }
    .home-team-info h3 {
        font-size: 17px;
    }
    .home-team-info p {
        font-size: 13px;
    }
} */


/* =========================
   RESET
========================= */

* {
    box-sizing: border-box;
}

.home-id-request-home {
    margin: 0;
    padding: 0;
    background: #ffffff;
    color: #444444;
}


/* =========================
   PAGE
========================= */

.id-card-page {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    /* padding: 2% 7%; */
    /* padding: 4% 7% 5%; */
    padding: 65px 24px;
}


/* =========================
   HEADER
========================= */

.id-card-title {
    margin: 0;
    padding-top: 5px;
    text-align: center;
    font-size: 32px;
    line-height: 1.3;
    font-weight: bold;
    color: #222222;
}

.id-card-trust-name {
    font-size: 20px;
    font-weight: bold;
    margin-top: 25px;
    text-align: center;
}


/* =========================
   MAIN CONTENT
========================= */

.id-card-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 8%;
    padding-top: 40px;
}


/* =========================
   LEFT COLUMN
========================= */

.id-card-left-column {
    width: 100%;
}


/* =========================
   LOGO
========================= */

.id-card-logo-wrapper {
    width: 100%;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.id-card-logo {
    width: 390px;
    max-width: 90%;
    height: auto;
    display: block;
}


/* =========================
   INSTRUCTIONS
========================= */

.id-card-instructions {
    border-top: 1px solid #aaaaaa;
    padding-top: 34px;
    font-size: 16px;
    line-height: 1.65;
    color: #555555;
}

.id-card-instructions p {
    margin: 0 0 8px;
    color: #52594c;
}


/* =========================
   ACCOUNT DETAILS
========================= */

.id-card-account-details {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.35;
}

.id-card-account-details h3 {
    margin: 0 0 18px;
    font-size: 20px;
    font-weight: bold;
    color: #333333;
}

.id-card-account-details p {
    margin: 0 0 7px;
}

.id-card-account-details strong {
    color: #444444;
}


/* =========================
   DONATE BUTTON
========================= */

.id-card-donate-btn {
    display: inline-block;
    margin-top: 22px;
    padding: 8px 20px;
    background: var(--forest);
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: 1px;
    transition: background 0.2s ease;
}

.id-card-donate-btn:hover {
    background: #16342a;
}


/* =========================
   RIGHT COLUMN
========================= */

.id-card-right-column {
    width: 100%;
}


/* =========================
   FORM GROUP
========================= */

.id-card-form-group {
    margin-bottom: 43px;
}

.id-card-form-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
    color: #777777;
}

.id-card-form-group label span {
    color: #555555;
}


/* =========================
   INPUT
========================= */

.id-card-form-group input {
    width: 100%;
    height: 83px;
    padding: 10px 14px;
    border: 1px solid #d4d4d4;
    border-radius: 0;
    outline: none;
    background: #ffffff;
    font-size: 17px;
    transition: border-color 0.2s ease;
}

.id-card-form-group input:focus {
    border-color: #999999;
}


/* =========================
   SEND BUTTON
========================= */

.id-card-send-btn {
    width: 105px;
    height: 61px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: #4aa82e;
    color: #ffffff;
    font-family: Helvetica, sans-serif;
    font-size: 24px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.id-card-send-btn:hover {
    background: #398c23;
}

div#wpcf7-f12-o1 h1 {
    font-size: 32px;
        margin-top: 0;
}
section.contact-section {
    padding: 65px 0;
}

/* =========================
   TABLET
========================= */

@media (max-width: 900px) {
    .id-card-page {
        /* padding: 0 5%; */
        padding: 45px 16px;
    }
    .id-card-trust-name {
        margin-top: 45px;
        margin-bottom: 50px;
    }
    .id-card-content {
        grid-template-columns: 1fr;
        row-gap: 35px;
    }
    .id-card-logo-wrapper {
        height: auto;
        margin-bottom: 0px;
    }
    .id-card-logo {
        width: 330px;
    }
}


/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {
    .id-card-page {
        /* padding: 0 20px; */
        padding: 45px 16px;
    }
    .id-card-title {
        font-size: 22px;
    }
    .id-card-trust-name {
        margin: 20px 0 20px;
        font-size: 20px;
    }
    .id-card-logo {
        width: 280px;
    }
    .id-card-instructions {
        padding-top: 25px;
        font-size: 16px;
        line-height: 1.55;
    }
    .id-card-account-details {
        font-size: 16px;
        margin-top: 32px;
    }
    .id-card-account-details h3 {
        font-size: 22px;
    }
    .id-card-form-group {
        margin-bottom: 30px;
    }
    .id-card-form-group label {
        font-size: 15px;
    }
    .id-card-form-group input {
        height: 60px;
    }
    .id-card-send-btn {
        width: 100px;
        height: 55px;
        font-size: 21px;
    }
    .id-card-donate-btn {
        font-size: 16px;
        margin-top: 10px;
    }
}


/* ========================================
   JOIN US SECTION
======================================== */

.join-us-section {
    width: 100%;
    padding: 65px 0px;
    background: #ffffff;
    box-sizing: border-box;
}

.join-us-container {
    width: 100%;
    max-width: 1180px;
    padding: 0 24px;
    margin: 0 auto;
}


/* ========================================
   LOGO
======================================== */

.join-us-logo {
    text-align: center;
    margin-bottom: 15px;
}

.join-us-logo img {
    display: inline-block;
    width: 390px;
    height: 260px;
    object-fit: contain;
}
li.contact-submit p {
    margin-bottom: 0;
}
li.contact-submit {
    list-style: none;
}
.wpcf7-list-item {
    margin: 0 0 0 0em;
}

@media (max-width: 768px) {
    .join-us-logo img {
        width: 100%;
    height: 100%;
        object-fit: cover;
    }
    .join-us-container {
        padding: 0 16px;
    }
    .join-us-section {
            padding: 45px 0px;
    }
    /* .wpcf7-form p {
        margin-bottom: 0px;
    } */
     li.contact-submit p {
    margin-bottom: 0;
}
}


/* ========================================
   ORGANIZATION NAME
======================================== */

.join-us-organization {
    margin-bottom: 35px;
    text-align: center;
    color: var(--forest);

    font-size: 18px;
    font-weight: bold;
}


/* ========================================
   HEADER
======================================== */

.join-us-header {
    margin-bottom: 40px;
    padding-top: 2px;
    text-align: center;
}

.join-us-header h1 {
    font-size: 32px;
}

.join-us-header h2 {
    margin: 0 0 8px;
    color: #176b2c;
    font-size: 30px;
    font-weight: 700;
}

.join-us-header p {
    margin: 0;
    color: #555555;
    font-size: 17px;
    font-weight: 600;
}


/* ========================================
   FORM GRID
======================================== */

.join-us-form {
    width: 100%;
}

.join-us-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px 30px;
}

.join-us-form-group {
    display: flex;
    flex-direction: column;
}

.join-us-full-width {
    grid-column: 1 / -1;
}

.join-us-address {
    width: 100%;
    grid-column: 1 / -1;
}

.member_address {
    width: 100%;
    min-height: 130px;
    padding: 12px 14px;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    outline: none;
    resize: vertical;
    font-family: inherit;
    font-size: 15px;
    box-sizing: border-box;
}


/* end */



/* footer icon */ 
.footer-icons {
    display: flex;
    gap: 14px;
   
}
.footer-icons img {
    width: 15px;
}
.footer-icon {
    padding: 8px;
    border: 1px solid #ffffffa6;
    border-radius: 50px;
}
.footer-icon:hover{
background-color: #0f241d;
/* border-color: #0f241d ; */
}






 
.image-section {
    padding: 65px 0;
    background-color: #ffffff;
}

.image-section-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.image-section-inner img {
    display: block;
    max-width: 100%;
    /* height: auto; */
    height: 500px;
    margin: 0 auto;
} 

@media screen and (max-width: 768px) {
    .image-section  {
        padding: 45px 0;
    }
    .image-section-inner img {
        height: auto;
    }
}




/* footer icon section */
/* Floating Action Buttons */
.site-float-backtop,
.site-float-whatsapp {
  position: fixed;
  right: 24px;
  z-index: 9999;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.18);
  transition:
    transform 0.3s ease,
    opacity 0.3s ease,
    visibility 0.3s ease;
}

/* Back to Top */
.site-float-backtop {
  bottom: 94px;
  color: #ffffff;
  background: #0a5301;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
}
.site-float-backtop:hover {
    background: #0a5301 !important;
}
.site-float-whatsapp:hover {
    color: #ffffff;
}


.site-float-backtop.site-float-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-float-backtop svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* WhatsApp */
.site-float-whatsapp {
  bottom: 24px;
  color: #ffffff;
  background: #25D366;
}

.site-float-whatsapp svg {
  width: 40px;
  height: 40px;
}

/* Hover Animation */
.site-float-backtop:hover,
.site-float-whatsapp:hover {
  transform: translateY(-5px) scale(1.05);
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .site-float-backtop,
  .site-float-whatsapp {
    right: 15px;
    width: 46px;
    height: 46px;
  }

      .site-float-backtop {
        bottom: 75px;
        /* margin-right: 8px; */
    }

  .site-float-whatsapp {
    bottom: 20px;
    /* margin-right: 8px; */
  }

  .site-float-whatsapp svg {
    width: 30px;
    height: 30px;
  }
}

