/*
Theme Name: MINDGrow
Theme URI: https://mindgrow.local
Author: MINDGrow Learning and Development Center
Description: Custom theme for MINDGrow Learning and Development Center. Empowering Minds, Transforming Lives.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mindgrow
Tags: one-column, custom-menu, full-width-template
*/

body {
    margin: 0;
}

/* Fluent Forms – inputs and textareas */
.fluentform .ff-el-form-control {
    background: #F5F9F6 !important;
    border: 1px solid #C4D4CB !important;
    border-radius: 12px !important;
    font-family: 'Outfit', sans-serif !important;
    color: #13332A !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
}

.fluentform .ff-el-form-control:focus {
    border-color: #C4D4CB !important;
    box-shadow: 0 0 0 3px rgba(0,0,0,0.04) !important;
    outline: none !important;
}
/* Fluent Forms – labels */
.fluentform .ff-el-group label {
    font-family: 'Geist Mono', monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 12px !important;
    color: #465A52 !important;
}

/* Fluent Forms – submit button */
.fluentform .ff-btn-submit {
    background: #17C74D !important;
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    border-radius: 999px !important;
    padding: 12px 0 !important;
    width: 100% !important;
    border: none !important;
    font-size: 16px !important;
}

.fluentform .ff-btn-submit:hover {
    background: #15B844 !important;
}


/* Footer */
.site-footer {
    background: #062B21;
    color: #fff;
    padding: 64px 32px 24px;
    border-top: 3px solid #0C7A3E;
    font-family: 'Outfit', sans-serif;
}
.footer-shell { max-width: 1280px; margin-inline: auto; }
.footer-container {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, .9fr);
    gap: clamp(32px, 5vw, 72px);
    padding-bottom: 48px;
}
.footer-container > * { min-width: 0; }
.footer-logo-link { display: inline-block; max-width: 100%; }
.footer-logo { display: block; width: 280px; max-width: 100%; height: auto; }
.footer-tagline { margin: 24px 0 0; font-size: 22px; line-height: 1.35; font-weight: 500; letter-spacing: -.015em; color: #fff; }
.footer-description { margin: 16px 0 0; font-size: 14px; line-height: 1.75; color: #b9cdc2; max-width: 300px; }
.footer-heading { font-family: 'Geist Mono', monospace; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; color: #b9cdc2; margin: 6px 0 24px; }
.footer-list { padding: 0; margin: 0; list-style: none; }
.footer-list--explore { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 24px; }
.footer-list li { margin: 0; font-size: 14px; line-height: 1.5; }
.footer-list a { display: inline-block; padding: 7px 0; color: #eef5f0; text-decoration: none; }
.site-footer a { transition: color .2s; }
.site-footer a:hover { color: #58df80; }
.site-footer a:focus-visible { outline: 2px solid #58df80; outline-offset: 5px; border-radius: 2px; }
.footer-email { display: block; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.5; color: #fff; overflow-wrap: anywhere; text-decoration: none; }
.footer-phone { display: inline-block; margin-top: 10px; padding-block: 4px; font-size: 14px; color: #b9cdc2; text-decoration: none; }
.footer-contact-link { display: flex; justify-content: space-between; align-items: center; gap: 16px; max-width: 280px; margin-top: 28px; padding: 14px 0; border-top: 1px solid #ffffff26; color: #fff; font-size: 14px; text-decoration: none; }
.footer-contact-link span { color: #58df80; font-size: 20px; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; border-top: 1px solid #ffffff26; padding-top: 24px; font-size: 12px; line-height: 1.6; color: #b9cdc2; }
.footer-bottom p { margin: 0; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.footer-bottom a { color: #b9cdc2; text-decoration: none; padding-block: 6px; }
.footer-top { display: inline-flex; align-items: center; gap: 12px; }
@media (max-width: 1023px) {
    .footer-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-description { max-width: 460px; }
}
@media (max-width: 599px) {
    .site-footer { padding: 40px 20px 20px; }
    .footer-container { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-bottom: 32px; }
    .footer-brand { grid-column: auto; }
    .footer-logo { width: 260px; }
    .footer-tagline { font-size: 20px; margin-top: 20px; }
    .footer-heading { margin: 0 0 14px; }
    .footer-contact-link { max-width: none; margin-top: 20px; }
    .footer-bottom { align-items: flex-start; gap: 12px; }
    .footer-bottom p, .footer-legal { width: 100%; }
}
/* Photo confined to the right-hand diagonal panel. */
#home { padding-top: 120px; padding-bottom: 64px; }
#home .hero-side-photo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 42%;
    width: 58%;
    overflow: hidden;
    background: #fff;
    clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%);
    pointer-events: none;
}
#home .hero-side-photo img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 60% center;
}
#home .hero-layout > :first-child { min-width: 0; }
@media (max-width: 1023px) {
    #home {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding: 112px 0 0;
    }
    #home > .relative.z-10 {
        order: -1;
        padding-inline: 24px;
    }
    #home .hero-layout {
        display: block;
    }
    #home .hero-layout > :first-child {
        max-width: 620px;
        margin-inline: auto;
    }
    #home h1 {
        font-size: clamp(32px, 6.4vw, 52px);
        line-height: 1.12;
        letter-spacing: -.025em;
    }
    #home h1 > span { display: inline; }
    #home h1 svg { display: none; }
    #home .hero-side-photo {
        position: relative;
        inset: auto;
        flex: none;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        margin-top: 32px;
        clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
    }
    #home .hero-side-photo img {
        object-position: center;
    }
}
@media (max-width: 479px) {
    #home > .relative.z-10 { padding-inline: 20px; }
    #home .hero-layout > :first-child > p {
        font-size: 16px;
        line-height: 1.65;
        margin-top: 20px;
    }
    #home .hero-layout > :first-child > div {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 24px;
    }
    #home .hero-layout > :first-child > div > a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 12px 20px;
    }
}

/* A single editorial panel connects the Services introduction to real training. */
.mg-services-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    background: #084F3B;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 48px;
}
.mg-services-intro__copy {
    min-width: 0;
    padding: clamp(28px, 4vw, 48px);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.mg-services-intro__eyebrow { font-family: 'Geist Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: #C4D4CB; }
.mg-services-intro__copy h2 { font-family: 'Outfit', sans-serif; font-size: clamp(30px, 3vw, 40px); line-height: 1.15; font-weight: 700; margin: 16px 0 0; color: #fff; }
.mg-services-intro__description { font-size: 16px; line-height: 1.7; color: #d5e4dc; max-width: 390px; margin: 24px 0 32px; }
.mg-services-intro__footer { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #C4D4CB; margin-top: auto; }
.mg-services-intro__footer > span { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #ffffff40; border-radius: 50%; color: #fff; font-size: 18px; }
.mg-services-intro__photo { position: relative; margin: 0; min-width: 0; min-height: 430px; }
.mg-services-intro__photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.mg-services-intro__photo::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(6,43,33,.8)); pointer-events: none; }
.mg-services-intro__photo figcaption { position: absolute; bottom: 28px; left: 28px; right: 24px; z-index: 1; display: flex; align-items: center; gap: 10px; font-size: 12px; color: #fff; }
.mg-services-intro__dot { width: 7px; height: 7px; background: #17C74D; border-radius: 50%; flex: none; }
@media (max-width: 767px) {
    .mg-services-intro { grid-template-columns: minmax(0, 1fr); border-radius: 20px; margin-bottom: 32px; }
    .mg-services-intro__copy { padding: 28px 24px; }
    .mg-services-intro__photo { min-height: 0; aspect-ratio: 4 / 3; }
    .mg-services-intro__photo figcaption { left: 24px; bottom: 24px; }
}

/* Contact: readable details alongside the existing Fluent Forms form. */
.mg-contact { background: #EAF1EC; color: #13332A; padding: clamp(48px, 7vw, 88px) 32px; }
.mg-contact__layout { max-width: 1200px; margin: auto; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.mg-contact__info, .mg-contact__form { min-width: 0; }
.mg-contact__eyebrow { font-family: 'Geist Mono', monospace; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; color: #0C7A3E; margin: 0 0 12px; }
.mg-contact h2 { font-family: 'Outfit', sans-serif; font-size: clamp(32px, 4vw, 46px); font-weight: 700; line-height: 1.15; letter-spacing: -.025em; color: #084F3B; margin: 0; }
.mg-contact__intro { font-size: 17px; line-height: 1.75; color: #465A52; margin: 24px 0 32px; max-width: 440px; }
.mg-contact__details { display: grid; gap: 24px; padding-bottom: 32px; }
.mg-contact__details h3 { font-size: 12px; color: #465A52; margin: 0 0 6px; font-weight: 500; }
.mg-contact__details a { font-size: 20px; line-height: 1.5; color: #084F3B; text-decoration: none; overflow-wrap: anywhere; }
.mg-contact__details a:hover { text-decoration: underline; text-underline-offset: 4px; }
.mg-contact__hours { border-top: 1px solid #C4D4CB; padding-top: 24px; }
.mg-contact__hours h3 { font-size: 16px; font-weight: 700; color: #084F3B; margin: 0 0 16px; }
.mg-contact__hours dl { margin: 0; }
.mg-contact__hours dl > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; margin-top: 12px; font-size: 13px; line-height: 1.6; }
.mg-contact__hours dt { color: #465A52; }
.mg-contact__hours dd { margin: 0; color: #13332A; }
.mg-contact__form { background: #fff; border: 1px solid #C4D4CB; border-radius: 20px; padding: clamp(24px, 3vw, 40px); }
.mg-contact__form > h3 { font-size: 23px; font-weight: 700; line-height: 1.3; color: #084F3B; margin: 0; }
.mg-contact__form-note { font-size: 14px; line-height: 1.6; color: #465A52; margin: 10px 0 28px; }
#contact .fluentform .ff-el-group { margin-bottom: 20px; }
#contact .fluentform .ff-el-group label { font-family: 'Outfit', sans-serif !important; font-size: 14px !important; text-transform: none !important; letter-spacing: normal !important; color: #13332A !important; }
#contact .fluentform .ff-el-form-control { background: #F5F9F6 !important; color: #13332A !important; border: 1px solid #C4D4CB !important; font-size: 16px !important; border-radius: 8px !important; }
#contact .fluentform .ff-el-form-control:focus { border-color: #0C7A3E !important; box-shadow: 0 0 0 3px rgba(12,122,62,.12) !important; }
#contact .fluentform .ff-el-form-control::placeholder { color: #65786e !important; }
#contact .fluentform .ff-btn-submit { background: #084F3B !important; color: #fff !important; border-radius: 8px !important; min-height: 48px; font-family: 'Outfit', sans-serif !important; font-size: 15px !important; font-weight: 500; padding: 12px 24px !important; }
#contact .fluentform .ff-btn-submit:hover { background: #0C7A3E !important; }
#contact a:focus-visible, #contact button:focus-visible { outline: 2px solid #0C7A3E; outline-offset: 4px; }
@media (max-width: 767px) {
    .mg-contact { padding: 48px 20px; }
    .mg-contact__layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .mg-contact__intro { font-size: 16px; margin-top: 20px; }
    .mg-contact__details a { font-size: 18px; }
    .mg-contact__form { padding: 24px 20px; border-radius: 16px; }
}

/* Clearly separate testimonials from the contact section. */
#testimonials { padding-bottom: clamp(56px, 7vw, 88px); }
#contact.mg-contact {
    border-top: 1px solid #9fb7a8;
    position: relative;
}
#contact.mg-contact::before {
    content: '';
    position: absolute;
    top: -2px;
    left: max(32px, calc((100% - 1200px) / 2));
    width: 64px;
    height: 4px;
    background: #0C7A3E;
}
@media (max-width: 767px) {
    #contact.mg-contact::before { left: 20px; width: 48px; }
}

/* Paginated listings and gallery. */
.mg-pagination {
    margin-top: 48px;
    padding-top: 28px;
    border-top: 1px solid #C4D4CB;
    font-family: 'Outfit', sans-serif;
}
.mg-pagination ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.mg-pagination li { margin: 0; padding: 0; }
.mg-pagination .page-numbers:not(ul) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #465A52;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.mg-pagination a.page-numbers:hover { background: #EAF1EC; border-color: #C4D4CB; color: #084F3B; }
.mg-pagination .page-numbers.current { background: #084F3B; color: #fff; border-color: #084F3B; font-weight: 700; }
.mg-pagination .page-numbers.prev, .mg-pagination .page-numbers.next { background: #fff; border-color: #C4D4CB; color: #084F3B; padding-inline: 18px; }
.mg-pagination .page-numbers.prev:hover, .mg-pagination .page-numbers.next:hover { background: #EAF1EC; border-color: #0C7A3E; }
.mg-pagination .page-numbers.dots { min-width: 24px; padding-inline: 4px; color: #465A52; }
@media (max-width: 479px) {
    .mg-pagination { margin-top: 32px; padding-top: 20px; }
    .mg-pagination ul { gap: 4px; }
    .mg-pagination .page-numbers:not(ul) { padding-inline: 10px; }
    .mg-pagination .page-numbers.prev, .mg-pagination .page-numbers.next { padding-inline: 12px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .mg-pagination .page-numbers { transition: none; } }
.mg-gallery { background: #F5F9F6; padding: 136px 32px 80px; }
.mg-gallery__inner { max-width: 1200px; margin: auto; }
.mg-gallery__header { max-width: 680px; margin-bottom: 40px; }
.mg-gallery__eyebrow { color: #0C7A3E; text-transform: uppercase; font-family: 'Geist Mono', monospace; font-size: 11px; letter-spacing: .1em; }
.mg-gallery h1 { font-size: clamp(34px, 4vw, 48px); font-weight: 700; color: #084F3B; line-height: 1.15; margin: 12px 0 20px; }
.mg-gallery__header > p:not(.mg-gallery__eyebrow) { font-size: 17px; color: #465A52; line-height: 1.7; }
.mg-gallery__albums, .mg-gallery__photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 24px; }
.mg-gallery__album { min-width: 0; display: block; text-decoration: none; }
.mg-gallery__cover { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; background: #EAF1EC; }
.mg-gallery__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mg-gallery__album-info { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 16px; color: #084F3B; }
.mg-gallery__album-info h2 { font-size: 19px; line-height: 1.4; font-weight: 600; }
.mg-gallery__album > p { color: #465A52; font-size: 13px; margin-top: 6px; }
.mg-gallery__album:hover h2 { text-decoration: underline; text-underline-offset: 4px; }
.mg-gallery__back { display: inline-block; color: #0C7A3E; margin-bottom: 24px; padding-block: 8px; }
.mg-gallery__photo { padding: 0; border: 0; border-radius: 8px; overflow: hidden; aspect-ratio: 4 / 3; background: #EAF1EC; cursor: zoom-in; }
.mg-gallery__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mg-gallery a:focus-visible, .mg-gallery button:focus-visible, .mg-pagination a:focus-visible { outline: 3px solid #0C7A3E; outline-offset: 4px; }
.mg-gallery-lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; border: 0; padding: 64px; background: #062B21; color: #fff; }
.mg-gallery-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.mg-gallery-lightbox::backdrop { background: #062B21; }
.mg-gallery-lightbox > img { max-width: 100%; max-height: 100%; object-fit: contain; }
.mg-gallery-lightbox button { position: absolute; background: #084F3B; border: 1px solid #ffffff55; border-radius: 8px; color: #fff; width: 44px; height: 44px; font-size: 24px; }
.mg-gallery-lightbox button:disabled { opacity: .3; }
.mg-gallery-lightbox button:focus-visible { outline: 3px solid #17C74D; outline-offset: 3px; }
.mg-gallery-lightbox__close { right: 16px; top: 16px; }
.mg-gallery-lightbox__prev { left: 12px; top: 50%; }
.mg-gallery-lightbox__next { right: 12px; top: 50%; }
.mg-gallery-lightbox__count { position: absolute; bottom: 16px; font-size: 13px; }
@media (max-width: 1023px) { .mg-gallery__albums, .mg-gallery__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
    .mg-gallery { padding: 112px 20px 48px; }
    .mg-gallery__albums { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .mg-gallery__photos { gap: 12px; }
    .mg-gallery-lightbox { padding: 64px 12px; }
    .mg-gallery-lightbox__prev, .mg-gallery-lightbox__next { top: auto; bottom: 12px; }
}

/* Use consistent drawn arrows instead of font-dependent arrow characters. */
.mg-pagination .page-numbers.prev,
.mg-pagination .page-numbers.next { gap: 10px; white-space: nowrap; }
.mg-pagination__arrow { display: inline-flex; flex: 0 0 18px; width: 18px; height: 18px; align-items: center; justify-content: center; }
.mg-pagination__arrow svg { display: block; width: 18px; height: 18px; }
@media (max-width: 479px) {
    .mg-pagination .page-numbers.prev,
    .mg-pagination .page-numbers.next { gap: 6px; }
}



/* Readable team cards with full biographies available on request. */
.carousel-wrapper .team-name { font-size: 21px; line-height: 1.3; min-height: 2.6em; display: flex; align-items: center; justify-content: center; }
.team-credentials { font-size: 12px; line-height: 1.6; color: #465A52; margin: 4px 0 12px; }
.carousel-wrapper .team-role { font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 1.55; text-transform: none; letter-spacing: normal; min-height: 3.1em; }
.carousel-wrapper .team-photo { width: 144px; height: 144px; }
.carousel-wrapper .team-photo img { object-position: center top; }
.carousel-wrapper .team-bio { text-align: left; line-height: 1.7; margin-bottom: 24px; }
.team-profile-open { margin-top: auto; padding: 10px 0; display: inline-flex; gap: 14px; align-items: center; color: #084F3B; font-size: 14px; font-weight: 500; border-bottom: 1px solid #C4D4CB; }
.team-profile-open:hover { color: #0C7A3E; border-color: #0C7A3E; }
.team-profile-dialog { margin: auto; width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 48px); overflow-y: auto; background: #F5F9F6; color: #13332A; border: 1px solid #C4D4CB; border-radius: 20px; padding: 40px; text-align: left; }
.team-profile-dialog::backdrop { background: rgba(6,43,33,.75); }
.team-profile-dialog h2 { padding-right: 24px; font-size: 28px; line-height: 1.25; font-weight: 700; color: #084F3B; }
.team-profile-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; color: #084F3B; font-size: 28px; }
.team-profile-role { font-size: 15px; line-height: 1.5; font-weight: 500; color: #0C7A3E; margin: 16px 0 24px; }
.team-profile-biography { font-size: 16px; line-height: 1.8; color: #465A52; }
.team-profile-biography p + p { margin-top: 16px; }
.team-profile-open:focus-visible, .team-profile-close:focus-visible, .carousel-btn:focus-visible, .carousel-dots button:focus-visible { outline: 3px solid #0C7A3E; outline-offset: 4px; }
#dotsContainer { flex-wrap: wrap; gap: 4px; }
#dotsContainer button { width: 32px; height: 44px; border: 0; border-radius: 6px; background: transparent; position: relative; transform: none; }
#dotsContainer button::after { content: ''; position: absolute; width: 8px; height: 8px; border-radius: 50%; border: 1px solid #084F3B; left: 12px; top: 18px; }
#dotsContainer button.active::after { background: #084F3B; }
@media (max-width: 639px) {
    .team-profile-dialog { padding: 32px 24px; }
    .team-profile-dialog h2 { font-size: 24px; }
    .carousel-wrapper .team-photo { width: 120px; height: 120px; }
    .carousel-wrapper .team-name { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) { .carousel-track { transition: none; } }

/* Team page refinement: larger portraits and a consistent editorial hierarchy. */
#mindgrow-team { padding-top: 128px; padding-bottom: 64px; background: #F5F9F6; }
#mindgrow-team .team-page-intro { max-width: 760px; margin-inline: auto; text-align: center; }
#mindgrow-team .team-page-intro > p:last-child { font-size: 16px; line-height: 1.7; }
#mindgrow-team .carousel-wrapper { padding-inline: 56px; }
#mindgrow-team .carousel-container { border-radius: 16px; }
#mindgrow-team .carousel-slide { padding-inline: 12px; }
#mindgrow-team .team-card { padding: 12px 12px 24px; border-radius: 16px; border: 1px solid #dbe5de; box-shadow: none; align-items: stretch; text-align: left; }
#mindgrow-team .team-card::after { display: none; }
#mindgrow-team .team-photo { width: 100%; height: 236px; border: none; border-radius: 10px; box-shadow: none; margin-bottom: 24px; background: #EAF1EC; }
#mindgrow-team .team-photo img { object-fit: cover; object-position: center 20%; }
#mindgrow-team .team-avatar-fallback { border-radius: 10px; background: #EAF1EC; color: #084F3B; font-size: 56px; font-weight: 500; letter-spacing: -.04em; }
#mindgrow-team .team-name { font-size: 21px; line-height: 1.3; letter-spacing: -.02em; min-height: 2.6em; margin: 0 12px 4px; justify-content: flex-start; align-items: center; }
#mindgrow-team .team-card > .team-credentials { min-height: 20px; margin: 0 12px 12px; font-size: 11px; line-height: 1.6; color: #65786c; }
#mindgrow-team .team-role { min-height: 3.2em; margin: 0 12px; font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 500; line-height: 1.6; text-transform: none; letter-spacing: normal; color: #0C7A3E; }
#mindgrow-team .team-divider { width: auto; height: 1px; border-radius: 0; margin: 20px 12px; background: #EAF1EC; }
#mindgrow-team .team-bio { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; min-height: 6.8em; margin: 0 12px 24px; font-size: 14px; line-height: 1.7; color: #465A52; }
#mindgrow-team .team-profile-open { margin: auto 12px 0; padding: 12px 0 0; border: none; border-top: 1px solid #dbe5de; justify-content: space-between; font-size: 13px; min-height: 44px; }
#mindgrow-team .team-profile-open span { font-size: 18px; }
#mindgrow-team .carousel-btn { width: 44px; height: 44px; box-shadow: none; border-radius: 10px; background: #fff; border-color: #C4D4CB; }
#mindgrow-team .carousel-btn:hover { background: #EAF1EC; border-color: #0C7A3E; }
#mindgrow-team .carousel-btn.prev { left: 0; }
#mindgrow-team .carousel-btn.next { right: 0; }
#mindgrow-team .team-carousel-footer { margin: 24px 68px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid #dbe5de; padding-top: 12px; }
#mindgrow-team .team-carousel-status { font-size: 12px; line-height: 1.6; color: #465A52; margin: 0; }
#mindgrow-team #dotsContainer { margin: 0; gap: 0; }
#mindgrow-team #dotsContainer button { width: 24px; }
#mindgrow-team #dotsContainer button::after { left: 8px; width: 6px; height: 6px; top: 19px; }
@media (max-width: 639px) {
    #mindgrow-team { padding: 112px 16px 48px; }
    #mindgrow-team .carousel-wrapper { padding: 0 16px; }
    #mindgrow-team .carousel-slide { padding-inline: 8px; }
    #mindgrow-team .team-photo { height: 252px; }
    #mindgrow-team .team-card { padding: 10px 10px 20px; }
    #mindgrow-team .carousel-btn { width: 36px; height: 44px; }
    #mindgrow-team .team-carousel-footer { margin-inline: 24px; justify-content: center; text-align: center; gap: 0; }
    #mindgrow-team #dotsContainer { width: 100%; }
}

/* Square framing balances close-up and portrait sources without side bars. */
#mindgrow-team .team-photo {
    height: auto;
    aspect-ratio: 1 / 1;
}
#mindgrow-team .team-photo img {
    object-fit: cover;
    object-position: center 18%;
}

/* People-first team composition with controls collected below the portraits. */
#mindgrow-team > div { max-width: 1200px; }
#mindgrow-team .team-page-intro { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 56px; align-items: end; text-align: left; padding-bottom: 32px; border-bottom: 1px solid #dbe5de; margin-bottom: 36px; }
#mindgrow-team .team-page-intro > p:first-child { grid-column: 1 / -1; margin-bottom: 4px; font-size: 10px; letter-spacing: .1em; }
#mindgrow-team .team-page-intro h2 { font-size: clamp(38px, 4.5vw, 56px); line-height: 1.05; letter-spacing: -.035em; }
#mindgrow-team .team-page-intro > p:last-child { max-width: 430px; margin: 0; font-size: 15px; line-height: 1.7; }
#mindgrow-team .carousel-wrapper { padding: 0; margin-inline: -12px; }
#mindgrow-team .carousel-container { border-radius: 0; }
#mindgrow-team .team-card { border: 0; background: transparent; padding: 0; border-radius: 0; }
#mindgrow-team .team-photo { border-radius: 12px; margin-bottom: 24px; }
#mindgrow-team .team-name { margin: 0 0 6px; min-height: 2.6em; align-items: flex-start; font-size: 22px; }
#mindgrow-team .team-card > .team-credentials { margin: 0 0 12px; min-height: 20px; font-size: 12px; }
#mindgrow-team .team-role { margin: 0; min-height: 3.2em; color: #084F3B; font-size: 13px; }
#mindgrow-team .team-divider { margin: 20px 0; background: #dbe5de; }
#mindgrow-team .team-bio { margin: 0 0 24px; -webkit-line-clamp: 3; min-height: 5.1em; font-size: 14px; }
#mindgrow-team .team-profile-open { margin: auto 0 0; padding: 0 0 4px; min-height: 48px; border: 0; justify-content: flex-start; gap: 16px; font-size: 14px; }
#mindgrow-team .team-profile-arrow { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #b7cbbd; border-radius: 50%; transition: background .2s, color .2s; }
#mindgrow-team .team-profile-open:hover .team-profile-arrow { background: #084F3B; color: #fff; border-color: #084F3B; }
#mindgrow-team .team-carousel-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 32px; margin: 32px 0 0; padding: 24px 0 0; border-top: 1px solid #dbe5de; }
#mindgrow-team .team-carousel-position { flex: 1; max-width: 300px; min-width: 0; }
#mindgrow-team .team-carousel-status { text-align: left; font-size: 12px; }
#mindgrow-team .team-carousel-progress { margin-top: 12px; height: 2px; background: #dbe5de; overflow: hidden; }
#mindgrow-team .team-carousel-progress span { display: block; height: 100%; width: 20%; background: #0C7A3E; transition: width .3s; }
#mindgrow-team .team-carousel-navigation { display: flex; gap: 10px; flex: none; }
#mindgrow-team .carousel-btn { position: static; transform: none; border-radius: 50%; width: 48px; height: 48px; background: transparent; display: inline-flex; }
#mindgrow-team .carousel-btn.next { background: #084F3B; color: #fff; border-color: #084F3B; }
#mindgrow-team .carousel-btn.next:hover { background: #0C7A3E; }
#mindgrow-team #dotsContainer[hidden] { display: none; }
@media (max-width: 767px) {
    #mindgrow-team .team-page-intro { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-bottom: 28px; padding-bottom: 24px; }
    #mindgrow-team .team-page-intro > p:first-child { grid-column: auto; }
    #mindgrow-team .team-page-intro > p:last-child { max-width: 520px; }
}
@media (max-width: 639px) {
    #mindgrow-team { padding-inline: 24px; }
    #mindgrow-team .carousel-wrapper { padding: 0; margin-inline: -8px; }
    #mindgrow-team .team-name { min-height: 0; font-size: 22px; }
    #mindgrow-team .team-card > .team-credentials { min-height: 0; }
    #mindgrow-team .team-role { min-height: 0; }
    #mindgrow-team .team-carousel-footer { margin: 28px 0 0; gap: 24px; }
    #mindgrow-team .carousel-btn { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) { #mindgrow-team .team-carousel-progress span, #mindgrow-team .team-profile-arrow { transition: none; } }

body { font-family: 'Outfit', sans-serif; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } .stagger-up { opacity: 1; transform: none; transition: none; } }

@media (max-width: 767px) {
    #home .hero-layout > :first-child {
        margin-inline: auto;
        text-align: center;
    }

    #home .hero-layout > :first-child > p {
        margin-inline: auto;
    }

    #home .hero-layout > :first-child > div {
        justify-content: center;
    }

    #home .hero-layout > :first-child > div > a {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    #home h1 svg {
        left: 50%;
        transform: translateX(-50%);
    }
}
