:root {
    --ink: #f7f8ff;
    --muted: #9ba5bd;
    --night: #070b16;
    --surface: #0e1527;
    --surface-2: #151e34;
    --line: rgba(157, 171, 208, .18);
    --lime: #8b62ff;
    --lime-dark: rgba(123, 88, 255, .14);
    --violet: #8b5cf6;
    --blue: #3468f6;
    --cyan: #6fddff;
    --danger: #ff766f;
    --max: 1200px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    color: var(--ink);
    background:
        radial-gradient(circle at 78% 3%, rgba(70, 79, 237, .18), transparent 30rem),
        radial-gradient(circle at 8% 24%, rgba(139, 92, 246, .08), transparent 25rem),
        var(--night);
    font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }

button, input { font: inherit; }

.site-header,
.site-footer {
    width: min(calc(100% - 40px), var(--max));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-header {
    position: relative;
    z-index: 20;
    min-height: 82px;
    border-bottom: 1px solid rgba(157, 171, 208, .08);
}

.brand {
    display: inline-flex;
    align-items: center;
    transition: opacity .2s ease;
}

.brand:hover { opacity: .82; }
.brand img { display: block; width: 166px; height: auto; }

nav { display: flex; align-items: center; gap: 28px; }
nav a { color: #aeb7cc; font-size: .88rem; font-weight: 650; transition: color .2s ease, border-color .2s ease; }
nav a:hover, nav a:focus-visible { color: var(--ink); }
.nav-cta {
    min-height: 40px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(151, 133, 255, .35);
    border-radius: 999px;
    color: var(--ink);
    background: rgba(124, 92, 255, .08);
}
.nav-cta:hover { border-color: rgba(151, 133, 255, .7); }

.hero {
    width: min(calc(100% - 40px), var(--max));
    margin: 84px auto 98px;
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(480px, 1.06fr);
    align-items: center;
    gap: clamp(48px, 6vw, 92px);
}

.eyebrow {
    margin: 0 0 18px;
    color: #a48bff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

.hero h1 {
    max-width: 720px;
    margin-bottom: 28px;
    font-size: clamp(3.15rem, 5.2vw, 5.2rem);
    line-height: .99;
    letter-spacing: -.062em;
}
.hero h1 span,
.final-cta h2 span {
    color: transparent;
    background: linear-gradient(115deg, #9e77ff 4%, #5966ff 55%, #6fc7ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.hero-lead {
    max-width: 650px;
    color: #aeb7cb;
    font-size: 1.08rem;
    line-height: 1.78;
}

.hero-badge {
    width: max-content;
    margin-bottom: 24px;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(139, 98, 255, .28);
    border-radius: 999px;
    color: #c2b6ff;
    background: rgba(111, 76, 255, .08);
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.hero-badge span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8b62ff;
    box-shadow: 0 0 14px #8b62ff;
}

.hero-actions,
.panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.button {
    display: inline-flex;
    min-height: 50px;
    padding: 0 22px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    font-size: .9rem;
    font-weight: 760;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.button:hover { transform: translateY(-2px); }
.button.primary {
    color: #fff;
    background: linear-gradient(115deg, #8456f6, #475ff4);
    box-shadow: 0 14px 36px rgba(72, 80, 231, .27);
}
.button.primary:hover { background: linear-gradient(115deg, #9469ff, #5670ff); box-shadow: 0 18px 42px rgba(72, 80, 231, .38); }
.button.secondary { border-color: var(--line); color: #dce1ee; background: rgba(255, 255, 255, .025); }
.button.secondary:hover { border-color: rgba(152, 137, 255, .48); background: rgba(124, 92, 255, .07); }
.button.danger { color: #190706; background: var(--danger); }
.button.danger-outline { border-color: #713b38; color: #ffaaa5; background: transparent; }
.button.disabled { color: #747a72; background: #171b19; cursor: not-allowed; }

.trust-note,
.dev-notice { margin-top: 20px; color: #7f899f; font-size: .76rem; }
.trust-note { display: flex; flex-wrap: wrap; gap: 14px; }
.trust-note span { color: #8d72ff; font-weight: 850; }
.dev-notice { color: #e2c978; }

.product-preview { position: relative; min-width: 0; }
.preview-glow {
    position: absolute;
    inset: 4% 5% -4%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(80, 77, 235, .2), rgba(124, 62, 233, .08) 45%, transparent 70%);
    filter: blur(28px);
}
.preview-window {
    position: relative;
    border: 1px solid rgba(158, 175, 218, .18);
    border-radius: 19px;
    background: rgba(11, 17, 33, .88);
    box-shadow: 0 38px 100px rgba(0, 0, 0, .48), inset 0 1px rgba(255, 255, 255, .035);
    overflow: hidden;
    transform: perspective(1000px) rotateY(-2deg) rotateX(1deg);
}
.preview-bar {
    min-height: 45px;
    padding: 0 17px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    border-bottom: 1px solid rgba(157, 171, 208, .12);
    color: #647086;
    background: rgba(255, 255, 255, .018);
    font-size: .62rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.preview-dots { display: flex; gap: 6px; }
.preview-dots span { width: 6px; height: 6px; border-radius: 50%; background: #313b50; }
.preview-live { justify-self: end; display: flex; align-items: center; gap: 6px; color: #6f7a90; }
.preview-live i, .action-status i { width: 6px; height: 6px; border-radius: 50%; background: #6ddda9; box-shadow: 0 0 10px rgba(109, 221, 169, .6); }
.preview-body { padding: clamp(27px, 4vw, 46px); }
.owl-message-head { display: flex; align-items: center; gap: 12px; }
.owl-message-head img { width: 41px; height: 41px; padding: 8px; border: 1px solid rgba(143, 109, 255, .27); border-radius: 12px; background: linear-gradient(145deg, rgba(141, 94, 255, .14), rgba(59, 100, 246, .08)); }
.owl-message-head strong, .owl-message-head span { display: block; }
.owl-message-head strong { font-size: .9rem; }
.owl-message-head span { margin-top: 1px; color: #6f7a91; font-size: .65rem; }
.preview-body h2 { max-width: 510px; margin: 27px 0 12px; font-size: clamp(1.55rem, 2.5vw, 2.15rem); line-height: 1.21; letter-spacing: -.035em; }
.preview-body > p { color: #8e99af; font-size: .84rem; line-height: 1.7; }
.evidence-row { margin-top: 25px; display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid rgba(157, 171, 208, .12); }
.evidence-row div { padding: 17px 12px 17px 0; }
.evidence-row div + div { padding-left: 17px; border-left: 1px solid rgba(157, 171, 208, .12); }
.evidence-row span, .evidence-row small { display: block; color: #68748b; font-size: .6rem; }
.evidence-row strong { display: block; margin: 2px 0 0; font-size: 1.15rem; }
.evidence-row small { color: #9b82ff; }
.next-action { margin-top: 23px; padding: 17px 19px; border: 1px solid rgba(129, 99, 255, .2); border-radius: 11px; background: linear-gradient(115deg, rgba(123, 79, 255, .09), rgba(58, 95, 236, .04)); }
.next-action > span { color: #9f87ff; font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.next-action p { margin: 5px 0 8px; color: #dde2ef; font-size: .82rem; font-weight: 650; }
.action-status { display: flex; align-items: center; gap: 7px; color: #6f7b91; font-size: .6rem; }

.decision-strip {
    width: min(calc(100% - 40px), var(--max));
    margin: 0 auto;
    padding: 21px 30px;
    border-block: 1px solid rgba(157, 171, 208, .1);
    color: #6f7990;
    text-align: center;
}
.decision-strip p { margin: 0; display: flex; align-items: center; justify-content: center; gap: clamp(12px, 2.5vw, 32px); font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.decision-strip i { color: #414b61; font-style: normal; }
.decision-strip strong { color: #a996ff; }

.section,
.privacy-banner,
.dashboard-shell,
.legal-page,
.error-page {
    width: min(calc(100% - 40px), var(--max));
    margin-left: auto;
    margin-right: auto;
}

.section { padding: 108px 0 122px; }
.section-title { max-width: 760px; font-size: clamp(2.45rem, 4.6vw, 4.5rem); line-height: 1.06; letter-spacing: -.052em; }
.landing-section { position: relative; }
.section-heading > p:last-child { color: #8c97ae; }
.split-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(50px, 9vw, 120px); align-items: end; }
.split-heading > p { max-width: 450px; margin-bottom: 10px; line-height: 1.85; }
.centered-heading { max-width: 790px; margin: 0 auto; text-align: center; }
.centered-heading .section-title { margin-inline: auto; }
.centered-heading > p:last-child { max-width: 640px; margin-inline: auto; }

.process-grid { margin-top: 66px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.process-card { position: relative; min-height: 325px; padding: 29px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 15px; background: rgba(14, 21, 39, .62); overflow: hidden; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.process-card:hover { transform: translateY(-4px); border-color: rgba(139, 98, 255, .34); background: rgba(18, 26, 47, .82); }
.process-card.featured::after { content: ""; position: absolute; inset: auto -20% -55% 10%; height: 75%; background: radial-gradient(circle, rgba(114, 73, 245, .18), transparent 67%); pointer-events: none; }
.process-number { color: #74809a; font-size: .84rem; font-weight: 850; letter-spacing: .16em; }
.process-icon { width: 64px; height: 64px; margin-top: 32px; display: grid; place-items: center; border: 1px solid rgba(145, 118, 255, .3); border-radius: 16px; color: #ad98ff; background: rgba(123, 88, 255, .1); font-size: 2.05rem; line-height: 1; }
.process-card h3 { margin: auto 0 12px; font-size: 1.35rem; letter-spacing: -.025em; }
.process-card p { margin-bottom: 0; color: #929db1; font-size: .9rem; line-height: 1.72; }

.capabilities-section { padding-top: 52px; }
.capability-grid { margin-top: 62px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.capability-card { min-height: 390px; padding: clamp(27px, 3.2vw, 40px); border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg, rgba(16, 24, 44, .82), rgba(10, 16, 31, .78)); overflow: hidden; transition: border-color .2s ease, transform .2s ease; }
.capability-card:hover { transform: translateY(-3px); border-color: rgba(139, 98, 255, .33); }
.capability-top { display: flex; justify-content: space-between; color: #a28bff; font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.capability-top i { color: #465168; font-style: normal; }
.capability-card h3 { max-width: 440px; margin: 46px 0 12px; font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.18; letter-spacing: -.035em; }
.capability-card > p { max-width: 500px; color: #8995aa; font-size: .83rem; }
.mini-diagnosis, .mini-radar, .mini-timeline, .mini-ledger { margin-top: 35px; }
.mini-diagnosis { position: relative; height: 71px; display: flex; align-items: flex-end; gap: 9px; }
.mini-diagnosis span { width: 8px; border-radius: 4px 4px 0 0; background: linear-gradient(#8765ff, #375eec); }
.mini-diagnosis span:nth-child(1) { height: 27%; }
.mini-diagnosis span:nth-child(2) { height: 49%; }
.mini-diagnosis span:nth-child(3) { height: 74%; }
.mini-diagnosis span:nth-child(4) { height: 100%; }
.mini-diagnosis strong { align-self: center; margin-left: 12px; padding: 8px 12px; border: 1px solid rgba(126, 93, 255, .2); border-radius: 999px; color: #9d87fb; background: rgba(126, 93, 255, .07); font-size: .61rem; }
.mini-radar { position: relative; width: 150px; height: 98px; border: 1px solid rgba(144, 118, 255, .16); border-radius: 100px 100px 0 0; border-bottom: 0; overflow: hidden; }
.mini-radar::before, .mini-radar::after { content: ""; position: absolute; left: 50%; bottom: 0; border: 1px solid rgba(144, 118, 255, .12); border-radius: 100px 100px 0 0; transform: translateX(-50%); }
.mini-radar::before { width: 98px; height: 62px; }.mini-radar::after { width: 45px; height: 29px; }
.mini-radar i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #8667ff; box-shadow: 0 0 11px #8667ff; }
.mini-radar i:nth-child(1) { left: 26px; bottom: 23px; }.mini-radar i:nth-child(2) { left: 70px; bottom: 69px; }.mini-radar i:nth-child(3) { right: 22px; bottom: 44px; }
.mini-radar span { position: absolute; left: 50%; bottom: -3px; width: 64px; height: 1px; background: linear-gradient(90deg, transparent, #8765ff); transform: rotate(-31deg); transform-origin: left; }
.mini-timeline { display: flex; align-items: center; gap: 12px; color: #657188; font-size: .6rem; }
.mini-timeline span { position: relative; flex: 1; height: 6px; border-radius: 999px; background: #1b2945; }
.mini-timeline span::before { content: ""; position: absolute; inset: 0 36% 0 0; border-radius: inherit; background: linear-gradient(90deg, #835fff, #3c67f2); }
.mini-timeline i { position: absolute; left: 64%; top: 50%; width: 13px; height: 13px; border: 3px solid #11192e; border-radius: 50%; background: #8c6cff; transform: translate(-50%, -50%); }
.mini-ledger { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: #5e6980; font-size: .63rem; }
.mini-ledger span, .mini-ledger strong { padding: 9px 12px; border: 1px solid rgba(149, 163, 199, .14); border-radius: 7px; background: rgba(255, 255, 255, .02); }
.mini-ledger strong { border-color: rgba(140, 103, 255, .25); color: #a28aff; background: rgba(126, 83, 255, .08); }
.mini-ledger i { font-style: normal; }

.proof-section { padding-top: 38px; }
.proof-panel { padding: clamp(38px, 6vw, 76px); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 9vw, 115px); align-items: center; border: 1px solid rgba(146, 163, 203, .14); border-radius: 22px; background: linear-gradient(125deg, rgba(16, 24, 44, .9), rgba(9, 14, 29, .88)); box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.proof-copy h2 { margin-bottom: 20px; font-size: clamp(2.15rem, 4vw, 3.55rem); line-height: 1.08; letter-spacing: -.05em; }
.proof-copy > p:not(.eyebrow) { color: #8d98ad; font-size: .86rem; line-height: 1.78; }
.proof-copy ul { margin: 31px 0 0; padding: 0; list-style: none; }
.proof-copy li { padding: 11px 0; display: flex; align-items: center; gap: 13px; border-top: 1px solid rgba(152, 168, 204, .1); color: #b8c0d1; font-size: .76rem; }
.proof-copy li span { color: #8f72ff; font-size: .61rem; font-weight: 800; }
.reasoning-stack { position: relative; display: grid; gap: 11px; }
.reasoning-stack::before { content: ""; position: absolute; left: 21px; top: 31px; bottom: 31px; width: 1px; background: linear-gradient(#51607b, #8764ff); }
.reasoning-stack div { position: relative; margin-left: 0; padding: 21px 22px 21px 53px; border: 1px solid rgba(151, 166, 203, .13); border-radius: 11px; background: #10182b; }
.reasoning-stack div::before { content: ""; position: absolute; left: 17px; top: 24px; width: 9px; height: 9px; border: 3px solid #10182b; border-radius: 50%; background: #63708a; box-shadow: 0 0 0 1px #63708a; }
.reasoning-stack span, .reasoning-stack strong { display: block; }
.reasoning-stack span { color: #68748b; font-size: .59rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.reasoning-stack strong { margin-top: 5px; font-size: .83rem; }
.reasoning-stack .active { border-color: rgba(141, 105, 255, .3); background: linear-gradient(110deg, rgba(126, 79, 255, .13), rgba(30, 44, 81, .65)); }
.reasoning-stack .active::before { background: #9a78ff; box-shadow: 0 0 13px #855fff; }
.reasoning-stack .active span { color: #a38dff; }

/* ---------- Planes y reserva de fundadores ---------- */

.founders-section { padding-top: 62px; }
.founders-heading > p { align-self: end; }
.founder-counter {
    margin-top: 48px;
    padding: 17px 21px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(139, 98, 255, .23);
    border-radius: 12px;
    color: #8c97ae;
    background: rgba(124, 92, 255, .055);
    font-size: .76rem;
}
.founder-counter > span { margin-right: auto; color: #c2b7f7; font-weight: 740; }
.founder-counter i { width: 7px; height: 7px; margin-right: 8px; display: inline-block; border-radius: 50%; background: #8b62ff; box-shadow: 0 0 12px #8b62ff; }
.founder-counter strong { color: var(--ink); font-size: 1.35rem; line-height: 1; }

.pricing-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pricing-card {
    position: relative;
    min-height: 455px;
    padding: 31px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(16, 24, 44, .84), rgba(9, 15, 29, .88));
    overflow: hidden;
}
.pricing-card.featured { border-color: rgba(146, 112, 255, .5); box-shadow: 0 24px 70px rgba(62, 50, 180, .15); }
.pricing-card.featured::after { content: ""; position: absolute; inset: auto -30% -45% 0; height: 70%; background: radial-gradient(circle, rgba(120, 77, 255, .18), transparent 68%); pointer-events: none; }
.pricing-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.pricing-card-top > span { color: #a48bff; font-size: .73rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.pricing-card-top > strong { font-size: 1.55rem; line-height: 1; letter-spacing: -.04em; }
.pricing-card-top > strong small { margin-left: 3px; color: #707b92; font-size: .65rem; font-weight: 600; letter-spacing: 0; }
.pricing-card h3 { margin: 58px 0 12px; font-size: 1.48rem; line-height: 1.16; letter-spacing: -.035em; }
.pricing-card > p { color: #8995aa; font-size: .81rem; line-height: 1.72; }
.pricing-card ul { margin: 24px 0 23px; padding: 0; display: grid; gap: 12px; list-style: none; }
.pricing-card li { position: relative; padding-left: 20px; color: #c4cbda; font-size: .76rem; }
.pricing-card li::before { content: "✓"; position: absolute; left: 0; color: #9c82ff; font-weight: 850; }
.pricing-card > small { position: relative; z-index: 1; margin-top: auto; color: #69758b; font-size: .65rem; line-height: 1.6; }
.plan-ribbon { min-height: 25px; margin: -31px -31px 27px; padding: 5px 16px; color: #c9bcff; background: rgba(125, 87, 255, .13); font-size: .59rem; font-weight: 820; letter-spacing: .12em; text-align: center; text-transform: uppercase; }

.founder-reservation-panel {
    margin-top: 18px;
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    border: 1px solid rgba(148, 121, 255, .28);
    border-radius: 20px;
    background: linear-gradient(120deg, rgba(55, 39, 126, .25), rgba(13, 21, 40, .94) 52%);
    overflow: hidden;
}
.reservation-copy { padding: clamp(34px, 5vw, 62px); }
.reservation-copy h2 { margin-bottom: 17px; font-size: clamp(2.1rem, 4vw, 3.5rem); line-height: 1.04; letter-spacing: -.055em; }
.reservation-copy > p:not(.eyebrow) { color: #929db2; font-size: .84rem; line-height: 1.75; }
.reservation-promises { margin-top: 29px; display: grid; gap: 9px; color: #b7bfd0; font-size: .72rem; }
.reservation-promises span::first-letter { color: #9d83ff; }

.reservation-form-wrap { padding: clamp(28px, 4vw, 50px); border-left: 1px solid rgba(157, 171, 208, .11); background: rgba(6, 11, 23, .36); }
.founder-feedback { margin: 0 0 20px; }
.founder-form { display: grid; gap: 17px; }
.founder-form label > span, .plan-choice legend { display: block; margin-bottom: 7px; color: #b7c0d2; font-size: .72rem; font-weight: 700; }
.founder-form label > span small { color: #68748a; font-size: .62rem; font-weight: 600; }
.founder-form input[type="text"],
.founder-form input[type="email"] {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(157, 171, 208, .2);
    border-radius: 9px;
    color: var(--ink);
    background: rgba(13, 21, 39, .9);
}
.founder-form input::placeholder { color: #59657b; }
.founder-form input:focus { border-color: rgba(151, 120, 255, .7); outline: 0; box-shadow: 0 0 0 3px rgba(125, 87, 255, .12); }
.form-row.two-columns { display: grid; grid-template-columns: 1fr 1.15fr; gap: 13px; }
.plan-choice { margin: 1px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border: 0; }
.plan-choice legend { grid-column: 1 / -1; }
.plan-choice label { position: relative; cursor: pointer; }
.plan-choice input { position: absolute; opacity: 0; }
.plan-choice label > span { min-height: 68px; margin: 0; padding: 13px 15px; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(157, 171, 208, .18); border-radius: 9px; background: rgba(15, 23, 42, .72); }
.plan-choice label > span strong { color: #dfe3ee; font-size: .8rem; }
.plan-choice label > span small { margin-top: 2px; color: #738097; font-size: .61rem; font-weight: 550; }
.plan-choice input:checked + span { border-color: rgba(149, 113, 255, .65); background: rgba(124, 83, 255, .12); box-shadow: inset 0 0 0 1px rgba(149, 113, 255, .18); }
.plan-choice input:focus-visible + span { outline: 3px solid #8b62ff; outline-offset: 3px; }
.consent-check { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; }
.consent-check input { margin-top: 4px; accent-color: #865fff; }
.consent-check > span { margin: 0 !important; color: #818da3 !important; font-size: .65rem !important; font-weight: 550 !important; line-height: 1.65; }
.consent-check a { color: #b5a4ff; text-decoration: underline; text-underline-offset: 2px; }
.founder-submit { width: 100%; margin-top: 2px; }
.form-footnote { color: #616d83; font-size: .6rem; text-align: center; }
.founder-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.reservation-closed { min-height: 330px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.reservation-closed strong { font-size: 1.2rem; }
.reservation-closed p { max-width: 410px; margin: 9px 0 0; color: #7d899e; font-size: .78rem; }

.privacy-banner {
    margin-bottom: 122px;
    padding: clamp(35px, 5vw, 59px);
    display: grid;
    grid-template-columns: auto 1.15fr .85fr;
    align-items: center;
    gap: clamp(32px, 5vw, 70px);
    border: 1px solid rgba(147, 119, 255, .25);
    border-radius: 20px;
    color: var(--ink);
    background: linear-gradient(115deg, rgba(68, 46, 152, .28), rgba(18, 29, 60, .78) 58%, rgba(11, 18, 35, .9));
    box-shadow: inset 0 1px rgba(255, 255, 255, .03);
}
.privacy-symbol { width: 86px; height: 86px; display: grid; place-items: center; border: 1px solid rgba(152, 122, 255, .24); border-radius: 19px; background: rgba(4, 9, 23, .34); }
.privacy-symbol img { width: 58px; height: 58px; }
.privacy-banner h2 { font-size: clamp(1.85rem, 3vw, 2.7rem); line-height: 1.11; letter-spacing: -.045em; }
.privacy-banner div > p:last-child { margin-bottom: 0; color: #919bb1; font-size: .78rem; line-height: 1.7; }
.privacy-banner ul { margin: 0; padding: 0; display: grid; gap: 10px; list-style: none; color: #aab3c6; font-size: .75rem; }
.privacy-banner li { display: flex; gap: 10px; align-items: center; }
.privacy-banner li span { color: #9d82ff; font-weight: 900; }

.final-cta { width: min(calc(100% - 40px), 850px); margin: 0 auto; padding: 10px 0 124px; text-align: center; }
.final-cta > img { width: 63px; height: 63px; margin-bottom: 25px; padding: 10px; border: 1px solid rgba(142, 108, 255, .23); border-radius: 16px; background: rgba(128, 83, 255, .07); }
.final-cta .eyebrow { margin-bottom: 20px; }
.final-cta h2 { margin-bottom: 21px; font-size: clamp(3rem, 7vw, 6rem); line-height: .98; letter-spacing: -.065em; }
.final-cta > p:not(.eyebrow) { max-width: 580px; margin-inline: auto; color: #8f9aaf; }
.final-cta .button { margin-top: 24px; }
.final-cta small { margin-top: 15px; display: block; color: #616d83; font-size: .65rem; }

.site-footer { min-height: 100px; border-top: 1px solid rgba(157, 171, 208, .1); color: #6e798e; font-size: .77rem; }
.site-footer div { display: flex; gap: 22px; }
.site-footer .footer-links { flex-wrap: wrap; justify-content: flex-end; }
.site-footer a:hover { color: #cbd2e2; }
.footer-brand { display: flex; align-items: center; gap: 10px; }
.footer-brand img { width: 27px; height: 27px; }

.dashboard-heading,
.panel-card,
.danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}
.status-dot, .connection-state { color: var(--lime); }

.dashboard-shell { padding: 70px 0 120px; }
.dashboard-heading h1 { margin-bottom: 6px; font-size: clamp(2.2rem, 5vw, 4.2rem); letter-spacing: -.05em; }
.dashboard-heading p { color: var(--muted); }
.dashboard-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.plan-chip { min-height: 38px; padding: 0 14px; display: inline-flex; align-items: center; border: 1px solid rgba(145, 113, 255, .3); border-radius: 999px; color: #b7a5ff; background: rgba(124, 83, 255, .08); font-size: .7rem; font-weight: 760; }
.success-message,
.error-message,
.warning-message {
    margin: 30px 0;
    padding: 14px 18px;
    border-radius: 8px;
}
.success-message { border: 1px solid #415d2a; color: var(--lime); background: var(--lime-dark); }
.error-message { border: 1px solid #713b38; color: #ffaaa5; background: #21100f; }
.warning-message { border: 1px solid #6b5b2f; color: #f1d885; background: #211d0f; }

.panel-card, .danger-zone { margin-top: 24px; padding: 34px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.panel-card h2, .danger-zone h2 { margin-bottom: 8px; }
.panel-card p, .danger-zone p { max-width: 700px; margin-bottom: 0; color: var(--muted); }
.channel-id { font-family: ui-monospace, monospace; font-size: .85rem; }
.muted-panel { background: #0d110f; }
.coming-soon { color: #858b83; font-size: .86rem; }

/* ---------- Administración privada de Fundadores ---------- */

.founder-admin-entry { border-color: rgba(145, 113, 255, .34); background: linear-gradient(120deg, rgba(84, 55, 178, .16), rgba(13, 20, 37, .9)); }
.founder-admin-heading { align-items: flex-end; }
.founder-admin-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.founder-admin-metrics { margin-top: 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.founder-admin-metrics article { min-width: 0; padding: 23px; border: 1px solid rgba(151, 166, 203, .14); border-radius: 13px; background: linear-gradient(145deg, rgba(17, 25, 45, .94), rgba(10, 16, 30, .94)); }
.founder-admin-metrics span, .founder-admin-metrics small { display: block; color: #748096; font-size: .68rem; }
.founder-admin-metrics strong { display: block; margin: 10px 0 4px; font-size: 2rem; line-height: 1; letter-spacing: -.04em; }
.founder-admin-metrics strong small { display: inline; margin-left: 4px; color: #68748a; font-size: .78rem; font-weight: 650; }

.founder-admin-panel { margin-top: 18px; padding: 30px; border: 1px solid rgba(151, 166, 203, .14); border-radius: 16px; background: rgba(10, 16, 30, .88); }
.founder-access-rule { margin: 0 0 24px; padding: 13px 16px; border-left: 3px solid #8d70ff; color: #9ba6b9; background: rgba(124, 83, 255, .07); font-size: .72rem; }
.founder-access-rule strong { color: #c7bbf8; }
.founder-admin-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.founder-admin-panel-head h2 { margin-bottom: 0; font-size: clamp(1.55rem, 3vw, 2.3rem); letter-spacing: -.035em; }
.founder-admin-filters { display: flex; align-items: flex-end; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.founder-admin-filters label { display: grid; gap: 5px; }
.founder-admin-filters label > span { color: #748096; font-size: .65rem; font-weight: 700; }
.founder-admin-filters input, .founder-admin-filters select, .founder-status-form select { min-height: 42px; padding: 0 11px; border: 1px solid rgba(151, 166, 203, .2); border-radius: 8px; color: #dce2ee; background: #0d1526; font: inherit; font-size: .76rem; }
.founder-admin-filters input { width: min(260px, 70vw); }
.founder-admin-filters select { min-width: 158px; }
.founder-admin-filters input:focus, .founder-admin-filters select:focus, .founder-status-form select:focus { border-color: rgba(151, 120, 255, .75); outline: 0; box-shadow: 0 0 0 3px rgba(125, 87, 255, .12); }
.founder-admin-filters .button { min-height: 42px; padding-inline: 16px; }
.founder-filter-clear { align-self: center; color: #9b87f1; font-size: .72rem; text-decoration: underline; text-underline-offset: 3px; }

.founder-admin-table-wrap { margin-top: 25px; }
.founder-admin-table { min-width: 980px; }
.founder-admin-table th { padding-top: 12px; padding-bottom: 12px; }
.founder-admin-table td { vertical-align: middle; font-size: .78rem; }
.founder-admin-table td:first-child { min-width: 210px; }
.founder-admin-table td:nth-child(2) { max-width: 250px; white-space: normal; }
.founder-admin-table td > strong, .founder-admin-table td > small { display: block; }
.founder-admin-table td > small { margin-top: 4px; color: #758196; font-size: .67rem; font-weight: 500; }
.founder-channel-ref { color: #aeb8cb; overflow-wrap: anywhere; }
.founder-plan-pill, .founder-status-pill { display: inline-flex; min-height: 27px; padding: 0 10px; align-items: center; border-radius: 999px; font-size: .65rem; font-weight: 760; }
.founder-plan-pill { border: 1px solid rgba(145, 113, 255, .25); color: #b7a5ff; background: rgba(124, 83, 255, .09); }
.founder-status-reserved { color: #b7a5ff; background: rgba(124, 83, 255, .12); }
.founder-status-contacted { color: #83bfff; background: rgba(54, 129, 225, .12); }
.founder-status-invited { color: #f1d885; background: rgba(207, 166, 57, .12); }
.founder-status-activated { color: var(--lime); background: var(--lime-dark); }
.founder-status-declined, .founder-status-cancelled { color: #9da5b4; background: rgba(125, 134, 151, .1); }
.founder-status-form { display: flex; align-items: center; gap: 7px; }
.founder-status-form select { min-height: 36px; max-width: 126px; }
.founder-status-form button { min-height: 36px; padding: 0 11px; border: 1px solid rgba(148, 116, 255, .34); border-radius: 7px; color: #c6b8ff; background: rgba(123, 83, 255, .09); cursor: pointer; font: inherit; font-size: .68rem; font-weight: 730; }
.founder-status-form button:hover { border-color: rgba(161, 133, 255, .65); background: rgba(123, 83, 255, .16); }
.founder-admin-empty { margin-top: 25px; padding: 60px 24px; border: 1px dashed rgba(151, 166, 203, .18); border-radius: 12px; text-align: center; }
.founder-admin-empty p { margin: 7px 0 0; color: #778397; font-size: .78rem; }
.founder-admin-privacy-note { margin: 18px 0 0; color: #616d82; font-size: .66rem; text-align: center; }

/* ---------- Planes, permisos y cuotas ---------- */

.plan-page { padding-bottom: 110px; }
.plan-page-heading { margin-top: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.plan-page-heading h1 { max-width: 900px; margin-bottom: 15px; font-size: clamp(2.6rem, 5.2vw, 5rem); line-height: 1; letter-spacing: -.06em; }
.plan-page-heading p:not(.eyebrow) { max-width: 700px; margin-bottom: 0; color: #9ca7bc; }
.plan-context-message { margin-top: 32px; padding: 22px 25px; display: grid; grid-template-columns: minmax(180px, .42fr) 1fr; gap: 28px; align-items: center; border: 1px solid rgba(147, 113, 255, .42); border-radius: 14px; background: linear-gradient(120deg, rgba(96, 61, 202, .18), rgba(12, 19, 35, .9)); }
.plan-context-message span { display: block; color: #9383d9; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.plan-context-message strong { display: block; margin-top: 4px; font-size: 1.1rem; }
.plan-context-message p { margin: 0; color: #aab3c6; font-size: .84rem; }
.account-pricing-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.account-plan-card { position: relative; min-height: 550px; padding: 30px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(17, 26, 47, .92), rgba(8, 14, 27, .96)); overflow: hidden; }
.account-plan-card.featured { border-color: rgba(148, 113, 255, .58); box-shadow: 0 28px 80px rgba(53, 34, 154, .19); }
.account-plan-card.current { box-shadow: inset 0 0 0 1px rgba(143, 112, 255, .36); }
.founder-price-tag { min-height: 25px; margin: -30px -30px 24px; padding: 5px 14px; color: #d5caff; background: rgba(126, 87, 255, .16); font-size: .59rem; font-weight: 820; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.account-plan-card:not(.featured) .founder-price-tag { background: rgba(110, 126, 176, .1); }
.account-plan-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.account-plan-card-head > span { color: #a68dff; font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.account-plan-card-head > strong { font-size: 1.65rem; line-height: 1; letter-spacing: -.045em; }
.account-plan-card-head > strong small { margin-left: 3px; color: #727e95; font-size: .66rem; font-weight: 600; letter-spacing: 0; }
.account-plan-card h2 { margin: 56px 0 16px; font-size: 1.58rem; line-height: 1.15; letter-spacing: -.04em; }
.account-plan-card ul { margin: 4px 0 24px; padding: 0; display: grid; gap: 13px; list-style: none; }
.account-plan-card li { position: relative; padding-left: 20px; color: #c4cbda; font-size: .77rem; }
.account-plan-card li::before { content: "✓"; position: absolute; left: 0; color: #9e82ff; font-weight: 850; }
.plan-boundary, .founder-lifetime-copy { margin: auto 0 22px; color: #747f94; font-size: .68rem; line-height: 1.62; }
.founder-lifetime-copy { color: #948bb2; }
.current-plan-label { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(144, 112, 255, .3); border-radius: 8px; color: #cfc5ff; background: rgba(126, 87, 255, .09); font-size: .75rem; font-weight: 750; }
.current-plan-label.muted { color: #737f94; border-color: var(--line); background: transparent; }
.plan-offer-note { margin-top: 18px; padding: 28px 32px; display: grid; grid-template-columns: .6fr 1fr; gap: 40px; align-items: center; border: 1px solid rgba(148, 113, 255, .22); border-radius: 15px; background: rgba(14, 21, 39, .7); }
.plan-offer-note h2 { margin-bottom: 0; font-size: 1.65rem; }
.plan-offer-note p:not(.eyebrow) { margin-bottom: 0; color: #8f9aae; font-size: .8rem; }

.plan-current-card { margin-top: 30px; padding: clamp(28px, 4vw, 44px); display: flex; align-items: center; justify-content: space-between; gap: 36px; border: 1px solid rgba(145, 113, 255, .34); border-radius: 17px; background: linear-gradient(120deg, rgba(83, 54, 177, .17), rgba(11, 18, 34, .94)); }
.plan-current-card h2 { margin-bottom: 9px; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.05em; }
.plan-current-card p:not(.eyebrow) { max-width: 690px; margin-bottom: 0; color: #929db2; }
.plan-usage-panel { margin-top: 18px; padding: 32px; border: 1px solid rgba(151, 166, 203, .14); border-radius: 16px; background: rgba(10, 16, 30, .88); }
.plan-usage-grid { margin-top: 25px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.plan-usage-grid article { min-width: 0; padding: 22px; border: 1px solid rgba(151, 166, 203, .13); border-radius: 12px; background: #0d1526; }
.plan-usage-grid article > span { display: block; min-height: 2.7em; color: #8995aa; font-size: .72rem; }
.plan-usage-grid strong { display: block; margin: 12px 0 7px; font-size: 1.8rem; line-height: 1; }
.plan-usage-grid strong small { margin-left: 3px; color: #68748a; font-size: .72rem; }
.plan-usage-grid article > small { display: block; color: #68748a; font-size: .64rem; line-height: 1.5; }
.plan-usage-bar { width: 100%; height: 7px; border: 0; border-radius: 999px; overflow: hidden; background: #1b263c; }
.plan-usage-bar::-webkit-progress-bar { border-radius: inherit; background: #1b263c; }
.plan-usage-bar::-webkit-progress-value { border-radius: inherit; background: linear-gradient(90deg, #8456f6, #4e67f1); }
.plan-usage-bar::-moz-progress-bar { border-radius: inherit; background: linear-gradient(90deg, #8456f6, #4e67f1); }
.plan-global-cap { margin: 17px 0 0; color: #69758a; font-size: .7rem; text-align: center; }

.analytics-header {
    margin-top: 64px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
}
.analytics-header h2 { margin-bottom: 0; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.045em; }
.analytics-header > p { margin-bottom: 6px; color: var(--muted); }
.analytics-delay-note { margin: 14px 0 0; padding: 13px 16px; border-left: 3px solid #8ea956; color: #c2c8bd; background: #111812; font-size: .86rem; }

.channel-profile-panel { margin-top: 22px; padding: 30px; display: grid; grid-template-columns: .64fr 1.36fr; gap: 30px; border: 1px solid rgba(139, 98, 255, .25); border-radius: 15px; background: linear-gradient(130deg, rgba(74, 48, 151, .15), rgba(13, 21, 38, .9) 43%); }
.channel-profile-intro h2 { margin-bottom: 12px; font-size: 1.65rem; line-height: 1.15; letter-spacing: -.035em; }
.channel-profile-intro > p:not(.eyebrow) { margin-bottom: 0; color: #8f9aae; font-size: .78rem; }
.channel-profile-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.channel-profile-grid article { min-width: 0; padding: 19px; border: 1px solid rgba(156, 170, 205, .14); border-radius: 11px; background: rgba(12, 20, 37, .72); }
.channel-profile-grid article > span { display: block; color: #8277b3; font-size: .62rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.channel-profile-grid article > strong { display: block; margin-top: 8px; font-size: 1rem; line-height: 1.3; }
.channel-profile-grid article > p { margin: 8px 0 0; color: #8b96aa; font-size: .69rem; line-height: 1.55; }
.channel-profile-grid article > small { display: block; margin-top: 9px; color: #68758b; font-size: .61rem; line-height: 1.5; }
.channel-profile-grid em { width: max-content; max-width: 100%; margin-top: 12px; padding: 5px 8px; display: block; border-radius: 999px; color: #b9a9ff; background: rgba(128, 88, 255, .12); font-size: .59rem; font-style: normal; font-weight: 740; }
.channel-profile-grid form { margin-top: 14px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; }
.channel-profile-grid form button { padding: 7px 10px; border: 1px solid rgba(147, 113, 255, .42); border-radius: 7px; color: #d4cbff; background: rgba(124, 84, 255, .13); cursor: pointer; font-size: .62rem; font-weight: 750; }
.channel-profile-grid form a { color: #758198; font-size: .61rem; text-decoration: underline; text-underline-offset: 2px; }

.dashboard-metrics {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 14px;
}
.dashboard-metrics article {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
}
.dashboard-metrics span,
.dashboard-metrics small { display: block; color: var(--muted); font-size: .78rem; }
.dashboard-metrics strong { display: block; margin: 7px 0 5px; font-size: 1.7rem; line-height: 1.1; }

.decision-panel,
.data-panel {
    margin-top: 22px;
    padding: 36px;
    border: 1px solid #3f5534;
    border-radius: 14px;
    background: linear-gradient(145deg, #172018, #101512);
}
.decision-panel h2 { max-width: 800px; margin-bottom: 12px; font-size: clamp(1.8rem, 3.4vw, 3rem); line-height: 1.08; letter-spacing: -.035em; }
.decision-panel > p { max-width: 850px; color: #c4c9bf; }
.decision-why { margin-top: 22px; }
.decision-why strong { color: var(--ink); }
.action-list { max-width: 820px; margin: 26px 0 0; padding-left: 22px; }
.action-list li { margin: 10px 0; padding-left: 8px; color: #d5d9d1; }
.decision-panel.diagnosis-preview { border-color: rgba(147, 113, 255, .32); background: linear-gradient(145deg, rgba(43, 29, 88, .36), rgba(13, 18, 31, .96)); }
.diagnosis-signals { max-width: 850px; margin: 22px 0 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.diagnosis-signals li { position: relative; padding-left: 21px; color: #c2c7d3; font-size: .84rem; }
.diagnosis-signals li::before { content: "↳"; position: absolute; left: 0; color: #9d82ff; }
.diagnosis-confidence { margin-top: 18px; color: #7d889d !important; font-size: .72rem; }
.locked-action-plan { margin-top: 28px; padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid rgba(148, 113, 255, .28); border-radius: 12px; background: rgba(9, 14, 27, .64); }
.locked-action-plan span { display: block; color: #8d7dce; font-size: .63rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.locked-action-plan strong { display: block; margin-top: 5px; font-size: 1rem; }
.locked-action-plan p { margin: 4px 0 0; color: #7f8a9e; font-size: .7rem; }
.locked-action-plan .button { flex: 0 0 auto; }

.secondary-actions { margin-top: 22px; padding: 30px 36px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.secondary-actions h2 { margin-bottom: 0; }
.secondary-action-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.secondary-action-grid article { padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.secondary-action-grid span { color: var(--lime); font-size: .72rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.secondary-action-grid h3 { margin: 8px 0; }
.secondary-action-grid p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }

.data-panel { border-color: var(--line); background: var(--surface); }
.data-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.data-panel-heading h2 { margin-bottom: 0; }
.data-panel-heading > span { color: var(--muted); font-size: .8rem; }
.table-wrap { margin-top: 28px; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px 14px; border-bottom: 1px solid var(--line); text-align: left; }
th { color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
td:first-child { min-width: 260px; color: var(--ink); font-weight: 650; }
td:not(:first-child) { white-space: nowrap; color: #c5c9c1; }
.metric-status { display: block; margin-top: 4px; color: var(--muted); font-size: .7rem; font-weight: 500; }
.coverage-note { margin: 18px 4px 0; color: var(--muted); font-size: .82rem; }

.retention-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.retention-card { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: #0d1210; }
.retention-card h3 { min-height: 3.2em; margin-bottom: 18px; font-size: 1rem; line-height: 1.35; }
.retention-chart { height: 150px; }
.retention-chart svg { width: 100%; height: 118px; overflow: visible; }
.retention-chart line { stroke: #26312c; stroke-width: 1; vector-effect: non-scaling-stroke; }
.retention-chart polyline { fill: none; stroke: var(--lime); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.chart-labels { margin-top: 4px; display: flex; justify-content: space-between; color: var(--muted); font-size: .68rem; }
.retention-facts { margin: 16px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.retention-facts div { min-width: 0; }
.retention-facts dt { color: var(--muted); font-size: .72rem; }
.retention-facts dd { margin: 3px 0 0; font-weight: 740; }
.retention-facts small { display: block; color: var(--muted); font-size: .68rem; font-weight: 500; }

.danger-zone { margin-top: 72px; border-color: #4d2927; align-items: flex-end; }
.delete-form { min-width: 330px; display: grid; gap: 10px; }
.delete-form label { color: #e1a09c; font-size: .82rem; }
.delete-form input { min-height: 46px; padding: 0 12px; border: 1px solid #5f3330; border-radius: 7px; color: var(--ink); background: #130d0c; }

.legal-page, .error-page { max-width: 800px; padding: 90px 0 130px; }
.legal-page-wide { max-width: 980px; }
.legal-page h1, .error-page h1 { font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1; letter-spacing: -.06em; }
.legal-intro, .error-page p { color: #c1c5bb; font-size: 1.15rem; }
.legal-page h2 { margin-top: 48px; }
.legal-page p, .legal-page li { color: #b1b6ad; }
.legal-page a,
.legal-acceptance-shell a { color: #bca9ff; text-decoration: underline; text-decoration-color: rgba(188, 169, 255, .35); text-underline-offset: 3px; }
.legal-page code { padding: 2px 6px; border-radius: 5px; color: #d9ceff; background: rgba(139, 92, 246, .12); }
.legal-page section { scroll-margin-top: 30px; }
.legal-alert {
    margin: 30px 0;
    padding: 20px 22px;
    border: 1px solid #725e31;
    border-radius: 10px;
    color: #ead89c;
    background: rgba(77, 61, 24, .34);
}
.legal-alert strong { display: block; margin-bottom: 5px; color: #fff0bd; }
.legal-index {
    margin: 34px 0 8px;
    padding: 16px 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
}
.legal-index a { font-size: .82rem; }
.legal-facts {
    margin: 24px 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
}
.legal-facts div { min-width: 0; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.legal-facts div:nth-child(odd) { border-right: 1px solid var(--line); }
.legal-facts dt { color: var(--muted); font-size: .7rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.legal-facts dd { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--ink); }
.legal-table-wrap { margin: 22px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.legal-table { width: 100%; min-width: 720px; border-collapse: collapse; background: rgba(13, 19, 35, .72); }
.legal-table th { color: #b4a4ee; background: rgba(139, 92, 246, .06); }
.legal-table td { min-width: 180px; white-space: normal; vertical-align: top; color: #b7bdca; font-size: .88rem; line-height: 1.55; }
.legal-table td:first-child { min-width: 190px; color: var(--ink); }
.legal-provider-list li { margin-bottom: 10px; }
.legal-callout-grid { margin: 30px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.legal-callout-grid section { padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.legal-callout-grid span { color: #a48bff; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.legal-callout-grid h2 { margin: 10px 0 8px; font-size: 1.2rem; }
.legal-callout-grid p { margin: 0; font-size: .86rem; }
.legal-acceptance-shell { width: min(calc(100% - 40px), 860px); margin: 0 auto; padding: 80px 0 130px; }
.legal-acceptance-shell > div:first-child { max-width: 720px; }
.legal-acceptance-shell h1 { margin-bottom: 22px; font-size: clamp(2.7rem, 6vw, 5rem); line-height: 1; letter-spacing: -.06em; }
.legal-acceptance-shell > div:first-child > p:last-child { color: var(--muted); font-size: 1.05rem; }
.legal-summary-grid { margin: 32px 0 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.legal-summary-grid a { padding: 22px; display: grid; gap: 5px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--surface); text-decoration: none; }
.legal-summary-grid span { color: #9c7cff; font-size: .72rem; font-weight: 800; }
.legal-summary-grid small { color: var(--muted); }
.legal-acceptance-form { padding: 28px; display: grid; gap: 16px; border: 1px solid #3d4b68; border-radius: 14px; background: linear-gradient(145deg, #10182b, #0c1220); }
.legal-acceptance-form .consent-check { margin: 0; }
.legal-acceptance-form .button { width: max-content; margin-top: 8px; }
.legal-logout-form { margin-top: 16px; }
.error-page .button { margin-top: 24px; }

/* ---------- Laboratorio de Medios ---------- */

.lab-grid { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lab-card { align-items: stretch; flex-direction: column; }
.lab-card h2 { margin-bottom: 10px; }
.lab-form { margin-top: 22px; display: grid; gap: 12px; }
.file-label { color: var(--muted); font-size: .82rem; }
.file-input {
    padding: 12px;
    border: 1px dashed var(--line);
    border-radius: 8px;
    color: var(--muted);
    background: var(--surface-2);
    font-size: .9rem;
}
.file-input::file-selector-button {
    margin-right: 14px;
    padding: 9px 16px;
    border: 1px solid var(--line);
    border-radius: 7px;
    color: var(--ink);
    background: transparent;
    cursor: pointer;
    font: inherit;
}
.lab-promo { border-color: #3f5534; }

.verdict-panel {
    margin-top: 24px;
    padding: 36px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: linear-gradient(145deg, #172018, #101512);
}
.verdict-alto { border-color: #415d2a; }
.verdict-medio { border-color: #6b5b2f; }
.verdict-bajo { border-color: #713b38; }
.verdict-headline { display: flex; align-items: center; gap: 30px; }
.verdict-headline h2 { margin-bottom: 8px; font-size: clamp(1.7rem, 3vw, 2.6rem); letter-spacing: -.03em; }
.verdict-summary { max-width: 760px; margin-bottom: 0; color: #b6bbb2; font-size: .95rem; }
.verdict-score { position: relative; flex-shrink: 0; width: 118px; height: 118px; }
.verdict-score svg { width: 100%; height: 100%; }
.verdict-score .score-track { fill: none; stroke: #26312c; stroke-width: 3.2; }
.verdict-score .score-value { fill: none; stroke: var(--lime); stroke-width: 3.2; stroke-linecap: round; }
.verdict-medio .score-value { stroke: #f1d885; }
.verdict-bajo .score-value { stroke: var(--danger); }
.verdict-score strong {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 1.9rem;
    letter-spacing: -.04em;
}

.finding-grid { margin-top: 30px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.finding { padding: 20px 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.finding span { font-size: .7rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.finding-strength span { color: var(--lime); }
.finding-issue span { color: #ffaaa5; }
.finding-info span { color: var(--muted); }
.finding h3 { margin: 8px 0 6px; font-size: 1.02rem; }
.finding p { margin-bottom: 0; color: var(--muted); font-size: .88rem; }

.verdict-recommendations { margin-top: 30px; }
.verdict-recommendations h3 { margin-bottom: 0; }

.ai-insight {
    margin-top: 30px;
    padding: 26px 28px;
    border: 1px solid #3f5534;
    border-radius: 12px;
    background: linear-gradient(145deg, #131d14, #0e1310);
}
.ai-insight .eyebrow { margin-bottom: 12px; }
.ai-insight-summary { max-width: 820px; color: #d5d9d1; font-size: 1.02rem; }
.ai-insight-detail { max-width: 820px; color: var(--muted); font-size: .9rem; }
.ai-insight-grid { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ai-insight-grid h3 { margin-bottom: 8px; font-size: .95rem; }
.ai-insight-grid ul { margin: 0; padding-left: 18px; }
.ai-insight-grid li { margin: 6px 0; color: var(--muted); font-size: .9rem; }
.ai-insight-note { margin: 18px 0 0; color: #858b83; font-size: .78rem; }

.level-pill {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 740;
    text-transform: capitalize;
}
.level-alto { color: var(--lime); background: var(--lime-dark); }
.level-medio { color: #f1d885; background: #211d0f; }
.level-bajo { color: #ffaaa5; background: #21100f; }

/* ---------- Decision Ledger ---------- */

.level-pill.st-proposed { color: #cdd2c8; background: #181f1b; }
.level-pill.st-accepted,
.level-pill.st-applied { color: var(--lime); background: var(--lime-dark); }
.level-pill.st-modified,
.level-pill.st-evaluating { color: #f1d885; background: #211d0f; }
.level-pill.st-confirmed { color: var(--lime); background: var(--lime-dark); }
.level-pill.st-refuted,
.level-pill.st-invalidated { color: #ffaaa5; background: #21100f; }
.level-pill.st-inconclusive,
.level-pill.st-not_evaluable,
.level-pill.st-rejected,
.level-pill.st-cancelled { color: var(--muted); background: #171b19; }

.pred-small { font-size: .95rem !important; word-break: break-all; }
.chain-hash { font-family: ui-monospace, monospace; font-size: .78rem; color: var(--muted); }
.event-payload {
    max-width: 100%;
    max-height: 280px;
    margin: 8px 0 0;
    padding: 12px;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #0d1210;
    color: #c5c9c1;
    font-size: .76rem;
}
details summary { cursor: pointer; color: var(--lime); font-size: .82rem; }

/* ---------- Cuestionario de arranque y Radar de Nicho ---------- */

.starter-nudge {
    margin-top: 24px;
    padding: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border: 1px solid var(--lime);
    border-radius: 14px;
    background: linear-gradient(145deg, #1a2412, #101510);
}
.starter-nudge h2 { margin-bottom: 10px; }
.starter-nudge p { max-width: 640px; margin-bottom: 0; color: var(--muted); }

.quiz-card { align-items: stretch; flex-direction: column; }
.quiz-form { margin-top: 22px; display: grid; gap: 10px; max-width: 560px; }
.quiz-form label { margin-top: 8px; color: var(--muted); font-size: .84rem; }
.quiz-form .button { margin-top: 16px; justify-self: start; }
.quiz-input {
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    background: var(--surface-2);
}
select.quiz-input { appearance: auto; }

.niche-form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.niche-form .quiz-input { flex: 1; min-width: 260px; }

.plan-grid { margin-top: 26px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.plan-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.plan-grid span { color: var(--lime); font-size: .72rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.plan-grid p { margin: 8px 0 0; color: #d5d9d1; font-size: .92rem; }

/* ---------- Consentimiento de aprendizaje ---------- */

.consent-card {
    margin-top: 24px;
    padding: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border: 1px solid #415d2a;
    border-radius: 14px;
    background: linear-gradient(145deg, #16210f, #101510);
}
.consent-card h2 { margin-bottom: 10px; }
.consent-card p { max-width: 640px; margin-bottom: 0; color: var(--muted); }
.consent-actions { display: grid; gap: 10px; flex-shrink: 0; }
.consent-status {
    margin-top: 24px;
    padding: 16px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
}
.consent-status p { margin: 0; color: var(--muted); font-size: .88rem; }
.consent-status strong { color: var(--ink); }
.consent-toggle { min-height: 40px; padding: 0 16px; font-size: .84rem; }

/* ---------- Chat con Owl ---------- */

.owl-chat { position: fixed; right: 22px; bottom: 22px; z-index: 40; }
.owl-chat-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 20px;
    border: 1px solid rgba(160, 131, 255, .42);
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(115deg, #8456f6, #475ff4);
    cursor: pointer;
    font-weight: 740;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}
.owl-chat-toggle:hover { background: linear-gradient(115deg, #9469ff, #5670ff); }
.owl-chat-privacy { display: block; padding: 0 18px 14px; color: #aeb7cc; font-size: .68rem; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.owl-chat-panel[hidden] { display: none; }
.owl-chat-panel {
    position: absolute;
    right: 0;
    bottom: 60px;
    width: min(380px, calc(100vw - 44px));
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .55);
    overflow: hidden;
}
.owl-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
    background: var(--surface-2);
}
.owl-chat-header strong { display: block; }
.owl-chat-header span { color: var(--muted); font-size: .76rem; }
.owl-chat-close {
    border: 0;
    padding: 2px 8px;
    color: var(--muted);
    background: transparent;
    cursor: pointer;
    font-size: 1.3rem;
    line-height: 1;
}
.owl-chat-close:hover { color: var(--ink); }
.owl-chat-messages {
    height: 320px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
}
.owl-chat-message { max-width: 88%; padding: 10px 14px; border-radius: 12px; font-size: .88rem; }
.owl-chat-message p { margin: 0 0 8px; }
.owl-chat-message p:last-child { margin-bottom: 0; }
.owl-chat-message.owl { align-self: flex-start; border: 1px solid var(--line); color: #d5d9d1; background: var(--surface-2); }
.owl-chat-message.user { align-self: flex-end; color: #fff; background: linear-gradient(115deg, #8456f6, #475ff4); }
.owl-chat-message.pending { color: var(--muted); font-style: italic; }
.owl-chat-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 16px 12px;
}
.owl-chat-suggestions button {
    padding: 6px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    background: transparent;
    cursor: pointer;
    font-size: .76rem;
}
.owl-chat-suggestions button:hover { color: var(--ink); border-color: #3f5534; }
.owl-chat-form {
    display: flex;
    gap: 8px;
    padding: 12px 16px 16px;
    border-top: 1px solid var(--line);
}
.owl-chat-form input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    background: var(--surface-2);
}
.owl-chat-send { min-height: 44px; padding: 0 16px; }

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap;
}

:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }

@media (max-width: 840px) {
    .hero { margin-top: 58px; grid-template-columns: 1fr; gap: 58px; }
    .hero-copy { max-width: 720px; }
    .product-preview { max-width: 680px; }
    .preview-window { transform: none; }
    .split-heading, .proof-panel, .founder-reservation-panel { grid-template-columns: 1fr; }
    .split-heading { gap: 24px; }
    .split-heading > p { max-width: 620px; }
    .process-grid { grid-template-columns: 1fr; }
    .process-card { min-height: 260px; }
    .capability-grid { grid-template-columns: 1fr 1fr; }
    .pricing-grid, .account-pricing-grid { grid-template-columns: 1fr; }
    .pricing-card { min-height: 410px; }
    .reservation-form-wrap { border-top: 1px solid rgba(157, 171, 208, .11); border-left: 0; }
    .privacy-banner, .retention-grid { grid-template-columns: 1fr; }
    .privacy-symbol { width: 70px; height: 70px; }
    .dashboard-heading, .panel-card, .danger-zone { align-items: flex-start; flex-direction: column; }
    .dashboard-metrics { grid-template-columns: repeat(2, 1fr); }
    .founder-admin-heading, .founder-admin-panel-head { align-items: flex-start; flex-direction: column; }
    .founder-admin-actions, .founder-admin-filters { justify-content: flex-start; }
    .founder-admin-metrics { grid-template-columns: repeat(2, 1fr); }
    .plan-usage-grid { grid-template-columns: repeat(2, 1fr); }
    .channel-profile-panel { grid-template-columns: 1fr; }
    .channel-profile-grid { grid-template-columns: repeat(3, 1fr); }
    .delete-form { min-width: 100%; }
    .lab-grid, .finding-grid, .ai-insight-grid, .plan-grid { grid-template-columns: 1fr; }
    .starter-nudge { align-items: flex-start; flex-direction: column; }
    .consent-card { align-items: flex-start; flex-direction: column; }
    .consent-actions { grid-auto-flow: column; }
    .consent-status { align-items: flex-start; flex-direction: column; }
    .verdict-headline { align-items: flex-start; flex-direction: column; }
    .verdict-panel { padding: 24px; }
    .legal-callout-grid, .legal-summary-grid { grid-template-columns: 1fr; }
    .legal-facts { grid-template-columns: 1fr; }
    .legal-facts div:nth-child(odd) { border-right: 0; }
}

@media (max-width: 560px) {
    .site-header { min-height: 70px; }
    .brand img { width: 139px; }
    .site-header nav > a:not(.nav-cta) { display: none; }
    .nav-cta { min-height: 36px; padding: 0 14px; }
    .hero { margin: 48px auto 72px; gap: 42px; }
    .hero h1 { font-size: clamp(2.8rem, 14vw, 4.4rem); }
    .hero-lead { font-size: .98rem; }
    .hero-actions { flex-direction: column; }
    .hero-actions .button { width: 100%; }
    .trust-note { display: grid; gap: 5px; }
    .preview-bar { grid-template-columns: 1fr auto; }
    .preview-bar > span:nth-child(2) { display: none; }
    .preview-body { padding: 24px; }
    .evidence-row { grid-template-columns: 1fr; }
    .evidence-row div { padding: 12px 0; }
    .evidence-row div + div { padding-left: 0; border-top: 1px solid rgba(157, 171, 208, .12); border-left: 0; }
    .decision-strip { padding-inline: 6px; }
    .decision-strip p { flex-wrap: wrap; gap: 7px 11px; font-size: .57rem; }
    .section { padding: 82px 0 94px; }
    .section-title { font-size: clamp(2.25rem, 11vw, 3.4rem); }
    .process-grid, .capability-grid { margin-top: 44px; }
    .capability-grid { grid-template-columns: 1fr; }
    .capability-card { min-height: 350px; }
    .proof-panel { padding: 27px; gap: 42px; }
    .founder-counter { align-items: flex-start; flex-wrap: wrap; }
    .founder-counter > span { width: 100%; }
    .pricing-card { min-height: 390px; padding: 26px; }
    .plan-ribbon { margin: -26px -26px 24px; }
    .form-row.two-columns, .plan-choice { grid-template-columns: 1fr; }
    .reservation-copy, .reservation-form-wrap { padding: 27px; }
    .privacy-banner, .panel-card, .danger-zone { padding: 26px; }
    .privacy-banner { margin-bottom: 96px; }
    .final-cta { padding-bottom: 98px; }
    .analytics-header, .data-panel-heading { align-items: flex-start; flex-direction: column; }
    .dashboard-metrics { grid-template-columns: 1fr; }
    .dashboard-heading-actions, .plan-current-card { width: 100%; align-items: flex-start; flex-direction: column; }
    .plan-page-heading, .locked-action-plan { align-items: flex-start; flex-direction: column; }
    .plan-page-heading .button, .locked-action-plan .button { width: 100%; }
    .plan-context-message, .plan-offer-note { grid-template-columns: 1fr; gap: 14px; }
    .founder-admin-actions, .founder-admin-actions .button, .founder-admin-filters, .founder-admin-filters label, .founder-admin-filters input, .founder-admin-filters select, .founder-admin-filters .button { width: 100%; }
    .founder-admin-metrics { grid-template-columns: 1fr 1fr; }
    .founder-admin-panel { padding: 22px; }
    .plan-usage-panel { padding: 22px; }
    .plan-usage-grid { grid-template-columns: 1fr; }
    .channel-profile-panel { padding: 22px; }
    .channel-profile-grid { grid-template-columns: 1fr; }
    .decision-panel, .data-panel, .secondary-actions { padding: 24px; }
    .secondary-action-grid { grid-template-columns: 1fr; }
    .site-footer { padding: 25px 0; align-items: flex-start; flex-direction: column; }
    .site-footer .footer-links { justify-content: flex-start; gap: 10px 18px; }
    .legal-page, .legal-acceptance-shell { padding: 58px 0 90px; }
    .legal-acceptance-form { padding: 22px; }
    .legal-acceptance-form .button { width: 100%; }
}
