/* Extracted from about.php so the browser can cache it. */
.abt-hero {
        position: relative;
        overflow: hidden;
        padding: clamp(64px, 7vw, 100px) 0 clamp(100px, 10vw, 150px);
        background:
            radial-gradient(1100px 560px at 8% 4%, #dcfce7 0%, rgba(220, 252, 231, 0) 62%),
            radial-gradient(900px 520px at 96% 0%, #fff1e6 0%, rgba(255, 241, 230, 0) 58%),
            linear-gradient(180deg, #f8fffb 0%, #ffffff 100%);
    }

    .abt-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: radial-gradient(rgba(16, 185, 129, 0.12) 1px, transparent 1px);
        background-size: 26px 26px;
        -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 72%);
        mask-image: linear-gradient(180deg, #000 0%, transparent 72%);
        opacity: 0.55;
        pointer-events: none;
    }

    .abt-blob {
        position: absolute;
        border-radius: 50%;
        filter: blur(50px);
        opacity: 0.5;
        pointer-events: none;
        animation: abtDrift 12s ease-in-out infinite;
    }

    .abt-blob-1 { width: 260px; height: 260px; background: #86efac; top: 6%; right: 4%; }
    .abt-blob-2 { width: 220px; height: 220px; background: #fdba74; bottom: 2%; left: 2%; animation-delay: -4s; }

    .abt-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 18px;
        border-radius: 999px;
        background: rgba(16, 185, 129, 0.1);
        border: 1px solid rgba(16, 185, 129, 0.25);
        color: var(--emerald-dark);
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        font-size: 0.8rem;
        letter-spacing: 1.6px;
        text-transform: uppercase;
    }

    .abt-hero-title {
        font-size: clamp(2.2rem, 4.1vw, 3.5rem);
        font-weight: 800;
        line-height: 1.12;
        margin: 20px 0 18px;
        text-wrap: balance;
    }

    .abt-hero-title span {
        color: var(--orange-primary);
        position: relative;
    }

    .abt-hero-title span::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 4px;
        height: 10px;
        background: rgba(249, 115, 22, 0.18);
        border-radius: 6px;
        z-index: -1;
    }

    .abt-hero-text {
        color: var(--text-muted);
        font-size: 1.06rem;
        line-height: 1.8;
        max-width: 560px;
    }

    .abt-trust {
        display: flex;
        flex-wrap: wrap;
        gap: 22px;
        align-items: center;
        margin-top: 26px;
    }

    .abt-trust-item {
        display: flex;
        align-items: center;
        gap: 10px;
        color: var(--text-body);
        font-weight: 600;
        font-size: 0.9rem;
    }

    .abt-trust-item i { color: var(--orange-primary); }

    .abt-stars { color: #f59e0b; letter-spacing: 2px; }

    /* Hero image collage */
    .abt-media {
        position: relative;
        padding: 0 18px 34px 0;
    }

    .abt-media-main {
        border-radius: 30px;
        overflow: hidden;
        border: 8px solid #ffffff;
        box-shadow: 0 34px 80px rgba(6, 45, 31, 0.2);
    }

    .abt-media-main img {
        display: block;
        width: 100%;
        height: 480px;
        object-fit: cover;
    }

    .abt-media-small {
        position: absolute;
        left: -26px;
        bottom: -6px;
        width: 200px;
        height: 180px;
        border-radius: 24px;
        overflow: hidden;
        border: 6px solid #ffffff;
        box-shadow: 0 22px 48px rgba(6, 45, 31, 0.24);
        animation: abtFloat 6s ease-in-out infinite;
    }

    .abt-media-small img { width: 100%; height: 100%; object-fit: cover; display: block; }

    .abt-exp {
        position: absolute;
        top: -20px;
        right: -4px;
        background: var(--orange-gradient);
        color: #ffffff;
        border-radius: 20px;
        padding: 16px 22px;
        text-align: center;
        box-shadow: 0 18px 38px rgba(249, 115, 22, 0.38);
        animation: abtFloat 5s ease-in-out infinite;
        animation-delay: -1.5s;
    }

    .abt-exp strong {
        display: block;
        font-family: 'Space Grotesk', sans-serif;
        font-size: 1.9rem;
        line-height: 1;
    }

    .abt-exp span { font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase; font-weight: 700; }

    .abt-chip {
        position: absolute;
        right: -8px;
        bottom: 42px;
        display: flex;
        align-items: center;
        gap: 10px;
        background: #ffffff;
        border: 1px solid var(--light-mint-border);
        border-radius: 16px;
        padding: 12px 16px;
        box-shadow: 0 18px 40px rgba(6, 45, 31, 0.14);
        font-weight: 700;
        font-size: 0.85rem;
        color: var(--emerald-deep);
    }

    .abt-chip i { color: var(--emerald-primary); font-size: 1.15rem; }

    /* Trust stats strip */
    .abt-stats { position: relative; z-index: 2; margin-top: -78px; }

    .abt-stats-card {
        background: #ffffff;
        border: 1px solid var(--light-mint-border);
        border-radius: 26px;
        box-shadow: 0 26px 60px rgba(6, 45, 31, 0.1);
        padding: 32px 18px;
        overflow: hidden;
        position: relative;
    }

    .abt-stats-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, #10b981, #f97316);
    }

    .abt-stat { text-align: center; padding: 6px 10px; position: relative; }

    .abt-stat + .abt-stat::before {
        content: "";
        position: absolute;
        left: 0;
        top: 16%;
        height: 68%;
        width: 1px;
        background: linear-gradient(180deg, transparent, #e2e8f0, transparent);
    }

    .abt-stat-icon {
        width: 54px;
        height: 54px;
        margin: 0 auto 14px;
        border-radius: 16px;
        display: grid;
        place-items: center;
        background: #ecfdf5;
        color: var(--emerald-dark);
        font-size: 1.3rem;
    }

    .abt-stat-value {
        font-family: 'Space Grotesk', sans-serif;
        font-weight: 800;
        font-size: 1.75rem;
        color: var(--emerald-deep);
        line-height: 1.1;
    }

    .abt-stat-label {
        color: var(--text-muted);
        font-size: 0.82rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.6px;
    }

    /* Shared section styles */
    .abt-section { padding: clamp(64px, 7vw, 96px) 0; }
    .abt-title { font-size: clamp(1.85rem, 3vw, 2.55rem); font-weight: 800; line-height: 1.2; text-wrap: balance; }
    .abt-lead { color: var(--text-muted); line-height: 1.85; }

    /* Intro */
    .abt-frame { position: relative; padding: 0 0 26px 26px; }

    .abt-frame-main {
        border-radius: 26px;
        overflow: hidden;
        border: 8px solid #ffffff;
        box-shadow: 0 30px 70px rgba(6, 45, 31, 0.16);
    }

    .abt-frame-main img { display: block; width: 100%; height: 470px; object-fit: cover; }

    .abt-frame-accent {
        position: absolute;
        top: 26px;
        left: 0;
        width: 120px;
        height: 120px;
        border-radius: 26px;
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.16), rgba(249, 115, 22, 0.14));
        z-index: -1;
    }

    .abt-frame-badge {
        position: absolute;
        right: -12px;
        bottom: 0;
        background: var(--emerald-deep);
        color: #ffffff;
        border-radius: 20px;
        padding: 20px 24px;
        max-width: 230px;
        box-shadow: 0 22px 46px rgba(6, 45, 31, 0.28);
    }

    .abt-frame-badge i { color: var(--orange-light); font-size: 1.4rem; }
    .abt-frame-badge strong { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 1.25rem; }
    .abt-frame-badge span { color: #cbd5e1; font-size: 0.82rem; }

    .abt-check { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
    .abt-check i {
        color: var(--emerald-primary);
        background: #ecfdf5;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-size: 0.72rem;
        flex: 0 0 26px;
        margin-top: 2px;
    }
    .abt-check span { color: var(--text-body); font-weight: 500; }

    /* Philosophy step cards */
    .abt-step {
        position: relative;
        height: 100%;
        background: #ffffff;
        border: 1px solid var(--light-mint-border);
        border-radius: 22px;
        padding: 34px 26px 28px;
        overflow: hidden;
        transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    }

    .abt-step:hover {
        transform: translateY(-7px);
        border-color: #fdba74;
        box-shadow: 0 24px 48px rgba(249, 115, 22, 0.16);
    }

    .abt-step-num {
        position: absolute;
        top: -14px;
        right: 14px;
        font-family: 'Space Grotesk', sans-serif;
        font-size: 4.6rem;
        font-weight: 800;
        line-height: 1;
        color: rgba(16, 185, 129, 0.09);
    }

    .abt-step-icon {
        width: 58px;
        height: 58px;
        border-radius: 18px;
        display: grid;
        place-items: center;
        font-size: 1.35rem;
        color: var(--emerald-dark);
        background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
        margin-bottom: 18px;
        position: relative;
        z-index: 1;
    }

    .row > div:nth-child(even) .abt-step-icon { color: var(--orange-dark); background: linear-gradient(135deg, #fff7ed, #ffedd5); }

    /* Offer cards */
    .abt-offer {
        display: flex;
        gap: 16px;
        height: 100%;
        background: #ffffff;
        border: 1px solid #e6f2ec;
        border-radius: 18px;
        padding: 22px;
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }

    .abt-offer:hover {
        transform: translateY(-4px);
        border-color: #bbf7d0;
        box-shadow: 0 20px 42px rgba(6, 45, 31, 0.1);
    }

    .abt-offer-icon {
        flex: 0 0 52px;
        width: 52px;
        height: 52px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        font-size: 1.25rem;
        color: var(--emerald-dark);
        background: #ecfdf5;
    }

    .row > div:nth-child(even) .abt-offer-icon { color: var(--orange-dark); background: #fff7ed; }
    .abt-offer h6 { font-weight: 700; margin-bottom: 6px; }
    .abt-offer p { color: var(--text-muted); font-size: 0.86rem; margin-bottom: 0; line-height: 1.7; }

    /* Why choose features */
    .abt-feature {
        height: 100%;
        padding: 28px 24px;
        border-radius: 20px;
        background: #ffffff;
        border: 1px solid #eef2f1;
        border-left: 4px solid var(--emerald-primary);
        box-shadow: 0 12px 30px rgba(6, 45, 31, 0.05);
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-left-color 0.3s ease;
    }

    .abt-feature:hover {
        transform: translateY(-5px);
        border-left-color: var(--orange-primary);
        box-shadow: 0 20px 44px rgba(6, 45, 31, 0.1);
    }

    .abt-feature i { font-size: 1.5rem; color: var(--emerald-primary); margin-bottom: 14px; display: inline-block; }
    .row > div:nth-child(even) .abt-feature i { color: var(--orange-primary); }
    .abt-feature h5 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; }
    .abt-feature p { color: var(--text-muted); font-size: 0.87rem; margin-bottom: 0; line-height: 1.7; }

    /* Healing / beyond consultation cards */
    .abt-heal {
        height: 100%;
        background: #ffffff;
        border: 1px solid #e6f2ec;
        border-radius: 22px;
        padding: 30px 26px;
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }

    .abt-heal:hover { transform: translateY(-5px); border-color: #bbf7d0; box-shadow: 0 22px 46px rgba(6, 45, 31, 0.1); }

    .abt-heal-icon {
        width: 54px;
        height: 54px;
        border-radius: 16px;
        display: grid;
        place-items: center;
        font-size: 1.35rem;
        color: var(--emerald-dark);
        background: #ecfdf5;
        margin-bottom: 16px;
    }

    .row > div:nth-child(even) .abt-heal-icon { color: var(--orange-dark); background: #fff7ed; }
    .abt-heal h5 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; }
    .abt-heal p { color: var(--text-muted); font-size: 0.88rem; margin-bottom: 0; line-height: 1.75; }

    /* Certifications */
    .abt-cert {
        height: 100%;
        background: #ffffff;
        border: 1px solid var(--light-mint-border);
        border-radius: 20px;
        padding: 26px 22px;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .abt-cert:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(6, 45, 31, 0.08); }

    .abt-cert-icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        font-size: 1.15rem;
        color: var(--emerald-dark);
        background: #ecfdf5;
        margin-bottom: 14px;
    }

    .row > div:nth-child(even) .abt-cert-icon { color: var(--orange-dark); background: #fff7ed; }
    .abt-cert h5 { font-size: 0.98rem; font-weight: 700; margin-bottom: 14px; line-height: 1.35; }
    .abt-cert ul { list-style: none; padding: 0; margin: 0; }
    .abt-cert li { display: flex; gap: 10px; font-size: 0.84rem; color: var(--text-muted); margin-bottom: 10px; line-height: 1.5; }
    .abt-cert li:last-child { margin-bottom: 0; }
    .abt-cert li i { color: var(--emerald-primary); margin-top: 4px; font-size: 0.68rem; flex: 0 0 auto; }

    /* Approach timeline */
    .abt-timeline { position: relative; }
    .abt-timeline::before {
        content: "";
        position: absolute;
        top: 34px;
        left: 12%;
        right: 12%;
        height: 2px;
        background: linear-gradient(90deg, #10b981, #f97316);
        opacity: 0.35;
        display: none;
    }

    .abt-tl-card {
        position: relative;
        height: 100%;
        background: #ffffff;
        border: 1px solid var(--light-mint-border);
        border-radius: 20px;
        padding: 30px 24px;
        text-align: center;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .abt-tl-card:hover { transform: translateY(-6px); box-shadow: 0 22px 46px rgba(6, 45, 31, 0.1); }

    .abt-tl-num {
        width: 56px;
        height: 56px;
        margin: -58px auto 18px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-family: 'Space Grotesk', sans-serif;
        font-weight: 800;
        color: #ffffff;
        background: var(--emerald-gradient);
        border: 5px solid #ffffff;
        box-shadow: 0 12px 26px rgba(16, 185, 129, 0.3);
    }

    .row > div:nth-child(even) .abt-tl-num { background: var(--orange-gradient); box-shadow: 0 12px 26px rgba(249, 115, 22, 0.3); }
    .abt-tl-card h5 { font-size: 1.08rem; font-weight: 700; margin-bottom: 8px; }
    .abt-tl-card p { color: var(--text-muted); font-size: 0.87rem; margin-bottom: 0; line-height: 1.7; }

    /* Testimonials */
    .abt-quote {
        position: relative;
        height: 100%;
        background: #ffffff;
        border: 1px solid var(--light-mint-border);
        border-radius: 22px;
        padding: 30px 26px;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .abt-quote:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(6, 45, 31, 0.1); }
    .abt-quote .abt-quote-mark { color: #ffedd5; font-size: 2.2rem; line-height: 1; margin-bottom: 10px; }

    .abt-quote-text {
        color: var(--text-body);
        font-size: 0.92rem;
        line-height: 1.75;
        display: -webkit-box;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .abt-quote-author { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #eef2f1; }

    .abt-avatar {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-family: 'Space Grotesk', sans-serif;
        font-weight: 700;
        color: #ffffff;
        background: linear-gradient(135deg, #10b981, #047857);
        flex: 0 0 48px;
    }

    .abt-quote-author strong { display: block; font-size: 0.92rem; color: var(--emerald-deep); }
    .abt-quote-author span { display: block; font-size: 0.78rem; color: var(--text-muted); }

    /* Team */
    .abt-team {
        height: 100%;
        background: #ffffff;
        border: 1px solid var(--light-mint-border);
        border-radius: 22px;
        padding: 26px;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .abt-team:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(6, 45, 31, 0.1); }

    .abt-team-photo {
        width: 92px;
        height: 92px;
        border-radius: 24px;
        overflow: hidden;
        flex: 0 0 92px;
        background: linear-gradient(135deg, #10b981, #047857);
        display: grid;
        place-items: center;
        color: #ffffff;
        font-family: 'Space Grotesk', sans-serif;
        font-size: 2rem;
        font-weight: 700;
        box-shadow: 0 12px 28px rgba(16, 185, 129, 0.28);
    }

    .abt-team-photo img { width: 100%; height: 100%; object-fit: cover; }
    .abt-team h4 { font-size: 1.15rem; font-weight: 700; margin-bottom: 4px; }
    .abt-team .abt-team-role { color: var(--orange-dark); font-weight: 700; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.5px; }
    .abt-team p { color: var(--text-muted); font-size: 0.86rem; line-height: 1.7; }

    /* Final CTA */
    .abt-cta {
        position: relative;
        overflow: hidden;
        padding: clamp(70px, 8vw, 100px) 0;
        color: #ffffff;
        background:
            linear-gradient(120deg, rgba(6, 45, 31, 0.92) 0%, rgba(4, 120, 87, 0.82) 55%, rgba(6, 45, 31, 0.9) 100%),
            url('../../../public/front/images/cta-bg.jpg') center / cover no-repeat;
    }

    .abt-cta::after {
        content: "";
        position: absolute;
        width: 380px;
        height: 380px;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.12);
        top: -160px;
        right: -80px;
    }

    .abt-cta h2 { color: #ffffff; font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 800; line-height: 1.2; text-wrap: balance; }
    .abt-cta p { color: rgba(255, 255, 255, 0.82); font-size: 1.02rem; line-height: 1.8; }
    .abt-cta .abt-cta-tag {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 7px 16px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.22);
        color: #fde68a;
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 1.4px;
        text-transform: uppercase;
    }

    .abt-cta .btn-light-outline {
        background: transparent;
        border: 2px solid rgba(255, 255, 255, 0.55);
        color: #ffffff;
        border-radius: 12px;
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        padding: 10px 24px;
        transition: all 0.3s ease;
    }

    .abt-cta .btn-light-outline:hover { background: #ffffff; color: var(--emerald-deep); border-color: #ffffff; }

    /* Scroll reveal */
    .abt-rv {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.75s ease, transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
        will-change: opacity, transform;
    }

    .abt-rv-left { transform: translateX(-40px); }
    .abt-rv-right { transform: translateX(40px); }
    .abt-rv-zoom { transform: scale(0.94); }
    .abt-rv.is-in { opacity: 1; transform: none; }

    @keyframes abtFloat {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-14px); }
    }

    @keyframes abtDrift {
        0%, 100% { transform: translate(0, 0) scale(1); }
        50% { transform: translate(18px, -22px) scale(1.08); }
    }

    @media (min-width: 992px) {
        .abt-timeline::before { display: block; }
    }

    @media (max-width: 991.98px) {
        .abt-media { padding: 0 0 40px; margin-bottom: 10px; }
        .abt-media-main img { height: 400px; }
        .abt-media-small { width: 150px; height: 140px; left: -8px; }
        .abt-frame-main img { height: 380px; }
        .abt-frame-badge { right: 8px; }
        .abt-stats { margin-top: -60px; }
    }

    @media (max-width: 575.98px) {
        .abt-media-main img { height: 300px; }
        .abt-media-small { display: none; }
        .abt-chip { display: none; }
        .abt-exp { padding: 12px 16px; top: -14px; }
        .abt-exp strong { font-size: 1.4rem; }
        .abt-stat + .abt-stat::before { display: none; }
        .abt-stat { padding: 14px 10px; }
    }

    @media (prefers-reduced-motion: reduce) {
        .abt-rv { opacity: 1 !important; transform: none !important; transition: none; }
        .abt-media-small, .abt-exp, .abt-blob { animation: none !important; }
    }
