/* Contraste oscuro compartido por todas las vistas que usan layouts.appdev. */
body.dark-landing{
  color-scheme:dark;
  --ink:#f0efff;
  --ink-strong:#f5f4ff;
  --ink-soft:#c1bedb;
  --line:#3d3a5c;
  --bg:#141426;
  --bg-tint:#19182d;
  --bg-tint-2:#211f39;
  --brand:#6553e8;
  --brand-dark:#5140d0;
  --brand-soft:#2d2952;
  --teal:#34d9d2;
  --teal-soft:#163c42;
  --surface:#1d1c32;
  --surface-2:#24223d;
  --tray:#1b1a30;
  --rim:#3d3a5c;
  --ink-muted:#c1bedb;
  --shadow-sm:0 8px 22px rgba(0,0,0,.22);
  --shadow:0 24px 56px rgba(0,0,0,.32);
  --shadow-brand:0 16px 34px -16px rgba(94,77,234,.45);
  background:var(--bg);
  color:var(--ink);
}
body.dark-landing h1,body.dark-landing h2,body.dark-landing h3,body.dark-landing h4{color:var(--ink-strong)}
body.dark-landing p,body.dark-landing li,body.dark-landing label{color:inherit}
body.dark-landing .lede,body.dark-landing .muted,body.dark-landing .ink-soft,body.dark-landing small{color:var(--ink-soft)}
body.dark-landing .sec{background:var(--bg)}
body.dark-landing .sec--tint{background:var(--bg-tint)}
body.dark-landing .sec--tint2{background:#1d1b34}
body.dark-landing .clay,body.dark-landing .clay-sm,body.dark-landing .tray,body.dark-landing .shot,body.dark-landing .mod,body.dark-landing .panel,body.dark-landing .net,body.dark-landing .quote,body.dark-landing .stat,body.dark-landing .step,body.dark-landing .plan,body.dark-landing .area,body.dark-landing .bento-item,body.dark-landing .faq-item,body.dark-landing .form-card,body.dark-landing .prose,body.dark-landing .feature-card,body.dark-landing .country-card,body.dark-landing .card,body.dark-landing .node,body.dark-landing .kpi{
  color:var(--ink);background-color:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)
}
body.dark-landing .bento-item.is-lead,body.dark-landing .clay.cta,body.dark-landing .cta:not(.clay){background:linear-gradient(135deg,#342d69,#211f3c 76%);border-color:#514a80;color:var(--ink)}
body.dark-landing .bento-item.is-lead h3,body.dark-landing .bento-item.is-lead p,body.dark-landing .clay.cta h2,body.dark-landing .clay.cta p{color:#f5f4ff}
body.dark-landing .plan-limits,body.dark-landing .plan .plan-limits,body.dark-landing .chip-solid,body.dark-landing .tabs,body.dark-landing .switch{background:#211f39;border-color:var(--line);color:var(--ink)}
body.dark-landing .plan.is-featured{border-color:var(--accent,#b2a9ff);box-shadow:0 18px 42px rgba(94,77,234,.24)}
body.dark-landing .plan-badge{background:#6553e8;color:#fff}
body.dark-landing .plan-price small,body.dark-landing .plan-list-title,body.dark-landing .plan-limits li{color:var(--ink-soft)}
body.dark-landing .switch-tab{color:#c1bedb}
body.dark-landing .switch-tab:hover{color:#fff}
body.dark-landing .switch-tab.is-active{background:#3a3658;color:#fff;box-shadow:inset 0 0 0 1px #625a8d}
body.dark-landing .pill-brand{background:#302b58;color:#d6d0ff}
body.dark-landing .pill-teal{background:#153b40;color:#7ff5ed}
body.dark-landing .faq-item,body.dark-landing.signal-feature .faq-item{background:#1d1c32!important;background-color:#1d1c32!important;color:#f0efff!important;border:1px solid #3d3a5c!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
body.dark-landing .faq-item[open],body.dark-landing.signal-feature .faq-item[open]{background:#211f39!important}
body.dark-landing .faq-item summary,body.dark-landing .faq-item summary h3{color:#f0efff!important}
body.dark-landing .faq-item p{color:#c1bedb!important}
body.dark-landing .faq-item .chev{color:#34f9f3!important}
body.dark-landing .card h2,body.dark-landing .card h3,body.dark-landing .node,body.dark-landing .kpi .v,body.dark-landing .plan-name{color:#f0efff}
body.dark-landing .card p,body.dark-landing .node span,body.dark-landing .kpi .k{color:#c1bedb}
body.dark-landing .card-ico,body.dark-landing .tint-3 .card-ico{background:#302b54;color:#e0dbff}
body.dark-landing .tint-2 .card-ico{background:#153b40;color:#8af2ec}
body.dark-landing .tint-4 .card-ico{background:#302b54;color:#d5ceff}
body.dark-landing .pill-mint{background:#153b40;color:#a3fff8}
body.dark-landing .plan-price .num{color:#f5f4ff}
body.dark-landing .plan-features li{color:#e1def2}
body.dark-landing .faq details,body.dark-landing .prose details{border-color:var(--line)}
body.dark-landing .sibling,body.dark-landing .prose aside nav a,body.dark-landing .area-links a{background:#211f39;color:#e7e5f7;border-color:var(--line)}
body.dark-landing .sibling:hover,body.dark-landing .prose aside nav a:hover,body.dark-landing .area-links a:hover{background:#302c50;color:#fff;border-color:#7568c8}
body.dark-landing .mi-list li,body.dark-landing .fsplit-list li{color:#d7d4eb}
body.dark-landing .mi-list .ico,body.dark-landing .fsplit-list .ico,body.dark-landing .plan-features .ico{color:#55e8df}
body.dark-landing .btn-primary{background:#6553e8;color:#fff;border-color:#8174ff}
body.dark-landing .btn-primary:hover{background:#5140d0;color:#fff}
body.dark-landing .btn-outline{background:transparent;color:#d0caff;border-color:#8d82e8}
body.dark-landing .btn-outline:hover{background:#6553e8;color:#fff}
body.dark-landing .btn-light{background:#26243f;color:#f0efff;border-color:#514c74}
body.dark-landing .btn-light:hover{background:#322e52;color:#fff}
body.dark-landing .btn-ghost{color:#d5d0ff}
body.dark-landing .btn-ghost:hover{background:#6553e8;color:#fff}
body.dark-landing input,body.dark-landing select,body.dark-landing textarea,body.dark-landing .clay-form input,body.dark-landing .clay-form select,body.dark-landing .clay-form textarea,body.dark-landing .switch-tab{color:#f0efff}
body.dark-landing input,body.dark-landing select,body.dark-landing textarea,body.dark-landing .clay-form input,body.dark-landing .clay-form select,body.dark-landing .clay-form textarea{background:#19182d;border-color:#4a4769}
body.dark-landing input::placeholder,body.dark-landing textarea::placeholder{color:#aaa7c6;opacity:1}
body.dark-landing input:focus,body.dark-landing select:focus,body.dark-landing textarea:focus,body.dark-landing .clay-form input:focus,body.dark-landing .clay-form select:focus,body.dark-landing .clay-form textarea:focus{border-color:#a39aff;box-shadow:0 0 0 3px rgba(178,169,255,.2)}
body.dark-landing option{background:#19182d;color:#f0efff}
body.dark-landing table th,body.dark-landing table td{border-color:var(--line);color:var(--ink)}
body.dark-landing .lang-panel,body.dark-landing .mega,body.dark-landing .burger-panel{background:rgba(25,24,44,.99);border-color:var(--line);box-shadow:0 24px 64px rgba(0,0,0,.5)}
body.dark-landing .lang-panel a,body.dark-landing .mega a,body.dark-landing .burger-panel a{color:#f0efff}
body.dark-landing .lang-panel a:hover,body.dark-landing .mega a:hover,body.dark-landing .burger-panel a:hover{background:#302d50;color:#34f9f3}
body.dark-landing .mega-h,body.dark-landing .burger-panel .g{color:#34f9f3}
body.dark-landing .nav{background:rgba(17,17,30,.98);border-bottom:1px solid #34314e;box-shadow:0 10px 32px rgba(0,0,0,.24)}
body.dark-landing .nav.is-stuck{background:rgba(17,17,30,.99);box-shadow:0 12px 36px rgba(0,0,0,.42)}
body.dark-landing.has-hero .nav:not(.is-stuck){background:rgba(17,17,30,.84);border-bottom-color:rgba(178,169,255,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body.dark-landing.has-hero .nav:not(.is-stuck) .logo{filter:none}
body.dark-landing.has-hero .nav:not(.is-stuck) .nav-links>a,body.dark-landing.has-hero .nav:not(.is-stuck) .menu>summary,body.dark-landing.has-hero .nav:not(.is-stuck) .nav-login{color:#f0efff}
body.dark-landing .foot{background:#0e0e19;color:#c1bedb;border-top:1px solid #34314e}
body.dark-landing .foot .foot-h{color:#f0efff}
body.dark-landing .foot a{color:#c1bedb}
body.dark-landing .foot a:hover{color:#34f9f3}
body.dark-landing .foot-bar{border-color:#34314e;color:#aaa7c6}
body.dark-landing :focus-visible{outline-color:#34f9f3}
@media(max-width:700px){body.dark-landing .nav-links.open{background:rgba(25,24,44,.99);border-color:var(--line)}body.dark-landing .nav-links.open a{color:#f0efff}}
@media(prefers-reduced-motion:reduce){body.dark-landing *,body.dark-landing *::before,body.dark-landing *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Legibilidad de componentes específicos de páginas de contacto, mapa y afiliados. */
body.dark-landing .eyebrow{background:#2c2850;color:#ddd8ff}
body.dark-landing .mod-ico,body.dark-landing .tint-violet,body.dark-landing .tint-navy{background:#302b54;color:#d5ceff}
body.dark-landing .tint-teal{background:#153b40;color:#8af2ec}
body.dark-landing .tint-warn{background:#46351e;color:#ffdda0}
body.dark-landing .area-links a:hover,body.dark-landing .sibling:hover,body.dark-landing .prose aside nav a:hover{color:#e0dbff}
body.dark-landing .bk-cal a,body.dark-landing .bk-nav,body.dark-landing .bk-combo input,body.dark-landing .bk-combo ul,body.dark-landing .bk-combo li,body.dark-landing .bk-time,body.dark-landing .bkm-cal a,body.dark-landing .bk-guests-row input,body.dark-landing .bk-chips li{
  background:#1d1c32;color:#f0efff;border-color:#4a4769
}
body.dark-landing .bk-nav:hover,body.dark-landing .bk-cal a:hover,body.dark-landing .bk-combo li.is-active,body.dark-landing .bk-time:hover,body.dark-landing .bk-time.is-selected,body.dark-landing .bkm-cal a:hover{background:#302b54;color:#f5f4ff;border-color:#8d82e8}
body.dark-landing .bk-day.is-open{background:#302b54;color:#dfd9ff}
body.dark-landing .bk-day.is-selected{background:#6553e8;color:#fff}
body.dark-landing .bk-error,body.dark-landing .p-alert{background:#3a202c;color:#ffd6df;border:1px solid #75404e}
body.dark-landing .bk-error *,body.dark-landing .p-alert *{color:inherit}
body.dark-landing .dial-btn,body.dark-landing .dial-pop,body.dark-landing .dial-search,body.dark-landing .p-link input{background:#19182d;color:#f0efff;border-color:#4a4769}
body.dark-landing .dial-list li{color:#e4e1f5}
body.dark-landing .dial-list li.is-active{background:#153b40;color:#a3fff8}
body.dark-landing .dial-num,body.dark-landing .dial-empty{color:#c1bedb}
body.dark-landing .p-link-label{color:#c7bfff}
body.dark-landing #world-map{background:#11111d!important}
body.dark-landing .map-fade--top{background:linear-gradient(to bottom,#141426,rgba(20,20,38,0))}
body.dark-landing .map-fade--bottom{background:linear-gradient(to top,#141426,rgba(20,20,38,0))}
body.dark-landing .map-iw__name{color:#f0efff}
body.dark-landing .map-iw__total,body.dark-landing .map-iw__label{color:#34f9f3}
body.dark-landing .map-iw__unit{color:#c1bedb}
body.dark-landing .country-card{background:#1d1c32;border-color:#3d3a5c;box-shadow:0 8px 22px rgba(0,0,0,.24)}
body.dark-landing .country-card__name{color:#f0efff}
body.dark-landing .country-card__count{color:#76eee7}
body.dark-landing .country-list,body.dark-landing .map-legend{background:#19182d;color:#e8e6f6;border-color:#3d3a5c}
body.dark-landing .form-error,body.dark-landing .validation-error{color:#ffc0cc}

/* Tipografía y barra idénticas a Signal en el inicio, módulos y precios. */
@font-face{font-family:Inter;src:url(../loginx/fonts/montserrat/Montserrat-Regular.ttf) format("truetype");font-display:swap;font-weight:400}
@font-face{font-family:Inter;src:url(../loginx/fonts/montserrat/Montserrat-Medium.ttf) format("truetype");font-display:swap;font-weight:500}
@font-face{font-family:Inter;src:url(../loginx/fonts/montserrat/Montserrat-SemiBold.ttf) format("truetype");font-display:swap;font-weight:600}
@font-face{font-family:Inter;src:url(../loginx/fonts/montserrat/Montserrat-Bold.ttf) format("truetype");font-display:swap;font-weight:700}
body.dark-landing{font-family:Inter,Arial,sans-serif}
body.dark-landing h1,body.dark-landing h2,body.dark-landing h3,body.dark-landing h4{font-family:Inter,Arial,sans-serif;letter-spacing:-.04em}
body.dark-landing .nova-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;width:100%;max-width:none;height:80px;margin:0;padding:0 max(32px,calc((100% - 1440px)/2 + 32px));border-bottom:1px solid rgba(178,169,255,.2);background:rgba(16,16,29,.97);box-shadow:0 10px 30px rgba(4,4,15,.22);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}
body.dark-landing .nova-header.is-scrolled{background:rgba(16,16,29,.985);border-color:rgba(178,169,255,.28);box-shadow:0 12px 36px rgba(3,3,12,.42)}
/* Keep the header visually open against the hero; bring back its separator after scrolling. */
body.dark-landing .nova-header:not(.is-scrolled){background:transparent;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.dark-landing .nova-wordmark{display:inline-flex;align-items:center;width:max-content}body.dark-landing .nova-wordmark img{display:block;width:145px;height:auto}
body.dark-landing .nova-navigation,body.dark-landing .nova-account{display:flex;align-items:center;gap:26px}body.dark-landing .nova-navigation{justify-self:center}body.dark-landing .nova-account{justify-self:end}
body.dark-landing .nova-navigation>a,body.dark-landing .nova-menu summary,body.dark-landing .nova-login{font-family:Inter,Arial,sans-serif;font-size:13px;color:#efedff;text-decoration:none;white-space:nowrap}
body.dark-landing .nova-navigation>a:hover,body.dark-landing .nova-login:hover{color:#34f9f3}
body.dark-landing .nova-menu{position:relative}body.dark-landing .nova-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}body.dark-landing .nova-menu summary::-webkit-details-marker{display:none}
body.dark-landing .nova-menu-panel{position:absolute;top:calc(100% + 16px);left:0;min-width:210px;padding:8px;border:1px solid #3b3959;border-radius:10px;background:rgba(25,24,44,.995);box-shadow:0 22px 55px rgba(0,0,0,.5);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.dark-landing .nova-menu-panel a{display:flex;align-items:center;min-height:42px;padding:0 12px;border-radius:6px;color:#efedff;font-size:13px;text-decoration:none;white-space:nowrap}
body.dark-landing .nova-menu-panel a:hover{background:rgba(178,169,255,.13);color:#34f9f3}body.dark-landing .nova-language .nova-menu-panel{left:auto;right:0;min-width:130px}
body.dark-landing .nova-nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 17px;border:1px solid #34f9f3;border-radius:7px;background:#34f9f3;color:#101525;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
body.dark-landing .nova-mobile-menu{display:none}body.dark-landing .nova-languages{display:flex;gap:6px;padding:8px 10px}body.dark-landing .nova-languages a{min-height:34px;padding:0 8px}
body.dark-landing .modules-menu-panel{display:grid;grid-template-columns:repeat(2,minmax(175px,1fr));gap:2px 6px;min-width:min(430px,calc(100vw - 32px));max-height:min(72vh,570px);overflow:auto;padding:10px}
body.dark-landing .modules-menu-panel a{justify-content:space-between;min-height:40px}body.dark-landing .modules-menu-panel a span{color:#34f9f3;opacity:.8}
@media(max-width:800px){body.dark-landing .nova-header{grid-template-columns:1fr auto;height:72px;padding:0 20px}body.dark-landing .nova-navigation,body.dark-landing .nova-language,body.dark-landing .nova-login{display:none}body.dark-landing .nova-account{gap:10px}body.dark-landing .nova-nav-cta{min-height:40px;padding:0 12px;font-size:12px}body.dark-landing .nova-mobile-menu{display:block}body.dark-landing .nova-mobile-menu .nova-menu-panel{left:auto;right:0;min-width:220px;max-height:min(78dvh,650px);overflow:auto}body.dark-landing .nova-mobile-menu .nova-menu-panel a{min-height:44px}}
@media(max-width:420px){body.dark-landing .nova-header{padding-inline:14px}body.dark-landing .nova-wordmark img{width:122px}body.dark-landing .nova-nav-cta{gap:6px;padding-inline:9px}}
