/* ============================================
   AICarma Pricing Page V2.3 — "The Enterprise Authority"
   Fully aligned with website design system
   (mixin.css, btn.css, var.css, grid.css)
   ============================================ */

/* Pulsing glow animation for the Advanced card */

@keyframes pulseGlow {

    0%,
    100% {
        box-shadow:
            0 0 2rem rgba(33, 190, 107, 0.15),
            0 0 6rem rgba(33, 190, 107, 0.06),
            inset 0 1px 0 rgba(33, 190, 107, 0.12);
    }

    50% {
        box-shadow:
            0 0 3rem rgba(33, 190, 107, 0.25),
            0 0 8rem rgba(33, 190, 107, 0.10),
            inset 0 1px 0 rgba(33, 190, 107, 0.18);
    }
}

/* ── Scoped wrapper ── */

.pricing-page {
    min-height: 100vh;
    background-color: var(--aicarma-color-dark);
    color: var(--aicarma-color-white);
}

@media screen and (min-width: 768px) {

.pricing-page {
        background-image: url('/images/greenBlurLeft.svg'), url('/images/greenBlurRight.svg');
        background-repeat: repeat-y, repeat-y;
        background-position: left 100px, right -150px;
        background-size: 965px 2125px, 965px 2125px
}
  }

/* ── 1. Hero (Compact — CTAs visible on 1080p) ── */

.pricing-hero {
    padding-top: 12rem;
    padding-bottom: 4rem;
}

@media screen and (min-width: 768px) {

.pricing-hero {
        padding-top: 7.8rem;
}
  }

.pricing-hero__content {
        text-align: center;
        margin-bottom: 2.4rem;


    }

.pricing-hero__content h1 {
            margin: 0;
            padding: 0;
            font-family: var(--font-family-title);
            font-size: var(--font-h1-m);
            line-height: var(--ls-h1-m);
            letter-spacing: -0.01em;
        }

@media screen and (min-width: 992px) {

.pricing-hero__content h1 {
        font-size: var(--font-h1);
        line-height: var(--ls-h1);
        }
  }

.pricing-hero__content h1 {
            margin-bottom: 1.6rem;
}

.pricing-hero__content p {
            font-size: var(--font-text-large-m);
            line-height: var(--ls-large-m);
        }

@media screen and (min-width: 992px) {

.pricing-hero__content p {
        font-size: var(--font-text-large);
        line-height: var(--ls-large);
        }
  }

.pricing-hero__content p {
            color: var(--aicarma-color-gray3);
}

.pricing-hero .tags {
        display: flex;
        gap: .8rem .4rem;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin: 4rem -.1rem 0;
    }

/* Trust Strip — beneath pricing cards */

.trust-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.8rem 2rem;
    padding: 3.2rem 0 0;
    margin-top: 1.6rem;
    font-size: var(--font-text-base-m);
    line-height: var(--ls-base-m);
}

@media screen and (min-width: 992px) {

.trust-strip {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
}
  }

.trust-strip {
    font-weight: 600;
    color: var(--aicarma-color-gray3);
    text-align: center;
}

.trust-strip__divider {
        color: var(--aicarma-color-gray);
        opacity: 0.3;
    }

/* Billing toggle */

.pricing-switcher {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 4rem;
}

.pricing-switcher__label {
        font-size: var(--font-text-base-m);
        line-height: var(--ls-base-m);
    }

@media screen and (min-width: 992px) {

.pricing-switcher__label {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
    }
  }

.pricing-switcher__label {
        font-weight: 600;
}

.pricing-switcher__label .badge {
            display: inline-block;
            margin-left: 0.8rem;
            padding: 0.4rem 1.2rem;
            background-color: var(--aicarma-color-green);
            border-radius: 1.6rem;
            font-size: var(--font-text-caps);
            line-height: var(--ls-caps);
            color: var(--aicarma-color-dark);
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

.switch {
    position: relative;
    display: inline-block;
    width: 5.6rem;
    height: 3rem;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--aicarma-color-dark2);
    transition: .4s;
    border: 1px solid var(--aicarma-color-gray);
}

.slider:before {
    position: absolute;
    content: "";
    height: 2.2rem;
    width: 2.2rem;
    left: 0.3rem;
    bottom: 0.3rem;
    background-color: white;
    transition: .4s;
}

input:checked+.slider {
    background-color: var(--aicarma-color-green);
    border-color: var(--aicarma-color-green);
}

input:focus+.slider {
    box-shadow: 0 0 1px var(--aicarma-color-green);
}

input:checked+.slider:before {
    transform: translateX(2.6rem);
}

.slider.round {
    border-radius: 3rem;
}

.slider.round:before {
    border-radius: 50%;
}

/* ── 2. Plan Cards ── */

.pricing-cards {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    padding: 2rem 0;
}

@media screen and (min-width: 768px) {

.pricing-cards {
        flex-direction: row;
        justify-content: center;
        align-items: stretch;
        gap: 2.4rem;
        padding: 4rem 0 0
}
  }

.pricing-card {
    background: var(--aicarma-color-dark2);
    border-radius: 4.8rem;
    padding: 4.8rem 4rem;
    display: flex;
    flex-direction: column;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.08);
    width: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    order: 1;
}

.pricing-card:hover {
        transform: translateY(-0.4rem);
        box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.3);
    }

@media screen and (min-width: 768px) {

.pricing-card {
        width: 38rem;
        max-width: 38rem;
        flex-shrink: 0;
    }
  }

/* Featured card — Advanced AI — pulsing glow border */

.pricing-card--featured {
        border: 2px solid var(--aicarma-color-green);
        animation: pulseGlow 3s ease-in-out infinite;
        background: linear-gradient(180deg, rgba(33, 190, 107, 0.06) 0%, var(--aicarma-color-dark2) 40%);
        order: 0;
    }

@media screen and (min-width: 768px) {

.pricing-card--featured {
            transform: scale(1.04);
            order: 1
    }

            .pricing-card--featured:hover {
                transform: scale(1.04) translateY(-0.4rem);
                animation: none;
                box-shadow:
                    0 0 4rem rgba(33, 190, 107, 0.30),
                    0 0 10rem rgba(33, 190, 107, 0.12),
                    0 2rem 4rem rgba(0, 0, 0, 0.3);
            }
  }

/* Enterprise card — subtle authority styling */

.pricing-card--enterprise {
        order: 2;
        border-color: rgba(255, 255, 255, 0.12);
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, var(--aicarma-color-dark2) 40%);
    }

/* Specificity boost to override .pricing-card__header .price .amount (7.2rem) */

.pricing-card--enterprise .pricing-card__header .price .amount.amount--custom {
            font-family: var(--font-family-title);
            /* Fluid typography to fit long words like "Personalizado" */
            font-size: clamp(2rem, 5vw, 3.2rem);
            font-weight: 700;
            line-height: 1.1;
            letter-spacing: -0.02em;
        }

/* Essential card — normal order on desktop */

@media screen and (min-width: 768px) {

.pricing-card:not(.pricing-card--featured):not(.pricing-card--enterprise) {
            order: 0
    }
  }

/* MOST POPULAR badge — overlaps top border */

.pricing-card__tag {
        position: absolute;
        top: -1.6rem;
        left: 50%;
        transform: translateX(-50%);
        background: var(--aicarma-color-green);
        color: var(--aicarma-color-dark);
        padding: 0.7rem 2.8rem;
        border-radius: 2rem;
        font-weight: bold;
        font-size: var(--font-text-caps);
        line-height: var(--ls-caps);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        white-space: nowrap;
        z-index: 2;
        box-shadow: 0 0.4rem 1.2rem rgba(33, 190, 107, 0.3);
    }

.pricing-card__header {
        text-align: center;
        margin-bottom: 2.4rem;
    }

.pricing-card__header h3 {
            margin: 0;
            padding: 0;
            font-family: var(--font-family-title);
            font-size: var(--font-h3-m);
            line-height: var(--ls-h3-m);
            letter-spacing: -0.01em;
        }

@media screen and (min-width: 992px) {

.pricing-card__header h3 {
        font-size: var(--font-h3);
        line-height: var(--ls-h3);
        }
  }

.pricing-card__header h3 {
            margin-bottom: 1.2rem;
}

.pricing-card__header .price {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            flex-wrap: nowrap;
            margin-bottom: 1.2rem;
        }

.pricing-card__header .price .currency {
                font-family: var(--font-family-title);
                font-size: 3.2rem;
                font-weight: 600;
                vertical-align: top;
            }

.pricing-card__header .price .amount {
                font-family: var(--font-family-title);
                font-size: 7.2rem;
                font-weight: 700;
                line-height: 1;
            }

.pricing-card__header .price .period {
                font-size: var(--font-text-base-m);
                line-height: var(--ls-base-m);
            }

@media screen and (min-width: 992px) {

.pricing-card__header .price .period {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
            }
  }

.pricing-card__header .price .period {
                color: var(--aicarma-color-gray3);
                margin-left: 0.4rem;
}

.pricing-card__header .tagline {
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.pricing-card__header .tagline {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.pricing-card__header .tagline {
            color: var(--aicarma-color-gray3);
}

.pricing-card__header .billing-note {
            font-size: var(--font-text-small);
            line-height: var(--ls-small);
            color: var(--aicarma-color-gray);
            margin-top: 0.4rem;
            margin-bottom: 0.4rem;
        }

.pricing-card__body {
        flex-grow: 1;
    }

.pricing-card__body .features-header {
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.pricing-card__body .features-header {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.pricing-card__body .features-header {
            font-weight: 700;
            color: var(--aicarma-color-white);
            margin-bottom: 1.2rem;
}

.pricing-card__body {

        text-align: left;
}

/* Provider icon row */

.pricing-card .provider-icons {
        display: block;
        text-decoration: none;
        color: inherit;
        margin-bottom: 2.4rem;
        padding-bottom: 2.4rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        transition: border-color 0.2s ease;
        cursor: pointer;
    }

.pricing-card .provider-icons:hover {
            border-color: rgba(33, 190, 107, 0.25);
        }

.pricing-card .provider-icons:hover .icons-row img {
                opacity: 0.85;
            }

.pricing-card .provider-icons .icons-row {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: center;
            gap: 1.4rem;
        }

.pricing-card .provider-icons .icons-row img {
                height: 2.8rem;
                width: auto;
                opacity: 0.65;
                filter: grayscale(1);
                transition: opacity 0.2s, filter 0.3s ease;
            }

.pricing-card .provider-icons .icons-row img:hover {
                    opacity: 1;
                    filter: none;
                }

.pricing-card .provider-icons .icons-row .more-models {
                font-size: var(--font-text-caps);
                line-height: var(--ls-caps);
                color: var(--aicarma-color-gray);
                background: rgba(255, 255, 255, 0.06);
                padding: 0.4rem 1rem;
                border-radius: 0.6rem;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.04em;
            }

/* Clickable feature text linking to comparison table */

.pricing-card .feature-link {
        color: inherit;
        text-decoration: none;
        border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
        transition: border-color 0.2s ease, color 0.2s ease;
    }

.pricing-card .feature-link:hover {
            color: var(--aicarma-color-green);
            border-color: var(--aicarma-color-green);
        }

.pricing-card .feature-link strong {
            color: inherit;
        }

/* Feature list */

.pricing-card .features-list {
        margin: 0;
        padding: 0;
        list-style: none;
    }

.pricing-card .features-list li {
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.pricing-card .features-list li {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.pricing-card .features-list li {
            padding: 0.8rem 0;
            display: flex;
            align-items: flex-start;
            gap: 0.6rem;
            color: var(--aicarma-color-gray3);
            flex-wrap: nowrap;
}

.pricing-card .features-list li .check {
                color: var(--aicarma-color-green);
                font-weight: bold;
                flex-shrink: 0;
                min-width: 1.2rem;
                line-height: 1.5;
            }

.pricing-card .features-list li strong {
                color: var(--aicarma-color-white);
                font-weight: 600;
            }

.pricing-card .features-list li .feature-note {
                color: var(--aicarma-color-gray);
                display: inline;
            }

.pricing-card .features-list li .value-badge {
                display: inline-block;
                margin-left: 0.4rem;
                padding: 0.2rem 0.8rem;
                background: rgba(33, 190, 107, 0.12);
                color: var(--aicarma-color-green);
                border-radius: 0.8rem;
                font-size: var(--font-text-caps);
                line-height: var(--ls-caps);
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.05em;
                white-space: nowrap;
                vertical-align: middle;
            }

/* Card footer — CTAs */

.pricing-card__footer {
        text-align: center;
        margin-top: 3.2rem;
    }

.pricing-card__footer .btn {
            width: 100%;
        }

.pricing-card__footer .btn--outline {
            background-color: transparent;
            color: var(--aicarma-color-white);
            border: 2px solid rgba(255, 255, 255, 0.25);
        }

.pricing-card__footer .btn--outline:hover {
                border-color: var(--aicarma-color-green);
                background-color: rgba(33, 190, 107, 0.08);
                color: var(--aicarma-color-white);
            }

.pricing-card__footer .btn--ghost {
            background-color: transparent;
            color: var(--aicarma-color-white);
            border: 2px dashed rgba(255, 255, 255, 0.20);
        }

.pricing-card__footer .btn--ghost:hover {
                border-style: solid;
                border-color: var(--aicarma-color-green);
                background-color: rgba(33, 190, 107, 0.06);
                color: var(--aicarma-color-green);
            }

.pricing-card__footer .footer-note {
            font-size: var(--font-text-small);
            line-height: var(--ls-small);
            color: var(--aicarma-color-gray);
            margin-top: 1.2rem;
        }

/* ── 3. Enterprise & Agency — Dual Audience ── */

/* "Learn more" anchor on Enterprise pricing card */

.pricing-card__learn-more {
    font-size: var(--font-text-small);
    line-height: var(--ls-small);
    color: var(--aicarma-color-gray3);
    text-decoration: none;
    display: inline-block;
    margin-top: 0.8rem;
    transition: color 0.2s;
}

.pricing-card__learn-more:hover {
        color: var(--aicarma-color-green);
    }

.agency-module {
    padding: 8rem 0;
    background-color: var(--aicarma-color-dark2);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    margin-top: 6rem;
}

.agency-module__header {
        text-align: center;
        margin-bottom: 6rem;
    }

.agency-module__header h2 {
            margin: 0;
            padding: 0;
            font-family: var(--font-family-title);
            font-size: var(--font-h2-m);
            line-height: var(--ls-h2-m);
            letter-spacing: -0.01em;
        }

@media screen and (min-width: 992px) {

.agency-module__header h2 {
        font-size: var(--font-h2);
        line-height: var(--ls-h2);
        }
  }

.agency-module__header h2 {
            margin-bottom: 1.6rem;
}

.agency-module__description {
        font-size: var(--font-text-large-m);
        line-height: var(--ls-large-m);
    }

@media screen and (min-width: 992px) {

.agency-module__description {
        font-size: var(--font-text-large);
        line-height: var(--ls-large);
    }
  }

.agency-module__description {
        color: var(--aicarma-color-gray3);
        max-width: 60rem;
        margin: 0 auto;
}

.agency-module__quote {
        border-left: 3px solid var(--aicarma-color-green);
        padding-left: 2.4rem;
        margin: 6rem 0 0 0;
        max-width: 60rem;
    }

.agency-module__quote p {
            font-size: var(--font-text-large-m);
            line-height: var(--ls-large-m);
        }

@media screen and (min-width: 992px) {

.agency-module__quote p {
        font-size: var(--font-text-large);
        line-height: var(--ls-large);
        }
  }

.agency-module__quote p {
            font-style: italic;
            color: var(--aicarma-color-gray3);
            margin-bottom: 1.6rem;
}

.agency-module__quote cite {
            font-style: normal;
            display: block;
        }

.agency-module__quote cite strong {
                font-size: var(--font-text-base-m);
                line-height: var(--ls-base-m);
            }

@media screen and (min-width: 992px) {

.agency-module__quote cite strong {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
            }
  }

.agency-module__quote cite strong {
                display: block;
                color: var(--aicarma-color-white);
}

.agency-module__quote cite span {
                font-size: var(--font-text-small);
                line-height: var(--ls-small);
                color: var(--aicarma-color-gray);
            }

.agency-module .btn--agency {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        border-radius: 2.4rem;
        padding: 0 3.2rem;
        height: 4.8rem;
        font-weight: bold;
        transition: all .2s;
    }

.agency-module .btn--agency path {
        transition: all .2s;
    }

.agency-module .btn--agency .icon {
        width: 2rem;
        height: 2rem;
    }

.agency-module .btn--agency .icon svg {
            width: 2rem;
            height: 2rem;
        }

.agency-module .btn--agency .icon:first-child {
            margin-right: 1rem;
        }

.agency-module .btn--agency .icon:last-child {
            margin-left: 1rem;
        }

.agency-module .btn--agency {
        border: 2px solid var(--aicarma-color-green);
        color: var(--aicarma-color-green);
        background: transparent;
        text-decoration: none;
}

.agency-module .btn--agency:hover {
            background-color: var(--aicarma-color-green);
            color: var(--aicarma-color-dark);
        }

/* Two-column grid: Enterprise | Agency */

.enterprise-agency__grid {
    display: grid;
    gap: 3.2rem;
}

@media screen and (min-width: 768px) {

.enterprise-agency__grid {
        grid-template-columns: 1fr 1fr
}
  }

/* Individual use-case card */

.use-case-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 2.4rem;
    padding: 4rem 3.2rem;
    display: flex;
    flex-direction: column;
}

.use-case-card__label {
        font-size: var(--font-text-small);
        line-height: var(--ls-small);
        text-transform: uppercase;
        font-weight: 700;
        letter-spacing: 0.12em;
        margin-bottom: 1.6rem;
    }

.use-case-card h3 {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h3-m);
        line-height: var(--ls-h3-m);
        letter-spacing: -0.01em;
    }

@media screen and (min-width: 992px) {

.use-case-card h3 {
        font-size: var(--font-h3);
        line-height: var(--ls-h3);
    }
  }

.use-case-card h3 {
        margin-bottom: 0.8rem;
}

.use-case-card__subtitle {
        font-size: var(--font-text-base-m);
        line-height: var(--ls-base-m);
    }

@media screen and (min-width: 992px) {

.use-case-card__subtitle {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
    }
  }

.use-case-card__subtitle {
        color: var(--aicarma-color-gray3);
        margin-bottom: 3.2rem;
}

.use-case-card__cta {
        margin-top: auto;
        text-decoration: none;
        text-align: center;
    }

/* Enterprise accent — blue tint */

.use-case-card--enterprise {
        border-color: rgba(59, 130, 246, 0.2);
        background: rgba(59, 130, 246, 0.04);
    }

.use-case-card--enterprise .use-case-card__label {
            color: #60a5fa;
        }

/* Agency accent — green tint */

.use-case-card--agency {
        border-color: rgba(33, 190, 107, 0.2);
        background: rgba(33, 190, 107, 0.04);
    }

.use-case-card--agency .use-case-card__label {
            color: var(--aicarma-color-green);
        }

/* Feature rows inside use-case cards */

.use-case-features {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-bottom: 3.2rem;
}

.use-case-feature {
    display: flex;
    gap: 1.6rem;
    align-items: flex-start;
}

.use-case-feature__icon {
        font-size: 2.4rem;
        flex-shrink: 0;
        line-height: 1;
        margin-top: 0.2rem;
    }

.use-case-feature h4 {
        font-size: var(--font-text-base-m);
        line-height: var(--ls-base-m);
    }

@media screen and (min-width: 992px) {

.use-case-feature h4 {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
    }
  }

.use-case-feature h4 {
        font-weight: 600;
        color: var(--aicarma-color-white);
        margin-bottom: 0.4rem;
}

.use-case-feature p {
        font-size: var(--font-text-small);
        line-height: var(--ls-small);
        color: var(--aicarma-color-gray3);
    }

/* ── 4. Thinking vs. Instruct Explainer ── */

.explainer {
    padding: 8rem 0;
}

.explainer h2 {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h2-m);
        line-height: var(--ls-h2-m);
        letter-spacing: -0.01em;
    }

@media screen and (min-width: 992px) {

.explainer h2 {
        font-size: var(--font-h2);
        line-height: var(--ls-h2);
    }
  }

.explainer h2 {
        text-align: center;
        margin-bottom: 1.2rem;
}

.explainer__subtitle {
        font-size: var(--font-text-large-m);
        line-height: var(--ls-large-m);
    }

@media screen and (min-width: 992px) {

.explainer__subtitle {
        font-size: var(--font-text-large);
        line-height: var(--ls-large);
    }
  }

.explainer__subtitle {
        color: var(--aicarma-color-gray3);
        text-align: center;
        margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {

.explainer__grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            flex-wrap: nowrap;
            gap: 3.2rem
    }
  }

@media screen and (max-width: 768px) {

.explainer__grid {
            display: flex;
            flex-direction: column;
            gap: 2.4rem
    }
  }

.explainer__item {
        padding: 4rem 3.2rem;
        border-radius: 4.8rem;
        background: var(--aicarma-color-dark2);
        border: 1px solid rgba(255, 255, 255, 0.06);
        flex: 1;
    }

.explainer__item--highlighted {
            border-color: var(--aicarma-color-green);
            background: linear-gradient(180deg, rgba(33, 190, 107, 0.05) 0%, var(--aicarma-color-dark2) 100%);
        }

.explainer__item h3 {
            margin: 0;
            padding: 0;
            font-family: var(--font-family-title);
            font-size: var(--font-h4-m);
            line-height: var(--ls-h4-m);
            letter-spacing: -0.01em;
        }

@media screen and (min-width: 992px) {

.explainer__item h3 {
        font-size: var(--font-h4);
        line-height: var(--ls-h4);
        }
  }

.explainer__item h3 {
            margin-bottom: 1rem;
}

.explainer__item p {
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.explainer__item p {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.explainer__item p {
            color: var(--aicarma-color-gray3);
}

.explainer__icon {
        font-size: 4rem;
        margin-bottom: 1.6rem;
    }

.explainer__tagline {
        font-size: var(--font-text-caps);
        line-height: var(--ls-caps);
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font-weight: bold;
        color: var(--aicarma-color-gray);
        margin-bottom: 1.6rem;
    }

.explainer__badge {
        display: inline-block;
        margin-top: 2rem;
        padding: 0.5rem 1.6rem;
        border-radius: 0.8rem;
        font-size: var(--font-text-caps);
        line-height: var(--ls-caps);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        background: rgba(255, 255, 255, 0.08);
        color: var(--aicarma-color-gray3);
    }

.explainer__badge--green {
            background: rgba(33, 190, 107, 0.15);
            color: var(--aicarma-color-green);
        }

/* ── 5. Testimonial Grid ── */

.testimonials {
    padding: 8rem 0;
    background-color: var(--aicarma-color-dark2);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.testimonials h2 {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h2-m);
        line-height: var(--ls-h2-m);
        letter-spacing: -0.01em;
    }

@media screen and (min-width: 992px) {

.testimonials h2 {
        font-size: var(--font-h2);
        line-height: var(--ls-h2);
    }
  }

.testimonials h2 {
        text-align: center;
        margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {

.testimonials__grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            align-items: stretch;
            flex-wrap: nowrap;
            gap: 2.4rem
    }
  }

@media screen and (max-width: 768px) {

.testimonials__grid {
            display: flex;
            flex-direction: column;
            gap: 2.4rem
    }
  }

.card-review {
    border-radius: 4.8rem;
    padding: 4rem 3.2rem;
    background: var(--aicarma-color-dark3);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.card-review__ratings {
        display: inline-flex;
        gap: 0.4rem;
        margin-bottom: 1.6rem;
    }

.card-review h3 {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h4-m);
        line-height: var(--ls-h4-m);
        letter-spacing: -0.01em;
    }

@media screen and (min-width: 992px) {

.card-review h3 {
        font-size: var(--font-h4);
        line-height: var(--ls-h4);
    }
  }

.card-review h3 {
        margin-bottom: 1.2rem;
}

.card-review p {
        color: var(--aicarma-color-gray3);
    }

.card-review__author {
        font-size: var(--font-text-small);
        line-height: var(--ls-small);
        color: var(--aicarma-color-gray);
        margin-top: auto;
        padding-top: 1.6rem;
        font-style: italic;
    }

/* ── 6. AI Models Comparison ── */

.comparison {
    padding: 8rem 0;
}

.comparison h2 {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h2-m);
        line-height: var(--ls-h2-m);
        letter-spacing: -0.01em;
    }

@media screen and (min-width: 992px) {

.comparison h2 {
        font-size: var(--font-h2);
        line-height: var(--ls-h2);
    }
  }

.comparison h2 {
        text-align: center;
        margin-bottom: 1.2rem;
}

.comparison__subtitle {
        font-size: var(--font-text-large-m);
        line-height: var(--ls-large-m);
    }

@media screen and (min-width: 992px) {

.comparison__subtitle {
        font-size: var(--font-text-large);
        line-height: var(--ls-large);
    }
  }

.comparison__subtitle {
        color: var(--aicarma-color-gray3);
        text-align: center;
        margin-bottom: 4rem;
}

.comparison-table-wrapper {
        overflow-x: auto;
    }

.comparison-table {
        width: 100%;
        border-collapse: collapse;
    }

.comparison-table th,
        .comparison-table td {
            padding: 1.6rem 2rem;
            text-align: center;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.comparison-table th,
        .comparison-table td {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.comparison-table th {
            font-size: var(--font-text-caps);
            line-height: var(--ls-caps);
            letter-spacing: 0.05em;
            text-transform: uppercase;
            font-weight: bold;
            text-align: left;
            color: var(--aicarma-color-gray);
        }

.comparison-table th:nth-child(4),
            .comparison-table th:nth-child(5) {
                text-align: center;
            }

.comparison-table td:first-child,
        .comparison-table td:nth-child(2) {
            text-align: left;
            color: var(--aicarma-color-white);
        }

.comparison-table td:first-child {
            font-weight: 600;
        }

.comparison-table .check {
            color: var(--aicarma-color-green);
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.comparison-table .check {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.comparison-table .cross {
            color: var(--aicarma-color-gray);
            opacity: 0.3;
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.comparison-table .cross {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.comparison-table .advanced-row {
            background: rgba(33, 190, 107, 0.03);
        }

.type-badge {
    display: inline-block;
    padding: 0.3rem 1rem;
    border-radius: 0.6rem;
    font-size: var(--font-text-caps);
    line-height: var(--ls-caps);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.type-badge--instruct {
        background: rgba(255, 255, 255, 0.06);
        color: var(--aicarma-color-gray3);
    }

.type-badge--thinking {
        background: rgba(33, 190, 107, 0.12);
        color: var(--aicarma-color-green);
    }

.type-badge--search {
        background: rgba(59, 130, 246, 0.12);
        color: #60a5fa;
    }

.type-badge--premium {
        background: rgba(168, 85, 247, 0.12);
        color: #c084fc;
    }

/* ── 7. FAQ Accordion ── */

.faq {
    padding: 8rem 0;
}

.faq h2 {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h2-m);
        line-height: var(--ls-h2-m);
        letter-spacing: -0.01em;
    }

@media screen and (min-width: 992px) {

.faq h2 {
        font-size: var(--font-h2);
        line-height: var(--ls-h2);
    }
  }

.faq h2 {
        text-align: center;
        margin-bottom: 4rem;
}

.faq__list {
        max-width: 80rem;
        margin: 0 auto;
    }

.faq__item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

.faq__item[open] .faq__question::after {
            transform: rotate(180deg);
        }

.faq__question {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h5-m);
        line-height: var(--ls-h5-m);
    }

@media screen and (min-width: 992px) {

.faq__question {
        font-size: var(--font-h5);
        line-height: var(--ls-h5);
    }
  }

.faq__question {
        padding: 2.4rem 0;
        cursor: pointer;
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: var(--aicarma-color-white);
}

.faq__question::-webkit-details-marker {
            display: none;
        }

.faq__question::after {
            content: "▾";
            font-size: var(--font-text-small);
            line-height: var(--ls-small);
            color: var(--aicarma-color-gray);
            transition: transform 0.3s ease;
            flex-shrink: 0;
            margin-left: 2rem;
        }

.faq__question:hover {
            color: var(--aicarma-color-green);
        }

.faq__answer {
        padding: 0 0 2.4rem 0;
    }

.faq__answer p {
            font-size: var(--font-text-base-m);
            line-height: var(--ls-base-m);
        }

@media screen and (min-width: 992px) {

.faq__answer p {
        font-size: var(--font-text-base);
        line-height: var(--ls-base);
        }
  }

.faq__answer p {
            color: var(--aicarma-color-gray3);
}

/* ── 8. Bottom CTA ── */

.bottom-cta {
    padding: 8rem 0;
    text-align: center;
    background: linear-gradient(180deg, transparent 0%, rgba(33, 190, 107, 0.04) 100%);
}

.bottom-cta h2 {
        margin: 0;
        padding: 0;
        font-family: var(--font-family-title);
        font-size: var(--font-h2-m);
        line-height: var(--ls-h2-m);
        letter-spacing: -0.01em;
    }

@media screen and (min-width: 992px) {

.bottom-cta h2 {
        font-size: var(--font-h2);
        line-height: var(--ls-h2);
    }
  }

.bottom-cta h2 {
        margin-bottom: 1.6rem;
}

.bottom-cta p {
        font-size: var(--font-text-large-m);
        line-height: var(--ls-large-m);
    }

@media screen and (min-width: 992px) {

.bottom-cta p {
        font-size: var(--font-text-large);
        line-height: var(--ls-large);
    }
  }

.bottom-cta p {
        color: var(--aicarma-color-gray3);
        margin-bottom: 3.2rem;
}

.bottom-cta__note {
        font-size: var(--font-text-small);
        line-height: var(--ls-small);
        color: var(--aicarma-color-gray);
        margin-top: 2rem;
    }