/* ============================================
   ADLER FOUNDATION — MASTER STYLESHEET
   ============================================ */

/* ── Variables ── */
:root {
    --primary:      #AC2484;
    --primary-dark: #8a1c6a;
    --primary-light:#c83a9c;
    --navy:         #1A1A2E;
    --navy-light:   #252545;
    --white:        #FFFFFF;
    --bg-light:     #F8F4F7;
    --text-dark:    #1A1A2E;
    --text-muted:   #6c757d;
    --border:       #e8dded;
    --shadow-sm:    0 2px 15px rgba(172,36,132,.08);
    --shadow-md:    0 8px 30px rgba(172,36,132,.15);
    --shadow-lg:    0 20px 60px rgba(26,26,46,.15);
    --radius:       12px;
    --radius-lg:    20px;
    --transition:   all .3s ease;
}

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Poppins', sans-serif;
    color: var(--text-dark);
    background: var(--white);
    overflow-x: hidden;
    line-height: 1.7;
}
img { max-width: 100%; height: auto; }
a  { text-decoration: none; transition: var(--transition); }

/* ── Typography ── */
h1,h2,h3,h4,h5,h6 { font-weight: 700; line-height: 1.2; }

.section-label {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--primary);
    display: inline-block;
    margin-bottom: .75rem;
}
.section-title {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 800;
    color: var(--navy);
    margin-bottom: 1rem;
}
.section-subtitle {
    font-size: clamp(.95rem, 2vw, 1.1rem);
    color: var(--text-muted);
}
.purple-divider {
    width: 56px; height: 4px;
    background: var(--primary);
    border-radius: 2px;
    margin: .75rem 0 1.5rem;
}
.purple-divider.center { margin-left: auto; margin-right: auto; }

/* ── Buttons ── */
.btn-primary-custom,
.btn-outline-custom,
.btn-outline-purple,
.btn-white-solid {
    padding: .75rem 2rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: .95rem;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    transition: var(--transition);
    cursor: pointer;
    border: 2px solid transparent;
}
.btn-primary-custom {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}
.btn-primary-custom:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(172,36,132,.35);
}
.btn-outline-custom {
    background: transparent;
    color: var(--white);
    border-color: rgba(255,255,255,.7);
}
.btn-outline-custom:hover {
    background: var(--white);
    color: var(--primary);
    border-color: var(--white);
    transform: translateY(-2px);
}
.btn-outline-purple {
    background: transparent;
    color: var(--primary);
    border-color: var(--primary);
}
.btn-outline-purple:hover {
    background: var(--primary);
    color: var(--white);
    transform: translateY(-2px);
}
.btn-white-solid {
    background: var(--white);
    color: var(--primary);
    border-color: var(--white);
}
.btn-white-solid:hover {
    background: var(--bg-light);
    color: var(--primary-dark);
    transform: translateY(-2px);
}

/* ── NAVBAR ── */
#main-navbar {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 1000;
    padding: 1.25rem 0;
    transition: all .4s ease;
    background: transparent;
}
#main-navbar.scrolled {
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(26,26,46,.08);
    padding: .8rem 0;
}

/* Brand */
#main-navbar .navbar-brand {
    display: flex; align-items: center; gap: .75rem; text-decoration: none;
}
.brand-logo {
    width: 44px; height: 44px;
    background: var(--primary);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 900; font-size: 1.35rem;
    font-family: 'Poppins', sans-serif;
    flex-shrink: 0;
}
.brand-logo-img {
    width: 44px; height: 44px;
    background: var(--primary);
    border-radius: 10px;
    object-fit: contain;
    padding: 5px;
    box-sizing: border-box;
    flex-shrink: 0;
}
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name {
    font-weight: 700; font-size: 1.05rem;
    color: var(--navy); transition: color .3s;
}
.brand-tagline {
    font-size: .62rem; color: var(--primary);
    font-weight: 500; letter-spacing: .3px;
}

/* Transparent-hero state */
#main-navbar.on-hero .brand-name          { color: #fff; }
#main-navbar.on-hero .brand-tagline       { color: rgba(255,255,255,.75); }
#main-navbar.scrolled .brand-name         { color: var(--navy); }

/* Desktop nav links */
.nav-links {
    display: flex; align-items: center; gap: .15rem;
    list-style: none; margin: 0; padding: 0;
}
.nav-links li a {
    color: var(--navy); font-weight: 500; font-size: .875rem;
    padding: .4rem .7rem; border-radius: 7px;
    transition: var(--transition); white-space: nowrap;
}
#main-navbar.on-hero .nav-links li a              { color: rgba(255,255,255,.9); }
#main-navbar.on-hero .nav-links li a:hover        { background: rgba(255,255,255,.12); color: #fff; }
.nav-links li a:hover,
.nav-links li a.active                            { color: var(--primary); background: rgba(172,36,132,.07); }
#main-navbar.on-hero .nav-links li a.active       { background: rgba(255,255,255,.18); color: #fff; }

.nav-cta {
    background: var(--primary) !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: .4rem 1.25rem !important;
}
.nav-cta:hover {
    background: var(--primary-dark) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

/* Hamburger */
.hamburger {
    display: none;
    flex-direction: column; justify-content: center; align-items: center;
    width: 44px; height: 44px;
    border: none; background: transparent; border-radius: 8px;
    cursor: pointer; z-index: 1001; gap: 5px;
}
.hamburger span {
    display: block; width: 24px; height: 2px;
    background: var(--navy); border-radius: 2px; transition: all .3s ease;
}
#main-navbar.on-hero .hamburger span { background: #fff; }
#main-navbar.scrolled .hamburger span { background: var(--navy); }

.hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); background: var(--primary) !important; }
.hamburger.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); background: var(--primary) !important; }

/* ── FULLSCREEN MENU ── */
.fullscreen-menu {
    position: fixed; inset: 0;
    background: var(--navy);
    z-index: 999;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    opacity: 0; visibility: hidden;
    transition: all .4s ease; overflow: auto;
}
.fullscreen-menu.open { opacity: 1; visibility: visible; }

.fullscreen-menu .menu-nav { list-style: none; padding: 0; margin: 0; text-align: center; }
.fullscreen-menu .menu-nav li {
    opacity: 0; transform: translateY(20px);
    transition: all .4s ease;
}
.fullscreen-menu.open .menu-nav li                      { opacity: 1; transform: translateY(0); }
.fullscreen-menu.open .menu-nav li:nth-child(1)         { transition-delay: .08s; }
.fullscreen-menu.open .menu-nav li:nth-child(2)         { transition-delay: .13s; }
.fullscreen-menu.open .menu-nav li:nth-child(3)         { transition-delay: .18s; }
.fullscreen-menu.open .menu-nav li:nth-child(4)         { transition-delay: .23s; }
.fullscreen-menu.open .menu-nav li:nth-child(5)         { transition-delay: .28s; }
.fullscreen-menu.open .menu-nav li:nth-child(6)         { transition-delay: .33s; }
.fullscreen-menu.open .menu-nav li:nth-child(7)         { transition-delay: .38s; }

.fullscreen-menu .menu-nav a {
    display: block; color: #fff;
    font-size: clamp(1.5rem, 5vw, 2.2rem);
    font-weight: 700; padding: .5rem 1rem;
}
.fullscreen-menu .menu-nav a:hover { color: var(--primary); }

.fullscreen-menu .menu-social { margin-top: 2.5rem; display: flex; gap: 1.5rem; }
.fullscreen-menu .menu-social a { color: rgba(255,255,255,.5); font-size: 1.2rem; }
.fullscreen-menu .menu-social a:hover { color: var(--primary); }

/* ── HERO SECTIONS ── */
.hero-section {
    position: relative; min-height: 100vh;
    display: flex; align-items: center; overflow: hidden;
}
.hero-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    will-change: transform;
}
.hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(26,26,46,.88) 0%, rgba(172,36,132,.55) 100%);
}
.hero-content { position: relative; z-index: 1; color: #fff; }

.hero-label {
    font-size: .78rem; font-weight: 600; letter-spacing: 3px;
    text-transform: uppercase; color: rgba(255,255,255,.8);
    display: inline-flex; align-items: center; gap: .75rem;
    margin-bottom: 1.25rem;
}
.hero-label::before {
    content: ''; display: inline-block;
    width: 30px; height: 2px; background: var(--primary);
}
.hero-title {
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    font-weight: 800; line-height: 1.1; margin-bottom: 1.5rem;
}
.hero-title .highlight { color: var(--primary); }
.hero-desc {
    font-size: clamp(.95rem, 2vw, 1.15rem);
    color: rgba(255,255,255,.85);
    max-width: 580px; margin-bottom: 2.5rem; line-height: 1.85;
}
.hero-buttons { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }

.scroll-indicator {
    position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
    z-index: 2; color: #fff; opacity: .65; font-size: 1.4rem; cursor: pointer;
    animation: bounceDown 2.2s infinite;
}
@keyframes bounceDown {
    0%,100% { transform: translateX(-50%) translateY(0); }
    50%      { transform: translateX(-50%) translateY(10px); }
}

/* Inner-page hero */
.inner-hero {
    min-height: 62vh; display: flex; align-items: center; padding-top: 100px;
}

/* Hero stat glass cards */
.hero-stat-card {
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 16px; padding: 1.5rem; text-align: center; color: #fff;
}
.hero-stat-card .num {
    font-size: 2.4rem; font-weight: 800; color: var(--primary);
    font-family: 'Poppins', sans-serif; line-height: 1;
}
.hero-stat-card .lbl { font-size: .82rem; opacity: .8; margin-top: .25rem; }

/* ── SECTIONS ── */
section { padding: 6rem 0; }
.section-bg-light { background: var(--bg-light); }
.section-bg-navy  { background: var(--navy); color: #fff; }
.section-bg-purple{ background: var(--primary); color: #fff; }
.section-header   { margin-bottom: 4rem; }

/* ── STATS COUNTER ── */
.stats-section { padding: 4.5rem 0; background: var(--white); }
.stat-card  { text-align: center; padding: 2.5rem 1rem; }
.stat-number {
    font-size: clamp(2.5rem,5vw,3.5rem); font-weight: 800;
    color: var(--primary); line-height: 1; margin-bottom: .5rem;
    font-family: 'Poppins', sans-serif;
}
.stat-label { font-size: .9rem; color: var(--text-muted); font-weight: 500; }
.stat-divider { border-left: 1px solid var(--border); }

/* ── PROGRAM CARDS ── */
.program-card {
    background: #fff; border-radius: var(--radius-lg);
    overflow: hidden; box-shadow: var(--shadow-sm);
    border: 1px solid var(--border); transition: var(--transition); height: 100%;
}
.program-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-md); border-color: var(--primary);
}
.program-card .card-img { position: relative; height: 220px; overflow: hidden; }
.program-card .card-img img {
    width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease;
}
.program-card:hover .card-img img { transform: scale(1.06); }
.card-img-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,26,46,.65) 0%, transparent 55%);
}
.card-icon {
    position: absolute; top: 1rem; left: 1rem;
    width: 46px; height: 46px; background: var(--primary);
    border-radius: 11px; display: flex; align-items: center;
    justify-content: center; color: #fff; font-size: 1.2rem;
}
.program-card .card-body { padding: 1.75rem; }
.card-number {
    font-size: .72rem; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; color: var(--primary); margin-bottom: .6rem;
}
.program-card h3 { font-size: 1.2rem; color: var(--navy); margin-bottom: .7rem; }
.program-card p  { color: var(--text-muted); font-size: .9rem; line-height: 1.75; margin-bottom: 1.2rem; }
.learn-more {
    color: var(--primary); font-weight: 600; font-size: .88rem;
    display: inline-flex; align-items: center; gap: .4rem;
}
.learn-more:hover { gap: .7rem; color: var(--primary-dark); }
.card-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1rem; }
.tag {
    background: var(--bg-light); color: var(--primary); font-size: .7rem;
    font-weight: 600; padding: .18rem .6rem; border-radius: 20px;
    border: 1px solid var(--border);
}

/* ── JOURNEY SECTION ── */
.journey-section {
    background: var(--navy); padding: 6rem 0;
    position: relative; overflow: hidden;
}
.journey-section::before {
    content: ''; position: absolute; top: -40%; right: -8%;
    width: 600px; height: 600px; border-radius: 50%;
    background: rgba(172,36,132,.07);
}
.journey-step { text-align: center; padding: 2rem 1rem; }
.journey-icon {
    width: 96px; height: 96px;
    background: rgba(172,36,132,.12); border: 2px solid rgba(172,36,132,.35);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.5rem; font-size: 2rem; color: var(--primary);
    transition: var(--transition);
}
.journey-step:hover .journey-icon { background: var(--primary); color: #fff; transform: scale(1.08); }
.journey-step h3 { font-size: 1.45rem; color: #fff; font-weight: 700; margin-bottom: .7rem; }
.journey-step p  { color: rgba(255,255,255,.62); font-size: .9rem; line-height: 1.75; }
.journey-arrow { display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 1.75rem; opacity: .6; }

/* ── TESTIMONIALS ── */
.testimonial-card {
    background: #fff; border-radius: var(--radius-lg); padding: 2rem;
    box-shadow: var(--shadow-sm); border: 1px solid var(--border);
    transition: var(--transition); height: 100%;
}
.testimonial-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.quote-icon { font-size: 3rem; color: var(--primary); opacity: .18; line-height: 1; margin-bottom: .25rem; }
.quote-text { color: var(--text-dark); font-size: .92rem; line-height: 1.85; font-style: italic; margin-bottom: 1.5rem; }
.author { display: flex; align-items: center; gap: 1rem; }
.author-img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 3px solid var(--border); }
.author-info strong { display: block; color: var(--navy); font-size: .88rem; font-weight: 700; }
.author-info span   { color: var(--text-muted); font-size: .78rem; }
.stars { color: #f59e0b; font-size: .8rem; margin-top: .2rem; }

/* ── CTA BANNER ── */
.cta-section {
    background: linear-gradient(135deg, var(--primary) 0%, var(--navy) 100%);
    padding: 6rem 0; text-align: center; color: #fff;
    position: relative; overflow: hidden;
}
.cta-section::before {
    content: ''; position: absolute; top: -60%; left: -10%;
    width: 400px; height: 400px; border-radius: 50%;
    background: rgba(255,255,255,.04);
}
.cta-section::after {
    content: ''; position: absolute; bottom: -60%; right: -10%;
    width: 500px; height: 500px; border-radius: 50%;
    background: rgba(255,255,255,.04);
}
.cta-content { position: relative; z-index: 1; }

/* ── ABOUT IMAGE BLOCK ── */
.about-image-wrap { position: relative; }
.about-image-wrap .main-img { border-radius: var(--radius-lg); overflow: hidden; }
.about-image-wrap .main-img img {
    width: 100%; height: 500px; object-fit: cover; border-radius: var(--radius-lg);
    display: block;
}
.about-image-wrap .accent-card {
    position: absolute; bottom: -2rem; left: -1.5rem;
    background: #fff; border-radius: var(--radius);
    padding: 1.4rem; box-shadow: var(--shadow-lg); min-width: 180px;
}
.accent-card .num {
    font-size: 2.4rem; font-weight: 800; color: var(--primary);
    font-family: 'Poppins', sans-serif; line-height: 1;
}
.accent-card .lbl { font-size: .82rem; color: var(--text-muted); margin-top: .2rem; }
.about-badge {
    position: absolute; top: 1.5rem; right: -1.25rem;
    background: var(--primary); color: #fff; border-radius: var(--radius);
    padding: 1rem; text-align: center; box-shadow: var(--shadow-md); width: 110px;
}
.about-badge i   { font-size: 1.4rem; display: block; margin-bottom: .4rem; }
.about-badge span{ font-size: .72rem; font-weight: 600; line-height: 1.3; }

/* Feature checklist */
.feature-list { list-style: none; padding: 0; margin: 0; }
.feature-list li {
    display: flex; align-items: flex-start; gap: .7rem;
    padding: .55rem 0; font-size: .93rem; color: var(--text-dark);
}
.feature-list li i { color: var(--primary); margin-top: .15rem; flex-shrink: 0; }

/* ── NEWS CARDS ── */
.news-card {
    background: #fff; border-radius: var(--radius-lg); overflow: hidden;
    box-shadow: var(--shadow-sm); border: 1px solid var(--border);
    transition: var(--transition);
}
.news-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.news-card .news-img { height: 200px; overflow: hidden; }
.news-card .news-img img {
    width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease;
}
.news-card:hover .news-img img { transform: scale(1.06); }
.news-card .news-body { padding: 1.4rem; }
.news-category {
    font-size: .7rem; font-weight: 700; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--primary); margin-bottom: .4rem;
}
.news-title {
    font-size: .98rem; font-weight: 700; color: var(--navy);
    margin-bottom: .4rem; line-height: 1.45;
}
.news-date { font-size: .78rem; color: var(--text-muted); }

/* ── IMPACT STATS ── */
.impact-stat-card {
    background: #fff; border-radius: var(--radius-lg);
    padding: 2.5rem; text-align: center;
    border: 1px solid var(--border); box-shadow: var(--shadow-sm);
    transition: var(--transition);
}
.impact-stat-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary); }
.impact-stat-card .icon-wrap {
    width: 68px; height: 68px;
    background: rgba(172,36,132,.08); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem; font-size: 1.7rem; color: var(--primary);
}

/* Story cards */
.story-card {
    background: #fff; border-radius: var(--radius-lg); overflow: hidden;
    box-shadow: var(--shadow-sm); border: 1px solid var(--border);
    display: flex; flex-direction: column; height: 100%; transition: var(--transition);
}
.story-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.story-img { height: 240px; overflow: hidden; }
.story-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; display: block; }
.story-card:hover .story-img img { transform: scale(1.06); }
.story-body { padding: 1.75rem; flex: 1; display: flex; flex-direction: column; }
.story-quote { font-style: italic; color: var(--text-muted); font-size: .9rem; line-height: 1.8; flex: 1; }

/* Progress bars */
.custom-progress { height: 8px; border-radius: 4px; background: var(--bg-light); overflow: hidden; }
.custom-progress .bar {
    height: 100%; border-radius: 4px;
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
    transition: width 1.5s ease;
}

/* ── CONTACT FORM ── */
.contact-form .form-control,
.contact-form .form-select {
    border: 2px solid var(--border); border-radius: var(--radius);
    padding: .75rem 1rem; font-size: .93rem;
    transition: var(--transition); font-family: 'Poppins', sans-serif;
}
.contact-form .form-control:focus,
.contact-form .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 .2rem rgba(172,36,132,.1);
    outline: none;
}
.contact-form .form-label { font-weight: 600; font-size: .88rem; color: var(--navy); margin-bottom: .45rem; }

.contact-info-card {
    background: var(--navy); border-radius: var(--radius-lg);
    padding: 2.5rem; color: #fff; height: 100%;
}
.contact-info-item { display: flex; gap: 1rem; margin-bottom: 2rem; }
.contact-info-item .icon {
    width: 48px; height: 48px; background: rgba(172,36,132,.2);
    border-radius: var(--radius); display: flex; align-items: center;
    justify-content: center; color: var(--primary); font-size: 1.1rem; flex-shrink: 0;
}
.contact-info-item .info strong {
    display: block; font-size: .78rem; color: rgba(255,255,255,.55);
    font-weight: 500; text-transform: uppercase; letter-spacing: 1px; margin-bottom: .2rem;
}
.contact-info-item .info span { color: #fff; font-size: .93rem; line-height: 1.55; }

/* ── VALUE / GENERIC ICON CARDS ── */
.value-card {
    background: #fff; border-radius: var(--radius-lg); padding: 2rem;
    border: 1px solid var(--border); box-shadow: var(--shadow-sm);
    transition: var(--transition); text-align: center;
}
.value-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary); }
.value-card .icon,
.involve-icon {
    width: 60px; height: 60px; background: rgba(172,36,132,.08);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem; font-size: 1.5rem; color: var(--primary);
    transition: var(--transition);
}
.value-card:hover .icon { background: var(--primary); color: #fff; }

/* ── TEAM CARDS ── */
.team-card {
    background: #fff; border-radius: var(--radius-lg); overflow: hidden;
    box-shadow: var(--shadow-sm); border: 1px solid var(--border);
    transition: var(--transition); text-align: center;
}
.team-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.team-img { height: 250px; overflow: hidden; }
.team-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.team-card:hover .team-img img { transform: scale(1.05); }
.team-body { padding: 1.5rem; }
.team-name  { font-size: 1.02rem; font-weight: 700; color: var(--navy); margin-bottom: .2rem; }
.team-role  { font-size: .78rem; color: var(--primary); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 1rem; }

/* ── PARTNERSHIP TIERS ── */
.partnership-tier {
    background: #fff; border-radius: var(--radius-lg); padding: 2.5rem;
    border: 2px solid var(--border); transition: var(--transition); text-align: center; height: 100%;
}
.partnership-tier.featured { border-color: var(--primary); position: relative; }
.partnership-tier.featured::before {
    content: 'Most Popular'; position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
    background: var(--primary); color: #fff; font-size: .72rem; font-weight: 700;
    padding: .22rem 1rem; border-radius: 20px; letter-spacing: 1px;
}
.partnership-tier:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary); }
.tier-icon {
    width: 78px; height: 78px; background: rgba(172,36,132,.08); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.25rem; font-size: 1.9rem; color: var(--primary);
}
.tier-benefits { list-style: none; padding: 0; margin: 1.5rem 0; text-align: left; }
.tier-benefits li { padding: .35rem 0; font-size: .88rem; color: var(--text-muted); display: flex; gap: .5rem; }
.tier-benefits li i { color: var(--primary); flex-shrink: 0; margin-top: .15rem; }

/* ── GET INVOLVED CARDS ── */
.involve-card {
    background: #fff; border-radius: var(--radius-lg); overflow: hidden;
    box-shadow: var(--shadow-sm); border: 1px solid var(--border);
    transition: var(--transition); height: 100%;
}
.involve-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.involve-img { height: 200px; overflow: hidden; position: relative; }
.involve-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.involve-card:hover .involve-img img { transform: scale(1.06); }
.involve-badge {
    position: absolute; top: 1rem; left: 1rem;
    background: var(--primary); color: #fff; font-size: .7rem; font-weight: 700;
    padding: .22rem .75rem; border-radius: 20px; letter-spacing: 1px;
}
.involve-body { padding: 1.75rem; }

/* ── FOOTER ── */
#main-footer {
    background: var(--navy);
    color: rgba(255,255,255,.72);
    padding-top: 5rem;
}
.footer-brand { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.footer-brand .brand-name    { color: #fff; font-size: 1.05rem; font-weight: 700; }
.footer-brand .brand-tagline { color: var(--primary); font-size: .62rem; }
#main-footer .footer-desc    { font-size: .88rem; line-height: 1.85; margin-bottom: 1.5rem; }

#main-footer .footer-heading {
    color: #fff; font-size: .98rem; font-weight: 700;
    margin-bottom: 1.25rem; padding-bottom: .7rem; position: relative;
}
#main-footer .footer-heading::after {
    content: ''; position: absolute; bottom: 0; left: 0;
    width: 30px; height: 2px; background: var(--primary);
}
#main-footer .footer-links { list-style: none; padding: 0; margin: 0; }
#main-footer .footer-links li { margin-bottom: .55rem; }
#main-footer .footer-links a {
    color: rgba(255,255,255,.62); font-size: .88rem;
    display: flex; align-items: center; gap: .5rem;
}
#main-footer .footer-links a:hover { color: var(--primary); padding-left: 4px; }
#main-footer .footer-links a i { font-size: .65rem; color: var(--primary); }

.footer-contact-item { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: 1rem; }
.footer-contact-item i { color: var(--primary); font-size: .88rem; margin-top: .25rem; flex-shrink: 0; width: 14px; }
.footer-contact-item span { font-size: .86rem; color: rgba(255,255,255,.62); line-height: 1.55; }

.social-links { display: flex; gap: .7rem; margin-top: 1.5rem; flex-wrap: wrap; }
.social-links a {
    width: 40px; height: 40px; background: rgba(255,255,255,.07);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.65); font-size: .92rem;
    border: 1px solid rgba(255,255,255,.08); transition: var(--transition);
}
.social-links a:hover { background: var(--primary); color: #fff; border-color: var(--primary); transform: translateY(-3px); }

.footer-trust {
    background: rgba(255,255,255,.04); border-radius: var(--radius);
    padding: .7rem 1rem; font-size: .78rem; color: rgba(255,255,255,.45);
    display: flex; align-items: center; gap: .5rem; margin-top: 1.5rem;
    border: 1px solid rgba(255,255,255,.06);
}
.footer-trust i { color: var(--primary); }
.footer-bottom {
    margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.07); padding: 1.5rem 0;
}
.footer-bottom p,
.footer-bottom a { font-size: .8rem; color: rgba(255,255,255,.38); margin: 0; }
.footer-bottom a:hover { color: var(--primary); }

/* ── SCROLL TO TOP ── */
#scrollToTop {
    position: fixed; bottom: 2rem; right: 2rem;
    width: 48px; height: 48px; background: var(--primary); color: #fff;
    border: none; border-radius: 12px; display: flex; align-items: center;
    justify-content: center; font-size: 1.05rem; cursor: pointer; z-index: 100;
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: all .3s ease; box-shadow: var(--shadow-md);
}
#scrollToTop.visible { opacity: 1; visibility: visible; transform: translateY(0); }
#scrollToTop:hover { background: var(--primary-dark); transform: translateY(-3px); }

/* ── BREADCRUMB ── */
.page-breadcrumb {
    display: flex; align-items: center; gap: .5rem;
    font-size: .84rem; color: rgba(255,255,255,.65); flex-wrap: wrap;
}
.page-breadcrumb a { color: rgba(255,255,255,.65); }
.page-breadcrumb a:hover { color: #fff; }
.page-breadcrumb .sep { color: rgba(255,255,255,.35); }

/* ── ACCORDION ── */
.custom-accordion .accordion-item {
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    margin-bottom: .7rem; overflow: hidden;
}
.custom-accordion .accordion-button {
    font-weight: 600; color: var(--navy); background: #fff;
    font-size: .93rem; border-radius: var(--radius) !important;
}
.custom-accordion .accordion-button:not(.collapsed) {
    color: var(--primary); background: rgba(172,36,132,.04); box-shadow: none;
}

/* ── COOKIE NOTICE ── */
#cookie-notice {
    position: fixed; bottom: 1.5rem; left: 1.5rem;
    max-width: 480px; background: var(--navy); color: #fff;
    border-radius: var(--radius); padding: 1.25rem 1.5rem;
    z-index: 9999; box-shadow: var(--shadow-lg);
    opacity: 0; transform: translateY(20px); transition: all .4s ease;
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
    border: 1px solid rgba(255,255,255,.08);
}
#cookie-notice p { margin: 0; font-size: .84rem; line-height: 1.6; flex: 1; min-width: 180px; }
#cookie-accept {
    background: var(--primary); color: #fff; border: none;
    border-radius: 8px; padding: .45rem 1.25rem;
    font-size: .84rem; font-weight: 600; cursor: pointer; white-space: nowrap;
}
#cookie-accept:hover { background: var(--primary-dark); }

/* ── SDG BADGES ── */
.sdg-badge {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--bg-light); border: 1px solid var(--border);
    border-radius: var(--radius); padding: .65rem 1rem;
    font-size: .86rem; font-weight: 600; color: var(--navy); transition: var(--transition);
}
.sdg-badge:hover { border-color: var(--primary); background: rgba(172,36,132,.04); }
.sdg-num {
    width: 30px; height: 30px; border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: .88rem; color: #fff;
}

/* ── UTILITIES ── */
.text-primary-c { color: var(--primary) !important; }
.text-navy      { color: var(--navy)    !important; }
.bg-primary-c   { background: var(--primary) !important; }
.fw-800 { font-weight: 800 !important; }

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    .nav-links   { display: none; }
    .hamburger   { display: flex; }
    .stat-divider{ border-left: none; }
    .about-image-wrap .accent-card { left: 0; }
    .about-badge { right: 0; }
}
@media (max-width: 767px) {
    section { padding: 4rem 0; }
    .about-image-wrap .main-img img { height: 320px; }
    .hero-buttons { flex-direction: column; align-items: flex-start; }
    .inner-hero  { min-height: 50vh; }
    .journey-arrow { transform: rotate(90deg); }
}
@media (min-width: 992px) {
    .hamburger { display: none !important; }
}

/* ══════════════════════════════════════════
   HOME PAGE — NEW SECTIONS
══════════════════════════════════════════ */

/* ── Hero Home — custom overlay ── */
.hero-home .hero-overlay-home {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 0% 100%, rgba(172,36,132,.4) 0%, transparent 52%),
        linear-gradient(rgba(26,26,46,.65), rgba(26,26,46,.65));
}
.hero-title-serif {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 1.5rem;
    letter-spacing: -.5px;
}
.hero-sub {
    font-size: clamp(1rem, 2vw, 1.15rem);
    color: rgba(255,255,255,.62);
    max-width: 540px;
    line-height: 1.85;
    margin-bottom: 2.5rem;
}

/* ── Founding Truth ── */
.founding-truth {
    padding: 100px 0;
    background: #fff;
    position: relative;
    overflow: hidden;
}
.founding-accent-line {
    position: absolute; left: 0; top: 15%; bottom: 15%;
    width: 4px; background: var(--primary); border-radius: 0 2px 2px 0;
}
.founding-label {
    font-size: .72rem; font-weight: 700; letter-spacing: 3px;
    text-transform: uppercase; color: var(--primary); margin-bottom: 2.5rem;
}
.founding-lines-wrap { margin-bottom: 3rem; }

.founding-line {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.8rem, 4.5vw, 3.5rem);
    font-weight: 400;
    color: #333;
    line-height: 1.3;
    margin: 0 0 .15em;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s ease, transform .65s ease;
}
.founding-line.line-visible { opacity: 1; transform: translateY(0); }

.founding-highlight {
    font-weight: 700;
    color: var(--primary);
    font-size: clamp(2rem, 5vw, 3.8rem);
}
.founding-body {
    font-size: 1rem;
    color: #666;
    max-width: 620px;
    line-height: 1.85;
    margin: 0;
    opacity: 0;
    transition: opacity .7s ease .2s;
}
.founding-body.line-visible { opacity: 1; }

/* ── Problem / Stats ── */
.problem-card {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 2.5rem 2rem;
    text-align: center;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    height: 100%;
}
.problem-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary); }
.problem-icon {
    width: 64px; height: 64px;
    background: rgba(172,36,132,.08); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.25rem; font-size: 1.6rem; color: var(--primary);
}
.problem-stat {
    font-family: 'Poppins', sans-serif;
    font-size: 3.5rem; font-weight: 700; color: var(--primary);
    line-height: 1; display: inline-block;
}
.problem-pct {
    font-size: 2rem; font-weight: 700; color: var(--primary);
    display: inline-block; margin-left: 2px; vertical-align: top; margin-top: .5rem;
}
.problem-label {
    font-size: .86rem; color: #666; line-height: 1.7;
    margin-top: .75rem; margin-bottom: 0;
}
.problem-transition {
    font-size: 1.1rem; font-style: italic; color: #555;
    text-align: center; max-width: 700px; margin: 0 auto;
    line-height: 1.8; border-top: 1px solid var(--border); padding-top: 2rem;
}

/* ── Program Slim Cards (left purple border) ── */
.program-slim-card {
    background: #fff;
    border-radius: var(--radius);
    border-left: 4px solid var(--primary);
    border-top: 1px solid var(--border);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 2rem;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    height: 100%;
    display: flex; flex-direction: column;
}
.program-slim-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
    border-left-width: 6px;
}
.program-slim-icon {
    width: 50px; height: 50px;
    background: rgba(172,36,132,.08); border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; color: var(--primary); margin-bottom: 1.25rem;
    transition: var(--transition);
}
.program-slim-card:hover .program-slim-icon { background: var(--primary); color: #fff; }
.program-slim-title {
    font-size: 1.05rem; font-weight: 700; color: var(--navy);
    margin-bottom: .7rem; line-height: 1.35;
}
.program-slim-desc {
    font-size: .88rem; color: var(--text-muted);
    line-height: 1.75; flex: 1; margin-bottom: 1.25rem;
}
.program-slim-link {
    color: var(--primary); font-weight: 700; font-size: .88rem;
    display: inline-flex; align-items: center; gap: .4rem;
    transition: gap .25s ease;
}
.program-slim-link:hover { gap: .75rem; color: var(--primary-dark); }

/* ── Journey inline ── */
.journey-progression { text-align: center; padding: 2.5rem; background: var(--bg-light); border-radius: var(--radius-lg); }
.journey-steps-inline {
    display: flex; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: .75rem;
}
.journey-pill {
    display: inline-flex; align-items: center; gap: .6rem;
    background: #fff; border: 1.5px solid var(--border);
    border-radius: 50px; padding: .55rem 1.25rem;
    font-size: .9rem; font-weight: 600; color: var(--navy);
    transition: var(--transition);
}
.journey-pill:hover { border-color: var(--primary); color: var(--primary); }
.journey-pill i { color: var(--primary); font-size: .85rem; }
.journey-arrow-inline { color: var(--primary); font-size: .9rem; opacity: .5; }

/* ── Founder Section ── */
.founder-section {
    background: var(--navy);
    padding: 6rem 0;
}
.founder-video-wrap {
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    cursor: pointer;
    aspect-ratio: 16/9;
    background: #000;
}
.founder-poster {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .5s ease;
}
.founder-video-wrap:hover .founder-poster { transform: scale(1.04); }
.founder-play-overlay {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(26,26,46,.35);
    transition: background .3s;
}
.founder-video-wrap:hover .founder-play-overlay { background: rgba(26,26,46,.18); }
.play-circle {
    width: 80px; height: 80px;
    background: rgba(255,255,255,.92); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--primary); font-size: 1.75rem;
    box-shadow: 0 8px 30px rgba(0,0,0,.3);
    transition: transform .3s, background .3s;
}
.founder-video-wrap:hover .play-circle { transform: scale(1.1); background: #fff; }

.founder-quote {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.2rem, 2.5vw, 1.75rem);
    font-style: italic;
    color: #fff;
    line-height: 1.55;
    margin-bottom: 1rem;
    border: none; padding: 0;
}
.founder-attribution {
    font-size: .82rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1.5px;
    color: var(--primary); margin-bottom: 1.25rem;
}
.founder-body {
    font-size: .93rem; color: rgba(255,255,255,.65);
    line-height: 1.85; margin-bottom: 1.5rem;
}

/* ── Vision Section ── */
.vision-section {
    padding: 6rem 0;
    background: var(--white);
    position: relative;
    overflow: hidden;
}
.india-map-bg {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 75% 50%, rgba(172,36,132,.05) 0%, transparent 70%);
    pointer-events: none;
}
.vision-pillar {
    text-align: center;
    padding: 2.5rem 1.5rem;
    background: var(--bg-light);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    transition: var(--transition);
}
.vision-pillar:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary); }
.vision-icon {
    width: 62px; height: 62px;
    background: rgba(172,36,132,.1); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem; font-size: 1.5rem; color: var(--primary);
    transition: var(--transition);
}
.vision-pillar:hover .vision-icon { background: var(--primary); color: #fff; }
.vision-stat {
    font-family: 'Poppins', sans-serif;
    font-size: 3.2rem; font-weight: 700; color: var(--primary);
    line-height: 1; margin-bottom: .25rem;
}
.vision-title {
    font-size: .82rem; font-weight: 700; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--text-muted); margin-bottom: .75rem;
}
.vision-desc {
    font-size: .86rem; color: var(--text-muted); line-height: 1.75; margin: 0;
}

/* ── Partner Strip ── */
.partner-strip {
    background: var(--primary);
    padding: 80px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.partner-strip::before {
    content: ''; position: absolute; top: -60px; left: -60px;
    width: 300px; height: 300px; border-radius: 50%;
    background: rgba(255,255,255,.06);
}
.partner-strip::after {
    content: ''; position: absolute; bottom: -80px; right: -40px;
    width: 400px; height: 400px; border-radius: 50%;
    background: rgba(255,255,255,.04);
}
.partner-strip h2 {
    font-size: clamp(1.5rem, 3.5vw, 2.4rem); font-weight: 800;
    color: #fff; max-width: 680px; margin: 0 auto 1.25rem; line-height: 1.3;
    position: relative; z-index: 1;
}
.partner-strip p {
    color: rgba(255,255,255,.82); font-size: 1rem;
    max-width: 520px; margin: 0 auto 2rem; line-height: 1.8;
    position: relative; z-index: 1;
}
.partner-strip-btn {
    display: inline-flex; align-items: center; gap: .6rem;
    background: #fff; color: var(--primary);
    font-weight: 700; font-size: .95rem;
    padding: .85rem 2.5rem; border-radius: 50px;
    transition: transform .25s ease, box-shadow .25s ease;
    position: relative; z-index: 1;
}
.partner-strip-btn:hover {
    color: var(--primary-dark);
    transform: scale(1.04);
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
}

/* ── Nav Submenu Dropdown (desktop) ── */
.nav-chevron { font-size: .6rem; margin-left: .25rem; transition: transform .25s ease; }
.has-submenu:hover .nav-chevron { transform: rotate(180deg); }
.has-submenu { position: relative; }
.nav-submenu {
    position: absolute; top: calc(100% + .6rem); left: 50%;
    transform: translateX(-50%) translateY(-8px);
    background: #fff; border-radius: var(--radius);
    box-shadow: 0 12px 40px rgba(26,26,46,.12);
    min-width: 290px; padding: .5rem 0;
    opacity: 0; visibility: hidden;
    transition: all .25s ease;
    border: 1px solid var(--border); z-index: 200;
}
.nav-submenu::before {
    content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
    width: 12px; height: 12px; background: #fff;
    border-left: 1px solid var(--border); border-top: 1px solid var(--border);
    transform: translateX(-50%) rotate(45deg);
}
.has-submenu:hover .nav-submenu,
.has-submenu:focus-within .nav-submenu {
    opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
}
.nav-submenu a {
    display: block !important; padding: .65rem 1.25rem !important;
    color: var(--navy) !important; font-size: .86rem !important;
    background: transparent !important; border-radius: 0 !important;
    border-left: 3px solid transparent !important;
    white-space: nowrap !important;
}
.nav-submenu a:hover {
    color: var(--primary) !important;
    background: var(--bg-light) !important;
    border-left-color: var(--primary) !important;
}

/* ── Mobile Menu Accordion (Programs) ── */
.menu-toggle-sub {
    background: none; border: none; color: #fff; cursor: pointer;
    font-size: clamp(1.5rem, 5vw, 2.2rem); font-weight: 700;
    font-family: 'Poppins', sans-serif; padding: .5rem 1rem;
    display: flex; align-items: center; gap: .5rem;
    transition: color .3s;
}
.menu-toggle-sub:hover { color: var(--primary); }
.menu-sub {
    list-style: none; padding: 0; margin: 0;
    max-height: 0; overflow: hidden; transition: max-height .4s ease;
}
.menu-sub.open { max-height: 300px; }
.menu-sub li a {
    display: block !important;
    font-size: clamp(.9rem, 2.5vw, 1.1rem) !important;
    color: rgba(255,255,255,.65) !important;
    padding: .35rem 1.5rem !important;
    font-weight: 500 !important;
}
.menu-sub li a:hover { color: var(--primary) !important; }

/* ── Menu tagline ── */
.menu-tagline {
    font-size: .78rem; font-weight: 600; letter-spacing: 2px;
    text-transform: uppercase; color: rgba(255,255,255,.3);
    margin: 2rem 0 0; text-align: center;
}

/* ── Footer language buttons ── */
.lang-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .3rem .75rem; border-radius: 20px;
    font-size: .78rem; font-weight: 700;
    border: 1px solid rgba(255,255,255,.15);
    color: rgba(255,255,255,.55); transition: var(--transition);
}
.lang-btn:hover,
.lang-btn.active-lang {
    background: var(--primary); color: #fff; border-color: var(--primary);
}

/* ── Google Translate cleanup ── */
#google_translate_element .goog-te-gadget-simple {
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 8px !important; padding: 4px 10px !important;
}
#google_translate_element .goog-te-gadget-simple a span {
    color: rgba(255,255,255,.6) !important; font-size: .78rem !important;
}

/* ── Responsive additions ── */
@media (max-width: 767px) {
    .founding-truth  { padding: 70px 0; }
    .founding-line   { font-size: clamp(1.5rem, 6vw, 2.2rem); }
    .founding-highlight { font-size: clamp(1.6rem, 6.5vw, 2.4rem); }
    .partner-strip   { padding: 60px 0; }
    .problem-stat    { font-size: 2.8rem; }
    .journey-steps-inline { gap: .5rem; }
    .journey-arrow-inline { display: none; }
}

/* ══════════════════════════════════════════════════
   PROGRAMS PAGE STYLES
══════════════════════════════════════════════════ */

/* ── 3.1 Hero — typographic, gradient, no image ── */
.programs-hero-v2 {
    position: relative;
    min-height: 60vh;
    display: flex; align-items: center;
    background: linear-gradient(135deg, #FFFFFF 0%, #F3E6F0 100%);
    overflow: hidden;
    padding: 8rem 0 4rem;
}
.programs-hero-v2-content { position: relative; z-index: 2; }
.prog-hero-label {
    font-size: .72rem; font-weight: 700;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--primary); margin-bottom: 1rem;
}
.prog-hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2rem, 5.5vw, 3.6rem);
    font-weight: 700; color: #1A1A2E;
    line-height: 1.2; letter-spacing: -.5px;
    margin-bottom: 1.25rem;
}
.prog-hero-accent {
    color: var(--primary);
}
.prog-hero-sub {
    font-size: clamp(1rem, 1.8vw, 1.15rem);
    color: #555; max-width: 600px;
    margin: 0 auto 2rem; line-height: 1.9;
}
.prog-hero-cta {
    display: inline-flex; align-items: center; gap: .6rem;
    background: var(--primary); color: #fff;
    font-weight: 700; font-size: .9rem;
    padding: .8rem 2rem; border-radius: 50px;
    transition: transform .25s ease, box-shadow .25s ease;
}
.prog-hero-cta:hover {
    color: #fff; transform: translateY(3px);
    box-shadow: 0 10px 28px rgba(172,36,132,.3);
}
.prog-hero-orb {
    position: absolute; border-radius: 50%;
    pointer-events: none;
}
.prog-orb-1 {
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(172,36,132,.12) 0%, transparent 70%);
    top: -100px; right: -80px;
}
.prog-orb-2 {
    width: 250px; height: 250px;
    background: radial-gradient(circle, rgba(172,36,132,.08) 0%, transparent 70%);
    bottom: -60px; left: 5%;
}

/* ── 3.2 Journey Flow ── */
.prog-journey-section {
    padding: 6rem 0 5rem;
    background: #fff;
}
.prog-journey-flow {
    display: flex; align-items: flex-start;
    justify-content: center; flex-wrap: wrap;
    gap: 0; margin-bottom: 2.5rem;
}
.prog-stage-card {
    flex: 1; min-width: 200px; max-width: 280px;
    text-align: center; padding: 2rem 1.5rem;
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border);
    transition: transform .3s, box-shadow .3s;
}
.prog-stage-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.prog-stage-circle {
    width: 64px; height: 64px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: #fff;
    margin: 0 auto 1rem;
    transition: transform .3s;
}
.prog-stage-card:hover .prog-stage-circle { transform: scale(1.08); }
.prog-stage-num {
    font-size: .7rem; font-weight: 800;
    letter-spacing: 2px; text-transform: uppercase;
    margin-bottom: .5rem;
}
.prog-stage-tag {
    display: inline-block;
    font-size: .7rem; font-weight: 800;
    letter-spacing: 3px; text-transform: uppercase;
    border: 1px solid; border-radius: 20px;
    padding: .2rem .75rem; margin-bottom: .75rem;
}
.prog-stage-prog-label {
    font-size: .72rem; color: var(--text-muted);
    margin-bottom: .35rem; font-weight: 600;
}
.prog-stage-title {
    font-size: .95rem; font-weight: 800;
    color: var(--navy); margin-bottom: .65rem;
    line-height: 1.35;
}
.prog-stage-body {
    font-size: .83rem; color: var(--text-muted);
    line-height: 1.75; margin-bottom: 1rem;
}
.prog-stage-link {
    font-size: .78rem; font-weight: 700;
    display: inline-flex; align-items: center; gap: .3rem;
    transition: gap .2s;
}
.prog-stage-link:hover { gap: .6rem; }
.prog-stage-connector {
    display: flex; align-items: center;
    flex-direction: column; justify-content: center;
    padding: 0 .5rem; min-width: 40px;
    padding-top: 2.5rem;
}
.connector-line {
    height: 2px; width: 100%;
    border-top: 2px dashed rgba(172,36,132,.35);
    display: none;
}
.connector-arrow {
    color: rgba(172,36,132,.5); font-size: 1.2rem;
}
.prog-journey-disclaimer {
    text-align: center; font-size: .82rem;
    color: #888; font-style: italic;
    max-width: 600px; margin: 0 auto;
    border-top: 1px solid var(--border); padding-top: 1.5rem;
}
.prog-journey-disclaimer i { margin-right: .4rem; color: #bbb; }

/* ── 3.3 Program Detail — split layout ── */
.prog-detail-section {
    scroll-margin-top: 80px;
}
.prog-detail-inner {
    display: flex; min-height: 520px;
}
.prog-left-panel {
    flex: 0 0 32%; max-width: 32%;
    padding: 3.5rem 2.5rem;
    display: flex; flex-direction: column;
    justify-content: center; gap: 1.5rem;
    position: sticky; top: 80px;
    align-self: start;
}
.prog-left-label {
    display: inline-flex; align-items: center; gap: .5rem;
    font-size: .7rem; font-weight: 800;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--primary); background: rgba(172,36,132,.08);
    border: 1px solid rgba(172,36,132,.15);
    border-radius: 6px; padding: .4rem .85rem;
    width: fit-content;
}
.prog-left-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    font-weight: 700; color: #fff;
    line-height: 1.25; margin: 0;
}
.prog-left-body {
    font-size: .875rem; color: rgba(255,255,255,.62);
    line-height: 1.85; margin: 0;
}
.prog-left-who { margin-top: .5rem; }
.prog-who-heading {
    font-size: .7rem; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    color: rgba(255,255,255,.4); margin-bottom: .6rem;
}
.prog-who-tags-dark { display: flex; flex-wrap: wrap; gap: .4rem; }
.prog-who-tag-dark {
    font-size: .74rem; font-weight: 600;
    border: 1px solid rgba(255,255,255,.15);
    color: rgba(255,255,255,.65);
    padding: .25rem .7rem; border-radius: 20px;
}
.prog-left-cta {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--primary); color: #fff;
    font-weight: 700; font-size: .88rem;
    padding: .75rem 1.75rem; border-radius: 50px;
    width: fit-content; transition: transform .25s, box-shadow .25s;
}
.prog-left-cta:hover {
    color: #fff; transform: scale(1.03);
    box-shadow: 0 8px 24px rgba(172,36,132,.4);
}

/* Right panel — 8 modules */
.prog-right-panel {
    flex: 1; padding: 3rem 3rem 3rem 3rem;
    background: var(--bg-light);
}
.prog-modules-label {
    font-size: .72rem; font-weight: 800;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--primary); margin-bottom: 1.5rem;
}
.prog-modules-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}
.prog-module-card {
    background: #fff; border-radius: 14px;
    padding: 1.5rem; border: 1px solid var(--border);
    transition: border-color .25s, box-shadow .25s, transform .25s;
}
.prog-module-card:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 20px rgba(172,36,132,.08);
    transform: translateY(-3px);
}
.prog-module-num {
    font-size: .72rem; font-weight: 800;
    color: var(--primary); letter-spacing: 1.5px;
    margin-bottom: .4rem;
}
.prog-module-title {
    font-size: .92rem; font-weight: 800;
    color: var(--navy); margin-bottom: .4rem;
    line-height: 1.3;
}
.prog-module-desc {
    font-size: .8rem; color: var(--text-muted); line-height: 1.65;
}

/* ── 3.4 Training Section — purple bg ── */
.prog-training-section {
    background: var(--primary);
    padding: 6rem 0;
    scroll-margin-top: 80px;
}
.prog-training-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 700; color: #fff;
    line-height: 1.2; margin: 1rem 0 0;
}
.prog-training-sub {
    color: rgba(255,255,255,.75);
    font-size: .95rem; line-height: 1.85;
    margin: 0;
}
.prog-tracks-label {
    font-size: .7rem; font-weight: 800;
    letter-spacing: 3px; text-transform: uppercase;
    color: rgba(255,255,255,.5); margin-bottom: 1.25rem;
}
.prog-tracks-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem; margin-bottom: 2rem;
}
.prog-track-card {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 14px; padding: 1.75rem 1.5rem;
    transition: background .25s, transform .25s;
}
.prog-track-card:hover {
    background: rgba(255,255,255,.18);
    transform: translateY(-4px);
}
.prog-track-icon {
    font-size: 1.6rem; color: #fff;
    margin-bottom: 1rem; opacity: .85;
}
.prog-track-title {
    font-size: .92rem; font-weight: 800;
    color: #fff; margin-bottom: .4rem;
}
.prog-track-desc {
    font-size: .8rem; color: rgba(255,255,255,.6);
    line-height: 1.65;
}
.prog-principle-card {
    background: #fff; border-radius: 14px;
    padding: 1.5rem 2rem;
    display: flex; align-items: flex-start; gap: 1.25rem;
    margin-bottom: 2rem;
}
.prog-principle-icon {
    width: 44px; height: 44px; flex-shrink: 0;
    background: rgba(172,36,132,.1); border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; color: var(--primary);
}
.prog-principle-label {
    font-size: .7rem; font-weight: 800;
    letter-spacing: 2px; text-transform: uppercase;
    color: var(--primary); margin-bottom: .4rem;
}
.prog-principle-body {
    font-size: .88rem; color: #444; line-height: 1.75; margin: 0;
}
.prog-training-footer {
    display: flex; align-items: center;
    justify-content: space-between; flex-wrap: wrap;
    gap: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 2rem;
}
.prog-training-cta {
    display: inline-flex; align-items: center; gap: .5rem;
    background: #fff; color: var(--primary);
    font-weight: 800; font-size: .92rem;
    padding: .85rem 2rem; border-radius: 50px;
    white-space: nowrap;
    transition: transform .25s, box-shadow .25s;
}
.prog-training-cta:hover {
    color: var(--primary-dark);
    transform: scale(1.03);
    box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

/* ── 3.5 Employment Section ── */
.prog-employment-section {
    padding: 6rem 0;
    background: #fff;
    border-left: 4px solid var(--primary);
    scroll-margin-top: 80px;
}
.prog-roles-wrap {
    display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .75rem;
}
.prog-role-pill {
    font-size: .8rem; font-weight: 600;
    background: rgba(5,150,105,.08);
    border: 1px solid rgba(5,150,105,.25);
    color: #059669; border-radius: 20px;
    padding: .3rem .85rem;
}
.prog-pathway-label {
    font-size: .7rem; font-weight: 800;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--text-muted); margin-bottom: 1.5rem;
}
.prog-pathway-steps {
    display: flex; align-items: flex-start;
    flex-wrap: wrap; gap: 0;
    margin-bottom: 2rem;
}
.prog-pathway-step {
    flex: 1; min-width: 150px; text-align: center;
    padding: 1.5rem 1rem;
}
.prog-pathway-circle {
    width: 52px; height: 52px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto .75rem;
    font-size: 1.2rem; font-weight: 800; color: #fff;
}
.prog-pathway-icon-wrap {
    font-size: 1.3rem; margin-bottom: .6rem;
}
.prog-pathway-step-name {
    font-size: .92rem; font-weight: 800;
    margin-bottom: .4rem;
}
.prog-pathway-step-desc {
    font-size: .8rem; color: var(--text-muted);
    line-height: 1.65; margin: 0;
}
.prog-pathway-connector {
    display: flex; align-items: center;
    padding-top: 2.5rem; flex-direction: column;
    min-width: 30px;
}
.path-line {
    height: 2px; width: 30px;
    border-top: 2px dashed #ccc;
}
.path-arrow { color: #ccc; font-size: .9rem; margin-top: .25rem; }
.prog-note-card {
    background: #f9f9f9; border-radius: 12px;
    padding: 1.25rem 1.5rem;
    font-size: .82rem; color: #777;
    line-height: 1.75; margin-bottom: 2rem;
    border: 1px solid #eee;
    display: flex; align-items: flex-start;
}
.prog-emp-footer {
    display: flex; align-items: center;
    justify-content: space-between; flex-wrap: wrap;
    gap: 1.5rem; border-top: 1px solid var(--border);
    padding-top: 2rem;
}
.prog-emp-who p { margin: 0; }

/* ── FAQ ── */
.faq-section {
    padding: 6rem 0;
    background: var(--bg-light);
}
.prog-accordion .prog-faq-item {
    border: 1px solid var(--border);
    border-radius: var(--radius) !important;
    margin-bottom: .75rem;
    background: #fff;
    overflow: hidden;
}
.prog-faq-btn {
    display: flex; justify-content: space-between; align-items: center;
    background: #fff !important; color: var(--navy) !important;
    font-weight: 600; font-size: .93rem;
    padding: 1.25rem 1.5rem;
    box-shadow: none !important;
    border-radius: var(--radius) !important;
    gap: 1rem;
}
.prog-faq-btn::after { display: none; }
.prog-faq-btn .faq-icon {
    flex-shrink: 0; font-size: .75rem;
    color: var(--primary); transition: transform .3s ease;
}
.prog-faq-btn:not(.collapsed) .faq-icon { transform: rotate(45deg); }
.prog-faq-btn:not(.collapsed) { color: var(--primary) !important; }
.prog-faq-body {
    padding: 0 1.5rem 1.25rem;
    font-size: .88rem; color: var(--text-muted);
    line-height: 1.85;
}

/* ── Programs responsive ── */
@media (max-width: 991px) {
    .prog-detail-inner { flex-direction: column; }
    .prog-left-panel   { flex: none; max-width: 100%; position: static; border-radius: 0; }
    .prog-right-panel  { padding: 2.5rem 1.5rem; }
    .prog-modules-grid { grid-template-columns: repeat(2, 1fr); }
    .prog-tracks-grid  { grid-template-columns: repeat(2, 1fr); }
    .prog-stage-connector { padding-top: 1rem; }
}
@media (max-width: 767px) {
    .programs-hero-v2  { min-height: 55vh; padding: 7rem 0 3.5rem; }
    .prog-hero-title   { font-size: clamp(1.8rem, 7vw, 2.5rem); }
    .prog-journey-flow { flex-direction: column; align-items: center; }
    .prog-stage-card   { max-width: 100%; width: 100%; }
    .prog-stage-connector { transform: rotate(90deg); padding: 0; }
    .prog-modules-grid { grid-template-columns: 1fr; }
    .prog-tracks-grid  { grid-template-columns: 1fr; }
    .prog-pathway-steps{ flex-direction: column; align-items: center; }
    .prog-pathway-connector { transform: rotate(90deg); padding: 0; }
    .prog-training-footer, .prog-emp-footer { flex-direction: column; }
    .prog-detail-inner { border-left: none; }
    .prog-employment-section { border-left: none; border-top: 4px solid var(--primary); }
}

/* ══════════════════════════════════════════════════
   ABOUT PAGE STYLES
══════════════════════════════════════════════════ */

/* ── Breadcrumb ── */
.page-breadcrumb {
    display: flex; align-items: center; gap: .5rem;
    font-size: .78rem; font-weight: 600;
    letter-spacing: 1.5px; text-transform: uppercase;
    color: rgba(255,255,255,.45);
}
.page-breadcrumb a { color: rgba(255,255,255,.45); transition: color .2s; }
.page-breadcrumb a:hover { color: var(--primary); }
.page-breadcrumb .sep { color: rgba(255,255,255,.25); }

/* ── About Hero ── */
.about-hero {
    position: relative;
    min-height: 70vh;
    display: flex; align-items: center;
    overflow: hidden;
    padding: 8rem 0 5rem;
}
.about-hero-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center 35%;
    transform-origin: center;
    transition: transform 10s ease;
}
.about-hero-overlay {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 80% 20%, rgba(172,36,132,.35) 0%, transparent 50%),
        linear-gradient(160deg, rgba(26,26,46,.8) 0%, rgba(26,26,46,.65) 60%, rgba(172,36,132,.25) 100%);
}
.about-hero-orb {
    position: absolute; right: -120px; bottom: -80px;
    width: 500px; height: 500px; border-radius: 50%;
    background: radial-gradient(circle, rgba(172,36,132,.18) 0%, transparent 70%);
    pointer-events: none;
}
.about-hero-content {
    position: relative; z-index: 2;
}
.about-hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2.2rem, 5.5vw, 4rem);
    font-weight: 700; color: #fff;
    line-height: 1.15; letter-spacing: -.5px;
    margin-bottom: 1.25rem;
}
.about-hero-accent {
    color: var(--primary);
    background: linear-gradient(135deg, #AC2484, #d4449e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.about-hero-sub {
    font-size: clamp(.95rem, 2vw, 1.1rem);
    color: rgba(255,255,255,.65);
    max-width: 520px; line-height: 1.9;
    margin-bottom: 2rem;
}
.about-hero-scroll {
    display: inline-flex; align-items: center; gap: .6rem;
    font-size: .78rem; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    color: rgba(255,255,255,.55);
    border: 1px solid rgba(255,255,255,.2);
    padding: .55rem 1.25rem; border-radius: 50px;
    transition: all .25s ease;
}
.about-hero-scroll:hover {
    color: #fff; border-color: var(--primary);
    background: rgba(172,36,132,.15);
}

/* ── Our Story ── */
.story-section {
    padding: 7rem 0;
    background: #fff;
}
.story-img-block {
    position: relative;
}
.story-main-img {
    width: 100%; border-radius: 20px;
    object-fit: cover; height: 480px;
    display: block;
    box-shadow: 0 20px 60px rgba(26,26,46,.18);
}
.story-badge {
    position: absolute;
    bottom: -1.5rem; right: -1.5rem;
    background: var(--primary);
    color: #fff; border-radius: 16px;
    padding: 1rem 1.5rem;
    font-size: .82rem; font-weight: 700;
    line-height: 1.4; text-align: center;
    box-shadow: 0 8px 28px rgba(172,36,132,.4);
    max-width: 150px;
}
.story-badge i {
    display: block; font-size: 1.3rem;
    margin-bottom: .5rem; opacity: .8;
}
.story-ring {
    position: absolute; top: -20px; left: -20px;
    width: 140px; height: 140px; border-radius: 50%;
    border: 2px dashed rgba(172,36,132,.2);
    pointer-events: none; animation: slowSpin 20s linear infinite;
}
@keyframes slowSpin { to { transform: rotate(360deg); } }

.story-body p {
    color: var(--text-muted); line-height: 1.9;
    font-size: .96rem; margin-bottom: 1rem;
}
.story-body strong { color: var(--navy); font-weight: 700; }

.story-truth-block {
    background: linear-gradient(135deg, #1A1A2E 0%, #2c1a3e 100%);
    border-radius: 16px;
    padding: 1.75rem 2rem;
    margin: 1.5rem 0;
    display: flex; flex-direction: column; gap: .5rem;
}
.story-truth-block span {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.1rem, 2.5vw, 1.45rem);
    color: rgba(255,255,255,.72);
    font-style: italic;
    line-height: 1.4;
}
.story-truth-block span:last-child {
    color: var(--primary);
    font-weight: 700;
    font-style: normal;
}
.story-conclusion {
    font-size: 1rem !important;
    color: var(--navy) !important;
    font-weight: 600 !important;
}

/* ── Purple Divider ── */
.purple-divider {
    width: 48px; height: 4px;
    background: var(--primary); border-radius: 2px;
    margin: 1.25rem 0 1.75rem;
}
.purple-divider.center { margin: 1.25rem auto 1.75rem; }

/* ── Vision & Mission ── */
.vm-section {
    padding: 6rem 0;
    background: var(--bg-light);
}
.vm-card {
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    position: relative;
    transition: transform .3s ease, box-shadow .3s ease;
}
.vm-card:hover { transform: translateY(-8px); }
.vm-vision {
    background: var(--navy);
    box-shadow: 0 16px 50px rgba(26,26,46,.25);
}
.vm-mission {
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
}
.vm-mission:hover { box-shadow: var(--shadow-md); }
.vm-top-bar { height: 4px; }
.vm-card-inner { padding: 2.5rem; }
.vm-icon-wrap {
    width: 60px; height: 60px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; color: #fff;
    margin-bottom: 1.25rem;
}
.vm-label {
    font-size: .72rem; font-weight: 700;
    letter-spacing: 3px; text-transform: uppercase;
    color: rgba(255,255,255,.4);
    margin-bottom: .6rem;
}
.vm-heading {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.1rem, 2.2vw, 1.45rem);
    font-weight: 700; color: #fff;
    line-height: 1.45; margin-bottom: 1rem;
}
.vm-body {
    font-size: .9rem; color: rgba(255,255,255,.58);
    line-height: 1.85; margin: 0;
}
.vm-decor-circle {
    position: absolute; bottom: -60px; right: -60px;
    width: 200px; height: 200px; border-radius: 50%;
    background: rgba(172,36,132,.12);
    pointer-events: none;
}

/* ── Core Values ── */
.values-section {
    padding: 6rem 0;
    background: var(--bg-light);
}
.value-card-v2 {
    background: #fff;
    border-radius: 18px;
    padding: 2.25rem 2rem;
    height: 100%;
    transition: transform .3s ease, box-shadow .3s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(26,26,46,.06);
}
.value-card-v2:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(26,26,46,.12);
}
.value-icon-v2 {
    width: 64px; height: 64px;
    border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
    transition: transform .3s ease;
}
.value-card-v2:hover .value-icon-v2 { transform: scale(1.1) rotate(-4deg); }
.value-name-v2 {
    font-size: 1.05rem; font-weight: 800;
    margin-bottom: .65rem; letter-spacing: -.2px;
}
.value-def-v2 {
    font-size: .875rem; color: var(--text-muted);
    line-height: 1.8; margin: 0;
}
.value-accent-line {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px; border-radius: 0 0 18px 18px;
}

/* ── Founder Pull Quote (about) ── */
.founder-pull-quote {
    padding: 2rem 0 1rem;
    position: relative;
}
.founder-quote-icon {
    font-size: 2.5rem;
    color: var(--primary); opacity: .35;
    display: block; margin-bottom: 1rem;
}
.founder-quote {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.15rem, 2.5vw, 1.65rem);
    font-style: italic; color: #fff;
    line-height: 1.6; margin-bottom: 1.25rem;
    border: none; padding: 0;
}
.founder-attribution {
    font-size: .82rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.5px;
    color: var(--primary);
}

/* ── Trust & Credibility ── */
.trust-section {
    padding: 6rem 0;
    background: var(--bg-light);
}
.trust-pillar-card {
    background: #fff;
    border-radius: 18px;
    padding: 2.25rem 2rem;
    height: 100%;
    box-shadow: 0 4px 20px rgba(26,26,46,.06);
    transition: transform .3s ease, box-shadow .3s ease;
}
.trust-pillar-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(26,26,46,.12);
}
.trust-icon {
    width: 56px; height: 56px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; margin-bottom: 1.25rem;
    transition: transform .3s ease;
}
.trust-pillar-card:hover .trust-icon { transform: scale(1.1); }
.trust-title {
    font-size: 1.05rem; font-weight: 800;
    margin-bottom: .65rem;
}
.trust-body {
    font-size: .875rem; color: var(--text-muted);
    line-height: 1.8; margin: 0;
}

/* ── Trust Registration Strip ── */
.trust-reg-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    background: var(--navy);
    border-radius: 18px;
    padding: 2rem 2.5rem;
    margin-top: 3rem;
}
.trust-reg-item {
    display: flex; flex-direction: column; gap: .25rem;
}
.trust-reg-key {
    font-size: .7rem; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    color: rgba(255,255,255,.4);
}
.trust-reg-val {
    font-size: .875rem; color: rgba(255,255,255,.8);
    font-weight: 500; line-height: 1.4;
}

/* ── About page responsive ── */
@media (max-width: 991px) {
    .story-main-img { height: 360px; }
    .story-badge    { bottom: 1rem; right: 1rem; }
    .story-ring     { display: none; }
    .vm-section     { padding: 4rem 0; }
}
@media (max-width: 767px) {
    .about-hero     { min-height: 60vh; padding: 7rem 0 4rem; }
    .about-hero-title { font-size: clamp(2rem, 8vw, 2.8rem); }
    .story-section  { padding: 4.5rem 0; }
    .story-main-img { height: 280px; }
    .story-badge    { display: none; }
    .values-section { padding: 4rem 0; }
    .trust-section  { padding: 4rem 0; }
    .trust-reg-strip{ padding: 1.5rem; }
    .vm-card-inner  { padding: 2rem 1.5rem; }
    .founder-quote  { font-size: 1.2rem; }
}

/* ══════════════════════════════════════════════════
   IMPACT & TRANSPARENCY PAGE STYLES
══════════════════════════════════════════════════ */

/* ── 4.1 Impact Hero ── */
.impact-hero {
    position: relative;
    min-height: 60vh;
    display: flex; align-items: center;
    background: linear-gradient(135deg, #FFFFFF 0%, #F3E6F0 50%, #EDE9FE 100%);
    overflow: hidden;
    padding: 8rem 0 4rem;
}
.impact-hero-content { position: relative; z-index: 2; }
.impact-hero-label {
    font-size: .72rem; font-weight: 700;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--primary); margin-bottom: 1rem;
}
.impact-hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2rem, 5.5vw, 3.6rem);
    font-weight: 700; color: #1A1A2E;
    line-height: 1.15; letter-spacing: -.5px;
    margin-bottom: 1.25rem;
}
.impact-hero-accent { color: var(--primary); }
.impact-hero-sub {
    font-size: clamp(.95rem, 1.8vw, 1.1rem);
    color: #555; font-style: italic;
    max-width: 580px; margin: 0 auto 2rem;
    line-height: 1.9;
}
.impact-hero-cta {
    display: inline-flex; align-items: center; gap: .6rem;
    background: var(--primary); color: #fff;
    font-weight: 700; font-size: .9rem;
    padding: .8rem 2rem; border-radius: 50px;
    transition: transform .25s, box-shadow .25s;
}
.impact-hero-cta:hover {
    color: #fff; transform: translateY(3px);
    box-shadow: 0 10px 28px rgba(172,36,132,.3);
}
.impact-hero-bar {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary) 0%, #7c3aed 50%, var(--primary) 100%);
}
.impact-hero-dot {
    position: absolute; border-radius: 50%;
    pointer-events: none;
}
.impact-dot-1 {
    width: 350px; height: 350px;
    background: radial-gradient(circle, rgba(172,36,132,.1) 0%, transparent 70%);
    top: -80px; right: -60px;
}
.impact-dot-2 {
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(124,58,237,.08) 0%, transparent 70%);
    bottom: 20px; left: 8%;
}

/* ── 4.2 Vision for India ── */
.vision-india-section {
    padding: 6rem 0;
    background: #fff;
    position: relative; overflow: hidden;
}
.india-map-watermark {
    position: absolute;
    right: 3%; top: 5%;
    width: 340px; height: 410px;
    color: var(--primary); opacity: .07;
    pointer-events: none;
}
.india-map-watermark svg { width: 100%; height: 100%; }
.vision-india-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 860px;
    margin: 0 auto 3.5rem;
}
.vision-india-card {
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border);
    padding: 2rem;
    position: relative; overflow: hidden;
    transition: transform .3s, box-shadow .3s;
}
.vision-india-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.vi-icon {
    width: 56px; height: 56px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; margin-bottom: 1rem;
    transition: transform .3s;
}
.vision-india-card:hover .vi-icon { transform: scale(1.1); }
.vi-title {
    font-size: 1.05rem; font-weight: 800;
    margin-bottom: .5rem; line-height: 1.3;
}
.vi-body {
    font-size: .875rem; color: var(--text-muted);
    line-height: 1.8; margin: 0;
}
.vi-accent-bar {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px; border-radius: 0 0 18px 18px;
    opacity: .3;
}
.vision-india-quote {
    text-align: center;
    max-width: 640px; margin: 0 auto;
    padding: 2.5rem 2rem;
    background: var(--bg-light); border-radius: 18px;
    border: 1px solid var(--border);
}
.vi-quote-icon {
    font-size: 2rem; color: var(--primary);
    opacity: .3; display: block; margin-bottom: 1rem;
}
.vi-quote-text {
    font-family: 'Poppins', sans-serif; font-style: italic;
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    color: #444; line-height: 1.65;
    margin-bottom: 1rem; border: none; padding: 0;
}
.vi-quote-attr {
    font-size: .78rem; color: var(--text-muted);
    font-weight: 600; letter-spacing: .5px; margin: 0;
}

/* ── 4.3 Transparency Section ── */
.transparency-section {
    padding: 6rem 0;
    background: var(--bg-light);
    scroll-margin-top: 80px;
}
.transparency-intro {
    font-size: .96rem; color: var(--text-muted);
    max-width: 680px; margin: 0 auto;
    line-height: 1.9;
}
.transparency-rows {
    max-width: 820px; margin: 0 auto;
    display: flex; flex-direction: column; gap: 1rem;
}
.transparency-row {
    background: #fff; border-radius: 14px;
    border: 1px solid var(--border);
    padding: 1.5rem 2rem;
    display: flex; align-items: center; gap: 1.5rem;
    transition: transform .25s, box-shadow .25s;
}
.transparency-row:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.tr-icon {
    width: 52px; height: 52px; flex-shrink: 0;
    border-radius: 13px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem;
}
.tr-body { flex: 1; }
.tr-title {
    font-size: .96rem; font-weight: 800;
    color: var(--navy); margin-bottom: .3rem;
}
.tr-desc {
    font-size: .82rem; color: var(--text-muted);
    line-height: 1.7; margin: 0;
}
.tr-status { flex-shrink: 0; }
.status-pill {
    display: inline-block; font-size: .72rem;
    font-weight: 700; letter-spacing: .5px;
    padding: .3rem .85rem; border-radius: 20px;
    white-space: nowrap;
}
.pill-green { background: #dcfce7; color: #15803d; }
.pill-amber { background: #fef3c7; color: #92400e; }
.pill-blue  { background: #dbeafe; color: #1d4ed8; }

/* ── 4.4 Measurement Framework ── */
.measurement-section {
    padding: 6rem 0;
    background: #fff;
}
.measurement-framework {
    display: flex; align-items: stretch; gap: 0;
    border-radius: 18px; overflow: hidden;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
}
.mf-column { flex: 1; display: flex; flex-direction: column; }
.mf-header {
    padding: 1.25rem 1.5rem;
    display: flex; align-items: center; gap: .75rem;
    color: #fff; font-size: .92rem; font-weight: 800;
    letter-spacing: .3px;
}
.mf-col-icon { font-size: 1rem; opacity: .75; }
.mf-body {
    flex: 1; padding: 1.5rem;
    background: #fff; border-right: 1px solid var(--border);
}
.mf-column:last-child .mf-body { border-right: none; }
.mf-metric {
    display: flex; align-items: center; gap: .7rem;
    padding: .5rem 0;
    font-size: .875rem; color: #333;
    border-bottom: 1px solid #f3f3f3;
}
.mf-metric:last-child { border-bottom: none; }
.mf-bullet {
    width: 8px; height: 8px; border-radius: 50%;
    flex-shrink: 0;
}
.mf-arrow {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 0 .5rem; background: #fff;
    min-width: 36px;
}
.mf-arrow-line {
    flex: 1; width: 2px;
    background: linear-gradient(to bottom, transparent 10%, rgba(172,36,132,.35) 50%, transparent 90%);
}
.mf-arrow-icon {
    color: var(--primary); font-size: 1rem;
    margin: .4rem 0; flex-shrink: 0;
}

/* ── Impact Stat Cards ── */
.impact-stats-section { padding: 6rem 0; }
.impact-stat-card-v2 {
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border);
    padding: 2.25rem 2rem;
    text-align: center; height: 100%;
    transition: transform .3s, box-shadow .3s;
    box-shadow: var(--shadow-sm);
}
.impact-stat-card-v2:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary); }
.istat-icon {
    width: 60px; height: 60px; border-radius: 50%;
    background: rgba(172,36,132,.08);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem; font-size: 1.5rem; color: var(--primary);
    transition: background .3s;
}
.impact-stat-card-v2:hover .istat-icon { background: var(--primary); color: #fff; }
.istat-num {
    font-family: 'Poppins', sans-serif;
    font-size: 2.6rem; font-weight: 700;
    color: var(--primary); line-height: 1;
    margin-bottom: .3rem;
}
.istat-label {
    font-size: .9rem; font-weight: 700;
    color: var(--navy); margin-bottom: .5rem;
}
.istat-desc {
    font-size: .82rem; color: var(--text-muted);
    line-height: 1.7; margin: 0;
}

/* ── Sector Image ── */
.sector-img-wrap {
    position: relative; border-radius: 20px; overflow: hidden;
}
.sector-img-wrap img {
    width: 100%; height: 450px;
    object-fit: cover; display: block;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(26,26,46,.15);
}
.sector-img-badge {
    position: absolute; bottom: 1.5rem; left: 1.5rem;
    background: var(--primary); color: #fff;
    border-radius: 14px; padding: 1rem 1.5rem;
    display: flex; align-items: center; gap: .75rem;
    box-shadow: 0 8px 28px rgba(172,36,132,.4);
}
.sector-img-badge i { font-size: 1.4rem; opacity: .8; }
.sector-img-badge strong { display: block; font-size: 1.6rem; font-weight: 800; line-height: 1; }
.sector-img-badge span { font-size: .78rem; opacity: .85; }

/* ── Story Cards V2 ── */
.story-card-v2 {
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border);
    overflow: hidden; height: 100%;
    transition: transform .3s, box-shadow .3s;
    box-shadow: var(--shadow-sm);
}
.story-card-v2:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.story-card-img { position: relative; }
.story-card-img img {
    width: 100%; height: 220px;
    object-fit: cover; display: block;
}
.story-prog-tag {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(26,26,46,.8));
    color: rgba(255,255,255,.9);
    font-size: .68rem; font-weight: 700;
    letter-spacing: 1.5px; text-transform: uppercase;
    padding: 1.5rem 1rem .75rem;
}
.story-card-body { padding: 1.5rem; }
.story-quote-v2 {
    font-size: .875rem; color: #444;
    line-height: 1.8; font-style: italic;
    margin-bottom: 1rem;
}
.story-result {
    display: flex; align-items: flex-start; gap: .5rem;
    background: rgba(172,36,132,.06);
    border-radius: 10px; padding: .75rem;
    border-left: 3px solid var(--primary);
    font-size: .82rem; color: var(--navy);
    font-weight: 600; margin-bottom: 1.25rem;
    line-height: 1.5;
}
.story-result i { color: var(--primary); flex-shrink: 0; margin-top: .15rem; }
.story-person { display: flex; align-items: center; gap: .75rem; }
.story-person img {
    width: 42px; height: 42px; border-radius: 50%;
    object-fit: cover; border: 2px solid var(--border);
    flex-shrink: 0;
}
.story-person strong { display: block; font-size: .875rem; color: var(--navy); }
.story-person span { font-size: .75rem; color: var(--text-muted); display: flex; align-items: center; gap: .25rem; }
.story-person i { font-size: .6rem; color: var(--primary); }

/* ── SDG Cards V2 ── */
.sdg-card-v2 {
    display: flex; flex-direction: column;
    align-items: center; text-align: center;
    padding: 1.25rem .75rem;
    background: #fff; border-radius: 14px;
    border: 1px solid var(--border);
    transition: transform .3s, box-shadow .3s;
}
.sdg-card-v2:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.sdg-num-v2 {
    width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem; font-weight: 800; color: #fff;
    margin-bottom: .6rem; flex-shrink: 0;
}
.sdg-label-v2 { font-size: .76rem; color: var(--text-muted); line-height: 1.4; }

/* ── Impact page responsive ── */
@media (max-width: 991px) {
    .vision-india-grid      { grid-template-columns: 1fr; max-width: 480px; }
    .measurement-framework  { flex-direction: column; }
    .mf-arrow               { flex-direction: row; min-width: auto; padding: .5rem 0; }
    .mf-arrow-line          { flex: 1; height: 2px; width: auto; background: linear-gradient(to right, transparent, rgba(172,36,132,.35), transparent); }
    .mf-arrow-icon          { margin: 0 .4rem; transform: rotate(90deg); }
    .mf-body                { border-right: none; border-bottom: 1px solid var(--border); }
    .mf-column:last-child .mf-body { border-bottom: none; }
}
@media (max-width: 767px) {
    .impact-hero            { min-height: 55vh; padding: 7rem 0 3.5rem; }
    .impact-hero-title      { font-size: clamp(1.8rem, 7vw, 2.5rem); }
    .transparency-row       { flex-direction: column; align-items: flex-start; }
    .tr-status              { align-self: flex-start; }
    .vision-india-grid      { grid-template-columns: 1fr; }
    .sector-img-wrap img    { height: 300px; }
    .measurement-section    { padding: 4rem 0; }
    .transparency-section   { padding: 4rem 0; }
    .vision-india-section   { padding: 4rem 0; }
}

/* ══════════════════════════════════════════════════
   PARTNER WITH US PAGE STYLES
══════════════════════════════════════════════════ */

/* ── 5.1 Partner Hero — dark cinematic 70vh ── */
.partner-hero {
    position: relative;
    min-height: 70vh;
    display: flex; align-items: center;
    overflow: hidden;
    padding: 8rem 0 5rem;
}
.partner-hero-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center 40%;
    transform-origin: center;
}
.partner-hero-overlay {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 20% 80%, rgba(172,36,132,.3) 0%, transparent 55%),
        linear-gradient(rgba(26,26,46,.65), rgba(26,26,46,.62));
}
.partner-hero-orb {
    position: absolute; right: -100px; top: 10%;
    width: 500px; height: 500px; border-radius: 50%;
    background: radial-gradient(circle, rgba(172,36,132,.15) 0%, transparent 70%);
    pointer-events: none;
}
.partner-hero-content { position: relative; z-index: 2; }
.partner-hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2.2rem, 5.5vw, 4rem);
    font-weight: 700; color: #fff;
    line-height: 1.15; letter-spacing: -.5px;
    margin-bottom: 1.25rem;
}
.partner-hero-accent {
    color: var(--primary);
    display: block;
}
.partner-hero-sub {
    font-size: clamp(.95rem, 2vw, 1.1rem);
    color: rgba(255,255,255,.7);
    max-width: 540px; line-height: 1.9;
    margin-bottom: 2.5rem;
}
.partner-hero-cta {
    display: inline-flex; align-items: center; gap: .65rem;
    background: #fff; color: var(--primary);
    font-weight: 800; font-size: .96rem;
    padding: .9rem 2.25rem; border-radius: 50px;
    transition: transform .25s, box-shadow .25s;
    box-shadow: 0 4px 20px rgba(0,0,0,.18);
}
.partner-hero-cta:hover {
    color: var(--primary-dark);
    transform: scale(1.04);
    box-shadow: 0 10px 32px rgba(0,0,0,.25);
}

/* ── 5.2 Differentiator Cards 2×2 ── */
.diff-section {
    padding: 6rem 0;
    background: #fff;
}
.diff-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 880px;
    margin: 0 auto;
}
.diff-card {
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border);
    padding: 2.25rem 2rem;
    position: relative; overflow: hidden;
    transition: transform .3s, box-shadow .3s;
    box-shadow: var(--shadow-sm);
}
.diff-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-md); }
.diff-card-top {
    display: flex; justify-content: space-between;
    align-items: flex-start; margin-bottom: 1.25rem;
}
.diff-num {
    font-size: 2.2rem; font-weight: 900;
    color: var(--primary); line-height: 1;
    letter-spacing: -1px; opacity: .85;
}
.diff-icon {
    width: 48px; height: 48px; flex-shrink: 0;
    background: rgba(172,36,132,.08); border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; color: var(--primary);
    transition: background .3s;
}
.diff-card:hover .diff-icon { background: var(--primary); color: #fff; }
.diff-title {
    font-size: 1rem; font-weight: 800;
    color: #1A1A2E; margin-bottom: .65rem;
    line-height: 1.35;
}
.diff-body {
    font-size: .875rem; color: #555;
    line-height: 1.8; margin: 0;
}
.diff-accent-line {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px; border-radius: 0 0 18px 18px;
    background: var(--primary); opacity: 0;
    transition: opacity .3s;
}
.diff-card:hover .diff-accent-line { opacity: .3; }

/* ── 5.3 Partnership Models ── */
.models-section {
    padding: 6rem 0;
    background: var(--bg-light);
}
.models-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
.model-card {
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--primary);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform .3s, box-shadow .3s;
}
.model-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(172,36,132,.1);
}
.model-card-inner { padding: 2rem 2rem 1.75rem; }
.model-header {
    display: flex; justify-content: space-between;
    align-items: center; margin-bottom: 1rem;
}
.model-num {
    font-size: .7rem; font-weight: 800;
    letter-spacing: 2.5px; text-transform: uppercase;
    color: var(--primary);
}
.model-icon {
    width: 42px; height: 42px;
    background: rgba(172,36,132,.08); border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem; color: var(--primary);
    transition: background .3s;
}
.model-card:hover .model-icon { background: var(--primary); color: #fff; }
.model-title {
    font-size: 1.08rem; font-weight: 800;
    color: var(--navy); margin-bottom: .6rem;
    line-height: 1.3;
}
.model-body {
    font-size: .875rem; color: #555;
    line-height: 1.8; margin-bottom: 1.25rem;
}
.model-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.model-tag {
    font-size: .72rem; font-weight: 700;
    background: rgba(172,36,132,.08);
    color: var(--primary);
    border: 1px solid rgba(172,36,132,.18);
    border-radius: 20px; padding: .2rem .7rem;
}

/* ── In-Kind Section ── */
.inkind-section {
    padding: 6rem 0;
    background: #fff;
}
.inkind-list {
    display: flex; flex-direction: column; gap: 1.25rem;
}
.inkind-item {
    display: flex; align-items: flex-start; gap: 1rem;
}
.inkind-icon {
    width: 48px; height: 48px; flex-shrink: 0;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; transition: transform .3s;
}
.inkind-item:hover .inkind-icon { transform: scale(1.08); }
.inkind-title {
    display: block; font-size: .95rem;
    font-weight: 800; color: var(--navy);
    margin-bottom: .2rem;
}
.inkind-desc {
    font-size: .85rem; color: var(--text-muted);
    line-height: 1.7; margin: 0;
}
.inkind-img-wrap {
    position: relative; border-radius: 20px; overflow: hidden;
    box-shadow: 0 20px 60px rgba(26,26,46,.15);
}
.inkind-img-wrap img {
    width: 100%; height: 460px;
    object-fit: cover; display: block;
    border-radius: 20px;
    transition: transform .6s ease;
}
.inkind-img-wrap:hover img { transform: scale(1.03); }
.inkind-img-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(transparent 50%, rgba(26,26,46,.75));
    display: flex; align-items: flex-end;
    padding: 2rem 2rem;
    border-radius: 20px;
}
.inkind-overlay-text {
    font-family: 'Poppins', sans-serif; font-style: italic;
    font-size: 1.05rem; color: rgba(255,255,255,.88);
    line-height: 1.5; margin: 0;
    max-width: 340px;
}

/* ── 5.4 Partner Benefits Checklist ── */
.partner-benefits-section {
    padding: 6rem 0;
    background: var(--bg-light);
}
.partner-checklist-wrap {
    max-width: 700px; margin: 0 auto;
    background: #fff; border-radius: 20px;
    border: 1px solid var(--border);
    padding: 3rem 3.5rem;
    box-shadow: var(--shadow-sm);
}
.partner-checklist {
    list-style: none; padding: 0; margin: 0;
}
.partner-checklist li {
    display: flex; align-items: flex-start; gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--border);
    font-size: 1rem; color: #333333;
    line-height: 1.6;
}
.partner-checklist li:last-child { border-bottom: none; padding-bottom: 0; }
.partner-checklist li:first-child { padding-top: 0; }
.pcheck-icon {
    width: 28px; height: 28px; flex-shrink: 0;
    border-radius: 50%;
    background: rgba(172,36,132,.1);
    display: flex; align-items: center; justify-content: center;
    color: var(--primary); font-size: .72rem;
    margin-top: .15rem;
    transition: background .3s;
}
.partner-checklist li:hover .pcheck-icon { background: var(--primary); color: #fff; }

/* ── 5.5 Final CTA ── */
.partner-final-cta {
    background: #1A1A2E;
    padding: 7rem 0;
    text-align: center;
    position: relative; overflow: hidden;
}
.partner-final-cta::before {
    content: ''; position: absolute;
    width: 500px; height: 500px; border-radius: 50%;
    background: radial-gradient(circle, rgba(172,36,132,.12) 0%, transparent 70%);
    top: -150px; left: -100px;
    pointer-events: none;
}
.partner-final-cta::after {
    content: ''; position: absolute;
    width: 400px; height: 400px; border-radius: 50%;
    background: radial-gradient(circle, rgba(172,36,132,.08) 0%, transparent 70%);
    bottom: -120px; right: -80px;
    pointer-events: none;
}
.pf-cta-heading {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 700; color: #fff;
    margin-bottom: 2.5rem; line-height: 1.2;
    position: relative; z-index: 1;
}
.pf-cta-btn {
    display: inline-flex; align-items: center; gap: .65rem;
    background: var(--primary); color: #fff;
    font-weight: 800; font-size: 1rem;
    padding: 1rem 2.75rem; border-radius: 50px;
    position: relative; z-index: 1;
    transition: background .25s, transform .25s, box-shadow .25s;
    box-shadow: 0 8px 28px rgba(172,36,132,.4);
}
.pf-cta-btn:hover {
    color: #fff; background: #c72d99;
    transform: scale(1.05);
    box-shadow: 0 14px 36px rgba(172,36,132,.5);
}

/* ── Partner page responsive ── */
@media (max-width: 991px) {
    .diff-grid    { grid-template-columns: 1fr; max-width: 480px; }
    .models-grid  { grid-template-columns: 1fr; }
    .partner-hero { min-height: 60vh; }
}
@media (max-width: 767px) {
    .partner-hero         { padding: 7rem 0 4rem; }
    .partner-hero-title   { font-size: clamp(2rem, 7vw, 2.8rem); }
    .diff-section         { padding: 4rem 0; }
    .models-section       { padding: 4rem 0; }
    .inkind-section       { padding: 4rem 0; }
    .partner-benefits-section { padding: 4rem 0; }
    .partner-checklist-wrap   { padding: 2rem 1.5rem; }
    .partner-final-cta    { padding: 4.5rem 0; }
    .pf-cta-heading       { font-size: clamp(1.8rem, 7vw, 2.4rem); }
    .inkind-img-wrap img  { height: 300px; }
}

/* ══════════════════════════════════════════════════
   GET INVOLVED PAGE STYLES
══════════════════════════════════════════════════ */

/* ── 6.1 Hero ── */
.gi-hero {
    position: relative;
    min-height: 70vh;
    display: flex; align-items: center;
    overflow: hidden;
    padding: 8rem 0 5rem;
    background: linear-gradient(135deg, #FFFFFF 0%, #F8F0F6 60%, #EDE9FE 100%);
}
.gi-hero-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center 30%;
    opacity: .12;
}
.gi-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.92) 0%, rgba(243,230,240,.7) 100%);
}
.gi-hero-orb {
    position: absolute; right: -80px; bottom: -60px;
    width: 450px; height: 450px; border-radius: 50%;
    background: radial-gradient(circle, rgba(172,36,132,.1) 0%, transparent 70%);
    pointer-events: none;
}
.gi-hero-content { position: relative; z-index: 2; }
.gi-hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2.2rem, 5.5vw, 3.8rem);
    font-weight: 700; color: #1A1A2E;
    line-height: 1.15; letter-spacing: -.5px;
    margin-bottom: 1.25rem;
}
.gi-hero-accent { color: var(--primary); display: block; }
.gi-hero-sub {
    font-size: clamp(1rem, 2vw, 1.1rem);
    color: #444; max-width: 520px;
    line-height: 1.9; margin-bottom: 2.5rem;
}
.gi-hero-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.gi-whatsapp-btn {
    display: inline-flex; align-items: center; gap: .6rem;
    background: #25D366; color: #fff;
    font-weight: 800; font-size: .96rem;
    padding: .9rem 2.25rem; border-radius: 50px;
    box-shadow: 0 6px 22px rgba(37,211,102,.35);
    transition: transform .25s, box-shadow .25s;
}
.gi-whatsapp-btn:hover {
    color: #fff; transform: scale(1.04);
    box-shadow: 0 12px 32px rgba(37,211,102,.45);
}
.gi-whatsapp-btn i { font-size: 1.2rem; }
.gi-scroll-btn {
    display: inline-flex; align-items: center; gap: .5rem;
    color: var(--primary); font-weight: 700;
    font-size: .88rem; border: 1.5px solid rgba(172,36,132,.35);
    padding: .75rem 1.5rem; border-radius: 50px;
    transition: all .25s;
}
.gi-scroll-btn:hover {
    background: rgba(172,36,132,.06);
    border-color: var(--primary);
}

/* ── 6.2 Profile Cards ── */
.gi-profiles-section {
    padding: 6rem 0 4rem;
    background: #fff;
}
.gi-profiles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-bottom: 3rem;
}
.gi-profile-card {
    background: #fff; border-radius: 16px;
    border: 1px solid var(--border);
    padding: 1.75rem 1.5rem;
    display: flex; flex-direction: column;
    align-items: center; text-align: center;
    transition: transform .3s, box-shadow .3s, border-color .3s;
    box-shadow: var(--shadow-sm);
    height: 100%;
}
.gi-profile-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: var(--primary);
}
.gi-profile-icon {
    width: 60px; height: 60px; border-radius: 50%;
    background: rgba(172,36,132,.08);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; color: var(--primary);
    margin-bottom: 1rem; flex-shrink: 0;
    transition: background .3s;
}
.gi-profile-card:hover .gi-profile-icon { background: var(--primary); color: #fff; }
.gi-profile-text {
    font-size: .875rem; color: #333;
    line-height: 1.7; margin: 0;
}
.gi-profiles-statement {
    background: linear-gradient(135deg, rgba(172,36,132,.06) 0%, rgba(172,36,132,.04) 100%);
    border-radius: 18px;
    border: 1px solid rgba(172,36,132,.15);
    padding: 2.25rem 2.5rem;
    text-align: center;
    font-size: 1.05rem; font-style: italic;
    color: #444; line-height: 1.8;
    max-width: 760px; margin: 0 auto;
}
.gi-profiles-statement span {
    font-weight: 800; color: var(--primary);
    font-style: normal;
}

/* ── 6.3 Steps Flow ── */
.gi-steps-section {
    padding: 6rem 0;
    background: var(--bg-light);
}
.gi-steps-flow {
    display: flex; align-items: flex-start;
    justify-content: center; flex-wrap: nowrap;
    gap: 0; max-width: 900px; margin: 0 auto;
}
.gi-step-card {
    flex: 1; text-align: center; padding: 2rem 1.5rem;
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
    transition: transform .3s, box-shadow .3s;
}
.gi-step-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.gi-step-circle {
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--primary);
    color: #fff; font-size: 1.4rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto .75rem;
    box-shadow: 0 6px 20px rgba(172,36,132,.35);
}
.gi-step-icon {
    font-size: 1.5rem; color: var(--primary);
    margin-bottom: .75rem; opacity: .7;
}
.gi-step-title {
    font-size: 1rem; font-weight: 800;
    color: var(--navy); margin-bottom: .6rem;
}
.gi-step-body {
    font-size: .85rem; color: var(--text-muted);
    line-height: 1.75; margin: 0;
}
.gi-step-connector {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 0 .4rem; min-width: 40px;
    padding-top: 2rem;
}
.gi-connector-line {
    border-top: 2px dashed rgba(172,36,132,.35);
    width: 100%; display: none;
}
.gi-connector-arrow { color: rgba(172,36,132,.5); font-size: 1.1rem; }

/* ── 6.4 Contact CTA Block ── */
.gi-contact-cta {
    background: var(--primary);
    padding: 6rem 0;
    text-align: center;
    position: relative; overflow: hidden;
}
.gi-cta-heading {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 700; color: #fff;
    margin-bottom: 2.5rem; line-height: 1.2;
    position: relative; z-index: 1;
}
.gi-cta-info {
    display: flex; justify-content: center;
    flex-wrap: wrap; gap: 2.5rem;
    margin-bottom: 2.5rem;
    position: relative; z-index: 1;
}
.gi-cta-detail {
    display: flex; align-items: flex-start; gap: .75rem;
    text-align: left;
}
.gi-cta-detail > i {
    font-size: 1.3rem; color: rgba(255,255,255,.55);
    margin-top: .1rem;
}
.gi-wa-icon { color: #25D366 !important; }
.gi-cta-detail-label {
    display: block; font-size: .68rem;
    font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    margin-bottom: .2rem;
}
.gi-cta-detail-val {
    display: block; font-size: .96rem;
    font-weight: 700; color: #fff;
    transition: color .2s;
}
a.gi-cta-detail-val:hover { color: rgba(255,255,255,.75); }
.gi-cta-buttons {
    display: flex; justify-content: center;
    gap: 1rem; flex-wrap: wrap;
    margin-bottom: 2.5rem;
    position: relative; z-index: 1;
}
.gi-btn-whatsapp {
    display: inline-flex; align-items: center; gap: .6rem;
    background: #fff; color: #25D366;
    font-weight: 800; font-size: .96rem;
    padding: .9rem 2.25rem; border-radius: 50px;
    box-shadow: 0 6px 20px rgba(0,0,0,.12);
    transition: transform .25s, box-shadow .25s;
}
.gi-btn-whatsapp:hover {
    color: #1da851; transform: scale(1.04);
    box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.gi-btn-whatsapp i { font-size: 1.2rem; }
.gi-btn-call {
    display: inline-flex; align-items: center; gap: .6rem;
    background: #fff; color: var(--primary);
    font-weight: 800; font-size: .96rem;
    padding: .9rem 2.25rem; border-radius: 50px;
    box-shadow: 0 6px 20px rgba(0,0,0,.12);
    transition: transform .25s, box-shadow .25s;
}
.gi-btn-call:hover {
    color: var(--primary-dark); transform: scale(1.04);
    box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.gi-multilingual {
    position: relative; z-index: 1;
    color: rgba(255,255,255,.55);
    font-size: .82rem; font-style: italic;
    line-height: 1.9;
}
.gi-multilingual p { margin: 0; }
.gi-multilingual strong { color: rgba(255,255,255,.8); font-style: normal; }
.gi-cta-orb {
    position: absolute; border-radius: 50%;
    pointer-events: none;
}
.gi-orb-a {
    width: 400px; height: 400px;
    background: rgba(255,255,255,.05);
    top: -120px; left: -80px;
}
.gi-orb-b {
    width: 300px; height: 300px;
    background: rgba(255,255,255,.04);
    bottom: -80px; right: -60px;
}

/* ── Donate cards ── */
.donate-option-card {
    background: #fff; border-radius: 12px;
    padding: 1.25rem; border: 2px solid var(--border);
    cursor: pointer; transition: var(--transition);
}
.donate-option-card:hover { border-color: var(--primary); transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.donate-amt { font-size: 1.2rem; font-weight: 800; color: var(--primary); margin-bottom: .2rem; }
.donate-impact { font-size: .82rem; color: var(--text-muted); }
.donate-impact-card {
    background: var(--navy); border-radius: 18px; padding: 2.5rem;
}
.dic-header {
    display: flex; align-items: center; gap: .75rem;
    color: #fff; font-weight: 700; font-size: 1rem;
    margin-bottom: 1.75rem;
}
.dic-header i { color: var(--primary); font-size: 1.2rem; }
.dic-row { margin-bottom: 1rem; }
.dic-label-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: .2rem; }

/* ── Other Involve Cards ── */
.other-involve-card {
    background: #fff; border-radius: 18px;
    border: 1px solid var(--border); padding: 2.25rem 2rem;
    height: 100%; transition: transform .3s, box-shadow .3s;
    box-shadow: var(--shadow-sm);
    display: flex; flex-direction: column;
}
.other-involve-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.oi-icon {
    width: 60px; height: 60px; border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; margin-bottom: 1.25rem;
    transition: transform .3s;
}
.other-involve-card:hover .oi-icon { transform: scale(1.1); }
.oi-title { font-size: 1.05rem; font-weight: 800; color: var(--navy); margin-bottom: .5rem; }
.oi-desc  { font-size: .875rem; color: var(--text-muted); line-height: 1.8; flex: 1; margin-bottom: 1.25rem; }
.oi-link  { font-weight: 700; font-size: .88rem; display: inline-flex; align-items: center; gap: .4rem; transition: gap .2s; }
.oi-link:hover { gap: .75rem; }
.volunteer-form-wrap {
    background: var(--bg-light); border-radius: 20px;
    padding: 3rem; border: 1px solid var(--border);
}

/* ── Get Involved responsive ── */
@media (max-width: 1199px) {
    .gi-profiles-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991px) {
    .gi-steps-flow    { flex-wrap: wrap; justify-content: center; }
    .gi-step-card     { flex: 0 0 calc(50% - 1rem); }
    .gi-step-connector{ display: none; }
}
@media (max-width: 767px) {
    .gi-hero          { min-height: 60vh; padding: 7rem 0 4rem; }
    .gi-hero-title    { font-size: clamp(2rem, 7.5vw, 2.8rem); }
    .gi-hero-bg       { opacity: .08; }
    .gi-profiles-grid { grid-template-columns: 1fr; }
    .gi-steps-flow    { flex-direction: column; max-width: 400px; }
    .gi-step-card     { flex: none; width: 100%; }
    .gi-step-connector{ transform: rotate(90deg); display: flex; padding: .25rem 0; min-width: auto; }
    .gi-cta-info      { flex-direction: column; align-items: center; gap: 1.25rem; }
    .gi-cta-buttons   { flex-direction: column; align-items: center; }
    .gi-btn-whatsapp,
    .gi-btn-call      { width: 100%; max-width: 300px; justify-content: center; }
    .gi-contact-cta   { padding: 4rem 0; }
    .volunteer-form-wrap { padding: 1.75rem; }
}

/* ══════════════════════════════════════════════════
   CONTACT PAGE STYLES
══════════════════════════════════════════════════ */

/* ── 7.1 Hero — 40vh minimal ── */
.contact-hero {
    min-height: 40vh;
    display: flex; flex-direction: column;
    justify-content: center;
    background: #fff;
    padding: 7rem 0 3rem;
    position: relative;
    overflow: hidden;
}
.contact-hero-label {
    font-size: .72rem; font-weight: 700;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--primary); margin-bottom: .75rem;
}
.contact-hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2rem, 5vw, 3.4rem);
    font-weight: 700; color: #1A1A2E;
    line-height: 1.15; margin-bottom: 1rem;
}
.contact-hero-underline {
    position: relative; display: inline-block;
    color: var(--primary);
}
.contact-hero-underline::after {
    content: '';
    position: absolute; left: 0; bottom: -4px;
    width: 100%; height: 3px;
    background: var(--primary); border-radius: 2px;
}
.contact-hero-sub {
    font-size: clamp(.95rem, 1.8vw, 1.1rem);
    color: #555; max-width: 540px;
    margin: 0 auto; line-height: 1.9;
}
.contact-hero-bar {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--primary) 40%, #7c3aed 70%, transparent 100%);
    opacity: .35;
}

/* ── 7.2 + 7.3 Main Layout ── */
.contact-main-section {
    padding: 5rem 0 6rem;
    background: var(--bg-light);
}
.contact-layout {
    display: flex; gap: 3rem; align-items: flex-start;
}
.contact-form-col   { flex: 0 0 60%; max-width: 60%; }
.contact-details-col{ flex: 1; }

/* ── Form Card ── */
.contact-form-card {
    background: #fff;
    border-radius: 24px;
    padding: 3rem;
    box-shadow: 0 8px 40px rgba(26,26,46,.08);
    border: 1px solid var(--border);
}

/* ── Form Fields ── */
.cf-row {
    display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
.cf-field-wrap { margin-bottom: 1.25rem; }
.cf-label {
    display: block; font-size: .78rem; font-weight: 700;
    color: #1A1A2E; letter-spacing: .3px;
    margin-bottom: .45rem; text-transform: uppercase;
    letter-spacing: .8px;
}
.cf-req { color: var(--primary); }
.cf-input {
    display: block; width: 100%;
    height: 48px;
    background: #fff;
    border: 1.5px solid #D0B8CB;
    border-radius: 8px;
    padding: 0 1rem;
    font-size: .93rem; font-family: 'Poppins', sans-serif;
    color: #1A1A2E;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
    -webkit-appearance: none;
}
.cf-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(172,36,132,.1);
}
.cf-input::placeholder { color: #bbb; }
.cf-input.cf-input-error {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,.1);
}
.cf-textarea {
    height: auto !important;
    padding: .75rem 1rem;
    resize: vertical; min-height: 130px;
}
.cf-select-wrap { position: relative; }
.cf-select {
    padding-right: 2.5rem;
    cursor: pointer;
    background-color: #fff;
}
.cf-select-arrow {
    position: absolute; right: 1rem; top: 50%;
    transform: translateY(-50%);
    color: #999; font-size: .75rem;
    pointer-events: none;
}
.cf-error {
    display: block; font-size: .75rem; color: #ef4444;
    margin-top: .35rem; min-height: 1rem;
    font-weight: 600;
}
.cf-routing-note {
    font-size: .78rem; color: var(--text-muted);
    margin-bottom: 1.5rem; display: flex;
    align-items: center; gap: .4rem;
}
.cf-routing-note i { color: var(--primary); }
.cf-submit {
    display: flex; align-items: center; justify-content: center;
    gap: .65rem; width: 100%;
    height: 52px;
    background: var(--primary); color: #fff;
    border: none; border-radius: 50px;
    font-size: 1rem; font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: background .25s, transform .25s, box-shadow .25s;
    box-shadow: 0 6px 24px rgba(172,36,132,.3);
}
.cf-submit:hover:not(:disabled) {
    background: #c72d99;
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(172,36,132,.4);
}
.cf-submit:disabled { opacity: .7; cursor: not-allowed; }

/* ── Success State ── */
.contact-success {
    flex-direction: column; align-items: center;
    justify-content: center; text-align: center;
    padding: 3rem 2rem; gap: 1.25rem;
    min-height: 300px;
}
.success-icon {
    width: 80px; height: 80px; border-radius: 50%;
    background: linear-gradient(135deg, #10b981, #059669);
    display: flex; align-items: center; justify-content: center;
    font-size: 2rem; color: #fff;
    box-shadow: 0 10px 30px rgba(5,150,105,.3);
    animation: successPop .5s ease;
}
@keyframes successPop {
    0%  { transform: scale(0); opacity: 0; }
    70% { transform: scale(1.15); }
    100%{ transform: scale(1);   opacity: 1; }
}
.success-heading {
    font-family: 'Poppins', sans-serif;
    font-size: 2rem; font-weight: 700;
    color: var(--navy); margin: 0;
}
.success-body {
    font-size: 1rem; color: var(--text-muted);
    line-height: 1.75; margin: 0;
}
.success-reset {
    background: none; border: 1.5px solid var(--border);
    border-radius: 50px; padding: .55rem 1.5rem;
    font-size: .82rem; font-weight: 700;
    color: var(--text-muted); cursor: pointer;
    font-family: 'Poppins', sans-serif;
    transition: border-color .2s, color .2s;
}
.success-reset:hover { border-color: var(--primary); color: var(--primary); }

/* ── Contact Details Column ── */
.contact-details-list {
    display: flex; flex-direction: column; gap: 1.5rem;
    margin-bottom: 2rem;
}
.cd-item {
    display: flex; align-items: flex-start; gap: .9rem;
}
.cd-icon {
    width: 46px; height: 46px; flex-shrink: 0;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem; transition: transform .25s;
}
.cd-item:hover .cd-icon { transform: scale(1.1); }
.cd-label {
    display: block; font-size: .68rem; font-weight: 800;
    letter-spacing: 2px; text-transform: uppercase;
    color: #888; margin-bottom: .25rem;
}
.cd-value {
    display: block; font-size: .94rem; font-weight: 600;
    color: #1A1A2E; line-height: 1.6;
}
a.cd-value.cd-link {
    transition: color .2s;
}
a.cd-value.cd-link:hover { color: var(--primary); }

/* Language Note */
.cd-lang-note {
    background: var(--navy);
    border-radius: 14px; padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.cd-lang-title {
    display: flex; align-items: center; gap: .6rem;
    font-size: .82rem; font-weight: 800;
    letter-spacing: 1px; text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-bottom: .65rem;
}
.cd-lang-title i { color: var(--primary); }

/* Action Row */
.cd-action-row {
    display: flex; gap: .75rem; flex-wrap: wrap;
}
.cd-btn-wa {
    display: inline-flex; align-items: center; gap: .5rem;
    background: #25D366; color: #fff;
    font-weight: 700; font-size: .85rem;
    padding: .65rem 1.4rem; border-radius: 50px;
    box-shadow: 0 4px 16px rgba(37,211,102,.3);
    transition: transform .25s, box-shadow .25s;
    flex: 1; justify-content: center;
}
.cd-btn-wa:hover { color:#fff; transform: scale(1.04); box-shadow: 0 8px 24px rgba(37,211,102,.4); }
.cd-btn-call {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--primary); color: #fff;
    font-weight: 700; font-size: .85rem;
    padding: .65rem 1.4rem; border-radius: 50px;
    box-shadow: 0 4px 16px rgba(172,36,132,.3);
    transition: transform .25s, box-shadow .25s;
    flex: 1; justify-content: center;
}
.cd-btn-call:hover { color:#fff; transform: scale(1.04); box-shadow: 0 8px 24px rgba(172,36,132,.4); }

/* ── 7.4 Map ── */
.contact-map-section {
    padding: 4rem 0 6rem;
    background: #fff;
}
.contact-map-wrap {
    border-radius: 12px; overflow: hidden;
    box-shadow: 0 8px 32px rgba(26,26,46,.1);
    border: 1px solid var(--border);
}
.contact-map-wrap iframe {
    width: 100%; height: 450px;
    display: block; border: 0;
}
.contact-map-footer {
    display: flex; align-items: center; gap: .5rem;
    margin-top: 1rem;
    font-size: .86rem; color: var(--text-muted);
    flex-wrap: wrap;
}
.map-directions-link {
    color: var(--primary); font-weight: 700;
    display: inline-flex; align-items: center; gap: .35rem;
    text-decoration: underline; text-underline-offset: 3px;
    transition: opacity .2s;
}
.map-directions-link:hover { opacity: .75; color: var(--primary); }

/* ── Contact responsive ── */
@media (max-width: 991px) {
    .contact-layout { flex-direction: column; }
    .contact-form-col,
    .contact-details-col { flex: none; max-width: 100%; width: 100%; }
    .contact-form-card { padding: 2.5rem 2rem; }
}
@media (max-width: 767px) {
    .contact-hero   { min-height: 35vh; padding: 6rem 0 2.5rem; }
    .contact-hero-title { font-size: clamp(1.8rem, 7vw, 2.6rem); }
    .cf-row         { grid-template-columns: 1fr; }
    .contact-form-card { padding: 2rem 1.5rem; border-radius: 18px; }
    .contact-map-wrap iframe { height: 350px; }
    .contact-map-section { padding: 3rem 0 4rem; }
    .cd-action-row  { flex-direction: column; }
    .cd-btn-wa, .cd-btn-call { flex: none; width: 100%; }
}

/* ══════════════════════════════════════════════════
   GLOBAL RESPONSIVE FIXES
══════════════════════════════════════════════════ */

/* ── Breadcrumb: dark text on light-background heroes ── */
/* About & Partner heroes are dark — white text is correct there.
   Programs, Impact, Get Involved, Contact heroes are light/white — need dark text. */
.programs-hero-v2 .page-breadcrumb,
.programs-hero-v2 .page-breadcrumb a,
.impact-hero .page-breadcrumb,
.impact-hero .page-breadcrumb a,
.gi-hero .page-breadcrumb,
.gi-hero .page-breadcrumb a,
.contact-hero .page-breadcrumb,
.contact-hero .page-breadcrumb a {
    color: rgba(26,26,46,.45);
}
.programs-hero-v2 .page-breadcrumb a:hover,
.impact-hero .page-breadcrumb a:hover,
.gi-hero .page-breadcrumb a:hover,
.contact-hero .page-breadcrumb a:hover {
    color: var(--primary);
}
.programs-hero-v2 .page-breadcrumb .sep,
.impact-hero .page-breadcrumb .sep,
.gi-hero .page-breadcrumb .sep,
.contact-hero .page-breadcrumb .sep {
    color: rgba(26,26,46,.25);
}

/* ── Partner strip buttons — stack on small screens ── */
@media (max-width: 575px) {
    .partner-strip-buttons {
        flex-direction: column; align-items: center;
    }
    .partner-strip-buttons .btn-primary-custom,
    .partner-strip-buttons .btn-outline-custom {
        width: 100%; max-width: 300px; justify-content: center;
    }
}

/* ── About: values 5-card grid — 2 col on tablet, 1 col on mobile ── */
@media (max-width: 991px) {
    .values-section .row > [class*="col-"] {
        flex: 0 0 50%; max-width: 50%;
    }
}
@media (max-width: 575px) {
    .values-section .row > [class*="col-"] {
        flex: 0 0 100%; max-width: 100%;
    }
    .vm-section .row > [class*="col-"] {
        flex: 0 0 100%; max-width: 100%;
    }
    .vm-card { margin-bottom: 1.5rem; }
}

/* ── Impact: stats row — 2 col on mobile ── */
@media (max-width: 575px) {
    .impact-stats-section .row > [class*="col-"] {
        flex: 0 0 50%; max-width: 50%;
    }
    .impact-stat-card-v2 { padding: 1.5rem 1rem; }
    .istat-num           { font-size: 2rem; }
}

/* ── Impact: story cards — full width on mobile ── */
@media (max-width: 575px) {
    .story-card-v2 { min-height: auto; }
    .story-result  { padding: .75rem 1rem; }
}

/* ── Programs: employment roles wrap — wrap on mobile ── */
@media (max-width: 575px) {
    .prog-roles-wrap { gap: .35rem; }
    .prog-role-pill  { font-size: .7rem; padding: .3rem .75rem; }
    .prog-left-panel { padding: 2rem 1.5rem; }
}

/* ── Partner: checklist — 1 col on small mobile ── */
@media (max-width: 575px) {
    .partner-checklist li {
        padding: .85rem 1rem;
    }
    .pcheck-icon { width: 28px; height: 28px; font-size: .6rem; flex-shrink: 0; }
}

/* ── Get Involved: donate + other-involve grid ── */
@media (max-width: 575px) {
    .gi-profile-card { padding: 1.25rem 1rem; }
    .gi-profile-icon { width: 48px; height: 48px; font-size: 1.2rem; }
    .gi-step-circle  { width: 48px; height: 48px; font-size: 1rem; }
    .other-involve-card { padding: 1.75rem 1.25rem; }
}

/* ── Navbar: mobile menu overflow fix ── */
@media (max-width: 991px) {
    .nav-mobile {
        max-height: 100vh; overflow-y: auto;
    }
}

/* ── General: prevent horizontal scroll on all pages ── */
html, body { overflow-x: hidden; max-width: 100%; }
.about-hero-orb,
.partner-hero-orb,
.gi-orb-a,
.gi-orb-b,
.prog-hero-orb {
    pointer-events: none;
}
@media (max-width: 767px) {
    .about-hero-orb,
    .partner-hero-orb {
        display: none;
    }
}
