/* New Face MD · link-in-bio + financing. Brand board: Questrial (títulos) + Montserrat (cuerpo),
   #111314 / #FAFAFC / #DCDCDC / #003366 / #2D99CD. Sin build: este archivo se sirve tal cual. */
@font-face{font-family:"Questrial";src:url("fonts/questrial-400.woff2?v=76dae9b8") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-var.woff2?v=76dae9b8") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --ink:#060708;
  --charcoal:#111314;
  --white:#FAFAFC;
  --gray:#DCDCDC;
  --navy:#003366;
  --blue:#2D99CD;
  --blue-hi:#45aedf;
  --muted:rgba(250,250,252,.70);
  --line:rgba(250,250,252,.16);
  --card:rgba(17,19,20,.78);
  --card-hi:rgba(17,19,20,.92);
  --ok:#5fd0a0;
  --err:#ff9a8a;
  --r:8px;                 /* radio único de cajas: mínimo, no pastilla */
  --r-sm:5px;              /* íconos, fotos, chips */
  --display:"Questrial","Century Gothic","Avenir Next",Avenir,"Trebuchet MS",sans-serif;
  --body:"Montserrat","Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.8,.26,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
}
/* Resorte real donde el navegador soporta linear(); el cubic-bezier de arriba es el respaldo. */
@supports (transition-timing-function:linear(0,1)){
  :root{--spring:linear(0,.009,.035 2.1%,.141 4.4%,.281 6.7%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1.004 83.8%,1)}
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--ink)}
body{margin:0;min-height:100dvh;background:var(--ink);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--blue);color:var(--ink);padding:.75rem 1rem;font-weight:700;z-index:50;border-radius:var(--r)}
.skip:focus{left:12px;top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Fondo: video o foto + velo ---------- */
.bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--ink) center/cover no-repeat}
.bg video,.bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bg video{opacity:0;transition:opacity 1.2s ease}
.bg video.on{opacity:1}
.bg::after{content:"";position:absolute;inset:0;background:
  radial-gradient(120% 70% at 50% 0%,rgba(0,51,102,.30),transparent 60%),
  linear-gradient(180deg,rgba(6,7,8,.80) 0%,rgba(6,7,8,.86) 34%,rgba(6,7,8,.94) 70%,#060708 100%)}
@media (min-width:760px){.bg::after{background:
  radial-gradient(90% 60% at 50% 0%,rgba(0,51,102,.34),transparent 62%),
  linear-gradient(180deg,rgba(6,7,8,.82) 0%,rgba(6,7,8,.90) 40%,rgba(6,7,8,.96) 75%,#060708 100%)}}

.wrap{position:relative;z-index:1;width:100%;max-width:480px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
.wrap.wide{max-width:560px}

/* ---------- Barra superior ---------- */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.top .back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.8rem;font-weight:700;color:var(--muted)}
.top .back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.top .back:hover{color:var(--white)}
.lang{display:flex;justify-content:flex-end;gap:2px;margin-left:auto}
.lang button{font:700 .72rem/1 var(--body);letter-spacing:.14em;color:var(--muted);background:none;border:0;min-width:44px;min-height:44px;cursor:pointer;border-radius:var(--r-sm)}
.lang button[aria-pressed="true"]{color:var(--white);box-shadow:inset 0 -2px 0 var(--blue)}

/* ---------- Cabecera ---------- */
.head{text-align:center;padding:6px 0 28px}
.logo{width:min(272px,74vw);height:auto;margin:0 auto}
.eyebrow{margin:20px 0 0;font:700 .64rem/1.2 var(--body);letter-spacing:.2em;white-space:nowrap;text-transform:uppercase;color:var(--blue)}
.slogan{margin:14px auto 0;max-width:19ch;text-wrap:balance;font:400 clamp(1.7rem,7.4vw,2.15rem)/1.12 var(--display);letter-spacing:-.015em}
.sub{margin:12px auto 0;max-width:34ch;text-wrap:balance;font-size:.9rem;color:var(--muted)}

.social{display:flex;justify-content:center;gap:12px;margin:24px 0 0;padding:0;list-style:none}
.social a{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:var(--r);background:rgba(17,19,20,.5);color:var(--white);transition:border-color .2s var(--ease),background .2s var(--ease),transform .55s var(--spring)}
.social svg{width:21px;height:21px;fill:none;stroke:var(--white);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.social svg .dot,.ico svg .dot{fill:currentColor;stroke:none}
.social a:hover{border-color:var(--blue);background:rgba(45,153,205,.14);transform:translateY(-2px)}

/* ---------- Secciones ---------- */
section{margin-top:34px}
.h{display:flex;align-items:center;gap:12px;margin:0 0 12px;font:700 .7rem/1.2 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.h::before{content:"";flex:none;width:9px;height:9px;border:1.5px solid var(--blue);border-radius:2px}
.h::after{content:"";flex:1;height:1px;background:var(--line)}
.lede{margin:-2px 0 14px;font-size:.88rem;color:var(--muted);text-wrap:pretty}

/* ---------- Botón principal: resalta y rebota ---------- */
.cta{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:14px 18px;border:0;border-radius:var(--r);background:var(--blue);color:var(--white);text-align:left;cursor:pointer;
  box-shadow:0 0 0 0 rgba(45,153,205,.0),0 10px 30px -12px rgba(45,153,205,.65);
  transition:transform .6s var(--spring),background .2s var(--ease),box-shadow .3s var(--ease)}
.cta b{display:block;font:400 1.22rem/1.15 var(--display);letter-spacing:-.01em}
.cta small{display:block;margin-top:3px;font-size:.8rem;font-weight:700;opacity:.92}
.cta .arr{margin-left:auto;flex:none}
.cta:hover{background:#2789ba;transform:translateY(-2px) scale(1.012);box-shadow:0 0 0 4px rgba(45,153,205,.16),0 16px 34px -12px rgba(45,153,205,.8)}
.cta.center{justify-content:center;text-align:center;min-height:56px}
.cta.center b{font-size:1.06rem}
.cta.ghost{background:transparent;color:var(--white);border:1px solid var(--blue);box-shadow:none}
.cta.ghost:hover{background:rgba(45,153,205,.16)}
.cta[disabled]{opacity:.55;cursor:progress}

/* Presión: se hunde rápido y al soltar vuelve con el resorte de la transición base. */
.cta:active,.row:active,.btn:active,.partner:active,.chip:active,.social a:active,.lender .apply:active{transform:scale(.955);transition-duration:.09s;transition-timing-function:ease-out}

@media (prefers-reduced-motion:no-preference){
  /* Brillo que cruza el botón principal cada pocos segundos y halo que respira. */
  .cta:not(.ghost)::after{content:"";position:absolute;inset:-20% auto -20% -60%;width:42%;transform:skewX(-20deg);pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:sheen 4.6s var(--ease) 1.4s infinite}
  .cta.pulse{animation:halo 2.8s ease-in-out 1.2s infinite}
  @keyframes sheen{0%,62%{left:-60%}100%{left:130%}}
  @keyframes halo{0%,100%{box-shadow:0 0 0 0 rgba(45,153,205,.0),0 10px 30px -12px rgba(45,153,205,.65)}50%{box-shadow:0 0 0 7px rgba(45,153,205,.13),0 14px 36px -12px rgba(45,153,205,.85)}}
  /* Rebote de llegada: lo dispara app.js una sola vez cuando el botón entra en pantalla. */
  .pop{animation:pop .9s var(--spring) both}
  .cta.pulse.pop{animation:pop .9s var(--spring) both,halo 2.8s ease-in-out 1.2s infinite}
  @keyframes pop{0%{transform:scale(.9)}100%{transform:scale(1)}}
}

/* ---------- Filas de link ---------- */
.rows{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.row{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 16px 10px 10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-align:left;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),transform .55s var(--spring)}
.row:hover{border-color:var(--blue);background:var(--card-hi);transform:translateY(-2px)}
.ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(45,153,205,.55);border-radius:var(--r-sm);color:var(--blue)}
.ico svg{width:20px;height:20px;fill:none;stroke:var(--blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.row img.ph{flex:none;width:52px;height:52px;object-fit:cover;border-radius:var(--r-sm);filter:grayscale(.15)}
.t{min-width:0}
.t b{display:block;font:400 1.06rem/1.2 var(--display)}
.t span{display:block;margin-top:2px;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.arr{margin-left:auto;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.75;transition:transform .45s var(--spring)}
.row:hover .arr,.cta:hover .arr{transform:translate(3px,-3px)}

/* ---------- Tarjetas ---------- */
.card{padding:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.loc address{font-style:normal;font:400 1.2rem/1.3 var(--display)}
.loc p{margin:8px 0 0;font-size:.84rem;color:var(--muted)}
.btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--blue);border-radius:var(--r);background:none;font-weight:700;font-size:.8rem;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:background .2s var(--ease),transform .55s var(--spring)}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn:hover{background:rgba(45,153,205,.18);transform:translateY(-2px)}

/* ---------- Marcas aliadas ---------- */
.partners{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none}
.partner{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:132px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s var(--ease),background .2s var(--ease),transform .55s var(--spring)}
.partner:hover{border-color:var(--blue);background:var(--card-hi);transform:translateY(-2px)}
.partner .mark{height:44px;display:flex;align-items:center}
.partner .mark img{max-height:44px;width:auto;max-width:100%}
.partner b{display:block;font:400 1rem/1.2 var(--display)}
.partner span{display:block;margin-top:2px;font-size:.76rem;color:var(--muted)}

/* ---------- Formulario ---------- */
.form{display:grid;gap:12px}
.field{display:grid;gap:6px}
.field label{font-size:.78rem;font-weight:700;letter-spacing:.02em}
.field label i{font-style:normal;font-weight:400;color:var(--muted)}
.field input,.field select{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);background:rgba(6,7,8,.72);color:var(--white);font:400 1rem/1.2 var(--body);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D99CD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.field select option{background:#111314;color:#FAFAFC}
.field input::placeholder{color:rgba(250,250,252,.42)}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,153,205,.22)}
.field.bad input,.field.bad select{border-color:var(--err)}
.field .hint{font-size:.74rem;color:var(--muted)}
.field .msg{display:none;font-size:.76rem;color:var(--err)}
.field.bad .msg{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.76rem;line-height:1.5;color:var(--muted);cursor:pointer;padding:4px 0}
.consent input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--blue)}
.consent a{text-decoration:underline;text-underline-offset:3px;color:var(--white)}
.consent.bad{color:var(--err)}
.consent-msg{display:none;margin:-6px 0 0;font-size:.76rem;color:var(--err)}
.consent.bad + .consent-msg{display:block}
.form-note{margin:0;font-size:.74rem;color:var(--muted);text-align:center}
.form-err{display:none;margin:0;padding:12px 14px;border:1px solid var(--err);border-radius:var(--r);font-size:.84rem;color:var(--err)}
.form-err.on{display:block}
.form-err a{text-decoration:underline;color:var(--white)}
.done{display:none;text-align:center;padding:26px 18px}
.done.on{display:block}
.done svg{width:46px;height:46px;margin:0 auto 12px;fill:none;stroke:var(--ok);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.done h3{margin:0;font:400 1.4rem/1.2 var(--display)}
.done p{margin:8px auto 0;max-width:32ch;font-size:.88rem;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){
  .done.on svg path{stroke-dasharray:60;stroke-dashoffset:60;animation:draw .7s var(--ease) .15s forwards}
  .done.on svg circle{stroke-dasharray:140;stroke-dashoffset:140;animation:draw .8s var(--ease) forwards}
  @keyframes draw{to{stroke-dashoffset:0}}
}

/* ---------- Footer ---------- */
footer{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);text-align:center}
footer .hipaa{width:132px;height:auto;margin:0 auto 18px}
.legal-links{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;max-width:340px;margin:0 auto;padding:0;list-style:none}
.legal-links a{display:flex;justify-content:center;text-align:center;align-items:center;min-height:44px;padding:0 8px;font-size:.8rem;font-weight:700;color:var(--white);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.legal-links a:hover{text-decoration-color:var(--blue)}
.fine{margin:16px auto 0;max-width:46ch;text-wrap:pretty;font-size:.72rem;line-height:1.6;color:var(--muted)}
.fine:empty{display:none}
.copy{margin:18px 0 0;font-size:.72rem;color:var(--muted)}

/* ---------- Aparición al hacer scroll ----------
   "Oculto" es estado de clase, nunca de estilo en línea. La clase .js la pone un script
   en <head> y se retira sola si app.js no llega a correr: sin JS todo se ve. */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(18px)}
  .js .reveal.in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0) * 75ms)}
}

/* ================= Página de financiamiento ================= */
.progress{position:fixed;left:0;top:0;z-index:20;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--navy),var(--blue))}
@supports (animation-timeline:scroll()){
  @media (prefers-reduced-motion:no-preference){
    .progress{animation:grow linear both;animation-timeline:scroll(root)}
    @keyframes grow{to{transform:scaleX(1)}}
    .bg.parallax img{animation:drift linear both;animation-timeline:scroll(root)}
    @keyframes drift{from{transform:scale(1.08) translateY(0)}to{transform:scale(1.22) translateY(-5%)}}
  }
}
.fin-head{padding:10px 0 6px}
.fin-head .eyebrow{margin:0;letter-spacing:.16em}
.fin-head h1{margin:12px 0 0;max-width:14ch;font:400 clamp(2.2rem,10vw,3rem)/1.02 var(--display);letter-spacing:-.025em;text-wrap:balance}
.fin-head h1 em{font-style:normal;color:var(--blue)}
.fin-head p{margin:14px 0 0;max-width:36ch;font-size:.95rem;color:var(--muted);text-wrap:pretty}
.fin-head .acts{display:grid;gap:10px;margin-top:22px}
.logos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}
.logos span,.chipmark{display:grid;place-items:center;height:46px;padding:8px;background:var(--white);border-radius:var(--r-sm)}
.logos img,.chipmark img{max-height:30px;max-width:100%;width:auto;height:auto;object-fit:contain}
.lender .chipmark img{max-height:40px}

/* Calculadora */
.calc{padding:18px 16px 16px}
.calc h3,.lender h3,.step h3{margin:0;font:400 1.12rem/1.2 var(--display)}
.calc .lab{margin:16px 0 8px;font:700 .68rem/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);background:rgba(6,7,8,.6);font-size:.84rem;font-weight:500;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease),transform .55s var(--spring)}
.chip:hover{border-color:var(--blue)}
.chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--ink);font-weight:700}
.chips.tight{display:grid;grid-template-columns:repeat(4,1fr)}
.chips.tight .chip{padding:0 4px;font-size:.82rem;white-space:nowrap}
.out{margin-top:18px;padding:18px 16px;border-radius:var(--r);background:linear-gradient(160deg,rgba(0,51,102,.62),rgba(0,51,102,.22));border:1px solid rgba(45,153,205,.4)}
.out .k{font:700 .66rem/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.out .big{display:flex;align-items:baseline;gap:8px;margin-top:6px;font:400 clamp(2.6rem,13vw,3.4rem)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.out .big small{font:500 .9rem/1 var(--body);letter-spacing:0;color:var(--muted)}
.out .meta{margin:10px 0 0;font-size:.84rem;color:var(--muted)}
.out .meta b{color:var(--white);font-weight:700}
/* Motion graphic de la calculadora: una barra por cuota. */
.bars{display:flex;align-items:flex-end;gap:2px;height:44px;margin-top:14px}
.bars i{flex:1;min-width:1px;background:var(--blue);border-radius:2px 2px 0 0;opacity:.9;transform-origin:50% 100%}
.bars i.int{background:linear-gradient(180deg,#9ad6f2 0 var(--ip,0%),var(--blue) var(--ip,0%))}
@media (prefers-reduced-motion:no-preference){.bars i{animation:rise .5s var(--spring) both;animation-delay:calc(var(--n) * 12ms)}@keyframes rise{from{transform:scaleY(.05)}}}
.calc .note{margin:12px 0 0;font-size:.74rem;line-height:1.55;color:var(--muted)}
.calc .acts{display:grid;gap:10px;margin-top:16px}

/* Financieras */
.lenders{display:grid;gap:12px}
.lender{padding:16px}
.lender .hd{display:flex;align-items:center;gap:14px}
.lender .chipmark{flex:none;width:112px;height:56px}
.lender .tag{display:block;margin-top:3px;font-size:.78rem;color:var(--muted)}
.lender ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.lender li{position:relative;padding-left:22px;font-size:.86rem;line-height:1.45}
.lender li::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.lender .best{margin:12px 0 0;padding:10px 12px;border-left:2px solid var(--blue);border-radius:0 var(--r-sm) var(--r-sm) 0;background:rgba(45,153,205,.09);font-size:.8rem}
.lender .best b{font-weight:700}
.lender .apply{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;margin-top:14px;border-radius:var(--r);background:var(--white);color:var(--ink);font-weight:700;font-size:.88rem;transition:transform .55s var(--spring),background .2s var(--ease)}
.lender .apply:hover{background:#fff;transform:translateY(-2px)}
.lender .apply svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lender .apply.alt{background:none;color:var(--white);border:1px solid var(--blue)}
.lender .disc{margin:10px 0 0;font-size:.68rem;line-height:1.5;color:var(--muted)}
.lender .house{display:grid;place-items:center;flex:none;width:112px;height:56px;border:1px solid rgba(45,153,205,.55);border-radius:var(--r-sm)}
.lender .house img{width:88px;height:auto}

/* Pasos */
.steps{display:grid;gap:10px;counter-reset:s}
.step{display:flex;gap:14px;padding:14px 16px}
.step::before{counter-increment:s;content:counter(s);flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(45,153,205,.55);border-radius:var(--r-sm);font:400 1rem/1 var(--display);color:var(--blue)}
.step p{margin:4px 0 0;font-size:.84rem;color:var(--muted)}

/* Preguntas */
.faq{display:grid;gap:8px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;padding:10px 16px;font:400 1rem/1.25 var(--display);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:9px;height:9px;border-right:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(45deg);transition:transform .4s var(--spring)}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq details p{margin:0;padding:0 16px 16px;font-size:.86rem;color:var(--muted)}

.shot{position:relative;overflow:hidden;border-radius:var(--r);border:1px solid var(--line);aspect-ratio:16/9}
.shot img{width:100%;height:100%;object-fit:cover}
.shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(180deg,transparent,rgba(6,7,8,.88));font-size:.78rem;color:var(--white)}
figure{margin:0}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.bg video{display:none}}
@media (max-width:350px){.eyebrow{letter-spacing:.1em}.partners,.btns{grid-template-columns:1fr}.logos{grid-template-columns:repeat(2,1fr)}}
@media (min-width:560px){.fin-head .acts,.calc .acts{grid-template-columns:1fr 1fr}}

/* ---- Simulador v2: monto editable, listas de planes, aviso de precalificación, plan directo destacado ---- */
.amt{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);background:rgba(6,7,8,.72)}
.amt span{font:400 1.2rem/1 var(--display);color:var(--blue)}
.amt input{flex:1;min-width:0;border:0;background:none;color:var(--white);font:400 1.35rem/1 var(--display);font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}
.amt input::-webkit-outer-spin-button,.amt input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.amt:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,153,205,.22)}
.out #o-head{font:400 1.05rem/1.2 var(--display);letter-spacing:0;text-transform:none;color:var(--white)}
.out .lab{margin:14px 0 6px;color:var(--blue)}
.plans{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.plans li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;padding:8px 10px;border-radius:var(--r-sm);background:rgba(6,7,8,.35)}
.plans li b{font:400 1.35rem/1 var(--display);font-variant-numeric:tabular-nums}
.plans li span{font-size:.82rem;color:var(--white)}
.plans li small{flex-basis:100%;font-size:.72rem;color:var(--muted)}
.plans li.none{font-size:.82rem;color:var(--muted)}
.card.soft{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px;background:linear-gradient(160deg,rgba(45,153,205,.20),rgba(17,19,20,.85));border-color:rgba(45,153,205,.55)}
.card.soft svg{flex:none;width:30px;height:30px;fill:none;stroke:var(--blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card.soft b{display:block;font:400 1.05rem/1.2 var(--display)}
.card.soft p{margin:6px 0 0;font-size:.82rem;color:var(--muted)}
.lender.house-card{background:linear-gradient(160deg,rgba(0,51,102,.70),rgba(0,51,102,.25));border-color:rgba(45,153,205,.6)}
.lender.house-card .best{background:rgba(6,7,8,.35)}
.lender.house-card .house{border-color:rgba(250,250,252,.5)}
