/* =====================================================
   HEALTH POTENTIAL — MULTI-PAGE EXTRA STYLES
   Extends style.css for all new pages
   ===================================================== */


/* ===== PAGE HERO BANNER ===== */

.page-hero {
    min-height: 420px;
    display: flex;
    align-items: center;
    padding-top: 80px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #1A4D2E 0%, #2D6E3C 50%, #3D8B4F 100%);
}

.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M40 40c0-22 18-40 40-40v80c-22 0-40-18-40-40zM0 0c22 0 40 18 40 40S22 80 0 80V0z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.page-hero::after {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(212, 135, 46, .18), transparent 70%);
    border-radius: 50%;
}

.page-hero-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
}

.page-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .15);
    padding: 7px 18px;
    border-radius: 100px;
    margin-bottom: 22px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: .72rem;
    font-weight: 700;
    color: rgba(255, 255, 255, .85);
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.page-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    color: white;
    margin-bottom: 18px;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.page-hero h1 .accent-orange {
    color: var(--orange);
}

.page-hero h1 .accent-green-light {
    color: #7fe089;
}

.page-hero p {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .7);
    max-width: 560px;
    line-height: 1.8;
    margin-bottom: 28px;
}

.page-hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    color: rgba(255, 255, 255, .5);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    margin-bottom: 20px;
}

.page-hero-breadcrumb a {
    color: rgba(255, 255, 255, .6);
    transition: color .3s;
}

.page-hero-breadcrumb a:hover {
    color: white;
}

.page-hero-breadcrumb .sep {
    opacity: .4;
}


/* ===== SECTION CTA BANNER ===== */

.cta-banner {
    background: linear-gradient(135deg, var(--green-dark), var(--green-deeper));
    padding: 80px 0;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.cta-banner::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -120px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(212, 135, 46, .15), transparent 70%);
    border-radius: 50%;
}

.cta-banner::after {
    content: '';
    position: absolute;
    bottom: -80px;
    left: -80px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 255, 255, .04), transparent 70%);
    border-radius: 50%;
}

.cta-banner h2 {
    color: white;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}

.cta-banner p {
    color: rgba(255, 255, 255, .7);
    font-size: 1rem;
    max-width: 520px;
    margin: 0 auto 32px;
    line-height: 1.8;
    position: relative;
    z-index: 1;
}

.cta-banner .cta-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}


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

/* About page uses the existing markup with a calmer, premium clinical finish. */

.about-org-section {
    padding: 150px 0 110px;
    background:
        radial-gradient(circle at 8% 8%, rgba(61, 139, 79, .09), transparent 28%),
        radial-gradient(circle at 92% 88%, rgba(212, 135, 46, .08), transparent 26%),
        linear-gradient(145deg, #f8fbf8 0%, #fffdf9 100%);
    position: relative;
    overflow: hidden;
}

.about-page-hero {
    background:
        linear-gradient(112deg, rgba(15, 70, 44, .96), rgba(39, 111, 70, .87)),
        url("https://images.unsplash.com/photo-1471864190281-a93a3070b6de?auto=format&fit=crop&w=1800&q=82") center/cover;
}

.about-founder-spotlight {
    padding: 108px 0;
    background: linear-gradient(145deg, #f4faf5 0%, #fffaf1 100%);
}

.about-founder-grid {
    display: grid;
    grid-template-columns: minmax(300px, .82fr) 1.18fr;
    gap: clamp(42px, 7vw, 90px);
    align-items: center;
}

.about-founder-portrait {
    position: relative;
    min-height: 570px;
    border-radius: 150px 28px 28px 28px;
    overflow: hidden;
    background: var(--green-softer);
    box-shadow: 0 28px 70px rgba(22, 72, 45, .18);
}

.about-founder-portrait > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.portrait-kicker {
    position: absolute;
    z-index: 2;
    top: 24px;
    right: 24px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: var(--green);
    font-weight: 700;
    font-size: .78rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.portrait-caption {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 20px 22px;
    border-radius: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
}

.portrait-caption strong { color: var(--g900); }
.portrait-caption span { color: var(--orange); font-weight: 700; font-size: .82rem; }

.founder-story-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 30px 0;
}

.founder-story-cards div {
    padding: 22px 16px;
    border: 1px solid rgba(39, 111, 70, .12);
    border-radius: 18px;
    background: rgba(255,255,255,.78);
}

.founder-story-cards strong {
    display: block;
    color: var(--green);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.7rem;
}

.founder-story-cards span { color: var(--g600); font-size: .78rem; line-height: 1.4; }

.founder-principles {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
}

.founder-principles span {
    padding: 9px 13px;
    border-radius: 999px;
    color: var(--g800);
    background: var(--green-softer);
    font-size: .82rem;
    font-weight: 600;
}

@media (max-width: 850px) {
    .about-founder-grid { grid-template-columns: 1fr; }
    .about-founder-portrait { min-height: 500px; max-width: 520px; width: 100%; margin: 0 auto; }
}

@media (max-width: 520px) {
    .about-founder-spotlight { padding: 72px 0; }
    .about-founder-portrait { min-height: 420px; border-radius: 80px 20px 20px; }
    .founder-story-cards { grid-template-columns: 1fr; }
    .portrait-caption { align-items: flex-start; flex-direction: column; }
}

/* Refined About page — intentionally starts directly with the organization story. */
.about-org-section {
    padding: 132px 0 104px;
}

.about-org-img {
    aspect-ratio: 4 / 5;
    border-radius: 28px;
    box-shadow: 0 28px 70px rgba(19, 67, 41, .16);
}

.about-org-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 65%, rgba(18, 67, 41, .16));
    pointer-events: none;
}

.about-org-content .about-lead {
    padding-left: 20px;
    border-left: 3px solid var(--orange);
    color: var(--g800);
    font-size: 1.04rem;
}

.about-org-content .about-lead strong {
    color: var(--green);
}

.about-stat-divider {
    width: 1px;
    height: 42px;
    background: var(--g200);
}

.about-trust-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 30px 0 24px;
}

.about-trust-row > div {
    padding: 18px 14px;
    border: 1px solid rgba(37, 112, 67, .12);
    border-radius: 15px;
    background: rgba(255, 255, 255, .82);
}

.about-trust-row strong,
.about-trust-row span {
    display: block;
}

.about-trust-row strong {
    margin-bottom: 5px;
    color: var(--green);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: .88rem;
}

.about-trust-row span {
    color: var(--g500);
    font-size: .74rem;
    line-height: 1.45;
}

.about-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--green);
    font-weight: 700;
}

.about-text-link span {
    transition: transform .25s ease;
}

.about-text-link:hover span {
    transform: translateX(4px);
}

.about-founder-story > p {
    color: var(--g600);
    line-height: 1.78;
    margin-bottom: 14px;
}

.about-founder-story .founder-intro {
    color: var(--g800);
    font-size: 1.04rem;
    font-weight: 500;
}

.professional-focus {
    margin: 28px 0 30px;
    padding: 24px;
    border: 1px solid rgba(37, 112, 67, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .72);
}

.professional-focus h3 {
    margin-bottom: 16px;
    color: var(--g900);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
}

.professional-focus-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 16px;
}

.professional-focus-grid span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--g700);
    font-size: .82rem;
    font-weight: 600;
}

.professional-focus-grid span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--orange);
    box-shadow: 0 0 0 4px var(--orange-soft);
    flex: 0 0 auto;
}

.founder-profile-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

.profile-social-link {
    color: var(--g600);
    font-size: .82rem;
    font-weight: 700;
    border-bottom: 1px solid var(--g300);
}

.profile-social-link:hover {
    color: var(--green);
    border-color: var(--green);
}

@media (max-width: 720px) {
    .about-org-section { padding: 104px 0 76px; }
    .about-trust-row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .professional-focus-grid { grid-template-columns: 1fr; }
    .founder-profile-actions { align-items: flex-start; flex-direction: column; }
}

.about-org-section::before {
    content: '';
    position: absolute;
    inset: 80px auto auto 0;
    width: 5px;
    height: 150px;
    background: linear-gradient(var(--green), var(--orange));
    border-radius: 0 10px 10px 0;
}

.about-org-grid {
    display: grid;
    grid-template-columns: minmax(340px, .88fr) minmax(0, 1.12fr);
    gap: clamp(54px, 7vw, 92px);
    align-items: start;
}

.about-org-visual {
    position: sticky;
    top: 118px;
    padding: 14px 14px 0 0;
}

.about-org-visual::before {
    content: '';
    position: absolute;
    inset: 0 0 34px 28px;
    border: 1px solid rgba(61, 139, 79, .22);
    border-radius: 34px;
    transform: translate(14px, 14px);
}

.about-org-img {
    width: 100%;
    aspect-ratio: 4/5;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(27, 69, 43, .16);
    background: linear-gradient(145deg, rgba(61, 139, 79, .1), rgba(245, 237, 227, .8));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    position: relative;
}

.about-org-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform .8s var(--ease);
}

.about-org-visual:hover .about-org-img img {
    transform: scale(1.025);
}

.about-org-stat-badge {
    position: absolute;
    bottom: 34px;
    right: -28px;
    background: white;
    border-radius: 18px;
    padding: 18px 22px;
    box-shadow: 0 18px 48px rgba(26, 77, 46, .16);
    border: 1px solid rgba(61, 139, 79, .12);
    display: flex;
    align-items: center;
    gap: 14px;
}

.about-org-stat-badge .stat-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--green), var(--orange));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}

.about-org-stat-badge .stat-lbl {
    font-size: .73rem;
    color: var(--g400);
    font-weight: 500;
}

.about-org-content p {
    font-size: .97rem;
    color: #65706b;
    line-height: 1.88;
    margin-bottom: 18px;
}

.about-org-content > .s-title {
    max-width: 620px;
    margin-bottom: 26px;
}

.about-org-content > p:first-of-type {
    font-size: 1.02rem;
    color: var(--g600);
}

.founder-competencies {
    margin-top: 32px;
    padding-top: 26px;
    border-top: 1px solid rgba(61, 139, 79, .12);
}

.founder-competencies h4,
.founder-connect h4 {
    margin-bottom: 16px;
    color: var(--green-dark);
    font-size: .95rem;
}

.founder-competencies ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 12px;
    list-style: none;
    padding: 0;
}

.founder-competencies li {
    position: relative;
    padding: 10px 12px 10px 34px;
    border: 1px solid rgba(61, 139, 79, .1);
    border-radius: 10px;
    background: rgba(255, 255, 255, .72);
    color: var(--g600);
    font-size: .78rem;
    line-height: 1.45;
}

.founder-competencies li::before {
    content: '\2713';
    position: absolute;
    left: 11px;
    top: 10px;
    color: var(--green);
    font-weight: 800;
}

.founder-connect {
    margin-top: 25px;
}

.founder-social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 8px 8px 0;
    padding: 9px 15px;
    border: 1px solid var(--g200);
    border-radius: 100px;
    background: white;
    font-size: .8rem;
    font-weight: 700;
    transition: var(--t);
}

.founder-social.instagram { color: #c92d69; }
.founder-social.twitter { color: var(--g800); }
.founder-social:hover {
    transform: translateY(-2px);
    border-color: rgba(61, 139, 79, .2);
    box-shadow: var(--s-md);
}

.about-values {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 30px;
}

.about-value-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: rgba(255, 255, 255, .82);
    border-radius: var(--r);
    border: 1px solid rgba(61, 139, 79, .11);
    transition: var(--t);
}

.about-value-item:hover {
    background: white;
    box-shadow: var(--s-md);
    transform: translateY(-2px);
}

.about-value-item .val-icon {
    font-size: 20px;
    line-height: 1;
    margin-top: 2px;
}

.about-value-item h5 {
    font-size: .84rem;
    margin-bottom: 3px;
}

.about-value-item p {
    font-size: .78rem;
    color: var(--g400);
    margin: 0;
    line-height: 1.5;
}


/* Mission & Vision Cards */

.mv-section {
    padding: 110px 0;
    background: #fff;
    position: relative;
}

.mv-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(61, 139, 79, .15), rgba(212, 135, 46, .1), transparent);
}

.mv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    margin-top: 56px;
}

.mv-card {
    border-radius: var(--r-xl);
    padding: 44px 40px 42px;
    position: relative;
    overflow: hidden;
    transition: var(--t);
    border: 1px solid transparent;
}

.mv-card.mission {
    background: linear-gradient(145deg, #f0f7f2, #faf8f4);
    border-color: rgba(61, 139, 79, .12);
}

.mv-card.vision {
    background: linear-gradient(145deg, #fdf5ec, #faf8f4);
    border-color: rgba(212, 135, 46, .12);
}

.mv-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    opacity: .5;
}

.mv-card.mission::before {
    background: radial-gradient(circle, var(--green-glow), transparent 70%);
}

.mv-card.vision::before {
    background: radial-gradient(circle, var(--orange-glow), transparent 70%);
}

.mv-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(31, 62, 42, .11);
}

.mv-icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: var(--r-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
    transition: transform .4s;
}

.mv-card:hover .mv-icon-wrap {
    transform: scale(1.08) rotate(3deg);
}

.mv-card.mission .mv-icon-wrap {
    background: rgba(61, 139, 79, .1);
}

.mv-card.vision .mv-icon-wrap {
    background: rgba(212, 135, 46, .1);
}

.mv-card h3 {
    font-size: 1.4rem;
    margin-bottom: 16px;
    position: relative;
    z-index: 1;
}

.mv-card.mission h3 {
    color: var(--green-dark);
}

.mv-card.vision h3 {
    color: var(--orange-dark);
}

.mv-card p {
    font-size: .95rem;
    color: var(--g500);
    line-height: 1.85;
    position: relative;
    z-index: 1;
    margin-bottom: 14px;
}

.mv-points {
    list-style: none;
    position: relative;
    z-index: 1;
    margin-top: 20px;
}

.mv-points li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    font-size: .88rem;
    color: var(--g600);
    border-bottom: 1px solid rgba(0, 0, 0, .04);
}

.mv-points li:last-child {
    border: none;
}

.mv-card.mission .mv-points li::before {
    content: '✓';
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 800;
}

.mv-card.vision .mv-points li::before {
    content: '→';
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 50%;
    background: var(--orange-soft);
    color: var(--orange);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
}


/* Team intro section */

.team-intro-section {
    padding: 110px 0;
    background: linear-gradient(145deg, #f5faf6 0%, #fdf9f3 100%);
}

.team-intro-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
}

.team-intro-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 28px;
}

.team-stat-box {
    background: white;
    border-radius: var(--r);
    padding: 22px 20px;
    border: 1px solid rgba(61, 139, 79, .08);
    box-shadow: 0 8px 24px rgba(31, 62, 42, .05);
    text-align: center;
    transition: var(--t);
}

.team-stat-box:hover {
    transform: translateY(-4px);
    box-shadow: var(--s-md);
    border-color: rgba(61, 139, 79, .18);
}

.team-stat-box .ts-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 6px;
}

.team-stat-box:nth-child(odd) .ts-val {
    color: var(--green);
}

.team-stat-box:nth-child(even) .ts-val {
    color: var(--orange);
}

.team-stat-box .ts-lbl {
    font-size: .72rem;
    color: var(--g400);
    font-weight: 500;
}

.team-difference-wrap { position: relative; }

.team-difference-card {
    position: relative;
    padding: 42px;
    overflow: hidden;
    border: 1px solid rgba(61, 139, 79, .12);
    border-radius: 28px;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 22px 55px rgba(35, 74, 49, .08);
    backdrop-filter: blur(12px);
}

.team-difference-card::after {
    content: '';
    position: absolute;
    width: 150px;
    height: 150px;
    right: -70px;
    bottom: -70px;
    border-radius: 50%;
    background: rgba(212, 135, 46, .08);
}

.team-difference-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}


/* About Team Members — same t-card style, adapted for 3 columns */

.about-team-section {
    padding: 110px 0;
    background: #fff;
}

.about-team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 56px;
}

.about-team-section .t-card {
    border: 1px solid rgba(61, 139, 79, .1);
    box-shadow: 0 12px 35px rgba(31, 62, 42, .07);
}

.about-team-section .t-photo {
    height: 310px;
}

.about-team-section .t-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.about-team-section .t-info {
    padding: 26px 25px 28px;
}

.about-team-section .t-info h4 {
    color: var(--green-dark);
    font-size: .76rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.about-team-section .t-info .role {
    font-size: 1.05rem;
    color: var(--g800);
}

.about-team-section .team-cta { margin-top: 44px; }

.about-team-section + .cta-banner {
    padding: 88px 0;
    background: linear-gradient(125deg, #153f27, #28663a 62%, #327744);
}

@media (max-width: 1024px) {
    .about-org-grid { gap: 48px; }
    .about-org-stat-badge { right: -10px; }
    .founder-competencies ul { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .about-org-section { padding: 112px 0 72px; }
    .about-org-visual { position: relative; top: auto; width: min(100%, 520px); margin: 0 auto 16px; }
    .about-org-img { aspect-ratio: 4/4.6; }
    .about-org-stat-badge { bottom: 18px; right: -4px; }
    .mv-section, .team-intro-section, .about-team-section { padding: 76px 0; }
    .team-difference-card { padding: 30px 24px; }
}

@media (max-width: 480px) {
    .about-org-section { padding-top: 98px; }
    .about-org-visual { padding: 8px 8px 0 0; }
    .about-org-stat-badge { position: relative; right: auto; bottom: auto; width: calc(100% - 28px); margin: -32px auto 0; justify-content: center; }
    .about-org-content > .s-title { font-size: 1.75rem; }
    .about-values { grid-template-columns: 1fr; }
    .mv-card { padding: 34px 24px; }
    .about-team-section .t-photo { height: 285px; }
}


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

.blog-page-section {
    background: linear-gradient(160deg, #f7fbf8 0%, #fdf9f4 100%);
}

.blog-page-tabs-wrap {
    display: flex;
    justify-content: center;
    margin-top: 48px;
    margin-bottom: 0;
}

.blog-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 48px;
}

.blog-page-grid .blog-thumb {
    height: 220px;
    background: var(--green-softer);
}

.blog-page-grid .blog-thumb::after {
    content: "";
    position: absolute;
    inset: 55% 0 0;
    background: linear-gradient(transparent, rgba(14, 54, 34, .3));
    pointer-events: none;
}

.blog-page-grid .blog-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-page-grid .blog-date {
    z-index: 2;
}


/* Blog featured card (first card bigger) */

.blog-featured-card {
    background: white;
    border-radius: var(--r-xl);
    overflow: hidden;
    border: 1px solid rgba(61, 139, 79, .08);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .05);
    transition: var(--t);
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 32px;
}

.blog-featured-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 56px rgba(61, 139, 79, .12), 0 4px 16px rgba(0, 0, 0, .06);
    border-color: transparent;
}

.blog-featured-thumb {
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 72px;
    background: linear-gradient(145deg, rgba(61, 139, 79, .1), rgba(245, 237, 227, .7));
    position: relative;
}

.blog-featured-body {
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.blog-featured-body .featured-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--green);
    margin-bottom: 12px;
}

.blog-featured-body h2 {
    font-size: 1.5rem;
    margin-bottom: 14px;
    line-height: 1.35;
}

.blog-featured-body p {
    font-size: .9rem;
    color: var(--g500);
    line-height: 1.7;
    margin-bottom: 24px;
}

.blog-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.blog-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .76rem;
    color: var(--g400);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
}


/* ===== BLOG DETAIL PAGE ===== */

.blog-detail-section {
    background: linear-gradient(160deg, #f7fbf8 0%, #fdf9f4 100%);
}

.blog-detail-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}

.blog-detail-hero {
    min-height: 480px;
    display: flex;
    align-items: flex-end;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, var(--green-deeper), var(--green-dark));
    padding-top: 80px;
}

.blog-detail-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, .6));
}

.blog-detail-hero-content {
    position: relative;
    z-index: 1;
    padding-bottom: 60px;
}

.blog-detail-hero h1 {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    color: white;
    margin-bottom: 18px;
    max-width: 700px;
}

.blog-detail-hero-meta {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.blog-detail-hero-meta span {
    font-size: .82rem;
    color: rgba(255, 255, 255, .75);
    font-family: 'Plus Jakarta Sans', sans-serif;
    display: flex;
    align-items: center;
    gap: 6px;
}

.blog-detail-hero-meta .bdh-tag {
    background: var(--orange);
    color: white;
    padding: 5px 14px;
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}


/* Article content */

.blog-article {
    background: white;
    border-radius: var(--r-xl);
    padding: 52px 48px;
    border: 1px solid rgba(61, 139, 79, .08);
    box-shadow: var(--s-md);
    margin-top: -40px;
    position: relative;
    z-index: 2;
}

.blog-article p {
    font-size: 1rem;
    color: var(--g600);
    line-height: 1.9;
    margin-bottom: 20px;
}

.blog-article h2 {
    font-size: 1.4rem;
    margin: 36px 0 16px;
    color: var(--g800);
}

.blog-article h3 {
    font-size: 1.15rem;
    margin: 28px 0 12px;
    color: var(--g700);
}

.blog-article ul,
.blog-article ol {
    padding-left: 24px;
    margin-bottom: 20px;
}

.blog-article li {
    font-size: .96rem;
    color: var(--g600);
    line-height: 1.8;
    margin-bottom: 8px;
}

.blog-article blockquote {
    border-left: 4px solid var(--green);
    padding: 22px 28px;
    margin: 32px 0;
    background: var(--green-soft);
    border-radius: 0 var(--r) var(--r) 0;
    font-size: 1.05rem;
    color: var(--green-dark);
    font-style: italic;
    line-height: 1.8;
}

.blog-article blockquote cite {
    display: block;
    font-style: normal;
    font-size: .82rem;
    margin-top: 12px;
    color: var(--g400);
    font-weight: 600;
}


/* Sidebar */

.blog-sidebar {
    position: sticky;
    top: 100px;
}

.blog-sidebar-card {
    background: white;
    border-radius: var(--r-lg);
    padding: 28px;
    border: 1px solid rgba(61, 139, 79, .08);
    box-shadow: var(--s-sm);
    margin-bottom: 24px;
}

.blog-sidebar-card h4 {
    font-size: .92rem;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--g100);
}

.sidebar-recent-item {
    display: flex;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--g100);
    transition: var(--t);
    cursor: pointer;
}

.sidebar-recent-item:last-child {
    border: none;
}

.sidebar-recent-item:hover {
    transform: translateX(4px);
}

.sidebar-recent-thumb {
    width: 60px;
    height: 60px;
    border-radius: var(--r-sm);
    background: var(--green-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.sidebar-recent-info h5 {
    font-size: .82rem;
    margin-bottom: 4px;
    line-height: 1.4;
}

.sidebar-recent-info span {
    font-size: .72rem;
    color: var(--g400);
}

.sidebar-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sidebar-tag {
    padding: 6px 14px;
    border-radius: 20px;
    background: var(--g100);
    font-size: .74rem;
    font-weight: 600;
    color: var(--g600);
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: var(--t);
    cursor: pointer;
}

.sidebar-tag:hover {
    background: var(--green-soft);
    color: var(--green-dark);
}


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

.contact-page-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 56px;
}

.contact-info-card {
    background: white;
    border-radius: var(--r-lg);
    padding: 32px 24px;
    border: 1px solid rgba(61, 139, 79, .08);
    box-shadow: var(--s-sm);
    text-align: center;
    transition: var(--t);
    position: relative;
    overflow: hidden;
}

.contact-info-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--green), var(--orange));
    transform: scaleX(0);
    transition: transform .4s var(--ease);
    transform-origin: left;
}

.contact-info-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--s-xl);
    border-color: transparent;
}

.contact-info-card:hover::after {
    transform: scaleX(1);
}

.cic-icon {
    width: 68px;
    height: 68px;
    border-radius: var(--r);
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    background: var(--green-soft);
    transition: transform .4s;
}

.contact-info-card:nth-child(even) .cic-icon {
    background: var(--orange-soft);
}

.contact-info-card:hover .cic-icon {
    transform: scale(1.1) rotate(5deg);
}

.cic-label {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--g400);
    font-family: 'Plus Jakarta Sans', sans-serif;
    margin-bottom: 8px;
}

.cic-value {
    font-size: .9rem;
    color: var(--g700);
    font-weight: 600;
    line-height: 1.6;
}

.contact-form-section {
    background: white;
    position: relative;
}

.contact-form-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(61, 139, 79, .12), transparent);
}

.contact-full-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 64px;
    align-items: start;
}


/* FAQ Section */

.faq-section {
    background: linear-gradient(160deg, #f7fbf8 0%, #fdf9f4 100%);
}

.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 56px;
}

.faq-item {
    background: white;
    border-radius: var(--r);
    border: 1px solid rgba(61, 139, 79, .08);
    overflow: hidden;
    transition: var(--t);
}

.faq-item:hover {
    box-shadow: var(--s-md);
    border-color: rgba(61, 139, 79, .15);
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    cursor: pointer;
    user-select: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: .9rem;
    font-weight: 600;
    color: var(--g700);
    gap: 16px;
}

.faq-icon {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    transition: transform .3s, background .3s;
    line-height: 1;
}

.faq-item.open .faq-icon {
    transform: rotate(45deg);
    background: var(--green);
    color: white;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease;
    font-size: .88rem;
    color: var(--g500);
    line-height: 1.75;
}

.faq-item.open .faq-answer {
    max-height: 200px;
}

.faq-answer-inner {
    padding: 0 24px 20px;
}


/* Map section */

.map-section {
    background: white;
    /* padding: 80px 0 0; */
}

.map-section::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(61, 139, 79, .12), transparent);
    margin-bottom: 80px;
}

.map-grid {
    display: grid;
    /* grid-template-columns: 1fr 1.6fr; */
    gap: 48px;
    align-items: stretch;
}

.map-info h3 {
    font-size: 1.4rem;
    margin-bottom: 14px;
}

.map-info p {
    font-size: .92rem;
    color: var(--g500);
    line-height: 1.8;
    margin-bottom: 28px;
}

.map-detail-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.map-detail-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: .88rem;
    color: var(--g600);
}

.map-detail-list li .md-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: var(--r-sm);
    background: var(--green-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.map-embed {
    border-radius: var(--r-xl);
    overflow: hidden;
    box-shadow: var(--s-lg);
    min-height: 380px;
    background: var(--g100);
    border: 1px solid var(--g200);
}

.map-embed iframe {
    width: 100%;
    height: 100%;
    min-height: 380px;
    border: none;
    display: block;
}


/* ===== BOOK CONSULTATION PAGE ===== */

.book-hero {
    background: linear-gradient(145deg, #1A4D2E 0%, #2D6E3C 50%, #3D8B4F 100%);
    min-height: 480px;
    display: flex;
    align-items: center;
    padding-top: 80px;
    position: relative;
    overflow: hidden;
}

.book-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M40 40c0-22 18-40 40-40v80c-22 0-40-18-40-40zM0 0c22 0 40 18 40 40S22 80 0 80V0z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.book-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.book-hero-content h1 {
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 800;
    color: white;
    margin-bottom: 18px;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.book-hero-content p {
    font-size: 1rem;
    color: rgba(255, 255, 255, .75);
    line-height: 1.8;
    margin-bottom: 24px;
}

.book-hero-badges {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.book-hero-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .15);
    padding: 9px 18px;
    border-radius: 100px;
    font-size: .78rem;
    color: rgba(255, 255, 255, .85);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
}


/* Why book cards */

.why-book-section {
    background: white;
    position: relative;
}

.why-book-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 56px;
}

.wb-card {
    background: linear-gradient(145deg, #f7fbf8, #fdf9f4);
    border-radius: var(--r-lg);
    padding: 36px 24px;
    border: 1px solid rgba(61, 139, 79, .08);
    text-align: center;
    transition: var(--t);
    position: relative;
    overflow: hidden;
}

.wb-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--green), var(--orange));
    transform: scaleX(0);
    transition: transform .5s var(--ease);
    transform-origin: left;
}

.wb-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--s-xl);
    background: white;
    border-color: transparent;
}

.wb-card:hover::after {
    transform: scaleX(1);
}

.wb-icon {
    width: 68px;
    height: 68px;
    border-radius: var(--r);
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    transition: transform .4s;
}

.wb-card:hover .wb-icon {
    transform: scale(1.1) rotate(3deg);
}

.wb-card:nth-child(odd) .wb-icon {
    background: var(--green-soft);
}

.wb-card:nth-child(even) .wb-icon {
    background: var(--orange-soft);
}

.wb-card h4 {
    font-size: .96rem;
    margin-bottom: 10px;
}

.wb-card p {
    font-size: .84rem;
    color: var(--g500);
    line-height: 1.65;
}


/* Consultation Process Steps */

.book-process-section {
    background: linear-gradient(160deg, #f7fbf8 0%, #fdf9f4 100%);
}

.book-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 56px;
    position: relative;
}

.book-process-grid::before {
    content: '';
    position: absolute;
    top: 38px;
    left: 12.5%;
    right: 34.5%;
    height: 2px;
    background: linear-gradient(90deg, var(--green), var(--orange));
    z-index: 0;
}

.book-step {
    text-align: center;
    position: relative;
    z-index: 1;
}

.book-step-num {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.4rem;
    font-weight: 800;
    color: white;
    position: relative;
    z-index: 1;
    box-shadow: var(--s-md);
    transition: var(--t);
}

.book-step:hover .book-step-num {
    transform: scale(1.1);
    box-shadow: var(--s-green);
}

.book-step:nth-child(1) .book-step-num {
    background: var(--green);
}

.book-step:nth-child(2) .book-step-num {
    background: var(--orange);
}

.book-step:nth-child(3) .book-step-num {
    background: var(--green-dark);
}

.book-step:nth-child(4) .book-step-num {
    background: var(--orange-dark);
}

.book-step h4 {
    font-size: .96rem;
    margin-bottom: 8px;
}

.book-step p {
    font-size: .84rem;
    color: var(--g500);
    line-height: 1.65;
}


/* Online Consultation Form Section */

.online-consult-section {
    background: white;
    position: relative;
}

.online-consult-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 135, 46, .15), transparent);
}

.online-consult-layout {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 64px;
    align-items: start;
}

.online-consult-info .s-desc {
    margin-bottom: 20px;
}

.online-important-notice {
    margin-top: 28px;
    padding: 22px 24px;
    background: var(--orange-soft);
    border-radius: var(--r);
    border-left: 4px solid var(--orange);
}

.online-important-notice h5 {
    font-size: .84rem;
    color: var(--orange-dark);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.online-important-notice ul {
    list-style: none;
}

.online-important-notice ul li {
    font-size: .82rem;
    color: var(--orange-dark);
    padding: 4px 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.5;
}

.online-important-notice ul li::before {
    content: '•';
    font-size: 1rem;
    margin-top: -1px;
}

.book-form-wrap {
    background: white;
    border-radius: var(--r-xl);
    padding: 44px 40px;
    border: 1px solid rgba(61, 139, 79, .1);
    box-shadow: 0 8px 36px rgba(61, 139, 79, .08), 0 2px 8px rgba(0, 0, 0, .04);
}

.book-form-wrap h3 {
    font-size: 1.2rem;
    margin-bottom: 6px;
}

.book-form-wrap .form-subtitle {
    font-size: .84rem;
    color: var(--g400);
    margin-bottom: 28px;
    line-height: 1.5;
}


/* Trust indicators */

.trust-indicators {
    background: linear-gradient(145deg, var(--green-dark), var(--green-deeper));
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.trust-indicators::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(255, 255, 255, .05), transparent 70%);
    border-radius: 50%;
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    margin-top: 56px;
    background: rgba(255, 255, 255, .06);
    border-radius: var(--r-xl);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
}

.trust-item {
    text-align: center;
    padding: 48px 32px;
    background: rgba(255, 255, 255, .04);
    transition: var(--t);
    position: relative;
}

.trust-item:hover {
    background: rgba(255, 255, 255, .08);
}

.trust-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 800;
    background: linear-gradient(135deg, #7fe089, var(--orange));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: 10px;
}

.trust-lbl {
    font-size: .88rem;
    color: rgba(255, 255, 255, .6);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
}

.trust-desc {
    font-size: .78rem;
    color: rgba(255, 255, 255, .4);
    margin-top: 6px;
    line-height: 1.5;
}


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

.events-page-section {
    background: linear-gradient(160deg, #f7fbf8 0%, #fdf9f4 100%);
}

.events-listing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 56px;
}

.event-card {
    background: white;
    border-radius: var(--r-xl);
    overflow: hidden;
    border: 1px solid rgba(61, 139, 79, .08);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .05);
    transition: var(--t);
}

.event-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 56px rgba(61, 139, 79, .12), 0 4px 16px rgba(0, 0, 0, .06);
    border-color: transparent;
}

.event-thumb {
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 56px;
    position: relative;
    overflow: hidden;
}

.event-card:nth-child(1) .event-thumb {
    background: linear-gradient(145deg, rgba(61, 139, 79, .1), rgba(245, 237, 227, .7));
}

.event-card:nth-child(2) .event-thumb {
    background: linear-gradient(145deg, rgba(212, 135, 46, .1), rgba(245, 237, 227, .7));
}

.event-card:nth-child(3) .event-thumb {
    background: linear-gradient(145deg, rgba(61, 139, 79, .06), rgba(232, 217, 191, .5));
}

.event-card:nth-child(4) .event-thumb {
    background: linear-gradient(145deg, rgba(100, 160, 220, .08), rgba(232, 240, 250, .7));
}

.event-card:nth-child(5) .event-thumb {
    background: linear-gradient(145deg, rgba(212, 135, 46, .07), rgba(245, 237, 227, .8));
}

.event-card:nth-child(6) .event-thumb {
    background: linear-gradient(145deg, rgba(61, 139, 79, .1), rgba(232, 217, 191, .4));
}

.event-date-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: white;
    border-radius: var(--r-sm);
    padding: 8px 14px;
    text-align: center;
    box-shadow: var(--s-md);
}

.event-date-badge .edb-day {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--green);
    line-height: 1;
}

.event-date-badge .edb-mon {
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--g400);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.event-status-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.event-status-badge.upcoming {
    background: var(--green);
    color: white;
}

.event-status-badge.free {
    background: var(--orange);
    color: white;
}

.event-body {
    padding: 26px 24px 28px;
}

.event-body h3 {
    font-size: 1rem;
    margin-bottom: 10px;
    line-height: 1.4;
}

.event-body p {
    font-size: .84rem;
    color: var(--g500);
    line-height: 1.65;
    margin-bottom: 16px;
}

.event-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 18px;
}

.event-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    color: var(--g500);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.event-meta-item span.emi-icon {
    font-size: 14px;
}


/* Past Events */

.past-events-section {
    background: white;
    position: relative;
}

.past-events-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(61, 139, 79, .12), transparent);
}

.past-events-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 56px;
}

.past-event-item {
    display: flex;
    gap: 20px;
    background: linear-gradient(145deg, #f7fbf8, #fdf9f4);
    border-radius: var(--r);
    padding: 24px;
    border: 1px solid rgba(61, 139, 79, .08);
    transition: var(--t);
    align-items: center;
}

.past-event-item:hover {
    background: white;
    box-shadow: var(--s-md);
    transform: translateX(4px);
}

.past-event-icon {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: var(--r);
    background: var(--g100);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

.past-event-info h4 {
    font-size: .9rem;
    margin-bottom: 4px;
    color: var(--g600);
}

.past-event-info p {
    font-size: .8rem;
    color: var(--g400);
    line-height: 1.5;
}

.past-event-info .past-date {
    font-size: .73rem;
    color: var(--g400);
    font-family: 'Plus Jakarta Sans', sans-serif;
    margin-bottom: 4px;
    display: block;
}


/* ===== RESPONSIVE — All new pages ===== */

@media (max-width: 1024px) {
    .contact-page-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .why-book-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .book-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .book-process-grid::before {
        display: none;
    }
    .about-team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .events-listing-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .blog-page-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .blog-detail-layout {
        grid-template-columns: 1fr;
    }
    .blog-sidebar {
        position: static;
    }
    .trust-grid {
        grid-template-columns: 1fr;
    }
    .mv-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .page-hero {
        min-height: 340px;
    }
    .about-org-grid,
    .team-intro-grid,
    .online-consult-layout,
    .contact-full-grid,
    .map-grid,
    .book-hero-grid {
        grid-template-columns: 1fr;
    }
    .contact-page-info-grid,
    .why-book-grid,
    .book-process-grid,
    .about-team-grid,
    .events-listing-grid,
    .blog-page-grid,
    .past-events-grid,
    .faq-grid,
    .mv-grid {
        grid-template-columns: 1fr;
    }
    .blog-featured-card {
        grid-template-columns: 1fr;
    }
    .blog-featured-thumb {
        height: 200px;
    }
    .book-form-wrap {
        padding: 28px 22px;
    }
    .blog-article {
        padding: 32px 24px;
    }
    .contact-info-card {
        padding: 24px 18px;
    }
    .trust-grid {
        grid-template-columns: 1fr;
    }
    .about-values {
        grid-template-columns: 1fr;
    }
    .team-intro-stats {
        grid-template-columns: 1fr 1fr;
    }
    .about-org-stat-badge {
        bottom: -8px;
        right: -8px;
    }
    .book-process-grid::before {
        display: none;
    }
}

@media (max-width: 480px) {
    .book-hero-badges {
        flex-direction: column;
    }
    .team-intro-stats {
        grid-template-columns: 1fr 1fr;
    }
}

/* ===== SITE-WIDE RESPONSIVE SAFETY LAYER ===== */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

@media (max-width: 1024px) {
    .container {
        width: 100%;
        padding-right: 28px;
        padding-left: 28px;
    }

    .hero-visual,
    .about-visual,
    .founder-visual,
    .page-hero-content {
        max-width: 100%;
    }

    .footer-grid {
        gap: 36px 28px;
    }
}

@media (max-width: 768px) {
    .navbar,
    .nav-inner {
        height: 70px;
    }

    .nav-inner {
        gap: 10px;
    }

    .nav-logo {
        min-width: 0;
        max-width: calc(100% - 52px);
    }

    .nav-logo img {
        width: auto;
        height: 60px;
        flex: 0 0 auto;
    }

    .logo-text {
        min-width: 0;
        margin-left: 8px !important;
    }

    .logo-text h4 {
        font-size: clamp(.78rem, 3.5vw, 1rem);
        white-space: nowrap;
    }

    .logo-text small {
        display: block;
        overflow: hidden;
        font-size: .62rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .hamburger {
        position: relative;
        z-index: 1001;
        flex: 0 0 auto;
    }

    section {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .container {
        padding-right: 18px;
        padding-left: 18px;
    }

    .s-title,
    .page-hero h1,
    .blog-detail-hero h1 {
        overflow-wrap: anywhere;
    }

    .hero-title {
        font-size: clamp(2rem, 10vw, 3.2rem);
    }

    .hero-visual,
    .about-visual,
    .founder-visual {
        width: min(100%, 480px);
        margin-right: auto;
        margin-left: auto;
    }

    .hero-circle,
    .about-circle,
    .founder-circle {
        width: min(82vw, 400px);
        height: min(82vw, 400px);
    }

    .hero-btns,
    .book-hero-badges,
    .blog-detail-share,
    .events-actions {
        flex-wrap: wrap;
    }

    .hero-btns .btn,
    .consult-grid .btn,
    .events-main .btn {
        white-space: normal;
    }

    .nav-links {
        top: 70px;
        height: calc(100dvh - 70px);
        bottom: auto;
        gap: 8px;
        overflow-y: auto;
        align-items: stretch;
        justify-content: flex-start;
        padding: 20px 18px max(32px, env(safe-area-inset-bottom));
        overscroll-behavior: contain;
    }

    .nav-links a {
        display: block;
        width: 100%;
        padding: 12px 16px;
        text-align: center;
    }

    .nav-links .nav-cta,
    .nav-links .btn-events {
        margin-top: 2px;
    }

    body.nav-open {
        overflow: hidden;
    }

    .blog-tabs,
    .event-category-tabs {
        justify-content: flex-start;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .event-card,
    .blog-card,
    .approach-card,
    .t-card,
    .why-card {
        min-width: 0;
    }

    .event-body,
    .blog-body,
    .approach-content {
        overflow-wrap: anywhere;
    }

    .past-event-item {
        align-items: flex-start;
    }

    .book-form-wrap,
    .blog-article,
    .contact-form-wrap,
    .contact-page-form {
        width: 100%;
    }

    .form-group input,
    .form-group select,
    .form-group textarea,
    .nl-form input {
        width: 100%;
    }

    .map-wrap iframe,
    .contact-map iframe {
        width: 100%;
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .nav-logo img {
        height: 54px;
    }

    .logo-text small {
        display: none;
    }

    section {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    .container {
        padding-right: 15px;
        padding-left: 15px;
    }

    .team-grid,
    .footer-grid,
    .team-intro-stats {
        grid-template-columns: 1fr;
    }

    .hero-btns,
    .hero-btns .btn,
    .events-main .btn,
    .consult-grid .btn,
    .book-form-wrap .btn {
        width: 100%;
    }

    .hero-btns .btn,
    .events-main .btn,
    .consult-grid .btn,
    .book-form-wrap .btn {
        justify-content: center;
    }

    .approach-grid,
    .why-grid,
    .events-listing-grid,
    .blog-page-grid,
    .past-events-grid {
        gap: 18px;
    }

    .approach-content,
    .event-body,
    .blog-body,
    .blog-article,
    .book-form-wrap {
        padding-right: 18px;
        padding-left: 18px;
    }

    .past-event-item {
        flex-direction: column;
        padding: 20px;
    }

    .page-hero {
        min-height: 300px;
    }

    .page-hero-breadcrumb {
        flex-wrap: wrap;
    }

    #whatsapp_icon img {
        width: 50px !important;
    }
}
