:root{
  color-scheme: light dark;
}

/* Theme toggle (header) */
.vlap-theme-btn{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(140,176,228,.35);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(20px) saturate(1.35);
  -webkit-backdrop-filter:blur(20px) saturate(1.35);
  box-shadow:0 12px 34px rgba(20,69,145,.10);
  color:var(--vlap-navy);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.vlap-theme-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(20,69,145,.14);
  border-color:rgba(103,151,226,.42);
}
.vlap-theme-btn:active{transform:translateY(0)}
.vlap-theme-btn .vlap-i{width:22px;height:22px}
.vlap-theme-btn .vlap-theme-sun{display:none}
:root[data-vlap-theme="dark"] .vlap-theme-btn .vlap-theme-sun{display:block}
:root[data-vlap-theme="dark"] .vlap-theme-btn .vlap-theme-moon{display:none}
:root[data-vlap-theme="dark"] .vlap-theme-btn{
  background:rgba(10,14,30,.62);
  border-color:rgba(201,223,255,.16);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  color:rgba(233,239,255,.92);
}
:root[data-vlap-theme="dark"] .vlap-theme-btn:hover{
  background:rgba(10,14,30,.78);
  border-color:rgba(201,223,255,.22);
  box-shadow:0 18px 44px rgba(0,0,0,.36);
}

@media (max-width:1180px){
  /* En móvil el nav sale del flow (fixed), así que usamos el toggle para empujar el CTA al borde derecho. */
  .vlap-theme-btn{margin-left:auto}
  .vlap-top-cta{margin-left:10px}
}

/* ===== Dark theme (Midnight Aurora) ===== */
:root[data-vlap-theme="dark"]{
  --vlap-blue:#8b5cf6;
  --vlap-blue-2:#6d28d9;
  --vlap-navy:#e9efff;
  --vlap-ink:#e7efff;
  --vlap-muted:#a5b3cf;
  --vlap-soft:#0b1023;
  --vlap-card:rgba(18,24,45,.76);
  --vlap-border:rgba(201,223,255,.14);
  --vlap-shadow:0 28px 80px rgba(0,0,0,.55);
  --vlap-shadow-soft:0 16px 45px rgba(0,0,0,.34);
}

:root[data-vlap-theme="dark"] html{background:#050812}
:root[data-vlap-theme="dark"] body{
  background:
    radial-gradient(circle at 18% 14%,rgba(139,92,246,.26),transparent 34rem),
    radial-gradient(circle at 82% 22%,rgba(34,211,238,.18),transparent 36rem),
    linear-gradient(180deg,#060816 0%,#050814 52%,#070a19 100%);
}
:root[data-vlap-theme="dark"] body::before{
  background:
    linear-gradient(90deg,rgba(220,234,255,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(220,234,255,.038) 1px,transparent 1px);
  mask-image:radial-gradient(circle at 50% 22%,#000 0 42%,transparent 80%);
}

:root[data-vlap-theme="dark"] .vlap-scroll-progress{background:rgba(255,255,255,.06)}
:root[data-vlap-theme="dark"] .vlap-scroll-progress span{background:linear-gradient(90deg,#8b5cf6,#22d3ee)}

:root[data-vlap-theme="dark"] .vlap-skip{
  background:rgba(10,14,30,.92);
  color:rgba(233,239,255,.96);
  border:1px solid rgba(201,223,255,.14);
}

:root[data-vlap-theme="dark"] .vlap-header{
  background:rgba(10,14,30,.72);
  border:1px solid rgba(201,223,255,.14);
  box-shadow:0 18px 55px rgba(0,0,0,.34);
}
:root[data-vlap-theme="dark"] .vlap-header.is-scrolled{
  background:rgba(10,14,30,.86);
  box-shadow:0 22px 70px rgba(0,0,0,.42);
  border-color:rgba(201,223,255,.18);
}
:root[data-vlap-theme="dark"] .vlap-logo{color:var(--vlap-navy)}
:root[data-vlap-theme="dark"] .vlap-logo span span{color:#fb923c}

:root[data-vlap-theme="dark"] .vlap-menu-btn{background:rgba(139,92,246,.12)}
:root[data-vlap-theme="dark"] .vlap-menu-btn span{background:rgba(233,239,255,.92)}

:root[data-vlap-theme="dark"] .vlap-nav a{color:rgba(233,239,255,.86)}
:root[data-vlap-theme="dark"] .vlap-nav a:hover{background:rgba(139,92,246,.15);color:#e9d5ff}
:root[data-vlap-theme="dark"] .vlap-nav a.is-active{background:rgba(34,211,238,.14);color:#a5f3fc}
:root[data-vlap-theme="dark"] .vlap-nav a::after{background:linear-gradient(90deg,#8b5cf6,#22d3ee)}

:root[data-vlap-theme="dark"] .vlap-top-cta,
:root[data-vlap-theme="dark"] .vlap-primary-action,
:root[data-vlap-theme="dark"] .vlap-big-cta{
  background:linear-gradient(135deg,#8b5cf6,#22d3ee);
  box-shadow:0 18px 42px rgba(34,211,238,.14);
  border-color:rgba(255,255,255,.22);
}
:root[data-vlap-theme="dark"] .vlap-secondary-action{
  background:rgba(10,14,30,.58);
  border-color:rgba(201,223,255,.16);
  color:rgba(233,239,255,.9);
  box-shadow:0 10px 28px rgba(0,0,0,.26);
}
:root[data-vlap-theme="dark"] .vlap-secondary-action:hover{
  background:rgba(10,14,30,.78);
  color:#a5f3fc;
}

/* Superficies principales */
:root[data-vlap-theme="dark"] .vlap-hero,
:root[data-vlap-theme="dark"] .vlap-section-card,
:root[data-vlap-theme="dark"] .vlap-process,
:root[data-vlap-theme="dark"] .vlap-results,
:root[data-vlap-theme="dark"] .vlap-contact,
:root[data-vlap-theme="dark"] .vlap-content-page article,
:root[data-vlap-theme="dark"] .vlap-content-page aside,
:root[data-vlap-theme="dark"] .vlap-reference-card,
:root[data-vlap-theme="dark"] .vlap-lead-form,
:root[data-vlap-theme="dark"] .vlap-photo-panel{
  background:linear-gradient(135deg,rgba(18,24,45,.78),rgba(10,14,30,.74));
  border-color:rgba(201,223,255,.14);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}

:root[data-vlap-theme="dark"] .vlap-pill{
  background:rgba(10,14,30,.62);
  border-color:rgba(201,223,255,.16);
  color:#a5f3fc;
  box-shadow:0 12px 34px rgba(0,0,0,.26);
}
:root[data-vlap-theme="dark"] .vlap-eyebrow{color:rgba(165,179,207,.92)!important}

:root[data-vlap-theme="dark"] .vlap-hero-copy h1{color:var(--vlap-navy)}
:root[data-vlap-theme="dark"] .vlap-hero-copy h2{color:rgba(233,239,255,.92)}
:root[data-vlap-theme="dark"] .vlap-hero-copy p{color:rgba(165,179,207,.96)}
:root[data-vlap-theme="dark"] .vlap-hero-copy p strong{color:#a5f3fc}
:root[data-vlap-theme="dark"] .vlap-accent{background:linear-gradient(90deg,#fb923c,#8b5cf6)}
:root[data-vlap-theme="dark"] .vlap-founder{color:rgba(165,179,207,.96)!important}

:root[data-vlap-theme="dark"] .math{color:rgba(165,243,252,.32)}
:root[data-vlap-theme="dark"] .vlap-orb{background:linear-gradient(135deg,#1b2550,#0b1b3a);opacity:.9}

:root[data-vlap-theme="dark"] .card-progress,
:root[data-vlap-theme="dark"] .card-speed,
:root[data-vlap-theme="dark"] .card-precision,
:root[data-vlap-theme="dark"] .card-levels,
:root[data-vlap-theme="dark"] .vlap-founder-card{
  background:rgba(10,14,30,.62);
  border-color:rgba(201,223,255,.14);
  box-shadow:0 18px 42px rgba(0,0,0,.32);
}
:root[data-vlap-theme="dark"] .card-progress small,
:root[data-vlap-theme="dark"] .card-speed small,
:root[data-vlap-theme="dark"] .card-precision small,
:root[data-vlap-theme="dark"] .card-levels small{color:rgba(165,179,207,.92)}
:root[data-vlap-theme="dark"] .card-progress span,
:root[data-vlap-theme="dark"] .card-speed span{color:rgba(165,179,207,.92)}
:root[data-vlap-theme="dark"] .card-precision i{border-color:rgba(201,223,255,.14)}

:root[data-vlap-theme="dark"] .vlap-stats-band article{
  background:rgba(10,14,30,.54);
  border-color:rgba(201,223,255,.12);
}
:root[data-vlap-theme="dark"] .vlap-stats-band strong{color:var(--vlap-navy)}
:root[data-vlap-theme="dark"] .vlap-stats-band small{color:rgba(165,179,207,.92)}
:root[data-vlap-theme="dark"] .vlap-backed{color:rgba(165,179,207,.92)}

:root[data-vlap-theme="dark"] .vlap-reference-card figure{background:#0b1023}
:root[data-vlap-theme="dark"] .vlap-reference-card small{background:rgba(251,146,60,.14);color:#fed7aa}
:root[data-vlap-theme="dark"] .vlap-reference-card h3{color:var(--vlap-navy)}
:root[data-vlap-theme="dark"] .vlap-reference-card p{color:rgba(165,179,207,.92)}

:root[data-vlap-theme="dark"] .vlap-testimonials article{
  background:rgba(10,14,30,.58);
  border:1px solid rgba(201,223,255,.12);
}
:root[data-vlap-theme="dark"] .vlap-testimonials article{color:rgba(233,239,255,.92)}
:root[data-vlap-theme="dark"] .vlap-testimonials strong{color:#fb923c}
:root[data-vlap-theme="dark"] .vlap-testimonials small{color:rgba(165,179,207,.92)}

:root[data-vlap-theme="dark"] .vlap-form-grid label{color:rgba(233,239,255,.88)}
:root[data-vlap-theme="dark"] .vlap-form-grid input,
:root[data-vlap-theme="dark"] .vlap-form-grid textarea{
  background:rgba(10,14,30,.68);
  border-color:rgba(201,223,255,.16);
  color:rgba(233,239,255,.92);
}
:root[data-vlap-theme="dark"] .vlap-form-grid input:focus,
:root[data-vlap-theme="dark"] .vlap-form-grid textarea:focus{
  border-color:rgba(34,211,238,.72);
  box-shadow:0 0 0 4px rgba(34,211,238,.12);
  background:rgba(10,14,30,.84);
}
:root[data-vlap-theme="dark"] .vlap-form-alert.ok{background:rgba(16,185,129,.14);color:#a7f3d0}
:root[data-vlap-theme="dark"] .vlap-form-alert.error{background:rgba(239,68,68,.14);color:#fecaca}

:root[data-vlap-theme="dark"] .vlap-content-page article small{background:rgba(139,92,246,.16);color:#e9d5ff}
:root[data-vlap-theme="dark"] .vlap-content-page article h2{color:var(--vlap-navy)}
:root[data-vlap-theme="dark"] .vlap-content-page article p{color:rgba(165,179,207,.94)}
:root[data-vlap-theme="dark"] .vlap-content-page aside strong{color:var(--vlap-navy)}
:root[data-vlap-theme="dark"] .vlap-content-page aside span{color:rgba(165,179,207,.92)}
:root[data-vlap-theme="dark"] .vlap-content-page code{background:rgba(139,92,246,.14);color:#e9d5ff}

:root[data-vlap-theme="dark"] .vlap-slider-btn{
  border-color:rgba(201,223,255,.16);
  background:rgba(10,14,30,.78);
  box-shadow:0 14px 30px rgba(0,0,0,.35);
  color:rgba(233,239,255,.92);
}
:root[data-vlap-theme="dark"] .vlap-slider-btn:hover{background:rgba(10,14,30,.9)}

/* Dark theme: inicio con ventanas flotantes */
:root[data-vlap-theme="dark"] .vlap-window-experience{
  background:
    linear-gradient(135deg,rgba(18,24,45,.88),rgba(8,12,25,.84) 52%,rgba(25,21,39,.78)),
    linear-gradient(90deg,rgba(220,234,255,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(220,234,255,.035) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
  border-color:rgba(201,223,255,.14);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}
:root[data-vlap-theme="dark"] .vlap-window-experience::before{
  background:
    linear-gradient(120deg,transparent 0 62%,rgba(34,211,238,.10) 62% 72%,transparent 72%),
    linear-gradient(35deg,transparent 0 70%,rgba(251,146,60,.12) 70% 79%,transparent 79%);
}
:root[data-vlap-theme="dark"] .vlap-window-intro h1,
:root[data-vlap-theme="dark"] .vlap-window-content h2,
:root[data-vlap-theme="dark"] .vlap-window-toolbar strong,
:root[data-vlap-theme="dark"] .vlap-window-titlebar strong,
:root[data-vlap-theme="dark"] .vlap-window-area-grid strong,
:root[data-vlap-theme="dark"] .vlap-window-before-after strong{
  color:rgba(233,239,255,.94);
}
:root[data-vlap-theme="dark"] .vlap-window-intro>p:not(.vlap-window-kicker):not(.vlap-founder),
:root[data-vlap-theme="dark"] .vlap-window-content p,
:root[data-vlap-theme="dark"] .vlap-window-panel-head p,
:root[data-vlap-theme="dark"] .vlap-window-area-grid small,
:root[data-vlap-theme="dark"] .vlap-window-before-after span,
:root[data-vlap-theme="dark"] .vlap-window-toolbar span,
:root[data-vlap-theme="dark"] .vlap-window-titlebar small{
  color:rgba(165,179,207,.92);
}
:root[data-vlap-theme="dark"] .vlap-window-workspace,
:root[data-vlap-theme="dark"] .vlap-window-toolbar,
:root[data-vlap-theme="dark"] .vlap-window-launch,
:root[data-vlap-theme="dark"] .vlap-window-panel,
:root[data-vlap-theme="dark"] .vlap-window-dock,
:root[data-vlap-theme="dark"] .vlap-window-statline span{
  background:rgba(10,14,30,.62);
  border-color:rgba(201,223,255,.14);
  box-shadow:0 18px 48px rgba(0,0,0,.30);
}
:root[data-vlap-theme="dark"] .vlap-window-panel,
:root[data-vlap-theme="dark"] .vlap-window-content{
  background:#0e142b;
}
:root[data-vlap-theme="dark"] .vlap-window-panel.is-front{
  border-color:rgba(34,211,238,.30);
  box-shadow:0 34px 90px rgba(0,0,0,.50);
}
:root[data-vlap-theme="dark"] .vlap-window-titlebar{
  background:linear-gradient(180deg,rgba(18,24,45,.86),rgba(10,14,30,.72));
  border-color:rgba(201,223,255,.12);
}
:root[data-vlap-theme="dark"] .vlap-window-titlebar button,
:root[data-vlap-theme="dark"] .vlap-window-dock button{
  color:rgba(233,239,255,.86);
  background:rgba(18,24,45,.72);
  border-color:rgba(201,223,255,.14);
}
:root[data-vlap-theme="dark"] .vlap-window-titlebar button:hover,
:root[data-vlap-theme="dark"] .vlap-window-dock button:hover,
:root[data-vlap-theme="dark"] .vlap-window-dock button[aria-pressed="true"]{
  background:rgba(30,39,68,.86);
}
:root[data-vlap-theme="dark"] .vlap-window-area-grid article,
:root[data-vlap-theme="dark"] .vlap-window-before-after article,
:root[data-vlap-theme="dark"] .vlap-window-quotes article{
  background:rgba(18,24,45,.64);
  border-color:rgba(201,223,255,.12);
}
:root[data-vlap-theme="dark"] .vlap-window-quotes article,
:root[data-vlap-theme="dark"] .vlap-window-checks li{
  color:rgba(233,239,255,.88);
}
:root[data-vlap-theme="dark"] .vlap-window-launch strong{
  color:rgba(233,239,255,.92);
}
:root[data-vlap-theme="dark"] .vlap-window-launch small,
:root[data-vlap-theme="dark"] .vlap-window-statline small{
  color:rgba(165,179,207,.90);
}
