/* ════════════════════════════════════════════════════════════════════
 * LANDING — Colegio Digital Crypto
 * Light premium · Azul lujoso + acentos dorados sutiles
 * ════════════════════════════════════════════════════════════════════ */

:root {
    /* Tipografía */
    --land-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --land-display: 'Outfit', 'Inter', -apple-system, sans-serif;
    --land-mono: 'JetBrains Mono', 'Courier New', monospace;

    /* Colores base — light premium */
    --L-bg:        #F7F8FB;
    --L-bg-2:      #EFF2F8;
    --L-bg-deep:   #E7ECF4;
    --L-card:      #FFFFFF;
    --L-ink:       #0B1530;
    --L-ink-2:     #2B3654;
    --L-ink-3:     #5D6A87;
    --L-ink-4:     #8893AB;
    --L-line:      #E2E7F0;
    --L-line-2:    #F0F3F8;

    /* Azul premium (tonos lujosos) */
    --L-blue-50:  #EEF2FB;
    --L-blue-100: #DCE4F7;
    --L-blue-200: #B7C6F0;
    --L-blue-400: #4C77E2;
    --L-blue-500: #2B5BD9;
    --L-blue-600: #1F49C5;
    --L-blue-700: #163A9E;
    --L-blue-800: #0E2F8A;
    --L-blue-900: #0B2470;

    /* Gold sutil */
    --L-gold-50:  #FBF3DC;
    --L-gold-100: #F4E2A0;
    --L-gold-300: #DEB94C;
    --L-gold-500: #C9A227;
    --L-gold-700: #8C6F1A;

    /* Soporte */
    --L-emerald: #117A4A;
    --L-amber:   #B7791F;

    /* Geometría */
    --L-r-sm:  10px;
    --L-r:     14px;
    --L-r-lg:  20px;
    --L-r-xl:  28px;

    /* Sombras tintadas en azul (no negro) */
    --L-shadow-sm: 0 1px 2px rgba(15, 27, 60, 0.04),
                   0 4px 12px -4px rgba(15, 27, 60, 0.05);
    --L-shadow:    0 8px 28px -8px rgba(15, 27, 60, 0.10),
                   0 2px 4px rgba(15, 27, 60, 0.04);
    --L-shadow-lg: 0 24px 56px -16px rgba(15, 27, 60, 0.18),
                   0 4px 12px -2px rgba(15, 27, 60, 0.06);
    --L-shadow-xl: 0 36px 80px -22px rgba(15, 27, 60, 0.22),
                   0 8px 16px -4px rgba(15, 27, 60, 0.08);

    /* Springs */
    --L-spring: cubic-bezier(0.32, 0.72, 0, 1);
    --L-ease:   cubic-bezier(0.16, 1, 0.3, 1);

    --L-container: 1240px;
}

/* ════════════════════════════════════════════════════════════════════
 * RESET & BASE
 * ════════════════════════════════════════════════════════════════════ */
body.landing {
    background: var(--L-bg);
    color: var(--L-ink);
    font-family: var(--land-font);
    font-size: 15.5px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: clip;
    padding: 0;
    margin: 0;
    min-height: 100dvh;
    max-width: 100vw;
}
html.land, html:has(body.landing) { overflow-x: clip; max-width: 100vw; }
body.landing *, body.landing *::before, body.landing *::after { box-sizing: border-box; }

body.landing::before {
    content: '';
    position: fixed; inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(60% 50% at 90% -10%, rgba(43, 91, 217, 0.08) 0%, transparent 60%),
        radial-gradient(40% 30% at -10% 30%, rgba(43, 91, 217, 0.05) 0%, transparent 70%),
        radial-gradient(50% 40% at 50% 110%, rgba(22, 58, 158, 0.06) 0%, transparent 60%);
}

body.landing > * { position: relative; z-index: 1; }

.land-container {
    width: 100%;
    max-width: var(--L-container);
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 36px);
    box-sizing: border-box;
}
@media (max-width: 600px) {
    .land-container { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 380px) {
    .land-container { padding-left: 20px; padding-right: 20px; }
}

.land-section {
    padding: clamp(70px, 9vw, 130px) 0;
    position: relative;
}
.land-section.compact { padding: clamp(50px, 6vw, 90px) 0; }

/* Reset auth flash inheritance */
body.landing h1, body.landing h2, body.landing h3, body.landing h4 {
    font-family: var(--land-display);
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--L-ink);
    margin: 0;
    line-height: 1.12;
}
body.landing p { margin: 0; color: var(--L-ink-2); }

/* ════════════════════════════════════════════════════════════════════
 * NAVBAR — sticky glass capsule
 * ════════════════════════════════════════════════════════════════════ */
.land-nav {
    position: sticky;
    top: 0;
    z-index: 60;
    padding: 16px 0 0;
}
.land-nav-inner {
    width: min(calc(100% - 32px), 1200px);
    margin: 0 auto;
    height: 64px;
    padding: 0 12px 0 18px;
    display: flex; align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(15, 27, 60, 0.06);
    border-radius: 999px;
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.8) inset,
        var(--L-shadow);
    transition: box-shadow 220ms var(--L-ease), background 220ms var(--L-ease);
}
.land-nav.is-scrolled .land-nav-inner {
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        var(--L-shadow-lg);
}

.land-brand {
    display: inline-flex; align-items: center; gap: 10px;
    color: var(--L-ink);
    text-decoration: none;
    font-weight: 700;
    flex-shrink: 0;
}
.land-brand-mark {
    width: 32px; height: 32px;
    border-radius: 9px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    display: grid; place-items: center;
    flex-shrink: 0;
}
.land-brand-mark img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.land-brand-text {
    font-family: var(--land-display);
    font-weight: 700;
    font-size: 15.5px;
    letter-spacing: -0.012em;
    line-height: 1.05;
    display: flex; flex-direction: column;
}
.land-brand-text small {
    font-family: var(--land-font);
    font-weight: 700;
    font-size: 9.5px;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: var(--L-gold-700);
    margin-top: 1px;
}

.land-nav-links {
    display: flex; align-items: center; gap: 4px;
    margin-left: 8px;
}
.land-nav-links a {
    padding: 8px 14px;
    color: var(--L-ink-2);
    font-size: 13.5px;
    font-weight: 500;
    border-radius: 999px;
    text-decoration: none;
    transition: all 180ms var(--L-ease);
    letter-spacing: -0.005em;
}
.land-nav-links a:hover { color: var(--L-blue-600); background: rgba(43, 91, 217, 0.06); }

.land-nav-cta {
    display: flex; align-items: center; gap: 8px;
    margin-left: auto;
}
.land-nav-cta .btn {
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 220ms var(--L-spring);
    text-decoration: none;
    display: inline-flex; align-items: center; gap: 6px;
    line-height: 1;
}
.land-nav-cta .btn-ghost {
    background: transparent; color: var(--L-ink-2);
}
.land-nav-cta .btn-ghost:hover { background: rgba(15, 27, 60, 0.04); color: var(--L-ink); }
.land-nav-cta .btn-primary {
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
    box-shadow:
        0 6px 18px -6px rgba(43, 91, 217, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
.land-nav-cta .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow:
        0 12px 28px -6px rgba(43, 91, 217, 0.70),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}
.land-nav-cta .btn-primary:active { transform: translateY(0) scale(0.98); }

.land-nav-toggle {
    display: none;
    width: 38px; height: 38px;
    border: 1px solid rgba(15, 27, 60, 0.10);
    background: #fff;
    border-radius: 10px;
    color: var(--L-ink);
    cursor: pointer;
    align-items: center; justify-content: center;
}

@media (max-width: 880px) {
    .land-nav-links { display: none; }
    .land-nav-cta .btn-ghost { display: none; }
    .land-nav-toggle { display: inline-flex; }
}
@media (max-width: 480px) {
    .land-nav-cta .btn-primary { display: none; }
}

/* Mobile menu */
.land-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 100;
    background: rgba(11, 21, 48, 0.65);
    backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 240ms var(--L-ease);
}
.land-mobile-menu.is-open { opacity: 1; pointer-events: auto; }
.land-mobile-menu > * {
    background: #fff;
    width: min(380px, 100%);
    height: 100%;
    margin-left: auto;
    transform: translateX(100%);
    transition: transform 320ms var(--L-spring);
    padding: 22px;
    display: flex; flex-direction: column;
    gap: 8px;
}
.land-mobile-menu.is-open > * { transform: translateX(0); }
.land-mobile-menu-head {
    display: flex; align-items: center; justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--L-line);
}
.land-mobile-menu-close {
    width: 36px; height: 36px;
    border: 1px solid var(--L-line);
    background: #fff;
    border-radius: 999px;
    cursor: pointer;
    color: var(--L-ink);
    display: grid; place-items: center;
}
.land-mobile-menu nav {
    display: flex; flex-direction: column;
    gap: 4px;
    margin-top: 12px;
    flex: 1;
}
.land-mobile-menu nav a {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    text-decoration: none;
    color: var(--L-ink);
    font-weight: 500; font-size: 14.5px;
    transition: background 180ms ease;
}
.land-mobile-menu nav a:hover { background: var(--L-bg-2); }
.land-mobile-menu nav a svg { width: 18px; height: 18px; color: var(--L-ink-3); }
.land-mobile-menu .mm-cta {
    margin-top: 8px;
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
    justify-content: center;
    font-weight: 600;
    border-radius: 12px;
}
.land-mobile-menu .mm-cta:hover { background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800)); }
.land-mobile-menu .mm-cta-gold {
    background: linear-gradient(135deg, var(--L-gold-500), var(--L-gold-700));
    color: #0B1530;
}
.land-mobile-menu .mm-cta-gold:hover { background: linear-gradient(135deg, var(--L-gold-500), var(--L-gold-700)); }

/* ════════════════════════════════════════════════════════════════════
 * BUTTONS shared
 * ════════════════════════════════════════════════════════════════════ */
.btn-l {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 14.5px; font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 240ms var(--L-spring);
    line-height: 1;
    letter-spacing: -0.005em;
    font-family: inherit;
}
.btn-l-primary {
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
    box-shadow:
        0 8px 24px -6px rgba(43, 91, 217, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.20);
}
.btn-l-primary:hover {
    transform: translateY(-1px);
    box-shadow:
        0 14px 32px -6px rgba(43, 91, 217, 0.70),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
}
.btn-l-primary:active { transform: translateY(0) scale(0.98); }
.btn-l-gold {
    background: linear-gradient(135deg, var(--L-gold-500), var(--L-gold-700));
    color: #0B1530;
    box-shadow:
        0 8px 22px -6px rgba(201, 162, 39, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.btn-l-gold:hover {
    transform: translateY(-1px);
    box-shadow:
        0 14px 30px -6px rgba(201, 162, 39, 0.60),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.btn-l-outline {
    background: #fff;
    color: var(--L-ink);
    border-color: var(--L-line);
}
.btn-l-outline:hover {
    border-color: var(--L-blue-500);
    color: var(--L-blue-600);
    background: var(--L-blue-50);
}
.btn-l-ghost {
    background: transparent;
    color: var(--L-ink-2);
}
.btn-l-ghost:hover { background: rgba(15, 27, 60, 0.04); color: var(--L-ink); }

.btn-l-sm { padding: 10px 18px; font-size: 13px; }

/* ════════════════════════════════════════════════════════════════════
 * HERO — Asimétrico
 * ════════════════════════════════════════════════════════════════════ */
.hero {
    padding: clamp(50px, 7vw, 96px) 0 clamp(60px, 8vw, 120px);
    position: relative;
    overflow: hidden;
    max-width: 100%;
    isolation: isolate;
}
.hero-grid > * { min-width: 0; position: relative; z-index: 2; }
.hero-content { max-width: 100%; min-width: 0; width: 100%; }
.hero-content > * { max-width: 100%; }
.hero-content p, .hero-content h1 { max-width: 100%; box-sizing: border-box; }

/* ════════════════════════════════════════════════════════════════════
 * HERO BACKGROUND — Limpio · solo gradientes radiales suaves de azul
 * (sin grid, sin líneas SVG, sin "AI vibes")
 * ════════════════════════════════════════════════════════════════════ */
.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    border-radius: 0 0 36px 36px;
    background:
        radial-gradient(120% 80% at 50% 100%, #EEF2FB 0%, transparent 60%),
        linear-gradient(180deg, #FFFFFF 0%, #FAFCFF 100%);
}
.hero-bg-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    will-change: transform;
}
.hero-bg-glow-tl {
    width: 520px; height: 520px;
    top: -180px; left: -140px;
    background: radial-gradient(circle, rgba(43,91,217,0.22) 0%, rgba(43,91,217,0) 70%);
    animation: hero-glow-drift 24s ease-in-out infinite alternate;
}
.hero-bg-glow-br {
    width: 480px; height: 480px;
    bottom: -200px; right: -120px;
    background: radial-gradient(circle, rgba(22,58,158,0.18) 0%, rgba(22,58,158,0) 70%);
    animation: hero-glow-drift 28s ease-in-out infinite alternate-reverse;
}
.hero-bg-soft {
    position: absolute;
    inset: 12% 18%;
    background: radial-gradient(closest-side, rgba(255,255,255,0.45), transparent 80%);
    filter: blur(40px);
    pointer-events: none;
}
@keyframes hero-glow-drift {
    0%   { transform: translate3d(0,0,0) scale(1); }
    100% { transform: translate3d(30px, -18px, 0) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
    .hero-bg-glow { animation: none !important; }
}
.hero::before { content: none; }

.hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 60px);
    align-items: center;
    width: 100%;
    max-width: 100%;
}
@media (max-width: 980px) {
    .hero-grid { grid-template-columns: minmax(0, 1fr); }
}

.hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 13px;
    background: linear-gradient(135deg, rgba(43,91,217,0.10), rgba(22,58,158,0.06));
    border: 1px solid rgba(43, 91, 217, 0.18);
    border-radius: 999px;
    font-size: 11.5px; font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--L-blue-700);
    margin-bottom: 22px;
}
.hero-eyebrow .dot {
    width: 6px; height: 6px;
    background: var(--L-emerald);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(17, 122, 74, 0.16);
    animation: pulse-dot 2s var(--L-ease) infinite;
}
@keyframes pulse-dot {
    0%, 100% { box-shadow: 0 0 0 0 rgba(17, 122, 74, 0.32); }
    50%      { box-shadow: 0 0 0 6px rgba(17, 122, 74, 0); }
}

.hero h1 {
    font-size: clamp(30px, 4.6vw, 60px);
    line-height: 1.08;
    letter-spacing: -0.028em;
    font-weight: 700;
    margin-bottom: 22px;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}
@media (max-width: 600px) {
    .hero h1 {
        font-size: clamp(22px, 5.8vw, 28px);
        line-height: 1.14;
        letter-spacing: -0.020em;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .hero-sub { font-size: 14.5px; line-height: 1.55; }
}
@media (max-width: 380px) {
    .hero h1 { font-size: 21px; }
}
.hero h1 em {
    font-style: normal;
    background: linear-gradient(120deg, #0E2670 0%, #1A3FAA 35%, #2B5BD9 70%, #5C84EC 110%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline;
}

.hero-sub {
    font-size: clamp(15.5px, 1.5vw, 18px);
    color: var(--L-ink-3);
    max-width: min(56ch, 100%);
    line-height: 1.6;
    margin-bottom: 32px;
    overflow-wrap: anywhere;
    word-break: break-word;
    width: 100%;
}

.hero-ctas {
    display: flex; flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 36px;
}
.hero-ctas .play-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 22px 14px 14px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--L-line);
    border-radius: 999px;
    color: var(--L-ink);
    text-decoration: none;
    font-size: 14px; font-weight: 600;
    transition: all 220ms var(--L-spring);
}
.hero-ctas .play-btn:hover {
    background: #fff;
    border-color: var(--L-blue-200);
    transform: translateY(-1px);
}
.hero-ctas .play-btn .play-ic {
    width: 32px; height: 32px;
    border-radius: 50%;
    display: grid; place-items: center;
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
}

.hero-trust {
    display: flex; flex-wrap: wrap;
    gap: 18px 28px;
    align-items: center;
}
.hero-trust .item {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12.5px; font-weight: 600;
    color: var(--L-ink-3);
    letter-spacing: -0.005em;
}
.hero-trust .item svg {
    width: 14px; height: 14px;
    color: var(--L-blue-500);
}

/* Hero card visual derecha */
.hero-stage {
    position: relative;
    aspect-ratio: 1 / 1.05;
    max-width: 540px;
    width: 100%;
    margin-left: auto;
    overflow: hidden;
    border-radius: 28px;
}
@media (max-width: 600px) {
    .hero-stage { contain: layout paint size; }
}
@media (max-width: 980px) {
    .hero-stage { margin: 0 auto; max-width: min(460px, 100%); }
}
@media (max-width: 600px) {
    .hero-stage { max-width: 100%; }
}

.hero-stage-bg {
    position: absolute; inset: 0;
    border-radius: 28px;
    background:
        radial-gradient(60% 70% at 30% 20%, rgba(255,255,255,0.95) 0%, transparent 60%),
        linear-gradient(135deg, var(--L-blue-50) 0%, #fff 65%, var(--L-bg-2) 100%);
    border: 1px solid var(--L-line);
    box-shadow: var(--L-shadow-xl);
    overflow: hidden;
}
.hero-stage-bg::before {
    /* Punto-pattern muy sutil, no grid */
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(43, 91, 217, 0.16) 1px, transparent 1.4px);
    background-size: 28px 28px;
    mask-image: radial-gradient(circle at 50% 50%, #000 35%, transparent 80%);
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 35%, transparent 80%);
    opacity: 0.55;
    pointer-events: none;
}

/* Card flotante 1 — Curso/lección activa */
.hf-card {
    position: absolute;
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-lg);
    box-shadow: var(--L-shadow-lg);
    padding: 18px;
    backdrop-filter: blur(8px);
}
.hf-card-1 {
    top: 8%; left: 6%;
    width: 60%;
    animation: hover-float-1 6s ease-in-out infinite;
}
.hf-card-2 {
    bottom: 14%; right: 4%;
    width: 64%;
    animation: hover-float-2 7s ease-in-out infinite;
}
.hf-card-3 {
    top: 38%; right: 6%;
    width: 38%;
    animation: hover-float-3 5.5s ease-in-out infinite;
}
@keyframes hover-float-1 {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-10px); }
}
@keyframes hover-float-2 {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(8px); }
}
@keyframes hover-float-3 {
    0%, 100% { transform: translateY(0) rotate(2deg); }
    50%      { transform: translateY(-6px) rotate(-1deg); }
}

.hf-c1-icon {
    width: 38px; height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
    display: grid; place-items: center;
    margin-bottom: 12px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.20);
}
.hf-c1-title {
    font-family: var(--land-display);
    font-weight: 700; font-size: 14px;
    color: var(--L-ink); letter-spacing: -0.01em;
    margin-bottom: 4px;
}
.hf-c1-sub {
    font-size: 11.5px;
    color: var(--L-ink-3);
    margin-bottom: 14px;
    font-weight: 500;
}
.hf-c1-bar {
    height: 5px;
    background: var(--L-line-2);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
    margin-bottom: 6px;
}
.hf-c1-bar::after {
    content: '';
    position: absolute; left: 0; top: 0; bottom: 0;
    width: 68%;
    background: linear-gradient(90deg, var(--L-emerald), #2DCB7E);
    border-radius: 999px;
    animation: bar-grow 3s var(--L-ease) infinite alternate;
}
@keyframes bar-grow {
    0%   { width: 12%; }
    100% { width: 86%; }
}
.hf-c1-foot {
    display: flex; justify-content: space-between;
    font-size: 10.5px; color: var(--L-ink-3);
    font-family: var(--land-mono);
    font-weight: 600;
}

/* Card 2 — Wallet preview */
.hf-c2-row {
    display: flex; align-items: center; gap: 10px;
    margin-bottom: 12px;
}
.hf-c2-avatar {
    width: 34px; height: 34px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--L-gold-100), var(--L-gold-300));
    display: grid; place-items: center;
    color: var(--L-gold-700);
    flex-shrink: 0;
}
.hf-c2-meta { flex: 1; }
.hf-c2-meta .l { font-size: 10.5px; color: var(--L-ink-3); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.hf-c2-meta .v { font-family: var(--land-display); font-weight: 700; font-size: 19px; letter-spacing: -0.02em; color: var(--L-ink); margin-top: 2px; }
.hf-c2-chart {
    height: 38px;
    margin-top: 4px;
    position: relative;
}
.hf-c2-chart svg { width: 100%; height: 100%; }
.hf-c2-tags {
    display: flex; gap: 6px; flex-wrap: wrap;
    margin-top: 10px;
}
.hf-c2-tag {
    padding: 3px 8px;
    background: var(--L-blue-50);
    color: var(--L-blue-700);
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 999px;
    border: 1px solid var(--L-blue-100);
}
.hf-c2-tag.gold {
    background: var(--L-gold-50);
    color: var(--L-gold-700);
    border-color: var(--L-gold-100);
}

/* Card 3 — AI assistant pill */
.hf-c3-head {
    display: flex; align-items: center; gap: 6px;
    margin-bottom: 6px;
}
.hf-c3-head .dot {
    width: 6px; height: 6px;
    background: var(--L-emerald);
    border-radius: 50%;
    animation: pulse-dot 1.6s ease infinite;
}
.hf-c3-head .l {
    font-size: 9.5px; font-weight: 700;
    letter-spacing: 0.10em; text-transform: uppercase;
    color: var(--L-blue-700);
}
.hf-c3-msg {
    font-size: 11.5px; line-height: 1.5;
    color: var(--L-ink-2);
    font-weight: 500;
}
.hf-c3-msg strong { color: var(--L-ink); }

/* ════════════════════════════════════════════════════════════════════
 * SECTION HEADER (Eyebrow + Title + Sub)
 * ════════════════════════════════════════════════════════════════════ */
.sec-head {
    margin-bottom: 56px;
    max-width: 720px;
}
.sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.sec-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11.5px; font-weight: 800;
    letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--L-blue-700);
    margin-bottom: 14px;
}
.sec-eyebrow::before {
    content: '';
    width: 22px; height: 1.5px;
    background: linear-gradient(90deg, var(--L-blue-700), var(--L-blue-500));
    border-radius: 2px;
}
.sec-eyebrow::after {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    margin-left: 4px;
    background: var(--L-gold-500);
    box-shadow: 0 0 0 3px rgba(201,162,39,0.14);
}
.sec-title {
    font-size: clamp(28px, 3.4vw, 44px);
    letter-spacing: -0.028em;
    line-height: 1.1;
    margin-bottom: 16px !important;
}
.sec-sub {
    font-size: clamp(14.5px, 1.2vw, 17px);
    color: var(--L-ink-3);
    line-height: 1.65;
    max-width: 60ch;
}
.sec-head.center .sec-sub { margin-left: auto; margin-right: auto; }

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Problema (Fiat → Digital)
 * ════════════════════════════════════════════════════════════════════ */
.problem-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: stretch;
}
@media (max-width: 880px) { .problem-grid { grid-template-columns: 1fr; } }

.problem-list {
    display: flex; flex-direction: column;
    gap: 14px;
}
.problem-item {
    display: flex; gap: 16px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r);
    transition: all 240ms var(--L-spring);
}
.problem-item:hover {
    border-color: var(--L-blue-100);
    transform: translateX(4px);
    box-shadow: var(--L-shadow);
}
.problem-item .ic {
    width: 38px; height: 38px;
    border-radius: 10px;
    background: rgba(183, 121, 31, 0.10);
    color: var(--L-amber);
    display: grid; place-items: center;
    flex-shrink: 0;
}
.problem-item h4 {
    font-family: var(--land-display);
    font-size: 15px; font-weight: 600;
    margin: 0 0 4px;
    letter-spacing: -0.01em;
}
.problem-item p { font-size: 13.5px; color: var(--L-ink-3); }

.problem-visual {
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-xl);
    padding: 32px;
    box-shadow: var(--L-shadow-lg);
    position: relative;
    overflow: hidden;
}
.problem-visual::before {
    content: '';
    position: absolute; right: -20%; top: -20%;
    width: 360px; height: 360px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(43, 91, 217, 0.10), transparent 70%);
    pointer-events: none;
    filter: blur(20px);
}
.problem-visual h4 {
    font-family: var(--land-display);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.10em; text-transform: uppercase;
    color: var(--L-ink-3);
    margin-bottom: 24px;
    position: relative;
}

.transition-flow {
    position: relative;
    display: flex; flex-direction: column;
    gap: 14px;
}
.tflow-row {
    display: flex; align-items: center; gap: 14px;
    padding: 16px;
    background: var(--L-bg);
    border: 1px solid var(--L-line);
    border-radius: var(--L-r);
    position: relative;
}
.tflow-row.fiat { background: linear-gradient(135deg, rgba(183,121,31,0.05), #fff); border-color: rgba(183,121,31,0.18); }
.tflow-row.transition { background: linear-gradient(135deg, var(--L-blue-50), #fff); border-color: var(--L-blue-100); }
.tflow-row.digital { background: linear-gradient(135deg, rgba(17, 122, 74, 0.06), #fff); border-color: rgba(17, 122, 74, 0.18); }

.tflow-ic {
    width: 42px; height: 42px;
    border-radius: 12px;
    display: grid; place-items: center;
    flex-shrink: 0;
}
.tflow-row.fiat .tflow-ic { background: rgba(183,121,31,0.12); color: var(--L-amber); }
.tflow-row.transition .tflow-ic { background: var(--L-blue-100); color: var(--L-blue-700); }
.tflow-row.digital .tflow-ic { background: rgba(17, 122, 74, 0.12); color: var(--L-emerald); }

.tflow-meta { flex: 1; }
.tflow-meta .l { font-size: 11px; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: var(--L-ink-3); }
.tflow-meta .t { font-family: var(--land-display); font-weight: 600; font-size: 15px; color: var(--L-ink); margin-top: 2px; }

.tflow-arrow {
    position: relative;
    height: 16px;
    margin-left: 21px;
    border-left: 2px dashed var(--L-line);
}

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Ecosistema digital
 * ════════════════════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════════════
 * Escena isométrica — Hub central + chips conectados con paths punteados
 * Inspiración: composiciones SaaS premium con perspectiva isométrica.
 * Sin grids genéricos, sin "AI vibes": ilustración deliberada y limpia.
 * ════════════════════════════════════════════════════════════════════ */
.iso-stage {
    position: relative;
    margin: 0 auto;
    max-width: 1100px;
    padding: 0;
}
.iso-canvas {
    position: relative;
    width: 100%;
    aspect-ratio: 1000 / 540;
    background:
        radial-gradient(70% 80% at 50% 60%, #F4F7FE 0%, #FFFFFF 60%),
        #FFFFFF;
    border: 1px solid var(--L-line);
    border-radius: 28px;
    overflow: hidden;
    box-shadow:
        0 32px 80px -32px rgba(15, 27, 60, 0.16),
        0 8px 24px -8px rgba(15, 27, 60, 0.06);
}
.iso-canvas::before {
    /* Halo radial sutil que ancla el hub */
    content: '';
    position: absolute;
    width: 60%; padding-bottom: 60%;
    left: 50%; top: 64%;
    transform: translate(-50%, -50%);
    background: radial-gradient(closest-side, rgba(43, 91, 217, 0.08), transparent 70%);
    pointer-events: none;
}
.iso-canvas::after {
    /* Plataforma elíptica que da el "piso" isométrico al hub */
    content: '';
    position: absolute;
    width: 40%; padding-bottom: 12%;
    left: 50%; top: 70%;
    transform: translate(-50%, -50%);
    background: radial-gradient(closest-side, rgba(43, 91, 217, 0.10), transparent 70%);
    border-radius: 50%;
    filter: blur(4px);
    pointer-events: none;
}
.iso-paths {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 1;
}
.iso-ln {
    fill: none;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-dasharray: 5 9;
    animation: iso-dash-flow 16s linear infinite;
    opacity: 0.85;
}
.iso-ln.d2 { animation-duration: 14s; animation-direction: reverse; }
.iso-ln.d3 { animation-duration: 18s; }
.iso-ln.d4 { animation-duration: 17s; animation-direction: reverse; }
.iso-ln.d5 { animation-duration: 15s; }
.iso-ln.d6 { animation-duration: 19s; animation-direction: reverse; }
@keyframes iso-dash-flow {
    to { stroke-dashoffset: -240; }
}

/* ── HUB central ─────────────────────────────────────── */
.iso-hub {
    position: absolute;
    left: 50%;
    top: 64%;
    transform: translate(-50%, -50%);
    width: 220px; height: 220px;
    z-index: 3;
    animation: iso-hub-float 8s ease-in-out infinite;
}
@keyframes iso-hub-float {
    0%, 100% { transform: translate(-50%, -50%); }
    50%      { transform: translate(-50%, calc(-50% - 6px)); }
}
.iso-hub-shadow {
    position: absolute;
    left: 50%; top: 88%;
    width: 75%; height: 28px;
    transform: translate(-50%, -50%);
    background: radial-gradient(closest-side, rgba(11, 36, 112, 0.32), transparent 70%);
    filter: blur(8px);
    border-radius: 50%;
    z-index: 0;
}
.iso-hub-disc {
    position: absolute;
    left: 50%;
    border-radius: 50%;
    border: 1px solid rgba(43, 91, 217, 0.20);
}
.iso-hub-disc-base {
    width: 200px; height: 60px;
    bottom: 22%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #1A3FAA 0%, #0E2670 100%);
    box-shadow:
        0 14px 30px -10px rgba(11, 36, 112, 0.45),
        inset 0 -8px 16px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.10);
}
.iso-hub-disc-mid {
    width: 158px; height: 48px;
    bottom: 33%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #2B5BD9 0%, #1632A2 100%);
    box-shadow:
        inset 0 -6px 14px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
.iso-hub-disc-top {
    width: 116px; height: 36px;
    bottom: 44%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #5C84EC 0%, #2B5BD9 100%);
    box-shadow:
        inset 0 -4px 10px rgba(0, 0, 0, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
}
.iso-hub-ring {
    position: absolute;
    left: 50%;
    border-radius: 50%;
    border: 1.5px solid rgba(43, 91, 217, 0.35);
    transform: translateX(-50%);
}
.iso-hub-ring-1 {
    width: 88px; height: 26px;
    bottom: 56%;
    border-color: rgba(255, 255, 255, 0.55);
    animation: iso-ring-spin 12s linear infinite;
}
.iso-hub-ring-2 {
    width: 64px; height: 18px;
    bottom: 60%;
    border-color: rgba(201, 162, 39, 0.55);
    border-style: dashed;
    animation: iso-ring-spin 9s linear infinite reverse;
}
@keyframes iso-ring-spin {
    /* simulamos rotación pequeña con leve desplazamiento */
    0%, 100% { transform: translateX(-50%) rotate(-1deg); opacity: 0.85; }
    50%      { transform: translateX(-50%) rotate(1deg);  opacity: 1; }
}
.iso-hub-cube {
    position: absolute;
    left: 50%;
    bottom: 60%;
    transform: translate(-50%, 22%);
    width: 64px; height: 64px;
    border-radius: 14px;
    background: linear-gradient(135deg, #6E94F0 0%, #2B5BD9 60%, #163A9E 100%);
    color: #fff;
    display: grid; place-items: center;
    box-shadow:
        0 16px 32px -10px rgba(43, 91, 217, 0.55),
        inset 0 -3px 8px rgba(0,0,0,0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
    z-index: 4;
}
.iso-hub-cube::after {
    /* esquina dorada decorativa */
    content: '';
    position: absolute;
    top: -4px; right: -4px;
    width: 12px; height: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, #F4D88A, #C9A227);
    box-shadow: 0 4px 8px -2px rgba(201, 162, 39, 0.6);
}
.iso-hub-label {
    position: absolute;
    left: 50%;
    bottom: 8%;
    transform: translateX(-50%);
    font-family: var(--land-display);
    font-weight: 700;
    font-size: 12.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--L-blue-700);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--L-line);
    padding: 5px 12px;
    border-radius: 999px;
    box-shadow: 0 6px 18px -8px rgba(15, 27, 60, 0.20);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    white-space: nowrap;
}

/* ── CHIPS isométricos con icono ─────────────────────── */
.iso-chip {
    position: absolute;
    z-index: 2;
    will-change: transform;
}
.iso-chip-card {
    position: relative;
    display: inline-flex; align-items: center; gap: 12px;
    padding: 12px 16px 12px 12px;
    background: #FFFFFF;
    border: 1px solid var(--L-line);
    border-radius: 16px;
    box-shadow:
        0 18px 40px -16px rgba(15, 27, 60, 0.20),
        0 4px 12px -4px rgba(15, 27, 60, 0.08);
    transition: transform 320ms var(--L-spring), box-shadow 320ms var(--L-ease);
}
.iso-chip-shadow {
    position: absolute;
    left: 50%; bottom: -14px;
    width: 84%; height: 14px;
    transform: translateX(-50%);
    background: radial-gradient(closest-side, rgba(15, 27, 60, 0.18), transparent 70%);
    filter: blur(6px);
    border-radius: 50%;
    z-index: -1;
}
.iso-chip:hover .iso-chip-card {
    transform: translateY(-3px);
    box-shadow:
        0 26px 50px -16px rgba(15, 27, 60, 0.26),
        0 6px 16px -4px rgba(15, 27, 60, 0.10);
}
.iso-chip-ic {
    width: 40px; height: 40px;
    flex-shrink: 0;
    border-radius: 12px;
    display: grid; place-items: center;
    color: #fff;
    box-shadow:
        inset 0 -2px 4px rgba(0,0,0,0.16),
        inset 0 1px 0 rgba(255,255,255,0.30);
}
.iso-chip-ic svg { display: block; }
.iso-chip-ic.ic-blue    { background: linear-gradient(135deg, #3F6BE0 0%, #1A3FAA 100%); }
.iso-chip-ic.ic-amber   { background: linear-gradient(135deg, #F4A93C 0%, #C97A1A 100%); }
.iso-chip-ic.ic-violet  { background: linear-gradient(135deg, #8B5CF6 0%, #5331C8 100%); }
.iso-chip-ic.ic-emerald { background: linear-gradient(135deg, #2DCB7E 0%, #117A4A 100%); }
.iso-chip-ic.ic-cyan    { background: linear-gradient(135deg, #4FC8E8 0%, #1F7DA8 100%); }
.iso-chip-ic.ic-gold    { background: linear-gradient(135deg, #F4D88A 0%, #C9A227 100%); color: #4A3A05; }

.iso-chip-text {
    display: flex; flex-direction: column;
    line-height: 1.2;
}
.iso-chip-name {
    font-family: var(--land-display);
    font-weight: 700;
    font-size: 14.5px;
    letter-spacing: -0.018em;
    color: var(--L-ink);
}
.iso-chip-desc {
    font-size: 11.5px;
    color: var(--L-ink-3);
    margin-top: 1px;
}

/* Posiciones de los chips — distribución intencional, no orbital genérica */
.iso-chip-bitcoin  { left: 4%;  top: 52%; animation: iso-chip-float 8s ease-in-out infinite; }
.iso-chip-ethereum { left: 14%; top: 14%; animation: iso-chip-float 9s ease-in-out infinite 0.7s; }
.iso-chip-stable   { left: 36%; top: 4%;  animation: iso-chip-float 7.5s ease-in-out infinite 1.3s; }
.iso-chip-smart    { right: 18%; top: 8%;  animation: iso-chip-float 8.5s ease-in-out infinite 0.4s; }
.iso-chip-ai       { right: 4%;  top: 32%; animation: iso-chip-float 9s ease-in-out infinite 1.0s; }
.iso-chip-wallet   { right: 6%;  top: 64%; animation: iso-chip-float 7s ease-in-out infinite 1.6s; }
@keyframes iso-chip-float {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50%      { transform: translate3d(0, -8px, 0); }
}

/* Partículas decorativas muy sutiles */
.iso-dot {
    position: absolute;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--L-blue-500);
    opacity: 0.30;
    box-shadow: 0 0 0 4px rgba(43, 91, 217, 0.08);
}
.iso-dot-1 { left: 28%; top: 38%; animation: iso-dot-blink 6s ease-in-out infinite; }
.iso-dot-2 { left: 70%; top: 28%; animation: iso-dot-blink 5s ease-in-out infinite 1s; background: var(--L-gold-500); box-shadow: 0 0 0 4px rgba(201,162,39,0.08); }
.iso-dot-3 { left: 60%; top: 50%; animation: iso-dot-blink 7s ease-in-out infinite 0.5s; }
.iso-dot-4 { left: 32%; top: 56%; animation: iso-dot-blink 8s ease-in-out infinite 1.5s; }
@keyframes iso-dot-blink {
    0%, 100% { opacity: 0.10; transform: scale(0.8); }
    50%      { opacity: 0.55; transform: scale(1.1); }
}

.iso-caption {
    text-align: center;
    margin: 18px auto 0;
    max-width: 620px;
    color: var(--L-ink-3);
    font-size: 14px;
    line-height: 1.55;
}

@media (prefers-reduced-motion: reduce) {
    .iso-ln, .iso-hub, .iso-hub-ring-1, .iso-hub-ring-2,
    .iso-chip-bitcoin, .iso-chip-ethereum, .iso-chip-stable,
    .iso-chip-smart, .iso-chip-ai, .iso-chip-wallet,
    .iso-dot { animation: none !important; }
}

/* Responsive — se reorganiza vertical en mobile como una pila bonita */
@media (max-width: 980px) {
    .iso-canvas { aspect-ratio: 1000 / 720; }
    .iso-hub { width: 180px; height: 180px; top: 60%; }
    .iso-hub-disc-base { width: 170px; height: 50px; }
    .iso-hub-disc-mid  { width: 134px; height: 40px; }
    .iso-hub-disc-top  { width: 96px;  height: 30px; }
    .iso-hub-cube      { width: 56px;  height: 56px; }
    .iso-chip-card { padding: 10px 14px 10px 10px; }
    .iso-chip-ic { width: 36px; height: 36px; }
    .iso-chip-name { font-size: 13.5px; }
    .iso-chip-desc { font-size: 11px; }
}
@media (max-width: 720px) {
    .iso-canvas {
        aspect-ratio: auto;
        min-height: 720px;
        padding: 320px 16px 28px;
    }
    .iso-canvas::before, .iso-canvas::after { display: none; }
    .iso-paths { display: none; }
    .iso-hub {
        top: 160px;
        width: 160px; height: 160px;
    }
    .iso-chip {
        position: relative;
        display: block;
        margin: 10px auto 0;
        animation: none !important;
        left: auto !important; right: auto !important; top: auto !important;
        max-width: 320px;
    }
    .iso-chip-card {
        display: flex;
        width: 100%;
        justify-content: flex-start;
        background: #fff;
    }
    .iso-chip-shadow { display: none; }
    .iso-dot { display: none; }
}

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Módulos educativos (Bento)
 * ════════════════════════════════════════════════════════════════════ */
.modules-bento {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 18px;
}
@media (max-width: 980px) { .modules-bento { grid-template-columns: repeat(6, 1fr); gap: 14px; } }
@media (max-width: 600px) { .modules-bento { grid-template-columns: 1fr; gap: 12px; } }

.mb-card {
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-lg);
    padding: 22px;
    transition: all 280ms var(--L-spring);
    position: relative;
    overflow: hidden;
    display: flex; flex-direction: column;
    min-height: 200px;
}
.mb-card::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(43, 91, 217, 0.05), transparent 60%);
    opacity: 0;
    transition: opacity 280ms var(--L-ease);
    pointer-events: none;
}
.mb-card:hover {
    transform: translateY(-3px);
    border-color: var(--L-blue-100);
    box-shadow: var(--L-shadow-lg);
}
.mb-card:hover::before { opacity: 1; }

.mb-icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    display: grid; place-items: center;
    margin-bottom: 18px;
    background: var(--L-blue-50);
    color: var(--L-blue-700);
    box-shadow: inset 0 0 0 1px var(--L-blue-100);
}
.mb-card.gold .mb-icon { background: var(--L-gold-50); color: var(--L-gold-700); box-shadow: inset 0 0 0 1px var(--L-gold-100); }
.mb-card.green .mb-icon { background: rgba(17,122,74,0.10); color: var(--L-emerald); box-shadow: inset 0 0 0 1px rgba(17,122,74,0.18); }

.mb-meta {
    display: flex; gap: 10px; flex-wrap: wrap;
    margin-bottom: 8px;
    font-size: 10.5px; font-weight: 700;
    letter-spacing: 0.10em; text-transform: uppercase;
    color: var(--L-ink-4);
}
.mb-meta .level {
    color: var(--L-blue-700);
}
.mb-card h3 {
    font-family: var(--land-display);
    font-size: 19px; font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0 0 8px;
}
.mb-card p {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--L-ink-3);
    margin: 0 0 18px;
    flex: 1;
}
.mb-foot {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px dashed var(--L-line);
}
.mb-bar {
    flex: 1;
    height: 4px;
    background: var(--L-line-2);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}
.mb-bar::after {
    content: '';
    position: absolute; inset: 0;
    width: var(--p, 30%);
    background: linear-gradient(90deg, var(--L-blue-500), var(--L-blue-700));
    border-radius: 999px;
}
.mb-bar.gold::after { background: linear-gradient(90deg, var(--L-gold-500), var(--L-gold-700)); }
.mb-bar.green::after { background: linear-gradient(90deg, var(--L-emerald), #2DCB7E); }
.mb-time {
    font-size: 11.5px;
    font-family: var(--land-mono);
    font-weight: 600;
    color: var(--L-ink-3);
}

/* Bento spans */
.mb-card.span-4 { grid-column: span 4; }
.mb-card.span-6 { grid-column: span 6; }
.mb-card.span-8 { grid-column: span 8; }
.mb-card.span-12 { grid-column: span 12; }
@media (max-width: 980px) {
    .mb-card.span-4, .mb-card.span-6, .mb-card.span-8 { grid-column: span 6; }
    .mb-card.span-12 { grid-column: span 6; }
}
@media (max-width: 600px) {
    .mb-card.span-4, .mb-card.span-6, .mb-card.span-8, .mb-card.span-12 { grid-column: span 1; }
}

/* Featured big card */
.mb-card.featured {
    background:
        radial-gradient(60% 60% at 90% 10%, rgba(43,91,217,0.10) 0%, transparent 60%),
        linear-gradient(135deg, #fff 60%, var(--L-blue-50));
    border-color: var(--L-blue-100);
    min-height: 260px;
}
.mb-card.featured h3 { font-size: 24px; }
.mb-card.featured .mb-illu {
    position: absolute; right: 22px; bottom: 22px;
    width: 80px; height: 80px;
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    border-radius: 22px;
    display: grid; place-items: center;
    color: #fff;
    box-shadow:
        0 12px 28px -8px rgba(43,91,217,0.50),
        inset 0 1px 0 rgba(255,255,255,0.20);
}

/* ════════════════════════════════════════════════════════════════════
 * SECTION — AI Assistant
 * ════════════════════════════════════════════════════════════════════ */
.ai-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 56px;
    align-items: center;
}
@media (max-width: 980px) { .ai-grid { grid-template-columns: 1fr; } }

.ai-features {
    display: flex; flex-direction: column;
    gap: 16px;
    margin-top: 28px;
}
.ai-feat {
    display: flex; gap: 14px;
    align-items: flex-start;
}
.ai-feat .ic {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: var(--L-blue-50);
    color: var(--L-blue-700);
    display: grid; place-items: center;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px var(--L-blue-100);
}
.ai-feat h4 {
    font-family: var(--land-display);
    font-size: 15.5px;
    font-weight: 600;
    margin: 0 0 4px;
    letter-spacing: -0.01em;
}
.ai-feat p {
    font-size: 13.5px;
    color: var(--L-ink-3);
    line-height: 1.55;
}

.ai-mockup {
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-xl);
    box-shadow: var(--L-shadow-xl);
    overflow: hidden;
}
.ai-mockup-head {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 18px;
    background: linear-gradient(180deg, var(--L-bg-2), #fff);
    border-bottom: 1px solid var(--L-line);
}
.ai-mockup-head .dot {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: var(--L-line);
}
.ai-mockup-head .dot.r { background: #FF5F57; }
.ai-mockup-head .dot.y { background: #FEBB2D; }
.ai-mockup-head .dot.g { background: #28C840; }
.ai-mockup-head .name {
    margin-left: 14px;
    font-family: var(--land-display);
    font-size: 12.5px; font-weight: 600;
    color: var(--L-ink-2); letter-spacing: -0.005em;
}
.ai-mockup-head .name .badge {
    margin-left: 8px;
    background: var(--L-blue-50);
    color: var(--L-blue-700);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.ai-mockup-body {
    padding: 22px;
    display: flex; flex-direction: column;
    gap: 14px;
    background:
        radial-gradient(80% 100% at 50% 0%, var(--L-blue-50) 0%, transparent 50%),
        #fff;
}
.ai-msg {
    max-width: 80%;
    padding: 12px 16px;
    border-radius: 18px;
    font-size: 13.5px;
    line-height: 1.5;
    animation: msg-in 600ms var(--L-spring) backwards;
}
.ai-msg.user {
    margin-left: auto;
    background: var(--L-blue-50);
    color: var(--L-blue-800);
    border: 1px solid var(--L-blue-100);
    border-bottom-right-radius: 6px;
}
.ai-msg.bot {
    background: #fff;
    color: var(--L-ink-2);
    border: 1px solid var(--L-line);
    border-bottom-left-radius: 6px;
    box-shadow: var(--L-shadow-sm);
}
.ai-msg.bot strong { color: var(--L-ink); font-weight: 700; }
.ai-msg.delay-1 { animation-delay: .1s; }
.ai-msg.delay-2 { animation-delay: .3s; }
.ai-msg.delay-3 { animation-delay: .55s; }
@keyframes msg-in {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ai-typing {
    display: inline-flex; gap: 4px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: 18px;
    border-bottom-left-radius: 6px;
}
.ai-typing span {
    width: 6px; height: 6px;
    background: var(--L-blue-400);
    border-radius: 50%;
    animation: blink-typing 1.2s ease-in-out infinite;
}
.ai-typing span:nth-child(2) { animation-delay: .2s; }
.ai-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes blink-typing {
    0%, 60%, 100% { transform: scale(1); opacity: 0.5; }
    30%           { transform: scale(1.3); opacity: 1; }
}

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Comunidad
 * ════════════════════════════════════════════════════════════════════ */
.community-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 36px;
    align-items: stretch;
}
@media (max-width: 880px) { .community-grid { grid-template-columns: 1fr; } }

.community-stage {
    background:
        radial-gradient(50% 60% at 50% 30%, rgba(43,91,217,0.12) 0%, transparent 70%),
        linear-gradient(180deg, #FAFCFF 0%, #F2F6FE 100%);
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-xl);
    padding: 36px;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/10;
    box-shadow: var(--L-shadow-lg);
}
.community-stage::before {
    /* Constelación de puntos sutiles (no grid genérico) */
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(43, 91, 217, 0.18) 1.2px, transparent 1.4px);
    background-size: 36px 36px;
    background-position: 0 0;
    mask-image: radial-gradient(70% 70% at 50% 50%, #000 30%, transparent 88%);
    -webkit-mask-image: radial-gradient(70% 70% at 50% 50%, #000 30%, transparent 88%);
    pointer-events: none;
    opacity: 0.55;
}
.community-stage::after {
    content: '';
    position: absolute; inset: 12% 8%;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 400'><g fill='none' stroke='%232B5BD9' stroke-width='1.2' stroke-linejoin='round' opacity='0.22'><path d='M64 220 c20 -8, 36 -22, 60 -28 s32 6, 56 14 s40 -8, 60 -8 s32 14, 56 14 s32 -22, 56 -22 s40 22, 64 22 s32 -22, 56 -22 s40 18, 56 18 s32 -8, 56 -8 s40 22, 60 22'/><path d='M40 140 c30 -10, 60 -16, 90 -10 s40 12, 70 14 s40 -8, 70 -8 s40 14, 70 14 s40 -22, 70 -22 s40 22, 70 22 s40 -22, 70 -22 s40 18, 70 18 s40 -8, 70 -8 s40 22, 70 22'/><path d='M80 320 c30 -16, 60 -8, 90 -16 s40 -22, 70 -22 s40 14, 70 14 s40 -8, 70 -8 s40 22, 70 22 s40 -22, 70 -22 s40 22, 70 22 s40 -8, 70 -8'/></g></svg>") no-repeat center / contain;
    pointer-events: none;
}

.community-stats {
    display: flex; flex-direction: column;
    gap: 14px;
}
.cs-card {
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-lg);
    padding: 20px 22px;
    box-shadow: var(--L-shadow-sm);
    position: relative;
    overflow: hidden;
}
.cs-card::before {
    content: '';
    position: absolute; left: 0; top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--L-blue-500), var(--L-blue-800));
    border-radius: 0 4px 4px 0;
}
.cs-card.gold::before { background: linear-gradient(180deg, var(--L-gold-500), var(--L-gold-700)); }
.cs-card.green::before { background: linear-gradient(180deg, var(--L-emerald), #2DCB7E); }
.cs-num {
    font-family: var(--land-display);
    font-size: 32px; font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--L-ink);
    font-variant-numeric: tabular-nums;
}
.cs-num small { font-size: 18px; font-weight: 600; color: var(--L-ink-3); }
.cs-label {
    font-size: 12.5px;
    color: var(--L-ink-3);
    margin-top: 2px;
    font-weight: 500;
}

/* People dots inside community-stage */
.cs-dot {
    position: absolute;
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
    display: grid; place-items: center;
    font-family: var(--land-display);
    font-weight: 700; font-size: 13.5px;
    box-shadow: 0 8px 18px -6px rgba(43,91,217,0.45), 0 0 0 1px rgba(255,255,255,0.6) inset;
    border: 2px solid #fff;
    animation: pulse-soft 4s ease-in-out infinite;
    z-index: 2;
}
.cs-dot::after {
    content: '';
    position: absolute; inset: -10px;
    border-radius: 50%;
    border: 1px solid currentColor;
    opacity: 0.32;
    animation: ring-out 3.6s ease-out infinite;
}
@keyframes ring-out {
    0%   { transform: scale(0.8); opacity: 0.5; }
    100% { transform: scale(1.7); opacity: 0; }
}
.cs-dot.gold { background: linear-gradient(135deg, var(--L-gold-500), var(--L-gold-700)); color: #0B1530; }
.cs-dot.green { background: linear-gradient(135deg, var(--L-emerald), #14935A); }

@keyframes pulse-soft {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.06); }
}

.cs-dot.d1 { top: 18%; left: 12%; animation-delay: 0s; }
.cs-dot.d2 { top: 38%; left: 28%; animation-delay: .5s; }
.cs-dot.d3 { top: 62%; left: 18%; animation-delay: 1s; }
.cs-dot.d4 { top: 22%; right: 18%; animation-delay: 1.5s; }
.cs-dot.d5 { top: 52%; right: 30%; animation-delay: 2s; }
.cs-dot.d6 { bottom: 18%; right: 12%; animation-delay: 2.5s; }
.cs-dot.d7 { top: 50%; left: 50%; transform: translate(-50%, -50%); width: 56px; height: 56px; }

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Aprende, comparte, gana (multinivel ligero)
 * ════════════════════════════════════════════════════════════════════ */
.lse-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
@media (max-width: 880px) { .lse-grid { grid-template-columns: 1fr; } }

.lse-card {
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-lg);
    padding: 28px 26px;
    transition: all 280ms var(--L-spring);
    position: relative;
}
.lse-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--L-shadow-lg);
    border-color: var(--L-blue-100);
}
.lse-step {
    display: inline-block;
    font-family: var(--land-display);
    font-size: 11.5px; font-weight: 700;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--L-blue-700);
    background: var(--L-blue-50);
    padding: 5px 11px;
    border-radius: 999px;
    margin-bottom: 18px;
}
.lse-card.gold .lse-step { color: var(--L-gold-700); background: var(--L-gold-50); }
.lse-card.green .lse-step { color: var(--L-emerald); background: rgba(17,122,74,0.10); }

.lse-card h3 {
    font-family: var(--land-display);
    font-size: 22px; font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}
.lse-card > p { font-size: 14px; color: var(--L-ink-3); margin-bottom: 18px; line-height: 1.6; }

.lse-bullets {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 10px;
}
.lse-bullets li {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: 13.5px; color: var(--L-ink-2);
}
.lse-bullets li svg {
    width: 16px; height: 16px;
    color: var(--L-blue-500);
    flex-shrink: 0; margin-top: 2px;
}
.lse-card.gold .lse-bullets li svg { color: var(--L-gold-500); }
.lse-card.green .lse-bullets li svg { color: var(--L-emerald); }

.lse-disclaimer {
    margin-top: 36px;
    padding: 16px 22px;
    background: var(--L-blue-50);
    border-left: 3px solid var(--L-blue-500);
    border-radius: 0 12px 12px 0;
    font-size: 13.5px;
    color: var(--L-ink-2);
    line-height: 1.6;
}
.lse-disclaimer strong { color: var(--L-blue-800); }

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Why now
 * ════════════════════════════════════════════════════════════════════ */
.why-now {
    background:
        radial-gradient(60% 80% at 50% 110%, rgba(43,91,217,0.18) 0%, transparent 60%),
        linear-gradient(135deg, #0B2470 0%, #0E2F8A 60%, #163A9E 100%);
    border-radius: var(--L-r-xl);
    padding: clamp(56px, 8vw, 100px) clamp(28px, 5vw, 80px);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.why-now::before {
    /* Constelación tipo "starfield" — sin grid genérico */
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(255,255,255,0.18) 1.2px, transparent 1.4px);
    background-size: 32px 32px;
    background-position: 0 0;
    mask-image: radial-gradient(70% 75% at 50% 50%, #000 30%, transparent 88%);
    -webkit-mask-image: radial-gradient(70% 75% at 50% 50%, #000 30%, transparent 88%);
    pointer-events: none;
    opacity: 0.45;
}
.why-now-inner {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}
body.landing .why-now h2 {
    color: #fff;
    font-size: clamp(28px, 4vw, 52px);
    letter-spacing: -0.028em;
    line-height: 1.08;
    margin-bottom: 22px;
    overflow-wrap: break-word;
    text-wrap: balance;
}
body.landing .why-now h2 em {
    font-style: normal;
    color: var(--L-gold-100);
    background: linear-gradient(90deg, #FFE9A6 0%, #F4D88A 50%, #C9A227 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline;
}
body.landing .why-now p {
    color: rgba(255,255,255,0.92);
    font-size: 16.5px;
    line-height: 1.65;
    max-width: 56ch;
    margin: 0 auto 32px;
    text-wrap: pretty;
}

.why-pills {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 12px;
    margin-top: 24px;
}
.why-pill {
    padding: 9px 18px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255,255,255,0.95);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.005em;
    backdrop-filter: blur(10px);
    display: inline-flex; align-items: center; gap: 6px;
}
.why-pill svg { width: 14px; height: 14px; color: var(--L-gold-100); }

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Pricing
 * ════════════════════════════════════════════════════════════════════ */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
@media (max-width: 1100px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .pricing-grid { grid-template-columns: 1fr; } }

.price-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-lg);
    padding: 28px;
    transition: all 280ms var(--L-spring);
    display: flex; flex-direction: column;
}
.price-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--L-shadow-lg);
    border-color: var(--L-blue-100);
}
.price-card.featured {
    background:
        radial-gradient(70% 60% at 50% 0%, rgba(43,91,217,0.08) 0%, transparent 60%),
        #fff;
    border-color: var(--L-blue-200);
    box-shadow: var(--L-shadow-lg);
}
.price-card.featured::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--L-blue-700), var(--L-blue-500));
    border-radius: var(--L-r-lg) var(--L-r-lg) 0 0;
}
.price-card.featured::after {
    content: '';
    position: absolute; top: 6px; left: 50%;
    transform: translateX(-50%);
    width: 36px; height: 2px;
    background: linear-gradient(90deg, transparent, var(--L-gold-500), transparent);
    border-radius: 2px;
}

.price-tag {
    display: inline-block;
    font-size: 10.5px; font-weight: 700;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--L-gold-700);
    background: var(--L-gold-50);
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: 14px;
    align-self: flex-start;
}
.price-card h3 {
    font-family: var(--land-display);
    font-size: 22px; font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
}
.price-desc {
    font-size: 13px;
    color: var(--L-ink-3);
    margin-bottom: 22px;
    min-height: 38px;
}
.price-amount {
    display: flex; align-items: baseline; gap: 6px;
    margin-bottom: 6px;
}
.price-amount .v {
    font-family: var(--land-display);
    font-size: 36px; font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--L-ink);
    line-height: 1;
}
.price-amount .c { color: var(--L-ink-3); font-size: 13.5px; font-weight: 600; }
.price-period {
    font-size: 12px;
    color: var(--L-ink-4);
    margin-bottom: 22px;
}

.price-features {
    list-style: none; padding: 0; margin: 0 0 24px;
    display: flex; flex-direction: column; gap: 10px;
    flex: 1;
}
.price-features li {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: 13.5px;
    color: var(--L-ink-2);
}
.price-features li svg {
    width: 16px; height: 16px;
    color: var(--L-blue-500);
    flex-shrink: 0; margin-top: 2px;
}

.price-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 100%;
    padding: 12px 18px;
    border-radius: 12px;
    border: 1px solid var(--L-line);
    background: #fff;
    color: var(--L-ink);
    font-size: 13.5px; font-weight: 600;
    text-decoration: none;
    transition: all 220ms var(--L-spring);
}
.price-btn:hover {
    border-color: var(--L-blue-500);
    color: var(--L-blue-600);
    background: var(--L-blue-50);
    transform: translateY(-1px);
}
.price-card.featured .price-btn {
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 6px 18px -6px rgba(43,91,217,0.45);
}
.price-card.featured .price-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px -6px rgba(43,91,217,0.65);
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
}

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Testimonios
 * ════════════════════════════════════════════════════════════════════ */
.testi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
@media (max-width: 980px) { .testi-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .testi-grid { grid-template-columns: 1fr; } }

.testi-card {
    background: #fff;
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-lg);
    padding: 24px;
    display: flex; flex-direction: column;
    gap: 14px;
    transition: all 240ms var(--L-spring);
}
.testi-card:hover {
    border-color: var(--L-blue-100);
    box-shadow: var(--L-shadow-lg);
    transform: translateY(-2px);
}
.testi-stars {
    display: inline-flex; gap: 2px;
    color: var(--L-gold-500);
}
.testi-stars svg { width: 14px; height: 14px; fill: currentColor; }
.testi-text {
    font-size: 14.5px;
    color: var(--L-ink);
    line-height: 1.6;
    flex: 1;
    font-weight: 500;
    letter-spacing: -0.005em;
}
.testi-foot {
    display: flex; align-items: center; gap: 12px;
    padding-top: 14px;
    border-top: 1px dashed var(--L-line);
}
.testi-avatar {
    width: 42px; height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--L-blue-500), var(--L-blue-800));
    color: #fff;
    font-family: var(--land-display);
    font-weight: 700; font-size: 14px;
    display: grid; place-items: center;
    flex-shrink: 0;
}
.testi-card .testi-avatar.gold { background: linear-gradient(135deg, var(--L-gold-500), var(--L-gold-700)); color: #0B1530; }
.testi-card .testi-avatar.green { background: linear-gradient(135deg, var(--L-emerald), #14935A); }
.testi-name {
    font-family: var(--land-display);
    font-weight: 600; font-size: 14px;
    color: var(--L-ink);
}
.testi-role {
    font-size: 12px;
    color: var(--L-ink-3);
    margin-top: 2px;
}

/* ════════════════════════════════════════════════════════════════════
 * SECTION — Final CTA
 * ════════════════════════════════════════════════════════════════════ */
.final-cta {
    position: relative;
    background:
        radial-gradient(60% 80% at 50% 0%, rgba(43,91,217,0.10) 0%, transparent 60%),
        linear-gradient(180deg, #fff, var(--L-bg-2));
    border: 1px solid var(--L-line);
    border-radius: var(--L-r-xl);
    padding: clamp(50px, 7vw, 90px) clamp(28px, 5vw, 60px);
    text-align: center;
    overflow: hidden;
    box-shadow: var(--L-shadow-lg);
}
.final-cta::before {
    content: '';
    position: absolute;
    width: 520px; height: 520px;
    top: -260px; left: 50%;
    transform: translateX(-50%);
    background: radial-gradient(closest-side, rgba(43, 91, 217, 0.18), transparent 70%);
    border-radius: 50%;
    filter: blur(30px);
    pointer-events: none;
}
.final-cta::after {
    content: '';
    position: absolute;
    width: 8px; height: 8px;
    border-radius: 50%;
    top: 28px; left: 50%;
    transform: translateX(-50%);
    background: var(--L-gold-500);
    box-shadow: 0 0 0 6px rgba(201, 162, 39, 0.10);
}
.final-cta-inner { position: relative; max-width: 760px; margin: 0 auto; }
.final-cta h2 {
    font-size: clamp(30px, 4.4vw, 56px);
    letter-spacing: -0.03em;
    line-height: 1.05;
    margin-bottom: 20px;
}
.final-cta h2 em {
    font-style: normal;
    background: linear-gradient(120deg, #0E2670 0%, #1A3FAA 40%, #2B5BD9 80%, #5C84EC 110%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.final-cta p {
    color: var(--L-ink-3);
    font-size: 16px;
    line-height: 1.65;
    max-width: 56ch;
    margin: 0 auto 32px;
}
.final-cta-row {
    display: flex; flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 28px;
}
.final-cta-trust {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 14px 22px;
    font-size: 12.5px;
    color: var(--L-ink-3);
    font-weight: 500;
}
.final-cta-trust .item {
    display: inline-flex; align-items: center; gap: 6px;
}
.final-cta-trust .item svg { width: 14px; height: 14px; color: var(--L-blue-500); }

/* ════════════════════════════════════════════════════════════════════
 * FOOTER
 * ════════════════════════════════════════════════════════════════════ */
.land-footer {
    margin-top: 60px;
    padding: 56px 0 28px;
    border-top: 1px solid var(--L-line);
    background: linear-gradient(180deg, var(--L-bg) 0%, var(--L-bg-2) 100%);
}
.land-footer-inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 36px;
    margin-bottom: 36px;
}
@media (max-width: 880px) { .land-footer-inner { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 480px) { .land-footer-inner { grid-template-columns: 1fr; } }

.ftr-brand-text {
    margin-top: 14px;
    color: var(--L-ink-3);
    font-size: 13.5px;
    line-height: 1.6;
    max-width: 36ch;
}
.land-footer h5 {
    font-family: var(--land-display);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--L-ink);
    margin-bottom: 18px;
}
.land-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.land-footer ul a {
    color: var(--L-ink-3);
    text-decoration: none;
    font-size: 13.5px;
    transition: color 180ms ease;
}
.land-footer ul a:hover { color: var(--L-blue-600); }

.land-footer-bot {
    padding-top: 24px;
    border-top: 1px solid var(--L-line);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    align-items: center;
    color: var(--L-ink-3);
    font-size: 12.5px;
}

/* ════════════════════════════════════════════════════════════════════
 * Reveal on scroll
 * ════════════════════════════════════════════════════════════════════ */
[data-reveal] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 700ms var(--L-ease), transform 700ms var(--L-spring);
}
[data-reveal].is-in {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    [data-reveal] { opacity: 1; transform: none; transition: none; }
    .hf-card-1, .hf-card-2, .hf-card-3 { animation: none; }
    .cs-dot { animation: none; }
    .ai-msg { animation: none; }
}
