:root {
    --cot-ground: #EDF2F7;
    --cot-glass: rgba(255, 255, 255, .72);
    --cot-glass-fuerte: #FFFFFF;
    --cot-glass-borde: rgba(30, 66, 99, .10);
    --cot-glass-blur: blur(20px) saturate(180%);
    --cot-sombra-flotante: 0 18px 48px rgba(15, 38, 61, .13), 0 2px 6px rgba(15, 38, 61, .06);
    --cot-sombra-elevada: 0 30px 70px rgba(15, 38, 61, .18), 0 3px 8px rgba(15, 38, 61, .07);
}

body.landing-body {
    background-color: var(--cot-ground);
}

.hero-am h1 {
    font-size: clamp(1.85rem, 3.4vw, 2.75rem);
    line-height: 1.06;
    letter-spacing: -.028em;
    font-weight: 700;
}

.hero-am p {
    font-size: 1.02rem;
    line-height: 1.55;
    letter-spacing: 0;
    opacity: .88;
}

.hero-eyebrow {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .28);
    letter-spacing: .085em;
    font-size: .72rem;
}

.hero-trust-pill {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .16);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 999px;
    font-size: .8rem;
    letter-spacing: .005em;
}

.container-am {
    position: relative;
    z-index: 3;
}

.am-card {
    background: var(--cot-glass-fuerte) !important;
    border: 1px solid var(--cot-glass-borde) !important;
    border-radius: 22px !important;
    box-shadow: var(--cot-sombra-elevada) !important;
}

.step-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(30, 66, 99, .08) !important;
    padding: 1.4rem 1.75rem 1.1rem !important;
}

.step-header h3 {
    font-size: 1.02rem;
    font-weight: 650;
    letter-spacing: -.011em;
    color: var(--primary, #1E4263);
}

.step-num {
    background: var(--primary, #1E4263) !important;
    color: #fff !important;
    width: 26px !important;
    height: 26px !important;
    line-height: 26px !important;
    font-size: .78rem !important;
}

.step-body { padding: 1.6rem 1.75rem 1.75rem !important; }

.form-label {
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .045em;
    text-transform: uppercase;
    color: var(--text-sm, #6B7C8E);
    margin-bottom: .4rem;
}

.form-control,
.form-select {
    font-family: inherit !important;
    font-size: .95rem !important;
    padding: .7rem .9rem !important;
    border-radius: 12px !important;
    border: 1px solid rgba(30, 66, 99, .14) !important;
    background: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 1px 2px rgba(15, 38, 61, .04) inset !important;
}

.form-control:focus,
.form-select:focus {
    background: #fff !important;
    border-color: var(--primary-lt, #4488AD) !important;
    box-shadow: 0 0 0 4px rgba(68, 136, 173, .18) !important;
}

.form-control::placeholder { color: #9AA9B8; }

.budget-section,
.grupo-section {
    border-top: 1px solid rgba(30, 66, 99, .08) !important;
}

.budget-title {
    font-size: 1rem;
    font-weight: 650;
    letter-spacing: -.011em;
}

.budget-title i {
    background: var(--primary-xlt, #E3ECF4) !important;
    color: var(--primary, #1E4263) !important;
    box-shadow: none !important;
    border-radius: 10px !important;
}

.budget-options .bi-card {
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(30, 66, 99, .12) !important;
    border-radius: 16px !important;
    box-shadow: 0 1px 3px rgba(15, 38, 61, .05) !important;
    transition: transform .2s cubic-bezier(.4, 0, .2, 1),
                box-shadow .2s ease, border-color .2s ease, background-color .2s ease !important;
}

.budget-options .bi-card:hover {
    border-color: rgba(68, 136, 173, .38) !important;
    box-shadow: var(--cot-sombra-flotante) !important;
}

.budget-options .bi-card:active { transform: scale(.985); }

.budget-options input[type="radio"]:checked + .bi-card {
    background: var(--primary, #1E4263) !important;
    border-color: var(--primary, #1E4263) !important;
    box-shadow: 0 12px 30px rgba(30, 66, 99, .30) !important;
    transform: none !important;
}

.budget-options input[type="radio"]:focus-visible + .bi-card {
    outline: 3px solid rgba(68, 136, 173, .45);
    outline-offset: 2px;
}

.dep-row {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(30, 66, 99, .10);
    border-radius: 14px !important;
    padding: .8rem !important;
}

.dep-row:hover { background: rgba(255, 255, 255, .82) !important; }

.deps-wrapper {
    border-radius: 18px;
    background: rgba(30, 66, 99, .035);
    border: 1px solid rgba(30, 66, 99, .08);
    padding: 1rem;
}

.btn-am-primary,
.btn-am-success,
.btn-am-outline {
    border-radius: 12px !important;
    font-weight: 600;
    letter-spacing: .005em;
    transition: transform .16s cubic-bezier(.4, 0, .2, 1), box-shadow .2s ease, background-color .2s ease !important;
}

.btn-am-primary:active,
.btn-am-success:active,
.btn-am-outline:active { transform: scale(.97); }

.btn-am-outline {
    background: rgba(255, 255, 255, .7) !important;
    border: 1px solid rgba(30, 66, 99, .16) !important;
}

.bloqueo-am-card {
    background: var(--cot-glass-fuerte);
    backdrop-filter: var(--cot-glass-blur);
    -webkit-backdrop-filter: var(--cot-glass-blur);
    border: 1px solid var(--cot-glass-borde);
}

@media (prefers-reduced-transparency: reduce) {
    .am-card,
    .budget-options .bi-card,
    .bloqueo-am-card {
        background: #fff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

@media (prefers-contrast: more) {
    .am-card,
    .budget-options .bi-card,
    .dep-row {
        background: #fff !important;
        border-color: rgba(30, 66, 99, .45) !important;
    }

    .form-control,
    .form-select { border-color: rgba(30, 66, 99, .5) !important; }
}

@media (prefers-reduced-motion: reduce) {
    .cot-paso,
    .cot-paso-num,
    .budget-options .bi-card,
    .btn-am-primary,
    .btn-am-success,
    .btn-am-outline {
        transition: none !important;
        transform: none !important;
    }
}

.cliente-bar {
    background: var(--cot-glass-fuerte) !important;
    border: 1px solid var(--cot-glass-borde) !important;
    border-radius: 16px !important;
    box-shadow: var(--cot-sombra-flotante) !important;
}

.cliente-bar .item .lbl,
.resumen-vals .item .lbl,
.plan-prima .lbl,
.data-row .lbl {
    font-weight: 600;
    letter-spacing: .06em;
}

.plan-card {
    background: var(--cot-glass-fuerte) !important;
    border: 1px solid var(--cot-glass-borde) !important;
    border-radius: 20px !important;
    box-shadow: var(--cot-sombra-flotante) !important;
    transition: transform .22s cubic-bezier(.4, 0, .2, 1),
                box-shadow .22s ease, border-color .22s ease !important;
}

.plan-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(68, 136, 173, .42) !important;
    box-shadow: var(--cot-sombra-elevada) !important;
}

.plan-card.selected,
.plan-card.is-selected {
    border-color: var(--success, #10B981) !important;
    background: rgba(240, 253, 248, .9) !important;
    box-shadow: 0 18px 44px rgba(16, 185, 129, .22) !important;
}

.plan-nombre,
.plan-info .nombre {
    letter-spacing: -.014em;
    font-weight: 650;
}

.plan-prima .val {
    letter-spacing: -.022em;
    font-variant-numeric: tabular-nums;
}

.resumen-vals .item .val,
.totales .item .val {
    letter-spacing: -.022em;
    font-variant-numeric: tabular-nums;
}

.plan-dental-row .opt {
    border-radius: 10px !important;
    background: rgba(30, 66, 99, .05) !important;
    border: 1px solid transparent !important;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

.plan-dental-row input:checked + .opt {
    background: var(--primary, #1E4263) !important;
    border-color: var(--primary, #1E4263) !important;
    color: #fff !important;
}

.plan-dental-row input:focus-visible + .opt {
    outline: 3px solid rgba(68, 136, 173, .45);
    outline-offset: 2px;
}

.resumen-bar {
    background: var(--cot-glass) !important;
    backdrop-filter: var(--cot-glass-blur);
    -webkit-backdrop-filter: var(--cot-glass-blur);
    border: 1px solid var(--cot-glass-borde) !important;
    border-radius: 20px !important;
    box-shadow: var(--cot-sombra-elevada) !important;
}

.card-cot {
    background: var(--cot-glass-fuerte) !important;
    border: 1px solid var(--cot-glass-borde) !important;
    border-radius: 22px !important;
    box-shadow: var(--cot-sombra-elevada) !important;
}

.card-cot h4 {
    font-size: 1.02rem;
    font-weight: 650;
    letter-spacing: -.011em;
}

.totales .item {
    background: rgba(30, 66, 99, .045) !important;
    border: 1px solid rgba(30, 66, 99, .09) !important;
    border-radius: 14px !important;
}

.totales .item.alt {
    background: var(--primary-xlt, #E3ECF4) !important;
    border-color: rgba(68, 136, 173, .28) !important;
}

.success-hero {
    border-radius: 22px !important;
}

.success-hero h1 {
    letter-spacing: -.024em;
    line-height: 1.12;
    font-weight: 700;
}

.btn-pdf,
.btn-elegir {
    border-radius: 12px !important;
    font-weight: 600;
    transition: transform .16s cubic-bezier(.4, 0, .2, 1), box-shadow .2s ease, background-color .2s ease !important;
}

.btn-pdf:active,
.btn-elegir:active { transform: scale(.97); }

.eleccion-grupo { border-left-color: var(--success, #10B981) !important; }

@media (prefers-reduced-transparency: reduce) {
    .cliente-bar,
    .plan-card,
    .resumen-bar,
    .card-cot {
        background: #fff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

@media (prefers-contrast: more) {
    .cliente-bar,
    .plan-card,
    .resumen-bar,
    .card-cot {
        background: #fff !important;
        border-color: rgba(30, 66, 99, .45) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .plan-card,
    .plan-card:hover,
    .plan-dental-row .opt,
    .btn-pdf,
    .btn-elegir {
        transition: none !important;
        transform: none !important;
    }
}

.emitir-resumen {
    background: var(--cot-glass-fuerte) !important;
    border: 1px solid var(--cot-glass-borde) !important;
    border-left: 4px solid var(--primary-lt, #4488AD) !important;
    border-radius: 18px !important;
    box-shadow: var(--cot-sombra-flotante) !important;
}

.emitir-resumen .info .plan {
    font-weight: 650;
    letter-spacing: -.014em;
}

.emitir-resumen .prima .val {
    letter-spacing: -.022em;
    font-variant-numeric: tabular-nums;
}

.emitir-bar {
    background: var(--cot-glass) !important;
    backdrop-filter: var(--cot-glass-blur) !important;
    -webkit-backdrop-filter: var(--cot-glass-blur) !important;
    border-top: 1px solid rgba(255, 255, 255, .6) !important;
}

@media (prefers-reduced-transparency: reduce) {
    .emitir-resumen,
    .emitir-bar {
        background: #fff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}
