.ts-progress{margin-bottom:1.5rem}
.ts-step-lbl{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.14em}
.ts-bar{height:4px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}
.ts-fill{height:100%;background:var(--green);border-radius:4px;transition:width .4s ease}
.ts-h{color:#fff;font-family:'Newsreader',serif;font-size:1.25rem;font-weight:700;margin-bottom:1.2rem;line-height:1.35}
.ts-opts{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.ts-opts-col{display:flex;flex-direction:column;gap:.65rem}
.ts-btn{background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.14);color:#fff;padding:.85rem 1.1rem;border-radius:11px;text-align:left;font-family:'Outfit',sans-serif;font-size:.93rem;font-weight:600;cursor:pointer;transition:var(--tr-200);line-height:1.35;width:100%}@media (hover:hover) and (pointer:fine){.ts-btn:hover{background:rgba(124,196,124,.1);border-color:#7CC47C;transform:translateX(3px);color:#7CC47C}}
.ts-q-block{margin-bottom:1.3rem}
.ts-q{color:rgba(255,255,255,.92);font-weight:600;font-size:.96rem;margin-bottom:.55rem;line-height:1.55}
.ts-sel{width:100%;padding:.82rem;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;font-family:'Outfit',sans-serif;font-size:.91rem;outline:none;cursor:pointer;-webkit-appearance:none}
.ts-sel:focus{border-color:rgba(43,122,43,.6)}
.ts-sel option{background:#0D1635}
.ts-next{display:inline-flex;align-items:center;background:var(--green);color:#fff;border:none;padding:.95rem 1.8rem;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:700;font-size:.97rem;cursor:pointer;transition:var(--tr-200);gap:.45rem}@media (hover:hover) and (pointer:fine){.ts-next:hover{background:var(--green-h);transform:translateY(-1px)}}
.ts-back{background:none;border:none;color:rgba(255,255,255,.35);font-family:'Outfit',sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;transition:var(--tr-200);padding:0}
.ts-back:hover{color:rgba(255,255,255,.75)}
.ts-back-top{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.65);font-family:'Outfit',sans-serif;font-size:.76rem;font-weight:700;cursor:pointer;border-radius:20px;padding:.28rem .75rem;transition:var(--tr-200)}
.ts-back-top:hover{background:rgba(255,255,255,.13);color:#fff}

/* ── Pulido de interacción: respuesta al presionar y movimiento reducido ── */
.btn-enviar:active,.btn-link:active,.exp-cta:active,.ts-btn:active,.ts-next:active,.nav-btn:active,.btn-hero:active,.btn-primary:active:not(:disabled){transform:scale(.97)}
.faq-q:active{transform:scale(.99)}
.btn-enviar,.btn-link,.exp-cta,.ts-btn,.ts-next,.faq-q{transition:var(--tr-200)}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important}
  .reveal,.reveal.active{transform:none !important;transition:opacity .3s ease !important}
}

/* ── Ajustes solo para celular (≤ 640 px) ── */
@media (max-width: 640px){
  h1 .br-pc, h2 .br-pc{display:none}
  h1, h2{text-wrap:balance}
  .auth-band-outer{overflow-x:visible !important;padding:.6rem 5vw !important}
  .auth-band-inner{flex-wrap:wrap !important;justify-content:center !important;min-width:0 !important;padding-right:0 !important;column-gap:.7rem !important;row-gap:.2rem !important}
  .auth-band-inner > span:first-child{flex-basis:100%;text-align:center}
  .auth-band-inner > span[style*="color:var(--border)"]{display:none}
  .marco-normativo-scroll{overflow:visible !important;white-space:normal !important;width:auto !important}
  .marco-normativo-scroll > span{white-space:normal !important;line-height:1.9}
  .norm > [class*="norm-"]{overflow:visible !important;white-space:normal !important;width:auto !important;max-width:100% !important;margin-left:0 !important;padding-left:0 !important}
  .norm-lbl{white-space:nowrap !important}
  .mn-sep{display:none !important}
  .mn-it{display:inline-block;white-space:nowrap;margin:0 .45rem}
  .remoto-grid > div:first-child > .rm-badge,
  .remoto-grid > div:first-child > .lbl{margin-left:auto !important;margin-right:auto !important;justify-content:center}
  .remoto-grid > div:first-child > .rm-badge{display:flex;width:fit-content}
  .remoto-grid > div:first-child > .sh,
  .remoto-grid > div:first-child > .sp{text-align:center !important}
  .hero-trust{gap:.4rem}
  .hero-trust .h-badge{font-size:.74rem;padding:.32rem .62rem;gap:.3rem}
  .mod3-header{flex-wrap:wrap;row-gap:.55rem}
  .mod3-left{flex:1 1 100%;min-width:0}
  .mod3-title{white-space:normal !important}
  .mod3-pill{margin-left:auto}
  .hdr-alcances{flex-wrap:wrap}
  .hdr-alcances > span:last-child{margin-left:calc(20px + .65rem) !important;flex-basis:100%}
  #calc-progress-msg{padding-left:.9rem;padding-right:.9rem}
}

/* ── Barra superior fija: aviso + menú (todas las pantallas) ── */
html,body{overflow-x:clip !important;overflow-y:visible !important}
html:has(#mobile-menu.is-open){overflow-y:hidden !important}
.barra-fija{position:sticky;top:0;z-index:900}
.barra-fija nav{position:relative !important;top:auto !important}
nav[aria-label="Ruta de navegación"]{position:static !important}
html{scroll-padding-top:var(--alto-barra,110px)}
#mobile-menu{top:var(--alto-barra,58px) !important}
