
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ margin:0; background:#04140F; -webkit-font-smoothing:antialiased; }
  a{ color:inherit; text-decoration:none; }
  a:hover{ color:#5FC8AC; }
  img{ max-width:100%; display:block; }
  input[type=range]{ accent-color:#5FC8AC; }
  @keyframes floaty{ 0%,100%{ transform:translateY(0) rotate(-1.6deg); } 50%{ transform:translateY(-16px) rotate(-1.6deg); } }
  @keyframes floatSoft{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
  @keyframes haze{ 0%,100%{ transform:scale(1); opacity:.75; } 50%{ transform:scale(1.07); opacity:1; } }
  @keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @keyframes scanline{ 0%{ transform:translateY(0); opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ transform:translateY(196px); opacity:0; } }
  @keyframes driftUp{ 0%{ transform:translateY(14px); opacity:0; } 30%,70%{ opacity:.9; } 100%{ transform:translateY(-40px); opacity:0; } }
  .mq-track{ display:flex; width:max-content; animation:marquee 34s linear infinite; }
  html[data-anim="1"] [data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform 1s cubic-bezier(.16,.8,.24,1); }
  html[data-anim="1"] [data-reveal].in{ opacity:1; transform:none; }
  header[data-nav]{ padding:20px 0; background:transparent; border-bottom:1px solid transparent; transition:padding .5s cubic-bezier(.16,.8,.24,1), background .5s, border-color .5s, box-shadow .5s; }
  html[data-scrolled="1"] header[data-nav]{ padding:10px 0; background:rgba(4,20,15,.76); backdrop-filter:blur(14px); border-bottom-color:rgba(246,248,247,.10); box-shadow:0 12px 40px rgba(2,10,16,.35); }
  [data-step] > div:first-child{ transition:color .5s ease, letter-spacing .5s ease; }
  html[data-stepon="0"] [data-step="0"] > div:first-child, html[data-stepon="1"] [data-step="1"] > div:first-child, html[data-stepon="2"] [data-step="2"] > div:first-child{ color:#B6F08C; }
  [data-glass]{ transition:transform .5s cubic-bezier(.16,.8,.24,1), border-color .5s, background .5s, box-shadow .5s; }
  [data-glass]:hover{ transform:translateY(-6px); border-color:rgba(95,200,172,.42); box-shadow:0 24px 60px rgba(2,10,16,.55), 0 0 40px rgba(95,200,172,.10); }
  [data-cta]{ transition:transform .3s cubic-bezier(.16,.8,.24,1), box-shadow .3s, filter .3s; }
  [data-cta]:hover{ transform:translateY(-2px) scale(1.015); filter:brightness(1.05); box-shadow:0 16px 44px rgba(95,200,172,.30); }
  [data-nl]{ position:relative; }
  [data-nl]::after{ content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:#5FC8AC; transition:right .4s cubic-bezier(.16,.8,.24,1); }
  [data-nl]:hover::after{ right:0; }
  [id]{ scroll-margin-top:104px; }
  [data-fab]{ display:none !important; }
  @media (max-width:1010px){ [data-navlinks]{ display:none !important; } }
  @media (max-width:1120px){ [data-step]{ text-align:left !important; } [data-step] p{ margin-left:0 !important; } }
  @media (max-width:860px){
    [data-fab]{ display:flex !important; }
    [data-step]{ text-align:left !important; }
    [data-step] p{ margin-left:0 !important; }
    body{ padding-bottom:86px; }
    [data-sticky]{ position:static !important; }
    [data-hero-copy]{ text-align:center !important; }
    [data-hero-copy] h1, [data-hero-copy] p{ margin-left:auto !important; margin-right:auto !important; }
    [data-row]{ justify-content:center !important; }
    [data-row] > a{ flex:1 1 250px; text-align:center !important; }
  }
  @media (prefers-reduced-motion:reduce){ *{ animation:none !important; } [data-reveal]{ opacity:1 !important; transform:none !important; } }

/* ---------- Simulador ---------- */
.tipo-btn{
  padding:10px 20px; border-radius:999px; cursor:pointer;
  font-family:'Inter', sans-serif; font-size:.92rem; font-weight:500;
  border:1px solid rgba(246,248,247,.18); background:transparent; color:#9FB6B2;
  transition:background .3s, color .3s, border-color .3s;
}
.tipo-btn.is-active{
  font-weight:600; border-color:transparent;
  background:linear-gradient(100deg,#5FC8AC,#82CC5E); color:#04120E;
}

/* ---------- FAQ ---------- */
.faq-panel{
  display:grid; grid-template-rows:0fr; opacity:0; overflow:hidden;
  transition:grid-template-rows .5s cubic-bezier(.16,.8,.24,1), opacity .4s ease;
}
.faq-panel.is-open{ grid-template-rows:1fr; opacity:1; }
.faq-q{ font:inherit; }
