/* ============================================================
 * CERCAI v7 — Design System (D9 Vercel Negro)
 * ============================================================
 * Identidad visual: paleta cyan/violeta/magenta sobre negro absoluto,
 * tipografía Geist + Geist Mono, gradient conic glow, terminal cards.
 *
 * Scope: TODAS las clases con prefijo `cercai-v7-*`. Esto evita
 * cualquier colisión con el tema v6 (Neo-Brutalist teal/gold).
 * El v6 y el v7 conviven en paralelo durante la migración.
 *
 * Bumpear CERCAI_VERSION en functions.php cuando se modifique este file.
 * ============================================================ */


/* ============================================================
 * 1 · VARIABLES (PALETA + TOKENS)
 * ============================================================ */

:root {
    /* Paleta D9 Vercel Negro */
    --cercai-v7-bg:            #000000;
    --cercai-v7-surface:       #0A0A0A;
    --cercai-v7-surface-2:     #111111;
    --cercai-v7-surface-3:     #161616;
    --cercai-v7-border:        #262626;
    --cercai-v7-border-strong: #404040;

    --cercai-v7-text:          #EDEDED;
    --cercai-v7-text-2:        #A0A0A0;
    --cercai-v7-text-3:        #666666;

    --cercai-v7-grad-1:        #00DFD8; /* cyan */
    --cercai-v7-grad-2:        #FF0080; /* magenta */
    --cercai-v7-grad-3:        #7928CA; /* violeta */
    --cercai-v7-grad-4:        #FFC700; /* amarillo (acento) */

    --cercai-v7-accent:        #0070F3; /* azul tech */
    --cercai-v7-success:       #0CCE6B; /* verde OK */

    /* Tipografía */
    --cercai-v7-font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, sans-serif;
    --cercai-v7-font-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;

    /* Spacing scale */
    --cercai-v7-sp-1:  4px;
    --cercai-v7-sp-2:  8px;
    --cercai-v7-sp-3:  12px;
    --cercai-v7-sp-4:  16px;
    --cercai-v7-sp-5:  20px;
    --cercai-v7-sp-6:  24px;
    --cercai-v7-sp-8:  32px;
    --cercai-v7-sp-10: 40px;
    --cercai-v7-sp-12: 48px;
    --cercai-v7-sp-16: 64px;
    --cercai-v7-sp-20: 80px;
    --cercai-v7-sp-24: 96px;
    --cercai-v7-sp-32: 128px;

    /* Radius */
    --cercai-v7-radius-sm: 6px;
    --cercai-v7-radius:    8px;
    --cercai-v7-radius-md: 12px;
    --cercai-v7-radius-lg: 16px;
    --cercai-v7-radius-pill: 999px;

    /* Container */
    --cercai-v7-container: 1280px;
    --cercai-v7-container-narrow: 920px;
}


/* ============================================================
 * 2 · BASE / RESET — FONDO GLOBAL NEGRO PARA V7
 * ============================================================
 * Forzamos fondo negro en body + wrappers de WordPress FSE
 * para que las secciones v7 se vean full-width sin bordes
 * blancos asomando a los costados.
 *
 * El blog (Fase 4) sobreescribirá esto con scope local cuando
 * tenga su propio template light.
 * ============================================================ */

html,
body,
body.wp-singular,
body.wp-admin-bar,
.wp-site-blocks,
.is-root-container,
main,
.wp-block-template-part {
    background-color: var(--cercai-v7-bg) !important;
}

body {
    color: var(--cercai-v7-text);
    font-family: var(--cercai-v7-font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

/* Limpia padding/margins del wrapper FSE que crean bordes */
.wp-site-blocks > main,
.wp-site-blocks {
    padding: 0 !important;
}

/* `.cercai-v7-page` mantiene scope de las secciones v7 */
.cercai-v7-page {
    background: var(--cercai-v7-bg);
    color: var(--cercai-v7-text);
    font-family: var(--cercai-v7-font-sans);
    font-size: 16px;
    line-height: 1.5;
    font-feature-settings: "ss01", "ss03";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    width: 100%;
    /* border-box en la sección misma: con content-box, width:100% + padding
       lateral 24px = 423px en un viewport de 375px → scroll horizontal en móvil */
    box-sizing: border-box;
}

.cercai-v7-page * { box-sizing: border-box; }
.cercai-v7-page a { text-decoration: none; }


/* ============================================================
 * 3 · UTILITIES
 * ============================================================ */

/* Dot grid pattern con máscara radial */
.cercai-v7-dot-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
}

/* Eyebrow Mono (kicker de sección) */
.cercai-v7-eyebrow {
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-grad-1);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.cercai-v7-eyebrow--gold { color: var(--cercai-v7-grad-4); }

/* Section title */
.cercai-v7-section-title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(36px, 4.8vw, 56px);
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: var(--cercai-v7-text);
    margin-bottom: 18px;
}

.cercai-v7-section-title em {
    font-style: normal;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1) 0%, var(--cercai-v7-grad-3) 50%, var(--cercai-v7-grad-2) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.cercai-v7-section-sub {
    font-size: 18px;
    color: var(--cercai-v7-text-2);
    line-height: 1.55;
    max-width: 64ch;
}

.cercai-v7-section-head {
    margin-bottom: 64px;
    text-align: center;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
 * 4 · BUTTONS
 * ============================================================ */

.cercai-v7-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    border-radius: var(--cercai-v7-radius);
    font-family: var(--cercai-v7-font-sans);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid var(--cercai-v7-border-strong);
    transition: all 0.15s;
    cursor: pointer;
    line-height: 1;
}

/* Especificidad reforzada con tag+class para ganar contra cualquier reset de WP */
a.cercai-v7-btn--primary,
button.cercai-v7-btn--primary,
.cercai-v7-btn--primary {
    background: var(--cercai-v7-text);
    color: var(--cercai-v7-bg);
    border-color: var(--cercai-v7-text);
}

a.cercai-v7-btn--primary:hover,
button.cercai-v7-btn--primary:hover,
.cercai-v7-btn--primary:hover {
    background: var(--cercai-v7-text-2);
    color: var(--cercai-v7-bg);
}

a.cercai-v7-btn--secondary,
button.cercai-v7-btn--secondary,
.cercai-v7-btn--secondary {
    background: transparent;
    color: var(--cercai-v7-text);
    border-color: var(--cercai-v7-border-strong);
}

a.cercai-v7-btn--secondary:hover,
button.cercai-v7-btn--secondary:hover,
.cercai-v7-btn--secondary:hover {
    border-color: var(--cercai-v7-text-2);
    background: var(--cercai-v7-surface);
    color: var(--cercai-v7-text);
}

.cercai-v7-btn--lg {
    padding: 14px 26px;
    font-size: 15px;
}

.cercai-v7-btn .cercai-v7-kbd {
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-text-3);
    border: 1px solid var(--cercai-v7-border);
    border-radius: 4px;
    padding: 1px 6px;
    margin-left: 4px;
}


/* ============================================================
 * 5 · BADGE (pill con gradient inline)
 * ============================================================ */

.cercai-v7-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px 6px 6px;
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-pill);
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-2);
    margin-bottom: 32px;
    transition: border-color 0.2s;
    text-decoration: none;
}

.cercai-v7-badge:hover {
    border-color: var(--cercai-v7-border-strong);
    color: var(--cercai-v7-text-2);
}

.cercai-v7-badge__pill {
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    color: #000;
    padding: 2px 10px;
    border-radius: var(--cercai-v7-radius-pill);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.02em;
}

.cercai-v7-badge__arrow {
    color: var(--cercai-v7-text-3);
    margin-left: 4px;
}


/* ============================================================
 * 6 · NAV (sticky + blur backdrop)
 * ============================================================ */

.cercai-v7-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(0,0,0,0.7);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--cercai-v7-border);
}

.cercai-v7-nav__inner {
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
    padding: 14px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cercai-v7-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--cercai-v7-font-sans);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.03em;
    color: var(--cercai-v7-text);
    text-decoration: none;
}

.cercai-v7-logo__mark {
    height: 64px;
    width: auto;
    display: block;
    flex-shrink: 0;
}

.cercai-v7-nav__links {
    display: flex;
    gap: 24px;
    align-items: center;
}

.cercai-v7-nav__links a {
    color: var(--cercai-v7-text-2);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.15s;
}

.cercai-v7-nav__links a:hover { color: var(--cercai-v7-text); }

a.cercai-v7-nav__cta,
.cercai-v7-nav__cta {
    color: var(--cercai-v7-bg);
    background: var(--cercai-v7-text);
    padding: 8px 14px;
    border-radius: var(--cercai-v7-radius-sm);
    font-weight: 500;
}

a.cercai-v7-nav__cta:hover,
.cercai-v7-nav__cta:hover {
    background: var(--cercai-v7-text-2);
    color: var(--cercai-v7-bg);
}


/* ============================================================
 * 7 · HERO (con conic glow + dot grid + dashboard mock)
 * ============================================================ */

.cercai-v7-hero {
    position: relative;
    padding: 120px 24px 80px;
    overflow: hidden;
    text-align: center;
}

.cercai-v7-hero__glow {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 900px;
    background: conic-gradient(from 180deg at 50% 50%,
        var(--cercai-v7-grad-1) 0deg,
        var(--cercai-v7-grad-3) 90deg,
        var(--cercai-v7-grad-2) 180deg,
        var(--cercai-v7-grad-4) 270deg,
        var(--cercai-v7-grad-1) 360deg);
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.18;
    animation: cercai-v7-rotate 20s linear infinite;
    pointer-events: none;
}

@keyframes cercai-v7-rotate {
    to { transform: translateX(-50%) rotate(360deg); }
}

.cercai-v7-hero__inner {
    max-width: var(--cercai-v7-container-narrow);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.cercai-v7-hero__title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(48px, 7.6vw, 96px);
    line-height: 1.02;
    letter-spacing: -0.04em;
    color: var(--cercai-v7-text);
    margin-bottom: 24px;
}

.cercai-v7-hero__title em {
    font-style: normal;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1) 0%, var(--cercai-v7-grad-3) 50%, var(--cercai-v7-grad-2) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.cercai-v7-hero__lede {
    max-width: 600px;
    margin: 0 auto;
    font-size: 19px;
    line-height: 1.55;
    color: var(--cercai-v7-text-2);
}

.cercai-v7-hero__cta {
    margin-top: 40px;
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.cercai-v7-hero__trust {
    margin-top: 36px;
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
}

.cercai-v7-hero__trust span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cercai-v7-hero__trust span::before {
    content: "✓";
    color: var(--cercai-v7-success);
    font-weight: 700;
}


/* ============================================================
 * 8 · TERMINAL / DASHBOARD MOCK CARD
 * ============================================================ */

.cercai-v7-mock {
    max-width: 900px;
    margin: 64px auto 0;
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    background: var(--cercai-v7-surface);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 80px rgba(0,223,216,0.06);
    overflow: hidden;
    position: relative;
}

.cercai-v7-mock__bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--cercai-v7-border);
    background: var(--cercai-v7-surface-2);
}

.cercai-v7-mock__bar .cercai-v7-mock__dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--cercai-v7-border-strong);
}

.cercai-v7-mock__bar .cercai-v7-mock__label {
    margin-left: auto;
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-text-3);
}

.cercai-v7-mock__body {
    display: grid;
    grid-template-columns: 200px 1fr;
    min-height: 260px;
}

.cercai-v7-mock__sidebar {
    border-right: 1px solid var(--cercai-v7-border);
    padding: 18px 14px;
    background: var(--cercai-v7-surface-2);
}

.cercai-v7-mock__sidebar-item {
    height: 10px;
    background: var(--cercai-v7-border);
    border-radius: 4px;
    margin-bottom: 10px;
    opacity: 0.6;
}

.cercai-v7-mock__sidebar-item.is-active {
    background: linear-gradient(90deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    opacity: 1;
}

.cercai-v7-mock__main { padding: 22px 24px; }

.cercai-v7-mock__kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}

.cercai-v7-mock__kpi {
    background: var(--cercai-v7-surface-3);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius);
    padding: 14px 16px;
}

.cercai-v7-mock__kpi-label {
    font-family: var(--cercai-v7-font-mono);
    font-size: 10px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cercai-v7-mock__kpi-value {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 24px;
    letter-spacing: -0.02em;
    color: var(--cercai-v7-text);
    margin-top: 4px;
}

.cercai-v7-mock__kpi-delta {
    font-size: 11px;
    color: var(--cercai-v7-success);
    margin-top: 2px;
}

.cercai-v7-mock__chart {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 88px;
    padding: 8px 0;
}

.cercai-v7-mock__chart-bar {
    flex: 1;
    border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    opacity: 0.85;
}


/* ============================================================
 * 9 · PLATFORM STRIP (chips)
 * ============================================================ */

.cercai-v7-stacks {
    padding: 56px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    text-align: center;
}

.cercai-v7-stacks__label {
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 28px;
}

.cercai-v7-stacks__row {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

.cercai-v7-stacks__chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-pill);
    background: var(--cercai-v7-surface);
    font-family: var(--cercai-v7-font-sans);
    font-weight: 500;
    font-size: 14px;
    color: var(--cercai-v7-text);
    transition: border-color 0.2s, background 0.2s;
}

.cercai-v7-stacks__chip:hover {
    border-color: var(--cercai-v7-border-strong);
    background: var(--cercai-v7-surface-2);
}

.cercai-v7-stacks__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--cercai-v7-success);
    box-shadow: 0 0 8px var(--cercai-v7-success);
}


/* ============================================================
 * 10 · STATS BANNER
 * ============================================================ */

.cercai-v7-stats {
    border-top: 1px solid var(--cercai-v7-border);
    background:
        radial-gradient(ellipse at center, rgba(0,223,216,0.04), transparent 60%),
        var(--cercai-v7-surface);
    padding: 64px 24px;
}

.cercai-v7-stats__inner {
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    text-align: center;
}

.cercai-v7-stats__value {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(36px, 4.4vw, 56px);
    letter-spacing: -0.03em;
    line-height: 1;
    background: linear-gradient(135deg, var(--cercai-v7-text), var(--cercai-v7-text-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.cercai-v7-stats__label {
    margin-top: 8px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}


/* ============================================================
 * 11 · CTA FINAL
 * ============================================================ */

.cercai-v7-cta-final {
    padding: 120px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cercai-v7-cta-final__glow {
    position: absolute;
    bottom: -300px;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 800px;
    background: conic-gradient(from 0deg,
        var(--cercai-v7-grad-3),
        var(--cercai-v7-grad-1),
        var(--cercai-v7-grad-2));
    border-radius: 50%;
    filter: blur(140px);
    opacity: 0.15;
    animation: cercai-v7-rotate 24s linear infinite;
}

.cercai-v7-cta-final__title {
    position: relative;
    z-index: 1;
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(40px, 6vw, 72px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: var(--cercai-v7-text);
    max-width: 22ch;
    margin: 0 auto;
}

.cercai-v7-cta-final__title em {
    font-style: normal;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.cercai-v7-cta-final__sub {
    position: relative;
    z-index: 1;
    margin: 24px auto 0;
    max-width: 56ch;
    font-size: 18px;
    color: var(--cercai-v7-text-2);
    line-height: 1.55;
}

.cercai-v7-cta-final__actions {
    position: relative;
    z-index: 1;
    margin-top: 40px;
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.cercai-v7-cta-final__meta {
    position: relative;
    z-index: 1;
    margin-top: 24px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.06em;
}


/* ============================================================
 * 12 · FOOTER
 * ============================================================ */

.cercai-v7-footer {
    border-top: 1px solid var(--cercai-v7-border);
    padding: 64px 24px 40px;
}

.cercai-v7-footer__inner {
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
}

.cercai-v7-footer__brand p {
    color: var(--cercai-v7-text-3);
    font-size: 14px;
    line-height: 1.55;
    max-width: 32ch;
    margin-top: 14px;
}

.cercai-v7-footer__brand .cercai-v7-logo__mark {
    height: 96px;
}

.cercai-v7-footer h5 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 500;
    font-size: 13px;
    color: var(--cercai-v7-text);
    margin-bottom: 14px;
    letter-spacing: 0.02em;
}

.cercai-v7-footer a {
    display: block;
    color: var(--cercai-v7-text-3);
    text-decoration: none;
    font-size: 14px;
    padding: 4px 0;
}

.cercai-v7-footer a:hover { color: var(--cercai-v7-text); }

.cercai-v7-footer__bottom {
    max-width: var(--cercai-v7-container);
    margin: 48px auto 0;
    padding-top: 24px;
    border-top: 1px solid var(--cercai-v7-border);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
}

.cercai-v7-footer__ok { color: var(--cercai-v7-success); }
.cercai-v7-footer__ok::before { content: "● "; }


/* ============================================================
 * 13 · RESPONSIVE
 * ============================================================ */

@media (max-width: 1024px) {
    .cercai-v7-stats__inner { grid-template-columns: repeat(2, 1fr); }
    .cercai-v7-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .cercai-v7-hero { padding: 80px 24px 60px; }
    .cercai-v7-hero__title { font-size: clamp(36px, 9vw, 56px); }
    .cercai-v7-mock__body { grid-template-columns: 1fr; }
    .cercai-v7-mock__sidebar { display: none; }
    .cercai-v7-mock__kpis { grid-template-columns: 1fr; }
    .cercai-v7-nav__links a:not(.cercai-v7-nav__cta) { display: none; }
}


/* ============================================================
 * 14 · ACCESSIBILITY HELPERS
 * ============================================================ */

.cercai-v7-page :focus-visible {
    outline: 2px solid var(--cercai-v7-grad-1);
    outline-offset: 2px;
    border-radius: var(--cercai-v7-radius-sm);
}

@media (prefers-reduced-motion: reduce) {
    .cercai-v7-hero__glow,
    .cercai-v7-cta-final__glow {
        animation: none;
    }
}


/* ============================================================
 * 15 · CASOS (3 cards con mockups CloudCode/IDE/Terminal)
 * ============================================================ */

.cercai-v7-casos {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
}

.cercai-v7-casos__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.cercai-v7-caso {
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    background: var(--cercai-v7-surface);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.25s, transform 0.25s;
    text-decoration: none;
    color: inherit;
}

.cercai-v7-caso:hover {
    border-color: var(--cercai-v7-border-strong);
    transform: translateY(-2px);
    color: inherit;
}

.cercai-v7-caso__mock {
    height: 200px;
    background: var(--cercai-v7-surface-2);
    border-bottom: 1px solid var(--cercai-v7-border);
    display: flex;
    flex-direction: column;
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    line-height: 1.5;
    overflow: hidden;
}

/* IDE mock */
.cercai-v7-caso__mock--ide .cercai-v7-ide-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--cercai-v7-border);
    background: var(--cercai-v7-bg);
}
.cercai-v7-ide-tab {
    padding: 8px 14px;
    border-right: 1px solid var(--cercai-v7-border);
    font-size: 10px;
    color: var(--cercai-v7-text-3);
}
.cercai-v7-ide-tab.is-active {
    background: var(--cercai-v7-surface-2);
    color: var(--cercai-v7-text);
    border-bottom: 2px solid var(--cercai-v7-grad-1);
    padding-bottom: 6px;
}
.cercai-v7-ide-body {
    padding: 14px 16px;
    font-size: 10.5px;
    line-height: 1.7;
    flex: 1;
}
.cercai-v7-ide-body .ln {
    color: var(--cercai-v7-text-3);
    margin-right: 10px;
    user-select: none;
}
.cercai-v7-ide-body .key { color: var(--cercai-v7-grad-2); }
.cercai-v7-ide-body .fn  { color: var(--cercai-v7-grad-1); }
.cercai-v7-ide-body .str { color: var(--cercai-v7-grad-4); }
.cercai-v7-ide-body .com { color: var(--cercai-v7-text-3); font-style: italic; }
.cercai-v7-ide-body .add-line { background: rgba(12,206,107,0.1); }

/* Terminal mock */
.cercai-v7-caso__mock--term {
    padding: 14px 18px;
    font-size: 11px;
    line-height: 1.7;
    background: var(--cercai-v7-bg);
}
.cercai-v7-caso__mock--term .prompt { color: var(--cercai-v7-success); }
.cercai-v7-caso__mock--term .ok { color: var(--cercai-v7-success); }
.cercai-v7-caso__mock--term .meta { color: var(--cercai-v7-text-3); }
.cercai-v7-caso__mock--term .grad-1 { color: var(--cercai-v7-grad-1); }
.cercai-v7-caso__mock--term .grad-2 { color: var(--cercai-v7-grad-2); }
.cercai-v7-caso__mock--term .cur {
    display: inline-block;
    width: 6px;
    height: 11px;
    background: var(--cercai-v7-text);
    vertical-align: -2px;
    animation: cercai-v7-blink 1s steps(1) infinite;
    margin-left: 1px;
}
@keyframes cercai-v7-blink { 50% { opacity: 0; } }

/* Dashboard mini mock */
.cercai-v7-caso__mock--dash {
    padding: 14px;
    background: linear-gradient(135deg, var(--cercai-v7-surface-2), var(--cercai-v7-bg));
}
.cercai-v7-dash-row { display: flex; gap: 8px; margin-bottom: 10px; }
.cercai-v7-dash-kpi {
    flex: 1;
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-sm);
    padding: 10px;
}
.cercai-v7-dash-kpi__label {
    font-size: 9px;
    color: var(--cercai-v7-text-3);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.cercai-v7-dash-kpi__value {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 18px;
    letter-spacing: -0.02em;
    color: var(--cercai-v7-text);
    margin-top: 4px;
}
.cercai-v7-dash-kpi__value--grad {
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}
.cercai-v7-dash-bars {
    display: flex;
    gap: 4px;
    align-items: flex-end;
    height: 60px;
    padding: 6px 4px;
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-sm);
}
.cercai-v7-dash-bar {
    flex: 1;
    background: linear-gradient(180deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    border-radius: 2px 2px 0 0;
    opacity: 0.8;
}

.cercai-v7-caso__info {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.cercai-v7-caso__meta {
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-grad-1);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.cercai-v7-caso__info h3 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 18px;
    letter-spacing: -0.015em;
    color: var(--cercai-v7-text);
    margin-bottom: 10px;
    line-height: 1.3;
}
.cercai-v7-caso__info p {
    color: var(--cercai-v7-text-2);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 16px;
    flex: 1;
}
.cercai-v7-caso__stat {
    border-top: 1px solid var(--cercai-v7-border);
    padding-top: 14px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-text-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.cercai-v7-caso__stat b {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 18px;
    letter-spacing: -0.02em;
    text-transform: none;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}


/* ============================================================
 * 16 · SERVICIOS (feature-row asimétrico)
 * ============================================================ */

.cercai-v7-servicios {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
}

.cercai-v7-servicios__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--cercai-v7-border);
}

.cercai-v7-servicio {
    display: grid;
    grid-template-columns: 200px 1fr auto;
    align-items: center;
    gap: 48px;
    padding: 32px 16px;
    border-bottom: 1px solid var(--cercai-v7-border);
    transition: background 0.2s;
    text-decoration: none;
    color: inherit;
}
.cercai-v7-servicio:hover {
    background: var(--cercai-v7-surface);
    color: inherit;
}

.cercai-v7-servicio__stat-num {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 48px;
    letter-spacing: -0.04em;
    line-height: 1;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}
.cercai-v7-servicio__stat-label {
    margin-top: 6px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.cercai-v7-servicio__content h3 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 22px;
    letter-spacing: -0.015em;
    color: var(--cercai-v7-text);
    margin-bottom: 8px;
}
.cercai-v7-servicio__content p {
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.6;
    max-width: 64ch;
}
.cercai-v7-servicio__arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--cercai-v7-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cercai-v7-text-2);
    transition: all 0.2s;
    flex-shrink: 0;
}
.cercai-v7-servicio:hover .cercai-v7-servicio__arrow {
    border-color: var(--cercai-v7-grad-1);
    color: var(--cercai-v7-grad-1);
    transform: translateX(4px);
}


/* ============================================================
 * 17 · CÓMO FUNCIONA (3 pasos timeline)
 * ============================================================ */

.cercai-v7-como {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: 1100px;
    margin: 0 auto;
}

.cercai-v7-como__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    position: relative;
}
.cercai-v7-como__grid::before {
    content: "";
    position: absolute;
    top: 48px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cercai-v7-border-strong) 20%, var(--cercai-v7-border-strong) 80%, transparent);
}

.cercai-v7-como__step {
    position: relative;
    text-align: center;
    padding: 0 24px;
}

.cercai-v7-como__num {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border-strong);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    position: relative;
    z-index: 1;
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 42px;
    letter-spacing: -0.04em;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    box-shadow: 0 0 24px rgba(0,223,216,0.12);
}
.cercai-v7-como__num::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    background: conic-gradient(from 0deg,
        var(--cercai-v7-grad-1),
        var(--cercai-v7-grad-3),
        var(--cercai-v7-grad-2),
        var(--cercai-v7-grad-4),
        var(--cercai-v7-grad-1));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding: 1px;
    opacity: 0.5;
}

.cercai-v7-como__step h3 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 22px;
    letter-spacing: -0.015em;
    color: var(--cercai-v7-text);
    margin-bottom: 12px;
}
.cercai-v7-como__step p {
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.6;
    max-width: 32ch;
    margin: 0 auto;
}


/* ============================================================
 * 18 · TESTIMONIOS
 * ============================================================ */

.cercai-v7-testimonios {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
}

.cercai-v7-testimonios__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.cercai-v7-testimonio {
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    background: var(--cercai-v7-surface);
    padding: 32px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.25s;
}
.cercai-v7-testimonio:hover {
    border-color: var(--cercai-v7-border-strong);
}
.cercai-v7-testimonio::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, var(--cercai-v7-grad-1), transparent);
}

.cercai-v7-testimonio__quote {
    font-size: 16px;
    line-height: 1.65;
    color: var(--cercai-v7-text);
    margin-bottom: 24px;
}

.cercai-v7-testimonio__foot {
    border-top: 1px solid var(--cercai-v7-border);
    padding-top: 16px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
}
.cercai-v7-testimonio__author {
    color: var(--cercai-v7-text);
    font-weight: 500;
}
.cercai-v7-testimonio__role {
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 11px;
}


/* ============================================================
 * 19 · NOSOTROS (split + 3 cards)
 * ============================================================ */

.cercai-v7-nosotros {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
}

.cercai-v7-nosotros__grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 64px;
    align-items: center;
}

.cercai-v7-nosotros__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.cercai-v7-nosotros__card {
    border: 1px solid var(--cercai-v7-border);
    border-radius: 10px;
    background: var(--cercai-v7-surface);
    padding: 22px 24px;
    border-left: 3px solid transparent;
    transition: border-color 0.25s, background 0.25s;
}
.cercai-v7-nosotros__card:nth-child(1) { border-left-color: var(--cercai-v7-grad-1); }
.cercai-v7-nosotros__card:nth-child(2) { border-left-color: var(--cercai-v7-grad-3); }
.cercai-v7-nosotros__card:nth-child(3) { border-left-color: var(--cercai-v7-grad-2); }
.cercai-v7-nosotros__card:hover { background: var(--cercai-v7-surface-2); }

.cercai-v7-nosotros__card h4 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 17px;
    letter-spacing: -0.01em;
    color: var(--cercai-v7-text);
    margin-bottom: 6px;
}
.cercai-v7-nosotros__card p {
    color: var(--cercai-v7-text-2);
    font-size: 14px;
    line-height: 1.55;
}


/* ============================================================
 * 20 · LEY 21.719 CALLOUT (border conic gradient)
 * ============================================================ */

.cercai-v7-ley {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
}

.cercai-v7-ley__card {
    max-width: 1100px;
    margin: 0 auto;
    border-radius: var(--cercai-v7-radius-lg);
    padding: 48px 56px;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(0,223,216,0.04), rgba(121,40,202,0.04)),
        var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
}
.cercai-v7-ley__card::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: var(--cercai-v7-radius-lg);
    padding: 1px;
    background: conic-gradient(from 0deg,
        var(--cercai-v7-grad-1),
        var(--cercai-v7-grad-3),
        var(--cercai-v7-grad-2),
        var(--cercai-v7-grad-4),
        var(--cercai-v7-grad-1));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.4;
    pointer-events: none;
}

.cercai-v7-ley__grid {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.cercai-v7-ley__icon {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(0,223,216,0.15), rgba(121,40,202,0.15));
    border: 1px solid var(--cercai-v7-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cercai-v7-grad-1);
}

.cercai-v7-ley__text h3 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 24px;
    letter-spacing: -0.02em;
    color: var(--cercai-v7-text);
    margin-bottom: 8px;
    line-height: 1.2;
}
.cercai-v7-ley__text p {
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.6;
    max-width: 60ch;
}

.cercai-v7-ley__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid var(--cercai-v7-grad-4);
    border-radius: var(--cercai-v7-radius-pill);
    color: var(--cercai-v7-grad-4);
    font-family: var(--cercai-v7-font-mono);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: background 0.2s;
}
.cercai-v7-ley__badge:hover {
    background: rgba(255,199,0,0.08);
    color: var(--cercai-v7-grad-4);
}


/* ============================================================
 * 21 · FAQ (accordion vanilla)
 * ============================================================ */

.cercai-v7-faq {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: 880px;
    margin: 0 auto;
}

.cercai-v7-faq__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--cercai-v7-border);
}

.cercai-v7-faq__item {
    border-bottom: 1px solid var(--cercai-v7-border);
}

.cercai-v7-faq__trigger {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 24px 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    cursor: pointer;
    text-align: left;
    font-family: var(--cercai-v7-font-sans);
    font-weight: 500;
    font-size: 18px;
    color: var(--cercai-v7-text);
    letter-spacing: -0.01em;
    transition: color 0.15s;
}
.cercai-v7-faq__trigger:hover { color: var(--cercai-v7-grad-1); }

.cercai-v7-faq__icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid var(--cercai-v7-border-strong);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--cercai-v7-text-2);
    transition: transform 0.25s, border-color 0.25s;
    font-size: 18px;
    font-weight: 300;
}
.cercai-v7-faq__item.is-open .cercai-v7-faq__icon {
    transform: rotate(45deg);
    border-color: var(--cercai-v7-grad-1);
    color: var(--cercai-v7-grad-1);
}

.cercai-v7-faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}
.cercai-v7-faq__item.is-open .cercai-v7-faq__answer {
    max-height: 400px;
}
.cercai-v7-faq__answer-inner {
    padding: 0 8px 24px;
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.65;
}


/* ============================================================
 * 22 · PÁGINA DE SERVICIO (hero, breadcrumb, tipos zigzag, stat-hero, steps, quote-cta)
 * ============================================================ */

.cercai-v7-breadcrumb {
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
    padding: 24px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.06em;
}
.cercai-v7-breadcrumb a {
    color: var(--cercai-v7-text-2);
    text-decoration: none;
}
.cercai-v7-breadcrumb a:hover { color: var(--cercai-v7-text); }
.cercai-v7-breadcrumb__sep {
    color: var(--cercai-v7-text-3);
    margin: 0 8px;
}
.cercai-v7-breadcrumb__current {
    color: var(--cercai-v7-text);
    font-weight: 500;
}

/* Hero servicio (más sobrio, sin conic glow) */
.cercai-v7-hero--servicio {
    padding: 64px 24px 96px;
}
/* El hero de servicio usa solo la clase --servicio (sin .cercai-v7-hero base),
   por lo que el glow absoluto de 1100px se ancla al viewport y genera scroll
   horizontal en móvil. Anclarlo y cliparlo aquí. */
.cercai-v7-hero--servicio {
    position: relative;
    overflow: hidden;
}

.cercai-v7-hero--servicio .cercai-v7-hero__glow {
    top: -200px;
    width: 1100px;
    height: 600px;
    background: radial-gradient(ellipse at center, rgba(0,223,216,0.12), rgba(121,40,202,0.08), transparent 70%);
    filter: blur(80px);
    border-radius: 0;
    animation: none;
}
.cercai-v7-hero--servicio .cercai-v7-hero__title {
    font-size: clamp(40px, 6vw, 76px);
}
.cercai-v7-hero__meta {
    margin-top: 24px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.04em;
}
.cercai-v7-hero__context {
    margin: 32px auto 0;
    max-width: 780px;
    padding: 20px 24px;
    border: 1px solid var(--cercai-v7-border);
    border-radius: 10px;
    background: var(--cercai-v7-surface);
    font-size: 14px;
    line-height: 1.65;
    color: var(--cercai-v7-text-2);
}
.cercai-v7-hero__context b { color: var(--cercai-v7-text); font-weight: 500; }
.cercai-v7-hero__context .pill-gold {
    display: inline-block;
    background: rgba(255,199,0,0.1);
    border: 1px solid var(--cercai-v7-grad-4);
    color: var(--cercai-v7-grad-4);
    padding: 2px 8px;
    border-radius: 4px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
}

/* Tipos zigzag */
.cercai-v7-tipos {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: 1100px;
    margin: 0 auto;
}
.cercai-v7-tipo-row {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 64px;
    align-items: center;
    padding: 48px 0;
    border-bottom: 1px dashed var(--cercai-v7-border);
}
.cercai-v7-tipo-row:last-child { border-bottom: 0; }
.cercai-v7-tipo-row--reverse { grid-template-columns: 0.9fr 1.1fr; }
.cercai-v7-tipo-row--reverse .cercai-v7-tipo__text { order: 2; }
.cercai-v7-tipo-row--reverse .cercai-v7-tipo__card { order: 1; }

.cercai-v7-tipo__num {
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.cercai-v7-tipo__text h3 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 32px;
    letter-spacing: -0.02em;
    color: var(--cercai-v7-text);
    margin-bottom: 14px;
    line-height: 1.15;
}
.cercai-v7-tipo__text p {
    color: var(--cercai-v7-text-2);
    font-size: 16px;
    line-height: 1.65;
    max-width: 48ch;
}

.cercai-v7-tipo__card {
    background: linear-gradient(135deg, rgba(0,223,216,0.06), rgba(121,40,202,0.06)), var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-radius: 14px;
    padding: 32px;
    position: relative;
    overflow: hidden;
}
.cercai-v7-tipo__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3), var(--cercai-v7-grad-2), transparent);
}
.cercai-v7-tipo__card-num {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 64px;
    letter-spacing: -0.04em;
    line-height: 1;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 14px;
}
.cercai-v7-tipo__card-label {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 500;
    font-size: 16px;
    color: var(--cercai-v7-text);
    margin-bottom: 10px;
    line-height: 1.3;
}
.cercai-v7-tipo__card-sub {
    font-size: 13px;
    color: var(--cercai-v7-text-2);
    line-height: 1.55;
}

/* Stat hero (single big stat) */
.cercai-v7-stat-hero {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    text-align: center;
    background: radial-gradient(ellipse at center, rgba(0,223,216,0.04), transparent 60%);
}
.cercai-v7-stat-hero__num {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(80px, 14vw, 180px);
    letter-spacing: -0.05em;
    line-height: 0.9;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3), var(--cercai-v7-grad-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}
.cercai-v7-stat-hero__label {
    margin-top: 16px;
    font-size: 18px;
    color: var(--cercai-v7-text);
    max-width: 48ch;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}
.cercai-v7-stat-hero__rule {
    display: block;
    width: 64px;
    height: 2px;
    margin: 32px auto;
    background: linear-gradient(90deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    border: 0;
}
.cercai-v7-stat-hero__desc {
    max-width: 600px;
    margin: 0 auto;
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.65;
}

/* Steps timeline */
.cercai-v7-steps {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: 960px;
    margin: 0 auto;
}
.cercai-v7-steps__list { display: flex; flex-direction: column; gap: 0; }
.cercai-v7-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 32px;
    align-items: flex-start;
    padding: 36px 0;
    border-bottom: 1px solid var(--cercai-v7-border);
}
.cercai-v7-step:last-child { border-bottom: 0; }
.cercai-v7-step__num {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 64px;
    letter-spacing: -0.04em;
    line-height: 1;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    min-width: 90px;
}
.cercai-v7-step__content h3 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 22px;
    letter-spacing: -0.015em;
    color: var(--cercai-v7-text);
    margin-bottom: 8px;
}
.cercai-v7-step__content p {
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.65;
    max-width: 60ch;
}

/* Quote + mid CTA */
.cercai-v7-quote-cta {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    background: radial-gradient(ellipse at center, rgba(255,0,128,0.04), transparent 60%);
    text-align: center;
}
.cercai-v7-quote-cta__inner {
    max-width: 680px;
    margin: 0 auto;
    position: relative;
}
.cercai-v7-quote-cta__inner::before {
    content: "❝";
    position: absolute;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--cercai-v7-font-sans);
    font-size: 72px;
    color: var(--cercai-v7-grad-1);
    opacity: 0.3;
    line-height: 1;
}
.cercai-v7-quote-cta__quote {
    font-style: italic;
    font-size: 20px;
    line-height: 1.6;
    color: var(--cercai-v7-text);
    margin-bottom: 14px;
}
.cercai-v7-quote-cta__source {
    font-family: var(--cercai-v7-font-mono);
    font-size: 13px;
    color: var(--cercai-v7-text-3);
    margin-bottom: 48px;
}
.cercai-v7-quote-cta__source::before { content: "— "; }
.cercai-v7-quote-cta h2 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(32px, 4.4vw, 48px);
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--cercai-v7-text);
    max-width: 22ch;
    margin: 0 auto;
}
.cercai-v7-quote-cta p {
    margin: 18px auto 0;
    max-width: 48ch;
    font-size: 17px;
    color: var(--cercai-v7-text-2);
    line-height: 1.55;
}
.cercai-v7-quote-cta__actions {
    margin-top: 32px;
    display: flex;
    justify-content: center;
}
.cercai-v7-quote-cta__foot {
    margin-top: 18px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 13px;
    color: var(--cercai-v7-text-3);
}
.cercai-v7-quote-cta__foot a {
    color: var(--cercai-v7-grad-4);
    text-decoration: none;
}
.cercai-v7-quote-cta__foot a:hover { color: var(--cercai-v7-text); }


/* ============================================================
 * 23 · RESPONSIVE EXTENDIDO (Fase 2 sections)
 * ============================================================ */

@media (max-width: 1024px) {
    .cercai-v7-casos__grid { grid-template-columns: 1fr 1fr; }
    .cercai-v7-testimonios__grid { grid-template-columns: 1fr; }
    .cercai-v7-nosotros__grid { grid-template-columns: 1fr; gap: 32px; }
    .cercai-v7-servicio { grid-template-columns: auto 1fr; }
    .cercai-v7-servicio__arrow { display: none; }
}

@media (max-width: 768px) {
    .cercai-v7-casos__grid { grid-template-columns: 1fr; }
    .cercai-v7-como__grid { grid-template-columns: 1fr; gap: 48px; }
    .cercai-v7-como__grid::before { display: none; }
    .cercai-v7-ley__grid { grid-template-columns: 1fr; gap: 24px; }
    .cercai-v7-servicio { grid-template-columns: 1fr; gap: 20px; }
    .cercai-v7-tipo-row,
    .cercai-v7-tipo-row--reverse { grid-template-columns: 1fr; gap: 24px; }
    .cercai-v7-tipo-row--reverse .cercai-v7-tipo__text { order: 0; }
    .cercai-v7-tipo-row--reverse .cercai-v7-tipo__card { order: 0; }
    .cercai-v7-step { grid-template-columns: 1fr; gap: 8px; }
    .cercai-v7-step__num { font-size: 48px; }
}


/* ============================================================
 * 24 · PAGE HERO genérico (Nosotros, Contacto, etc.)
 * ============================================================ */

.cercai-v7-page-hero {
    position: relative;
    padding: 120px 24px 80px;
    overflow: hidden;
    text-align: center;
}
.cercai-v7-page-hero--narrow {
    padding: 100px 24px 64px;
}
.cercai-v7-page-hero__inner {
    max-width: 920px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.cercai-v7-page-hero__title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(40px, 6vw, 72px);
    line-height: 1.04;
    letter-spacing: -0.035em;
    color: var(--cercai-v7-text);
    margin-bottom: 24px;
}
.cercai-v7-page-hero__title em {
    font-style: normal;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1) 0%, var(--cercai-v7-grad-3) 50%, var(--cercai-v7-grad-2) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}
.cercai-v7-page-hero__lede {
    max-width: 640px;
    margin: 0 auto;
    font-size: 19px;
    line-height: 1.55;
    color: var(--cercai-v7-text-2);
}


/* ============================================================
 * 25 · SERVICIOS OVERVIEW (página /servicios/)
 * ============================================================ */

.cercai-v7-svc-hero {
    position: relative;
    padding: 96px 24px 64px;
    overflow: hidden;
    text-align: center;
}
.cercai-v7-svc-hero__inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.cercai-v7-svc-hero__h1 {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(48px, 7.6vw, 88px);
    line-height: 1.02;
    letter-spacing: -0.04em;
    color: var(--cercai-v7-text);
    margin-bottom: 32px;
}
.cercai-v7-svc-hero__bottom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 720px;
    margin: 0 auto;
}
.cercai-v7-svc-hero__lede {
    font-size: 18px;
    line-height: 1.55;
    color: var(--cercai-v7-text-2);
}
.cercai-v7-svc-hero__ctas {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.cercai-v7-svc-grid-section {
    padding: 64px 24px 96px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
}
.cercai-v7-svc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.cercai-v7-svc-tile {
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    background: var(--cercai-v7-surface);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.25s, transform 0.25s, background 0.25s;
}
.cercai-v7-svc-tile:hover {
    border-color: var(--cercai-v7-border-strong);
    background: var(--cercai-v7-surface-2);
    transform: translateY(-2px);
}
.cercai-v7-svc-tile__metric {
    display: inline-block;
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    color: var(--cercai-v7-grad-4);
    background: rgba(255, 199, 0, 0.08);
    border: 1px solid rgba(255, 199, 0, 0.3);
    padding: 4px 10px;
    border-radius: var(--cercai-v7-radius-pill);
    letter-spacing: 0.04em;
    margin-bottom: 22px;
    align-self: flex-start;
}
.cercai-v7-svc-tile__icon {
    width: 56px;
    height: 56px;
    border-radius: var(--cercai-v7-radius);
    background: linear-gradient(135deg, var(--cercai-v7-surface-2), var(--cercai-v7-bg));
    border: 1px solid var(--cercai-v7-border);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: var(--cercai-v7-grad-1);
}
.cercai-v7-svc-tile__name {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 22px;
    letter-spacing: -0.015em;
    color: var(--cercai-v7-text);
    margin-bottom: 12px;
    line-height: 1.2;
}
.cercai-v7-svc-tile__desc {
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 22px;
    flex: 1;
}
a.cercai-v7-svc-tile__link,
.cercai-v7-svc-tile__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--cercai-v7-grad-1);
    font-family: var(--cercai-v7-font-mono);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    margin-top: auto;
    transition: gap 0.15s;
}
.cercai-v7-svc-tile:hover .cercai-v7-svc-tile__link {
    gap: 10px;
}


/* ============================================================
 * 26 · CTA BAND (banda CTA mid-page con dark surface)
 * ============================================================ */

.cercai-v7-cta-band {
    border-top: 1px solid var(--cercai-v7-border);
    background: linear-gradient(135deg, rgba(0,223,216,0.04), rgba(121,40,202,0.04)), var(--cercai-v7-surface);
    padding: 64px 24px;
}
.cercai-v7-cta-band__inner {
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
    align-items: center;
}
.cercai-v7-cta-band__title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(28px, 3.4vw, 40px);
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--cercai-v7-text);
    margin: 12px 0 8px;
}
.cercai-v7-cta-band__sub {
    color: var(--cercai-v7-text-2);
    font-size: 16px;
    line-height: 1.55;
    max-width: 56ch;
}


/* ============================================================
 * 27 · SOLUCIONES OVERVIEW — hero split + panel "industrias activas"
 * ============================================================ */

.cercai-v7-sol-hero {
    position: relative;
    padding: 80px 24px 64px;
    overflow: hidden;
}
.cercai-v7-sol-hero__inner {
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 64px;
    align-items: center;
    position: relative;
    z-index: 1;
}
.cercai-v7-sol-hero__title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(40px, 5.6vw, 68px);
    line-height: 1.04;
    letter-spacing: -0.035em;
    color: var(--cercai-v7-text);
    margin-bottom: 18px;
}
.cercai-v7-sol-hero__title em {
    font-style: normal;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3), var(--cercai-v7-grad-2));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}
.cercai-v7-sol-hero__lede {
    font-size: 18px;
    line-height: 1.55;
    color: var(--cercai-v7-text-2);
    margin-bottom: 32px;
    max-width: 56ch;
}

/* Panel industrias activas */
.cercai-v7-solpanel {
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    background: var(--cercai-v7-surface);
    padding: 22px 24px;
    box-shadow: 0 0 60px rgba(0, 223, 216, 0.04);
    position: relative;
    overflow: hidden;
}
.cercai-v7-solpanel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3), transparent);
}
.cercai-v7-solpanel__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--cercai-v7-border);
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-2);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.cercai-v7-solpanel__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cercai-v7-success);
    box-shadow: 0 0 8px var(--cercai-v7-success);
}
.cercai-v7-solpanel__label {
    color: var(--cercai-v7-text);
    font-weight: 500;
}
.cercai-v7-solpanel__badge {
    margin-left: auto;
    background: rgba(0, 223, 216, 0.1);
    border: 1px solid rgba(0, 223, 216, 0.4);
    color: var(--cercai-v7-grad-1);
    padding: 2px 10px;
    border-radius: var(--cercai-v7-radius-pill);
    font-size: 11px;
}
.cercai-v7-solpanel__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cercai-v7-solpanel__list li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed var(--cercai-v7-border);
    font-family: var(--cercai-v7-font-sans);
    font-size: 14px;
}
.cercai-v7-solpanel__list li:last-child { border-bottom: 0; }
.cercai-v7-solpanel__list li span {
    color: var(--cercai-v7-text-2);
}
.cercai-v7-solpanel__list li b {
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-grad-1);
    font-weight: 500;
}


/* ============================================================
 * 28 · LEY 21.719 URGENCIA (banda con border conic + pill gold)
 * ============================================================ */

.cercai-v7-ley-urgent {
    padding: 64px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    border-bottom: 1px solid var(--cercai-v7-border);
}
.cercai-v7-ley-urgent__card {
    max-width: 1100px;
    margin: 0 auto;
    background: linear-gradient(135deg, rgba(255, 199, 0, 0.06), rgba(255, 0, 128, 0.04)), var(--cercai-v7-surface);
    border-radius: var(--cercai-v7-radius-lg);
    padding: 36px 40px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.cercai-v7-ley-urgent__card::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: var(--cercai-v7-radius-lg);
    padding: 1px;
    background: conic-gradient(from 0deg, var(--cercai-v7-grad-4), var(--cercai-v7-grad-2), var(--cercai-v7-grad-3), var(--cercai-v7-grad-4));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.4;
    pointer-events: none;
}
.cercai-v7-ley-urgent__title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: clamp(24px, 3vw, 32px);
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--cercai-v7-text);
    margin: 12px 0 10px;
}
.cercai-v7-ley-urgent__sub {
    color: var(--cercai-v7-text-2);
    font-size: 15px;
    line-height: 1.6;
    max-width: 70ch;
}
.cercai-v7-ley-urgent__cta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}
.cercai-v7-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--cercai-v7-radius-pill);
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-grad-4);
    border: 1px solid var(--cercai-v7-grad-4);
    background: rgba(255, 199, 0, 0.06);
}


/* ============================================================
 * 29 · DIRECTORIO 9 INDUSTRIAS (lista editorial)
 * ============================================================ */

.cercai-v7-dir {
    padding: 96px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
}
.cercai-v7-dir__list {
    border-top: 1px solid var(--cercai-v7-border);
}
a.cercai-v7-dir__row,
.cercai-v7-dir__row {
    display: grid;
    grid-template-columns: auto 48px 1.3fr 2.5fr auto auto;
    gap: 24px;
    align-items: center;
    padding: 22px 16px;
    border-bottom: 1px solid var(--cercai-v7-border);
    color: var(--cercai-v7-text);
    transition: background 0.2s, padding-left 0.2s;
    text-decoration: none;
}
.cercai-v7-dir__row:hover {
    background: var(--cercai-v7-surface);
    color: var(--cercai-v7-text);
    padding-left: 22px;
}
.cercai-v7-dir__icon {
    width: 40px;
    height: 40px;
    border-radius: var(--cercai-v7-radius);
    border: 1px solid var(--cercai-v7-border);
    background: var(--cercai-v7-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cercai-v7-grad-1);
    flex-shrink: 0;
}
.cercai-v7-dir__num {
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.06em;
}
.cercai-v7-dir__name {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.01em;
    color: var(--cercai-v7-text);
}
.cercai-v7-dir__desc {
    color: var(--cercai-v7-text-2);
    font-size: 14px;
    line-height: 1.55;
}
.cercai-v7-dir__chips {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
.cercai-v7-dir__chip {
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    padding: 4px 10px;
    border-radius: var(--cercai-v7-radius-pill);
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    color: var(--cercai-v7-text-2);
    letter-spacing: 0.04em;
}
.cercai-v7-dir__chip--urgent {
    background: rgba(255, 199, 0, 0.08);
    border-color: rgba(255, 199, 0, 0.4);
    color: var(--cercai-v7-grad-4);
}
.cercai-v7-dir__arrow {
    color: var(--cercai-v7-text-3);
    transition: transform 0.2s, color 0.2s;
    flex-shrink: 0;
}
.cercai-v7-dir__row:hover .cercai-v7-dir__arrow {
    color: var(--cercai-v7-grad-1);
    transform: translateX(4px);
}
.cercai-v7-dir__footnote {
    margin-top: 32px;
    text-align: center;
    color: var(--cercai-v7-text-2);
    font-size: 14px;
}
.cercai-v7-dir__footnote a {
    color: var(--cercai-v7-grad-1);
    border-bottom: 1px solid var(--cercai-v7-grad-1);
    padding-bottom: 1px;
}
.cercai-v7-dir__footnote a:hover {
    color: var(--cercai-v7-text);
    border-bottom-color: var(--cercai-v7-text);
}


/* ============================================================
 * 30 · NOSOTROS PÁGINA EXTENDIDA
 * ============================================================ */

.cercai-v7-mision {
    padding: 80px 24px;
    border-top: 1px solid var(--cercai-v7-border);
    max-width: var(--cercai-v7-container);
    margin: 0 auto;
}
.cercai-v7-mision__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 64px;
    align-items: start;
}


/* ============================================================
 * 31 · CONTACTO PÁGINA — form Contact Form 7 envuelto en card v7
 * ============================================================ */

.cercai-v7-contacto {
    /* override de Gutenberg columns */
}
.cercai-v7-contacto__form-card {
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    padding: 28px 32px;
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: 0;
}
.cercai-v7-contacto__form-title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 22px;
    letter-spacing: -0.015em;
    color: var(--cercai-v7-text);
    margin: 0;
}

/* Contact Form 7 styles para que combine con dark v7 */
.cercai-v7-contacto + section .wpcf7,
.cercai-v7-page .wpcf7 {
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-top: 0;
    border-radius: 0 0 var(--cercai-v7-radius-md) var(--cercai-v7-radius-md);
    padding: 24px 32px 32px;
}
.cercai-v7-page .wpcf7 p { color: var(--cercai-v7-text-2); margin-bottom: 14px; }
.cercai-v7-page .wpcf7 label {
    display: block;
    font-family: var(--cercai-v7-font-sans);
    font-size: 13px;
    color: var(--cercai-v7-text-2);
    margin-bottom: 6px;
    font-weight: 500;
}
.cercai-v7-page .wpcf7 input[type="text"],
.cercai-v7-page .wpcf7 input[type="email"],
.cercai-v7-page .wpcf7 input[type="tel"],
.cercai-v7-page .wpcf7 textarea {
    width: 100%;
    background: var(--cercai-v7-bg);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius);
    padding: 12px 14px;
    color: var(--cercai-v7-text);
    font-family: var(--cercai-v7-font-sans);
    font-size: 14px;
    transition: border-color 0.15s;
}
.cercai-v7-page .wpcf7 input:focus,
.cercai-v7-page .wpcf7 textarea:focus {
    outline: 0;
    border-color: var(--cercai-v7-grad-1);
}
.cercai-v7-page .wpcf7 input[type="submit"] {
    background: var(--cercai-v7-text);
    color: var(--cercai-v7-bg);
    border: 0;
    padding: 13px 28px;
    border-radius: var(--cercai-v7-radius);
    font-family: var(--cercai-v7-font-sans);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s;
}
.cercai-v7-page .wpcf7 input[type="submit"]:hover {
    background: var(--cercai-v7-text-2);
}

/* Info contacto sidebar */
.cercai-v7-contacto__info {
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    padding: 32px 28px;
}
.cercai-v7-contacto__info-title {
    font-family: var(--cercai-v7-font-sans);
    font-weight: 600;
    font-size: 20px;
    letter-spacing: -0.015em;
    color: var(--cercai-v7-text);
    margin-bottom: 8px;
}
.cercai-v7-contacto__info-sub {
    color: var(--cercai-v7-text-2);
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 20px;
}
.cercai-v7-contacto__wa-btn {
    width: 100%;
    justify-content: center;
}
.cercai-v7-contacto__sep {
    border: 0;
    border-top: 1px solid var(--cercai-v7-border);
    margin: 24px 0;
}
.cercai-v7-contacto__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cercai-v7-contacto__list li {
    color: var(--cercai-v7-text-3);
    font-size: 13px;
    font-family: var(--cercai-v7-font-mono);
    letter-spacing: 0.02em;
}


/* ============================================================
 * 32 · RESPONSIVE EXTENDIDO (Fase 3)
 * ============================================================ */

@media (max-width: 1024px) {
    .cercai-v7-svc-grid { grid-template-columns: 1fr 1fr; }
    .cercai-v7-sol-hero__inner { grid-template-columns: 1fr; }
    .cercai-v7-mision__grid { grid-template-columns: 1fr; }
    .cercai-v7-cta-band__inner { grid-template-columns: 1fr; gap: 24px; text-align: center; }
    .cercai-v7-ley-urgent__card { grid-template-columns: 1fr; gap: 24px; }
    .cercai-v7-ley-urgent__cta { align-items: flex-start; }
    .cercai-v7-dir__row { grid-template-columns: auto 36px 1fr auto; gap: 16px; }
    .cercai-v7-dir__desc, .cercai-v7-dir__chips { display: none; }
}

@media (max-width: 640px) {
    .cercai-v7-svc-grid { grid-template-columns: 1fr; }
    .cercai-v7-svc-hero__ctas { flex-direction: column; align-items: stretch; }
    .cercai-v7-svc-hero__ctas .cercai-v7-btn { justify-content: center; }
    .cercai-v7-page-hero { padding: 80px 24px 48px; }
    .cercai-v7-dir__row { grid-template-columns: auto 1fr auto; padding: 18px 8px; }
    .cercai-v7-dir__num { display: none; }
    .cercai-v7-contacto { display: flex; flex-direction: column; }
}


/* ============================================================
 * 24 · MINI-MOCKUPS ANIMADOS (cercai-v7-mk)
 * Librería de mockups ilustrativos del sistema. 8 componentes +
 * micro-mocks. Se animan al entrar al viewport (cercai-animations.js
 * agrega .is-visible al .cercai-v7-mk-stage). aria-hidden siempre.
 * NO confundir con .cercai-v7-mock (mock card del hero, sección 8).
 * ============================================================ */

.cercai-v7-mk, .cercai-v7-micromock {
    --wa-bg:  #0B141A;
    --wa-in:  #202C33;
    --wa-out: #005C4B;
    --wa-txt: #E9EDEF;
    --wa-meta:#8696A0;
    --wa-tick:#53BDEB;
}

/* ---------- Fila home: texto + mockup ---------- */
.cercai-v7-mkrow {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 72px;
    align-items: center;
    text-decoration: none;
    color: inherit;
}
.cercai-v7-mkrow--invert .cercai-v7-mkrow__copy { order: 2; }
.cercai-v7-mkrow__copy .stat-num {
    font-size: 52px;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
    background: linear-gradient(90deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.cercai-v7-mkrow__copy .stat-num small { font-size: 26px; font-weight: 600; }
.cercai-v7-mkrow__copy .stat-label {
    font-family: var(--cercai-v7-font-mono);
    font-size: 12px;
    color: var(--cercai-v7-text-3);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 6px;
}
.cercai-v7-mkrow__copy h3 { font-size: 26px; font-weight: 600; letter-spacing: -0.02em; margin-top: 26px; color: var(--cercai-v7-text); }
.cercai-v7-mkrow__copy p { color: var(--cercai-v7-text-2); font-size: 16px; margin-top: 12px; max-width: 46ch; }
.cercai-v7-mkrow__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 13px;
    color: var(--cercai-v7-grad-1);
    transition: gap 0.15s;
}
.cercai-v7-mkrow:hover .cercai-v7-mkrow__cta { gap: 10px; }

/* ---------- Base del mockup ---------- */
.cercai-v7-mk {
    background: var(--cercai-v7-surface);
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-md);
    overflow: hidden;
    box-shadow: 0 24px 60px -24px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.02) inset;
}
.cercai-v7-mk__chrome {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--cercai-v7-border);
    background: var(--cercai-v7-surface-2);
}
.cercai-v7-mk__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.cercai-v7-mk__dot:nth-child(1) { background: #4a2b2b; }
.cercai-v7-mk__dot:nth-child(2) { background: #4a412b; }
.cercai-v7-mk__dot:nth-child(3) { background: #2b4a35; }
.cercai-v7-mk__url {
    margin-left: 8px;
    font-family: var(--cercai-v7-font-mono);
    font-size: 10px;
    color: var(--cercai-v7-text-3);
    letter-spacing: 0.04em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cercai-v7-mk__foot {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 14px 14px;
    padding: 10px 12px;
    border: 1px solid rgba(12,206,107,0.3);
    border-radius: var(--cercai-v7-radius);
    background: rgba(12,206,107,0.06);
    font-family: var(--cercai-v7-font-mono);
    font-size: 11px;
    line-height: 1.45;
    color: var(--cercai-v7-success);
    opacity: 0;
}
.cercai-v7-mk__foot svg { flex-shrink: 0; }
.cercai-v7-mk__foot--ia { border-color: rgba(121,40,202,0.45); background: rgba(121,40,202,0.08); color: #B98BE8; }
.cercai-v7-mk .mk-label, .cercai-v7-micromock .mm-cap {
    font-family: var(--cercai-v7-font-mono);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cercai-v7-text-3);
}

/* ---------- Keyframes ---------- */
@keyframes cercaiMkPopIn { from { opacity: 0; transform: translateY(10px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes cercaiMkSlideIn { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes cercaiMkFadeOut { to { opacity: 0; visibility: hidden; } }
@keyframes cercaiMkFadeIn  { to { opacity: 1; } }
@keyframes cercaiMkDotPulse { 0%,60%,100% { opacity: 0.25; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-2px); } }
@keyframes cercaiMkBarGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes cercaiMkLivePulse { 0%,100% { box-shadow: 0 0 0 0 rgba(0,223,216,0.45); } 50% { box-shadow: 0 0 0 5px rgba(0,223,216,0); } }
@keyframes cercaiMkFlowDash { to { background-position-x: -14px; } }
@keyframes cercaiMkCoreGlow { 0%,100% { box-shadow: 0 0 22px -6px rgba(0,223,216,0.35); } 50% { box-shadow: 0 0 30px -4px rgba(121,40,202,0.5); } }
@keyframes cercaiMkCaretBlink { 0%,49% { opacity: 1; } 50%,100% { opacity: 0; } }

/* Stagger genérico via --d */
.cercai-v7-mk-stage .mk-in { opacity: 0; }
.cercai-v7-mk-stage.is-visible .mk-in { animation: cercaiMkPopIn 0.5s cubic-bezier(0.2,0.9,0.3,1.2) var(--d, 0.3s) forwards; }
.cercai-v7-mk-stage .mk-in--slide { opacity: 0; }
.cercai-v7-mk-stage.is-visible .mk-in--slide { animation: cercaiMkSlideIn 0.45s ease var(--d, 0.3s) forwards; }

/* ---------- 1 · Chat WhatsApp ---------- */
.cercai-v7-mk-chat__head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--wa-in); }
.cercai-v7-mk-chat__avatar {
    width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
    background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3));
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 14px; color: #001413;
}
.cercai-v7-mk-chat__name { font-size: 13px; font-weight: 600; color: var(--wa-txt); line-height: 1.25; }
.cercai-v7-mk-chat__status { font-size: 11px; color: var(--cercai-v7-grad-1); line-height: 1.25; }
.cercai-v7-mk-chat__body {
    background: var(--wa-bg);
    background-image: radial-gradient(rgba(255,255,255,0.025) 1px, transparent 1.2px);
    background-size: 22px 22px;
    padding: 18px 14px 14px;
    display: flex; flex-direction: column; gap: 10px;
    min-height: 290px;
}
.cercai-v7-mk .msg { max-width: 84%; padding: 8px 11px 6px; border-radius: 10px; font-size: 13.5px; line-height: 1.4; color: var(--wa-txt); opacity: 0; }
.cercai-v7-mk .msg--in  { align-self: flex-start; background: var(--wa-in);  border-top-left-radius: 3px; }
.cercai-v7-mk .msg--out { align-self: flex-end;   background: var(--wa-out); border-top-right-radius: 3px; }
.cercai-v7-mk .msg__meta { display: flex; justify-content: flex-end; align-items: center; gap: 4px; font-size: 10px; color: var(--wa-meta); margin-top: 3px; }
.cercai-v7-mk .msg__tick { color: var(--wa-tick); font-size: 11px; letter-spacing: -2px; }
.cercai-v7-mk .msg__swap { display: grid; }
.cercai-v7-mk .msg__swap > * { grid-area: 1 / 1; }
.cercai-v7-mk .msg__dots { display: flex; gap: 4px; align-items: center; justify-content: center; padding: 4px 0; }
.cercai-v7-mk .msg__dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--wa-meta); animation: cercaiMkDotPulse 1.1s infinite; }
.cercai-v7-mk .msg__dots i:nth-child(2) { animation-delay: 0.18s; }
.cercai-v7-mk .msg__dots i:nth-child(3) { animation-delay: 0.36s; }
.cercai-v7-mk .msg__text { opacity: 0; }
.cercai-v7-mk-chat__input { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--wa-in); }
.cercai-v7-mk-chat__field { flex: 1; background: #2A3942; border-radius: 999px; padding: 8px 14px; font-size: 12.5px; color: var(--wa-meta); }
.cercai-v7-mk-chat__mic { color: var(--wa-meta); flex-shrink: 0; display: flex; }
.cercai-v7-mk-chat .cercai-v7-mk__foot { margin: 4px 14px 14px; }

.is-visible .msg--c1 { animation: cercaiMkPopIn 0.45s cubic-bezier(0.2,0.9,0.3,1.25) 0.4s forwards; }
.is-visible .msg--b1 { animation: cercaiMkPopIn 0.45s cubic-bezier(0.2,0.9,0.3,1.25) 1.3s forwards; }
.is-visible .msg--b1 .msg__dots { animation: cercaiMkFadeOut 0.18s linear 2.5s forwards; }
.is-visible .msg--b1 .msg__text { animation: cercaiMkFadeIn 0.3s ease 2.6s forwards; }
.is-visible .msg--c2 { animation: cercaiMkPopIn 0.45s cubic-bezier(0.2,0.9,0.3,1.25) 3.5s forwards; }
.is-visible .msg--b2 { animation: cercaiMkPopIn 0.45s cubic-bezier(0.2,0.9,0.3,1.25) 4.4s forwards; }
.is-visible .msg--b2 .msg__dots { animation: cercaiMkFadeOut 0.18s linear 5.6s forwards; }
.is-visible .msg--b2 .msg__text { animation: cercaiMkFadeIn 0.3s ease 5.7s forwards; }
.is-visible .cercai-v7-mk-chat .cercai-v7-mk__foot { animation: cercaiMkPopIn 0.5s cubic-bezier(0.2,0.9,0.3,1.25) 6.5s forwards; }

/* ---------- 2 · Dashboard KPI ---------- */
.cercai-v7-mk-dash__body { padding: 16px 16px 18px; display: flex; flex-direction: column; gap: 14px; min-height: 290px; }
.cercai-v7-mk-dash__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.cercai-v7-mk .kpi { background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border); border-radius: var(--cercai-v7-radius); padding: 10px 12px; min-width: 0; }
.cercai-v7-mk .kpi__value { font-size: 22px; font-weight: 700; letter-spacing: -0.03em; margin-top: 3px; font-variant-numeric: tabular-nums; color: var(--cercai-v7-text); }
.cercai-v7-mk .kpi__value small { font-size: 13px; font-weight: 600; color: var(--cercai-v7-text-2); }
.cercai-v7-mk .kpi__delta { font-family: var(--cercai-v7-font-mono); font-size: 10px; color: var(--cercai-v7-success); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cercai-v7-mk-dash__chart { background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border); border-radius: var(--cercai-v7-radius); padding: 12px 14px 10px; }
.cercai-v7-mk .chart__label { margin-bottom: 10px; display: flex; justify-content: space-between; }
.cercai-v7-mk .chart__label b { color: var(--cercai-v7-grad-1); font-weight: 500; }
.cercai-v7-mk .chart__bars { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; align-items: end; height: 80px; }
.cercai-v7-mk .chart__col { display: flex; flex-direction: column; gap: 6px; align-items: center; height: 100%; justify-content: flex-end; }
.cercai-v7-mk .chart__bar { width: 100%; border-radius: 3px 3px 0 0; background: var(--cercai-v7-border-strong); transform: scaleY(0); transform-origin: bottom; height: calc(var(--h) * 1%); }
.cercai-v7-mk .chart__bar--hot { background: linear-gradient(180deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3)); }
.is-visible .chart__bar { animation: cercaiMkBarGrow 0.7s cubic-bezier(0.22,1,0.36,1) calc(0.8s + var(--i) * 0.09s) forwards; }
.cercai-v7-mk .chart__day { font-family: var(--cercai-v7-font-mono); font-size: 8.5px; color: var(--cercai-v7-text-3); }
.cercai-v7-mk-dash__feed { display: flex; flex-direction: column; gap: 6px; }
.cercai-v7-mk .feed-row {
    display: flex; align-items: center; gap: 9px;
    background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-sm); padding: 8px 11px;
    font-size: 12px; color: var(--cercai-v7-text-2);
}
.cercai-v7-mk .feed-row b { color: var(--cercai-v7-text); font-weight: 500; }
.cercai-v7-mk .feed-row__time { margin-left: auto; font-family: var(--cercai-v7-font-mono); font-size: 9.5px; color: var(--cercai-v7-text-3); flex-shrink: 0; }
.cercai-v7-mk .feed-row__ok { color: var(--cercai-v7-success); flex-shrink: 0; display: flex; }
.cercai-v7-mk .feed-row__live { width: 7px; height: 7px; border-radius: 50%; background: var(--cercai-v7-grad-1); flex-shrink: 0; animation: cercaiMkLivePulse 1.6s infinite; }

/* ---------- 3 · Calendario ---------- */
.cercai-v7-mk-cal__body { padding: 14px 14px 4px; min-height: 265px; }
.cercai-v7-mk-cal__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.cercai-v7-mk-cal__month { font-size: 13px; font-weight: 600; color: var(--cercai-v7-text); }
.cercai-v7-mk-cal__sync { font-family: var(--cercai-v7-font-mono); font-size: 9px; color: var(--cercai-v7-grad-1); display: flex; align-items: center; gap: 5px; }
.cercai-v7-mk-cal__sync i { width: 6px; height: 6px; border-radius: 50%; background: var(--cercai-v7-grad-1); animation: cercaiMkLivePulse 1.6s infinite; }
.cercai-v7-mk-cal__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.cercai-v7-mk .cal-col { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cercai-v7-mk .cal-col__day { font-family: var(--cercai-v7-font-mono); font-size: 9px; text-transform: uppercase; color: var(--cercai-v7-text-3); text-align: center; padding-bottom: 2px; }
.cercai-v7-mk .cal-slot { border-radius: var(--cercai-v7-radius-sm); padding: 6px 7px; min-height: 44px; }
.cercai-v7-mk .cal-slot--free { border: 1px dashed var(--cercai-v7-border); }
.cercai-v7-mk .cal-slot--busy { background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border); border-left: 2px solid var(--cercai-v7-grad-1); }
.cercai-v7-mk .cal-slot--hot { background: linear-gradient(135deg, rgba(0,223,216,0.14), rgba(121,40,202,0.14)); border: 1px solid rgba(0,223,216,0.35); border-left: 2px solid var(--cercai-v7-grad-1); }
.cercai-v7-mk .cal-slot__time { font-family: var(--cercai-v7-font-mono); font-size: 8.5px; color: var(--cercai-v7-grad-1); }
.cercai-v7-mk .cal-slot__txt { font-size: 10px; line-height: 1.25; color: var(--cercai-v7-text); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; }
.cercai-v7-mk-cal .cercai-v7-mk__foot { margin: 12px 0 14px; }

/* ---------- 4 · Documento / Cotización IA ---------- */
.cercai-v7-mk-doc__body { padding: 16px; min-height: 265px; }
.cercai-v7-mk-doc__paper { background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border); border-radius: var(--cercai-v7-radius); padding: 14px 16px; }
.cercai-v7-mk .doc__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 4px; }
.cercai-v7-mk .doc__num { font-family: var(--cercai-v7-font-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; color: var(--cercai-v7-text); }
.cercai-v7-mk .doc__badge { font-family: var(--cercai-v7-font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.06em; color: #B98BE8; border: 1px solid rgba(121,40,202,0.45); background: rgba(121,40,202,0.1); border-radius: 4px; padding: 2px 7px; }
.cercai-v7-mk .doc__cliente { font-size: 11px; color: var(--cercai-v7-text-3); margin-bottom: 10px; }
.cercai-v7-mk .doc__item { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--cercai-v7-text-2); padding: 5px 0; border-bottom: 1px solid var(--cercai-v7-border); }
.cercai-v7-mk .doc__item span:last-child { font-family: var(--cercai-v7-font-mono); font-size: 11.5px; color: var(--cercai-v7-text); flex-shrink: 0; }
.cercai-v7-mk .doc__totals { margin-top: 9px; display: flex; flex-direction: column; gap: 3px; }
.cercai-v7-mk .doc__trow { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--cercai-v7-text-3); }
.cercai-v7-mk .doc__trow span:last-child { font-family: var(--cercai-v7-font-mono); }
.cercai-v7-mk .doc__trow--total { font-size: 14px; color: var(--cercai-v7-text); font-weight: 600; margin-top: 3px; padding-top: 6px; border-top: 1px solid var(--cercai-v7-border-strong); }
.cercai-v7-mk .doc__trow--total span:last-child { background: linear-gradient(90deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3)); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; }
.cercai-v7-mk .doc__caret { display: inline-block; width: 7px; height: 13px; background: var(--cercai-v7-grad-1); vertical-align: -2px; margin-left: 4px; animation: cercaiMkCaretBlink 1s infinite; }
.is-visible .doc__caret { animation: cercaiMkCaretBlink 1s infinite, cercaiMkFadeOut 0.1s linear 3.4s forwards; }
.cercai-v7-mk-doc .cercai-v7-mk__foot { margin: 12px 0 0; }

/* ---------- 5 · Agente ejecutando ---------- */
.cercai-v7-mk-agent__body { padding: 16px; display: flex; flex-direction: column; gap: 7px; min-height: 265px; }
.cercai-v7-mk-agent__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.cercai-v7-mk .agent-hour { font-family: var(--cercai-v7-font-mono); font-size: 10px; color: var(--cercai-v7-grad-4); }
.cercai-v7-mk .agent-row {
    display: flex; align-items: flex-start; gap: 9px;
    background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius-sm); padding: 9px 11px;
    font-size: 12px; line-height: 1.4; color: var(--cercai-v7-text-2);
}
.cercai-v7-mk .agent-row b { color: var(--cercai-v7-text); font-weight: 500; }
.cercai-v7-mk .agent-row__ok { color: var(--cercai-v7-success); flex-shrink: 0; display: flex; margin-top: 1px; }
.cercai-v7-mk .agent-row--doing { border-color: rgba(0,223,216,0.3); }
.cercai-v7-mk .agent-row__dots { display: inline-flex; gap: 3px; margin-top: 6px; }
.cercai-v7-mk .agent-row__dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--cercai-v7-grad-1); animation: cercaiMkDotPulse 1.1s infinite; }
.cercai-v7-mk .agent-row__dots i:nth-child(2) { animation-delay: 0.18s; }
.cercai-v7-mk .agent-row__dots i:nth-child(3) { animation-delay: 0.36s; }
.cercai-v7-mk-agent .cercai-v7-mk__foot { margin: 6px 0 0; }

/* ---------- 6 · Bandeja IA ---------- */
.cercai-v7-mk-inbox__body { padding: 14px; display: flex; flex-direction: column; gap: 8px; min-height: 265px; }
.cercai-v7-mk .mail { background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border); border-radius: var(--cercai-v7-radius); padding: 10px 12px; }
.cercai-v7-mk .mail__top { display: flex; align-items: center; gap: 8px; }
.cercai-v7-mk .mail__ini { width: 22px; height: 22px; border-radius: 6px; background: var(--cercai-v7-surface-3); border: 1px solid var(--cercai-v7-border); display: flex; align-items: center; justify-content: center; font-family: var(--cercai-v7-font-mono); font-size: 8.5px; font-weight: 600; color: var(--cercai-v7-text-2); flex-shrink: 0; }
.cercai-v7-mk .mail__from { font-size: 12px; font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--cercai-v7-text); }
.cercai-v7-mk .mail__tag { font-family: var(--cercai-v7-font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.05em; border-radius: 4px; padding: 2px 7px; flex-shrink: 0; opacity: 0; }
.is-visible .mail__tag { animation: cercaiMkPopIn 0.4s cubic-bezier(0.2,0.9,0.3,1.3) var(--d) forwards; }
.cercai-v7-mk .mail__tag--cyan   { color: var(--cercai-v7-grad-1); border: 1px solid rgba(0,223,216,0.4);  background: rgba(0,223,216,0.08); }
.cercai-v7-mk .mail__tag--gold   { color: var(--cercai-v7-grad-4); border: 1px solid rgba(255,199,0,0.4);  background: rgba(255,199,0,0.08); }
.cercai-v7-mk .mail__tag--violet { color: #B98BE8; border: 1px solid rgba(121,40,202,0.5); background: rgba(121,40,202,0.1); }
.cercai-v7-mk .mail__subj { font-size: 11.5px; color: var(--cercai-v7-text-2); margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cercai-v7-mk-inbox .cercai-v7-mk__foot { margin: 4px 0 0; }

/* ---------- 7 · Teléfono / App móvil ---------- */
.cercai-v7-mk-phone { background: transparent; border: none; box-shadow: none; overflow: visible; display: flex; justify-content: center; }
.cercai-v7-mk-phone .phone {
    width: 232px; border-radius: 30px;
    background: var(--cercai-v7-surface);
    border: 1.5px solid var(--cercai-v7-border-strong);
    padding: 10px 10px 14px;
    box-shadow: 0 24px 60px -24px rgba(0,0,0,0.9);
    position: relative;
}
.cercai-v7-mk-phone .phone__island { width: 64px; height: 16px; border-radius: 999px; background: #000; border: 1px solid var(--cercai-v7-border); margin: 2px auto 10px; }
.cercai-v7-mk-phone .phone__app { background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border); border-radius: 18px; padding: 12px 11px; }
.cercai-v7-mk-phone .phone__apphead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.cercai-v7-mk-phone .phone__apptitle { font-size: 12px; font-weight: 600; color: var(--cercai-v7-text); }
.cercai-v7-mk-phone .phone__avatar { width: 20px; height: 20px; border-radius: 50%; background: linear-gradient(135deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3)); }
.cercai-v7-mk-phone .phone-card { background: var(--cercai-v7-surface-3); border: 1px solid var(--cercai-v7-border); border-radius: 10px; padding: 8px 10px; margin-bottom: 7px; }
.cercai-v7-mk-phone .phone-card__ot { font-family: var(--cercai-v7-font-mono); font-size: 8.5px; color: var(--cercai-v7-grad-1); }
.cercai-v7-mk-phone .phone-card__txt { font-size: 10.5px; color: var(--cercai-v7-text); margin-top: 2px; line-height: 1.3; }
.cercai-v7-mk-phone .phone-card__st { font-family: var(--cercai-v7-font-mono); font-size: 8px; margin-top: 4px; display: inline-block; border-radius: 3px; padding: 1px 6px; }
.cercai-v7-mk-phone .phone-card__st--go { color: var(--cercai-v7-grad-4); background: rgba(255,199,0,0.09); border: 1px solid rgba(255,199,0,0.3); }
.cercai-v7-mk-phone .phone-card__st--ok { color: var(--cercai-v7-success); background: rgba(12,206,107,0.08); border: 1px solid rgba(12,206,107,0.3); }
.cercai-v7-mk-phone .phone__cta {
    display: block; text-align: center; border-radius: 9px; padding: 9px 0;
    font-size: 11px; font-weight: 600; color: #fff;
    background: linear-gradient(90deg, var(--cercai-v7-grad-3), var(--cercai-v7-grad-1));
}
.cercai-v7-mk-phone .phone__tabs { display: flex; justify-content: space-around; padding: 10px 6px 0; }
.cercai-v7-mk-phone .phone__tab { width: 26px; height: 4px; border-radius: 999px; background: var(--cercai-v7-border); }
.cercai-v7-mk-phone .phone__tab--on { background: var(--cercai-v7-grad-1); }

/* ---------- 8 · Diagrama de integraciones ---------- */
.cercai-v7-mk-flow__body { padding: 18px 16px; min-height: 265px; display: flex; flex-direction: column; }
.cercai-v7-mk .flow { display: grid; grid-template-columns: 1fr 44px 1.15fr; gap: 10px 0; align-items: center; flex: 1; }
.cercai-v7-mk .flow-node {
    background: var(--cercai-v7-surface-2); border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius); padding: 9px 11px;
    display: flex; align-items: center; gap: 8px; min-width: 0;
}
.cercai-v7-mk .flow-node__name { font-family: var(--cercai-v7-font-mono); font-size: 10.5px; font-weight: 600; color: var(--cercai-v7-text); }
.cercai-v7-mk .flow-node__sub { font-size: 9px; color: var(--cercai-v7-text-3); display: block; margin-top: 1px; }
.cercai-v7-mk .flow-node__ok { margin-left: auto; color: var(--cercai-v7-success); display: flex; flex-shrink: 0; opacity: 0; }
.is-visible .flow-node__ok { animation: cercaiMkPopIn 0.4s cubic-bezier(0.2,0.9,0.3,1.3) var(--d) forwards; }
.cercai-v7-mk .flow-link { height: 2px; background-image: linear-gradient(90deg, var(--cercai-v7-grad-1) 55%, transparent 45%); background-size: 14px 2px; opacity: 0; }
.is-visible .flow-link { animation: cercaiMkFadeIn 0.4s ease var(--d) forwards, cercaiMkFlowDash 0.5s linear infinite; }
.cercai-v7-mk .flow-core {
    grid-row: 1 / span 3; grid-column: 3;
    background: var(--cercai-v7-surface-2);
    border: 1px solid rgba(0,223,216,0.4); border-radius: var(--cercai-v7-radius-md);
    padding: 16px 14px; text-align: center;
    animation: cercaiMkCoreGlow 3s ease-in-out infinite;
}
.cercai-v7-mk .flow-core__logo { font-size: 15px; font-weight: 700; letter-spacing: -0.02em; background: linear-gradient(90deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3), var(--cercai-v7-grad-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cercai-v7-mk .flow-core__sub { font-family: var(--cercai-v7-font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cercai-v7-text-3); margin-top: 4px; }
.cercai-v7-mk .flow-core__stats { margin-top: 10px; display: flex; flex-direction: column; gap: 4px; }
.cercai-v7-mk .flow-core__stat { font-family: var(--cercai-v7-font-mono); font-size: 9.5px; color: var(--cercai-v7-text-2); background: var(--cercai-v7-surface-3); border: 1px solid var(--cercai-v7-border); border-radius: 5px; padding: 4px 6px; }
.cercai-v7-mk .flow-core__stat b { color: var(--cercai-v7-grad-1); font-weight: 600; }
.cercai-v7-mk-flow .cercai-v7-mk__foot { margin: 14px 0 0; }

/* ---------- Micro-mocks (tiles /servicios/) ---------- */
.cercai-v7-micromock {
    margin: 16px 0;
    border: 1px solid var(--cercai-v7-border);
    border-radius: var(--cercai-v7-radius);
    background: var(--cercai-v7-surface-2);
    padding: 10px 12px;
    min-height: 86px;
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    overflow: hidden;
}
.cercai-v7-micromock .mm-bub { max-width: 88%; border-radius: 8px; padding: 5px 8px; font-size: 10px; line-height: 1.3; color: var(--wa-txt); }
.cercai-v7-micromock .mm-bub--in { align-self: flex-start; background: var(--wa-in); border-top-left-radius: 2px; }
.cercai-v7-micromock .mm-bub--out { align-self: flex-end; background: var(--wa-out); border-top-right-radius: 2px; }
.cercai-v7-micromock .mm-bars { display: flex; align-items: flex-end; gap: 5px; height: 46px; }
.cercai-v7-micromock .mm-bars i { flex: 1; border-radius: 2px 2px 0 0; background: var(--cercai-v7-border-strong); transform: scaleY(0); transform-origin: bottom; height: calc(var(--h) * 1%); }
.cercai-v7-micromock .mm-bars i.hot { background: linear-gradient(180deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3)); }
.is-visible .mm-bars i { animation: cercaiMkBarGrow 0.6s cubic-bezier(0.22,1,0.36,1) calc(var(--i) * 0.08s + 0.3s) forwards; }
.cercai-v7-micromock .mm-task { display: flex; align-items: center; gap: 6px; font-size: 10px; color: var(--cercai-v7-text-2); background: var(--cercai-v7-surface-3); border: 1px solid var(--cercai-v7-border); border-radius: 5px; padding: 4px 8px; }
.cercai-v7-micromock .mm-task svg { color: var(--cercai-v7-success); flex-shrink: 0; }
.cercai-v7-micromock .mm-flow { display: flex; align-items: center; gap: 0; }
.cercai-v7-micromock .mm-node { font-family: var(--cercai-v7-font-mono); font-size: 8.5px; color: var(--cercai-v7-text-2); background: var(--cercai-v7-surface-3); border: 1px solid var(--cercai-v7-border); border-radius: 5px; padding: 4px 7px; white-space: nowrap; }
.cercai-v7-micromock .mm-node--core { color: var(--cercai-v7-grad-1); border-color: rgba(0,223,216,0.4); }
.cercai-v7-micromock .mm-wire { flex: 1; height: 2px; min-width: 12px; background-image: linear-gradient(90deg, var(--cercai-v7-grad-1) 55%, transparent 45%); background-size: 10px 2px; animation: cercaiMkFlowDash 0.5s linear infinite; }
.cercai-v7-micromock .mm-doc-line { height: 5px; border-radius: 3px; background: var(--cercai-v7-border); }
.cercai-v7-micromock .mm-doc-line.w60 { width: 60%; }
.cercai-v7-micromock .mm-doc-line.w80 { width: 80%; }
.cercai-v7-micromock .mm-doc-line.w45 { width: 45%; }
.cercai-v7-micromock .mm-doc-total { display: flex; justify-content: space-between; font-family: var(--cercai-v7-font-mono); font-size: 9.5px; color: var(--cercai-v7-text); border-top: 1px solid var(--cercai-v7-border-strong); padding-top: 5px; margin-top: 3px; }
.cercai-v7-micromock .mm-doc-total b { background: linear-gradient(90deg, var(--cercai-v7-grad-1), var(--cercai-v7-grad-3)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cercai-v7-micromock .mm-phone { width: 46px; height: 72px; border-radius: 10px; border: 1.5px solid var(--cercai-v7-border-strong); margin: 0 auto; padding: 5px 4px; display: flex; flex-direction: column; gap: 3px; align-items: center; }
.cercai-v7-micromock .mm-phone i { display: block; width: 100%; height: 7px; border-radius: 2px; background: var(--cercai-v7-surface-3); border: 1px solid var(--cercai-v7-border); }
.cercai-v7-micromock .mm-phone i.hot { background: linear-gradient(90deg, var(--cercai-v7-grad-3), var(--cercai-v7-grad-1)); border: none; height: 8px; }
.cercai-v7-micromock .mm-phone__dot { width: 14px; height: 3px; border-radius: 99px; background: var(--cercai-v7-border); }

/* ---------- Responsive mockups ---------- */
@media (max-width: 860px) {
    .cercai-v7-mkrow { grid-template-columns: 1fr; gap: 34px; }
    .cercai-v7-mkrow--invert .cercai-v7-mkrow__copy { order: 0; }
    .cercai-v7-mkrow__copy .stat-num { font-size: 42px; }
}
@media (max-width: 480px) {
    .cercai-v7-mk-dash__kpis { gap: 6px; }
    .cercai-v7-mk .kpi { padding: 8px 9px; }
    .cercai-v7-mk .kpi__value { font-size: 18px; }
    .cercai-v7-mk .flow { grid-template-columns: 1fr 26px 1.1fr; }
}

/* ---------- Fixes móvil 2026-07-17 (pedido Dorian) ---------- */
/* Cinturón anti scroll lateral: clip en la raíz (body ya tiene hidden,
   pero en móviles el pan horizontal puede escapar por html) */
html { overflow-x: clip; }

/* Header móvil: logo compacto + CTA más pegado al borde derecho,
   para que logo y botón no queden apretados */
@media (max-width: 520px) {
    .cercai-v7-nav__inner { padding: 10px 14px 10px 16px; }
    .cercai-v7-logo { font-size: 17px; gap: 6px; }
    .cercai-v7-logo__mark { height: 44px; }
    a.cercai-v7-nav__cta,
    .cercai-v7-nav__cta { padding: 8px 12px; font-size: 13px; white-space: nowrap; }
}

/* Contenedor de filas mockup en la home (reemplaza a .cercai-v7-servicios__list,
   cuyo border-top dibujaba una línea pegada al primer mockup) */
.cercai-v7-mkrows {
    display: flex;
    flex-direction: column;
    gap: 96px;
    margin-top: 72px;
}
@media (max-width: 860px) {
    .cercai-v7-mkrows { gap: 72px; margin-top: 48px; }
}

/* ---------- Reduced motion: estado final estático ---------- */
@media (prefers-reduced-motion: reduce) {
    .cercai-v7-mk .msg, .cercai-v7-mk .msg__text,
    .cercai-v7-mk-stage .mk-in, .cercai-v7-mk-stage .mk-in--slide,
    .cercai-v7-mk .mail__tag, .cercai-v7-mk .flow-node__ok, .cercai-v7-mk .flow-link,
    .cercai-v7-mk__foot { opacity: 1 !important; animation: none !important; }
    .cercai-v7-mk .msg__dots, .cercai-v7-mk .doc__caret { display: none !important; }
    .cercai-v7-mk .chart__bar, .cercai-v7-micromock .mm-bars i { transform: scaleY(1) !important; animation: none !important; }
    .cercai-v7-mk .feed-row__live, .cercai-v7-mk .agent-row__dots i, .cercai-v7-mk-cal__sync i,
    .cercai-v7-mk .flow-core, .cercai-v7-micromock .mm-wire { animation: none !important; }
}
