/* AgentRank — Mobile-first refinements (landing + app interno) */

/* ── Base: evitar scroll horizontal ── */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.ar-body,
.ar-body-landing {
    overflow-x: hidden;
    max-width: 100vw;
}

.lp {
    max-width: 100%;
}

/* Touch targets mínimos (Apple HIG / Material) */
@media (max-width: 767.98px) {
    .lp-btn,
    .ar-btn,
    .lp-header__toggle,
    .lp-accordion__trigger,
    .lp-tabs__btn,
    .ar-audit-tabs .ar-tab {
        min-height: 44px;
    }

    .lp-btn--sm,
    .ar-btn--sm {
        min-height: 40px;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

/* ═══════════════════════════════════════
   LANDING — campanhas Instagram / mobile
   ═══════════════════════════════════════ */
@media (max-width: 767.98px) {
    .lp {
        --lp-header-h: 56px;
    }

    /* Hero — mobile-first copy & CTAs */
    .lp-wrap {
        padding-left: 1rem;
        padding-right: 1rem;
        max-width: 100%;
        box-sizing: border-box;
    }

    .lp-hero__copy {
        order: 1;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .lp-eyebrow {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
        font-size: 0.6875rem;
        letter-spacing: 0.06em;
        line-height: 1.45;
        margin-bottom: 0.85rem;
    }

    .lp-hero__free-pill {
        font-size: 0.625rem;
        padding: 0.25rem 0.5rem;
    }

    .lp-hero {
        padding-top: calc(var(--lp-header-h, 56px) + 1rem);
        padding-bottom: 2rem;
        min-height: auto;
    }

    .lp-hero__grid {
        gap: 1.5rem;
    }

    .lp-hero__title {
        font-size: clamp(1.5rem, 6.5vw, 2rem);
        letter-spacing: -0.03em;
        line-height: 1.15;
        margin-bottom: 0.85rem;
        max-width: 100%;
    }

    .lp-hero__subtitle {
        font-size: 0.9375rem;
        line-height: 1.55;
        margin-bottom: 1.25rem;
        max-width: 100%;
    }

    .lp-hero__cta {
        gap: 0.5rem;
        margin-bottom: 1rem;
    }

    .lp-hero__cta-btn,
    .lp-hero__cta .lp-btn {
        display: flex;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        min-height: 46px;
        padding: 0.65rem 0.85rem;
        font-size: 0.875rem;
        font-weight: 600;
        border-radius: 10px;
        white-space: normal;
        line-height: 1.25;
        box-shadow: none;
    }

    .lp-hero__cta-primary {
        padding: 0.65rem 0.85rem;
        gap: 0.15rem;
    }

    .lp-hero__cta-primary-label--long {
        display: none;
    }

    .lp-hero__cta-primary-label--short {
        display: block;
        font-size: 0.9375rem;
        font-weight: 700;
    }

    .lp-hero__cta-primary-badge {
        font-size: 0.625rem;
        opacity: 0.9;
    }

    .lp-btn--outline-light {
        background: rgba(255, 255, 255, 0.08);
        border: 1.5px solid rgba(255, 255, 255, 0.6);
        color: #fff;
    }

    .lp-hero__micro {
        font-size: 0.75rem;
        line-height: 1.5;
        max-width: 100%;
    }

    .lp-hero__visual {
        min-height: 0;
        order: 2;
    }

    .lp-hero__visual .lp-dash {
        transform: none;
        max-width: 100%;
    }

    .lp-dash-layout {
        min-height: 200px;
    }

    .lp-dash-kpis {
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
    }

    .lp-dash-kpi-value {
        font-size: 1.125rem;
    }

    .lp-dash-chart-svg {
        height: 68px;
    }

    .lp-section {
        padding: 3rem 0;
    }

    .lp-section-head {
        margin-bottom: 2rem;
    }

    .lp-h2 {
        font-size: 1.625rem;
    }

    .lp-lead {
        font-size: 1rem;
    }

    /* Header compacto */
    .lp-header__inner {
        padding: 0.65rem 1rem;
        gap: 0.75rem;
    }

    .lp-header__brand img {
        height: 34px;
    }

    .lp-header__toggle {
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
    }

    .lp-header__mobile {
        position: fixed;
        top: calc(var(--lp-header-h, 56px) - 1px);
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 250;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0.5rem 1rem 2rem;
        background: rgba(5, 11, 20, 0.98);
        backdrop-filter: blur(20px);
        border-bottom: none;
    }

    .lp-header__mobile a {
        min-height: 48px;
        display: flex;
        align-items: center;
        font-size: 1rem;
        padding: 0.75rem 0;
    }

    .lp-header__mobile-cta {
        margin-top: 1.25rem;
        padding-top: 1.25rem;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        gap: 0.65rem;
    }

    body.lp-menu-open {
        overflow: hidden;
        touch-action: none;
    }

    body.lp-menu-open .lp-header__mobile {
        display: block !important;
    }

    /* Context pills — scroll horizontal suave */
    .lp-context {
        padding: 0.85rem 0;
        overflow: hidden;
    }

    .lp-context__inner {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 0.5rem;
        padding: 0 1rem 0.25rem;
        max-width: none;
        margin: 0;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .lp-context__inner::-webkit-scrollbar {
        display: none;
    }

    .lp-context__pill {
        flex: 0 0 auto;
        min-width: max-content;
        font-size: 0.75rem;
        padding: 0.5rem 0.85rem;
        min-height: auto;
    }

    /* Why / flow panel */
    .lp-why-split {
        gap: 2rem;
    }

    .lp-why-panel {
        padding: 1.25rem;
    }

    .lp-why-flow__item {
        grid-template-columns: 28px 1fr;
        gap: 0.65rem;
    }

    /* Tabs — scroll + snap */
    .lp-tabs__nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 0.4rem;
        padding: 0 0 0.75rem;
        margin-left: -0.25rem;
        margin-right: -0.25rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .lp-tabs__nav::-webkit-scrollbar {
        display: none;
    }

    .lp-tabs__btn {
        flex: 0 0 auto;
        scroll-snap-align: start;
        font-size: 0.8125rem;
        padding: 0.55rem 0.95rem;
    }

    .lp-tabs__panel-inner {
        padding: 1.25rem;
        gap: 1.25rem;
    }

    .lp-tab-viz {
        min-height: 220px;
        padding: 1rem;
    }

    /* Pricing — cards full width, destaque Pro */
    .lp-pricing-v2 {
        padding: 3rem 0;
    }

    .lp-pricing-v2__grid {
        gap: 1rem;
    }

    .lp-price-v2 {
        padding: 1.5rem 1.25rem 1.5rem;
    }

    .lp-price-v2.is-featured {
        order: -1;
        padding-top: 1.85rem;
        padding-bottom: 1.5rem;
    }

    .lp-price-v2__features {
        margin-bottom: 1rem;
    }

    .lp-price-v2__cta {
        padding-top: 0.75rem;
    }

    .lp-price-v2__cta .lp-btn {
        min-height: 48px;
        padding: 0.8rem 1rem;
        border-radius: 12px;
        white-space: normal;
        line-height: 1.25;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.1),
            0 4px 14px rgba(37, 99, 235, 0.32);
    }

    .lp-price-v2__cta .lp-btn--primary:hover {
        transform: none;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.12),
            0 4px 14px rgba(37, 99, 235, 0.32);
    }

    .lp-price-v2__value {
        font-size: 1.875rem;
    }

    .lp-price-v2__desc {
        min-height: 0;
    }

    /* Battlecard — hint de scroll */
    .lp-bc-panel {
        position: relative;
    }

    .lp-bc-matrix-wrap::after {
        content: "Deslize →";
        display: block;
        text-align: center;
        font-size: 0.6875rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--lp-muted);
        padding: 0.5rem 0 0;
    }

    .lp-bc-tips {
        gap: 0.75rem;
    }

    /* Footer */
    .lp-footer {
        padding-top: 2.5rem;
    }

    .lp-footer__grid {
        gap: 1.75rem;
        padding-bottom: 2rem;
    }

    .lp-footer__nav {
        gap: 0.65rem 1rem;
    }

    .lp-footer__nav a {
        font-size: 0.9375rem;
        min-height: 36px;
        display: inline-flex;
        align-items: center;
    }

    /* CTA final */
    .lp-cta-final {
        padding: 3rem 0;
    }

    .lp-cta-final__title {
        font-size: 1.625rem;
    }

    /* Guias */
    .lp-guide-grid {
        grid-template-columns: 1fr;
    }

    .lp-section--hero-lite {
        padding-top: calc(var(--lp-header-h, 56px) + 1.5rem);
    }

    .lp-h1 {
        font-size: 1.625rem;
    }

    /* Accordion FAQ */
    .lp-accordion__trigger {
        padding: 1rem;
        font-size: 0.9375rem;
        text-align: left;
    }

    .lp-accordion__body {
        padding: 0 1rem 1rem;
    }

    /* Compare cards */
    .lp-compare-v2__card {
        padding: 1.35rem;
    }

    /* Product section */
    .lp-product {
        gap: 1.5rem;
    }

    .lp-product-cards {
        flex-direction: column;
    }

    .lp-product-mini {
        white-space: normal;
    }

    /* Checkout / legal */
    .checkout-page {
        padding: 1.25rem;
    }

    .checkout-card {
        padding: 1.5rem;
    }

    .lp-legal__form-block {
        padding: 1.25rem;
    }
}

/* Barra CTA fixa — mobile (campanhas) */
.lp-mobile-bar {
    display: none;
}

@media (max-width: 767.98px) {
    .lp-mobile-bar {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 180;
        box-sizing: border-box;
        width: 100%;
        max-width: 100vw;
        padding: 0;
        background: rgba(5, 11, 20, 0.97);
        border-top: 1px solid rgba(37, 191, 211, 0.2);
        transform: translateY(110%);
        transition: transform 0.25s ease, opacity 0.25s ease;
        opacity: 0;
        pointer-events: none;
        overflow: hidden;
    }

    .lp-mobile-bar.is-visible {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    .lp-mobile-bar__inner {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        padding: 0.5rem 0.75rem calc(0.5rem + env(safe-area-inset-bottom, 0px));
    }

    .lp-mobile-bar__btn {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0.7rem 1rem;
        min-height: 44px;
        font-family: inherit;
        font-size: 0.875rem;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        color: #fff;
        background: linear-gradient(135deg, #25bfd3, #2563eb);
        border: none;
        border-radius: 10px;
        -webkit-appearance: none;
        appearance: none;
        box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35);
    }

    .ar-body-landing.has-lp-mobile-bar {
        padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px));
    }

    .ar-body-landing.has-lp-mobile-bar.ar-cookie-visible {
        padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
    }

    .ar-body-landing.has-lp-mobile-bar .lp-cookie {
        bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px));
    }
}

/* ═══════════════════════════════════════
   APP INTERNO — mobile
   ═══════════════════════════════════════ */
@media (max-width: 767.98px) {
    .ar-content,
    .app-content {
        padding: var(--ar-space-4) var(--ar-space-3);
    }

    .ar-page-header {
        margin-bottom: var(--ar-space-5);
    }

    .ar-page-header .ar-btn,
    .ar-page-header .page-actions .ar-btn {
        width: 100%;
        justify-content: center;
    }

    .ar-page-header.d-flex {
        flex-direction: column;
        align-items: stretch !important;
        gap: var(--ar-space-3) !important;
    }

    .ar-kpi-strip {
        grid-template-columns: 1fr 1fr;
        gap: var(--ar-space-2);
    }

    .ar-kpi-strip-item {
        padding: var(--ar-space-3);
    }

    .ar-kpi-strip-value {
        font-size: 22px;
    }

    .ar-kpi-strip-value--text {
        font-size: 14px;
    }

    .ar-score-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--ar-space-2);
    }

    .ar-score-card--primary {
        grid-column: 1 / -1;
    }

    .ar-score-card-value {
        font-size: 26px;
    }

    .ar-score-card--primary .ar-score-card-value {
        font-size: 36px;
    }

    .ar-premium-dash > .ar-premium-card:first-child,
    .ar-premium-dash > .ar-premium-card:nth-child(2),
    .ar-premium-dash__insights {
        grid-column: 1;
        grid-row: auto;
    }

    .ar-premium-score {
        grid-template-columns: 1fr;
    }

    .ar-premium-score__meta {
        grid-template-columns: 1fr 1fr 1fr;
        gap: var(--ar-space-2);
    }

    .ar-premium-score__stat strong {
        font-size: 16px;
    }

    .ar-chart-widget {
        min-height: 180px;
    }

    .ar-table-wrap {
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        overflow: visible;
    }

    .ar-card-body--flush .ar-table-wrap {
        padding: var(--ar-space-3);
    }

    .ar-dash-grid {
        gap: var(--ar-space-4);
    }

    .ar-card-header {
        padding: var(--ar-space-3) var(--ar-space-4);
        font-size: 13px;
    }

    .ar-card-body {
        padding: var(--ar-space-4);
    }

    .ar-audit-tabs-shell {
        margin-left: calc(-1 * var(--ar-space-3));
        margin-right: calc(-1 * var(--ar-space-3));
        padding-left: var(--ar-space-3);
        padding-right: var(--ar-space-3);
    }

    .ar-audit-tabs .ar-tab {
        font-size: 12px;
        padding: 0.5rem 0.75rem;
        white-space: nowrap;
    }

    .ar-billing-hero {
        flex-direction: column;
        align-items: stretch;
        gap: var(--ar-space-3);
    }

    .ar-billing-kpi-grid--primary,
    .ar-billing-kpi-grid--secondary {
        grid-template-columns: 1fr 1fr;
    }

    .ar-billing-kpi--featured strong {
        font-size: 1.35rem;
    }

    .row.g-3 > [class*="col-"],
    .row.g-4 > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .ar-benchmark-metric-chart {
        padding: var(--ar-space-2);
    }

    .ar-scope-bar {
        flex-direction: column;
        align-items: stretch !important;
    }
}

@media (max-width: 479.98px) {
    .ar-kpi-strip {
        grid-template-columns: 1fr;
    }

    .ar-premium-score__meta {
        grid-template-columns: 1fr;
    }

    .ar-billing-kpi-grid--primary,
    .ar-billing-kpi-grid--secondary {
        grid-template-columns: 1fr;
    }

    .lp-context__pill {
        font-size: 0.6875rem;
    }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE DESIGN SYSTEM v2 — app interno + landing polish
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
    :root {
        --ar-topbar-height: 56px;
        --ar-m-radius: 16px;
        --ar-m-gap: 12px;
    }

    /* ── Topbar compacto ── */
    .ar-topbar,
    .app-topbar {
        height: var(--ar-topbar-height);
        min-height: var(--ar-topbar-height);
        padding: 0 12px;
        gap: 8px;
    }

    .ar-topbar-left {
        gap: 10px;
        flex: 1;
        min-width: 0;
        overflow: hidden;
    }

    .ar-topbar-brand {
        display: none;
    }

    .ar-breadcrumb {
        flex-wrap: nowrap;
        overflow: hidden;
        min-width: 0;
    }

    .ar-breadcrumb li {
        display: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ar-breadcrumb li.is-current,
    .ar-breadcrumb li:last-child {
        display: list-item;
        max-width: 100%;
    }

    .ar-breadcrumb li:not(.is-current):not(:last-child) {
        display: none;
    }

    .ar-topbar-left > .fw-semibold {
        font-size: 14px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .ar-topbar-actions {
        flex-shrink: 0;
        gap: 6px;
    }

    .ar-topbar-user {
        display: flex;
    }

    .ar-topbar-user-chip {
        max-width: none;
        padding: 2px;
        background: transparent;
        border: none;
        gap: 0;
    }

    .ar-topbar-user-initial {
        width: 34px;
        height: 34px;
        font-size: 14px;
    }

    .ar-topbar-user-info {
        display: none;
    }

    .ar-lang-switcher {
        padding: 2px;
        gap: 0;
    }

    .ar-lang-btn {
        min-width: 30px;
        padding: 5px 7px;
        font-size: 11px;
    }

    .ar-theme-btn {
        width: 36px;
        height: 36px;
        min-width: 36px;
    }

    /* ── Scope bar ── */
    .ar-scope-bar {
        padding: 12px;
        border-radius: var(--ar-m-radius);
        background: var(--ar-bg-surface);
        border: 1px solid var(--ar-border);
    }

    .ar-scope-bar .form-select {
        width: 100%;
        min-width: 0 !important;
    }

    .ar-scope-bar form {
        width: 100%;
    }

    /* ── Page headers ── */
    .ar-page-title {
        font-size: 1.375rem;
        line-height: 1.25;
    }

    .ar-page-subtitle {
        font-size: 0.875rem;
    }

    /* ── Cards mais compactos ── */
    .ar-card {
        border-radius: var(--ar-m-radius);
        overflow: hidden;
    }

    .ar-kpi-strip-item {
        border-radius: 12px;
        min-height: 0;
    }

    .ar-kpi-strip-label {
        font-size: 10px;
    }

    /* ── Tabelas → cards nativos mobile ── */
    .ar-table-cardify {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 12px;
    }

    .ar-table-cardify thead {
        display: none;
    }

    .ar-table-cardify tbody tr {
        display: block;
        margin-bottom: 0;
        border: 1px solid var(--ar-border);
        border-radius: var(--ar-m-radius);
        background: var(--ar-bg-surface);
        box-shadow: 0 2px 12px rgba(5, 11, 20, 0.06);
        overflow: hidden;
    }

    .ar-table-cardify tbody tr:hover td {
        background: transparent;
    }

    /* Cabeçalho do card = domínio */
    .ar-table-cardify tbody td:first-child {
        display: block;
        padding: 14px 16px 12px;
        border-bottom: 1px solid var(--ar-border);
        text-align: left;
        background: color-mix(in srgb, var(--ar-brand) 5%, var(--ar-bg-surface));
    }

    .ar-table-cardify tbody td:first-child::before {
        display: none;
    }

    .ar-table-cardify tbody td:first-child .fw-semibold,
    .ar-table-cardify tbody td:first-child .fw-medium {
        font-size: 1rem;
        display: block;
        margin-bottom: 2px;
    }

    .ar-table-cardify tbody td:first-child .small,
    .ar-table-cardify tbody td:first-child .ar-text-muted {
        font-size: 0.75rem;
        word-break: break-all;
        line-height: 1.4;
    }

    /* Métricas — grid 2 colunas (tabelas executivas) */
    .ar-table-executive.ar-table-cardify tbody tr {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .ar-table-executive.ar-table-cardify tbody td:first-child,
    .ar-table-executive.ar-table-cardify tbody td:last-child {
        grid-column: 1 / -1;
    }

    .ar-table-executive.ar-table-cardify tbody td:not(:first-child):not(:last-child) {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding: 10px 14px;
        border-bottom: 1px solid color-mix(in srgb, var(--ar-border) 70%, transparent);
        text-align: left;
        min-width: 0;
    }

    .ar-table-executive.ar-table-cardify tbody td:not(:first-child):not(:last-child)::before {
        position: static;
        content: attr(data-label);
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--ar-text-muted);
    }

    /* Tabelas compactas (dashboard, histórico) */
    .ar-table-cardify:not(.ar-table-executive) tbody tr {
        display: block;
    }

    .ar-table-cardify:not(.ar-table-executive) tbody td:not(:first-child):not(:last-child) {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 10px 16px;
        border-bottom: 1px solid var(--ar-border);
        text-align: right;
        min-width: 0;
    }

    .ar-table-cardify:not(.ar-table-executive) tbody td:not(:first-child):not(:last-child)::before {
        content: attr(data-label);
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--ar-text-muted);
        text-align: left;
        flex-shrink: 0;
    }

    .ar-table-cardify tbody td[data-label=""]::before,
    .ar-table-cardify tbody td:not([data-label])::before {
        display: none;
    }

    /* Ações — stack vertical full-width */
    .ar-table-cardify tbody td:last-child {
        display: block;
        padding: 12px 16px 16px;
        border-bottom: none;
        text-align: left;
    }

    .ar-table-cardify tbody td:last-child::before {
        display: none;
    }

    .ar-table-cardify .ar-table-actions,
    .ar-table-cardify tbody td:last-child .d-flex {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        width: 100%;
    }

    .ar-table-cardify .ar-table-actions .ar-btn,
    .ar-table-cardify .ar-table-actions form,
    .ar-table-cardify tbody td:last-child .ar-btn,
    .ar-table-cardify tbody td:last-child form {
        width: 100%;
        margin: 0;
    }

    .ar-table-cardify .ar-table-actions .ar-btn,
    .ar-table-cardify tbody td:last-child .ar-btn,
    .ar-table-cardify tbody td:last-child button[type="submit"] {
        justify-content: center;
        min-height: 44px;
        font-size: 14px;
    }

    .ar-table-cardify .ar-btn--ghost {
        background: var(--ar-bg-subtle);
        border: 1px solid var(--ar-border);
        color: var(--ar-text-primary);
    }

    /* ── Forms internos ── */
    .form-control,
    .form-select {
        min-height: 44px;
        font-size: 16px;
    }

    .ar-btn {
        min-height: 44px;
    }

    .ar-btn--sm {
        min-height: 40px;
    }

    /* ── Charts ── */
    .ar-chart-widget {
        max-width: 100%;
        overflow: hidden;
    }

    .ar-chart-widget canvas {
        max-width: 100% !important;
    }

    .ar-premium-card {
        border-radius: var(--ar-m-radius);
    }

    /* ── Landing: botões hero (reforço) ── */
    .lp-hero__cta .lp-btn--primary {
        background: linear-gradient(135deg, #25bfd3, #2563eb);
        color: #fff;
        border: none;
    }

    .lp-btn--outline-light {
        background: rgba(255, 255, 255, 0.08);
        border: 1.5px solid rgba(255, 255, 255, 0.6);
        color: #fff;
    }

    /* ── Auth mobile ── */
    .auth-brand-panel {
        min-height: 34vh;
        max-height: 38vh;
    }

    .signup-free-perks {
        list-style: none;
        padding: 0;
        margin: 12px 0 0;
        color: rgba(255, 255, 255, 0.92);
    }

    .signup-free-perks li {
        padding: 4px 0 4px 1.25rem;
        position: relative;
        font-size: 0.8125rem;
        line-height: 1.45;
    }

    .signup-free-perks li::before {
        content: "✓";
        position: absolute;
        left: 0;
        color: var(--auth-cyan-400, #38d6e8);
        font-weight: 700;
    }

    .auth-panel {
        background: #f4f7fb;
        align-items: flex-start;
        padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    }

    .auth-card {
        width: 100%;
        margin-bottom: 24px;
        box-shadow: 0 8px 32px rgba(5, 11, 20, 0.12);
    }

    .auth-submit,
    .auth-btn {
        -webkit-appearance: none;
        appearance: none;
        background: linear-gradient(135deg, #25bfd3, #2563eb) !important;
        color: #fff !important;
        border: none !important;
        min-height: 52px;
    }
}
