/* =========================================================================
   Real Estate Leader — Landing "Tasa tu vivienda"
   Reconstrucción del export de Claude Design ("Landing Tasa tu Vivienda.dc.html")
   a CSS plano. Todo bajo el ámbito .rel-tasa para no colisionar con el tema.
   Fuentes autoalojadas (0 peticiones a Google). Mapa reutilizado del componente
   de la landing de asesores. Sin cambiar textos ni rediseñar.
   ========================================================================= */

/* ---- Fuentes autoalojadas. Cero peticiones a Google. Variables (un woff2
   por familia cubre todos los pesos vía el eje wght). ------------------- */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500 800;font-display:swap;src:url('../fonts/plus-jakarta-sans-var.woff2') format('woff2');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/manrope-var.woff2') format('woff2');}

.rel-tasa{
  --navy:#0B1444; --navy-deep:#060C2B; --navy-card:#101C50; --navy-line:#223070;
  --gold:#C9A227; --gold-lt:#E4C46A;
  --ink:#2B3350; --ink-strong:#0B1444; --muted:#5A6480; --muted2:#6C7690; --muted3:#8A93A9; --muted4:#8E98B4;
  --line:#E7EAF2; --line2:#EDF0F7; --line3:#DFE4F0; --field:#D3DAEA; --field2:#E1E6F2;
  --soft:#F2F4F8; --soft2:#FBFCFE; --hero-card:#F1F5FE;
  --font-head:'Plus Jakarta Sans',system-ui,sans-serif;
  --font-body:'Manrope',system-ui,sans-serif;
  font-family:var(--font-body); color:var(--ink);
  -webkit-font-smoothing:antialiased; background:#fff; width:100%; overflow-x:hidden;
}
.rel-tasa *{box-sizing:border-box;}
.rel-tasa img{max-width:100%;}
.rel-tasa a{color:var(--navy);text-decoration:none;}
.rel-tasa a:hover{color:var(--gold);}
.rel-tasa input,.rel-tasa select,.rel-tasa textarea,.rel-tasa button{font-family:inherit;}
.rel-tasa ::placeholder{color:#99A1B8;}
@keyframes tv-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes tv-step{from{opacity:0;transform:translateX(18px);}to{opacity:1;transform:none;}}

/* foco de teclado visible (a11y) */
.rel-tasa a:focus-visible,.rel-tasa button:focus-visible,.rel-tasa input:focus-visible,
.rel-tasa select:focus-visible,.rel-tasa textarea:focus-visible,.rel-tasa summary:focus-visible,
.rel-tasa [tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px;}

.rel-tasa .tv-inner{max-width:1200px;margin:0 auto;}
.rel-tasa .tv-center{text-align:center;}

/* Titulares comunes */
.rel-tasa .tv-eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--gold);}
.rel-tasa .tv-eyebrow-gold{color:var(--gold-lt);}
.rel-tasa .tv-h2{font-family:var(--font-head);font-size:36px;font-weight:800;color:var(--navy);margin:0 0 14px;letter-spacing:-.01em;}
.rel-tasa .tv-h2-white{color:#fff;}
.rel-tasa .tv-rule{width:64px;height:4px;background:var(--gold);border-radius:2px;margin-bottom:40px;}
.rel-tasa .tv-center-rule{margin-left:auto;margin-right:auto;margin-bottom:34px;}

.rel-tasa .tv-btn-gold{display:inline-block;padding:16px 28px;background:var(--gold);color:var(--navy);border-radius:11px;font-family:var(--font-head);font-weight:800;font-size:16px;min-height:48px;}
.rel-tasa .tv-btn-gold:hover{background:#fff;color:var(--navy);}

/* ============================ HERO ==================================== */
/* Hero a UNA PANTALLA: alto = 100dvh − alto real de la cabecera del tema
   (--rel-header-h, medido por JS y recalculado al redimensionar). La FOTO cubre
   toda esa altura, a sangre por los cuatro lados. La copia va arriba a la
   derecha; la tarjeta y la banda quedan superpuestas sobre la parte baja de la
   foto, dentro de la misma pantalla. El padding-top reserva la cabecera para que
   el rótulo dorado no quede tapado por el header blanco. */
.rel-tasa .tv-hero{position:relative;height:100dvh;min-height:560px;overflow:hidden;background:var(--navy);}
.rel-tasa .tv-hero-pic{position:absolute;inset:0;width:100%;height:100%;display:block;}
/* Recorte mínimo sesgado a la izquierda: protege al hombre del borde izquierdo y
   mantiene las dos caras y la tablet. Vertical 42% centra las caras. */
.rel-tasa .tv-hero-img{width:100%;height:100%;object-fit:cover;object-position:42% 42%;display:block;}
/* Degradado navy desde el borde derecho (legibilidad de la copia). */
.rel-tasa .tv-hero-veil{position:absolute;inset:0;background-image:linear-gradient(270deg,#0B1444 0%,rgba(11,20,68,.94) 22%,rgba(11,20,68,.6) 42%,rgba(11,20,68,.15) 60%,rgba(11,20,68,0) 74%);pointer-events:none;}
/* Prolongación del navy hacia abajo, lo justo para asentar tarjeta y banda sin
   apagar la zona de la pareja (que está en la mitad superior). */
.rel-tasa .tv-hero-fade{position:absolute;left:0;right:0;bottom:0;height:48%;background-image:linear-gradient(180deg,rgba(11,20,68,0) 0%,rgba(11,20,68,.10) 40%,rgba(11,20,68,.45) 80%,rgba(11,20,68,.72) 100%);pointer-events:none;}
.rel-tasa .tv-hero-inner{position:relative;z-index:2;height:100%;max-width:1280px;margin:0 auto;padding:calc(var(--rel-header-h,88px) + clamp(22px,8vh,96px)) 28px clamp(18px,2.6vh,30px);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(16px,2.2vh,26px);}
.rel-tasa .tv-hero-lower{flex:0 0 auto;}

.rel-tasa .tv-hero-copy{max-width:600px;margin-left:auto;flex:0 0 auto;}
.rel-tasa .tv-hero-kicker{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--gold-lt);text-shadow:0 1px 10px rgba(4,10,35,.9);}
.rel-tasa .tv-hero-rule{width:120px;height:3px;background:var(--gold);border-radius:2px;margin-bottom:clamp(16px,2vw,22px);}
.rel-tasa .tv-hero-h1{font-family:var(--font-head);font-size:clamp(31px,4.6vw,52px);line-height:1.08;font-weight:800;color:#fff;margin:0 0 16px;letter-spacing:-.02em;text-wrap:pretty;text-shadow:0 2px 18px rgba(4,10,35,.85);}
.rel-tasa .tv-hero-lead{margin:0 0 14px;font-size:clamp(16px,1.5vw,18px);line-height:1.55;color:#EAEEF9;max-width:520px;text-shadow:0 1px 14px rgba(4,10,35,.9);}
.rel-tasa .tv-hero-pills{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:clamp(15px,1.4vw,16.5px);font-weight:700;color:#fff;margin-bottom:clamp(22px,3vw,30px);text-shadow:0 1px 12px rgba(4,10,35,.9);}
.rel-tasa .tv-hero-pills span{white-space:nowrap;}
.rel-tasa .tv-hero-pills .dot{color:var(--gold);}
.rel-tasa .tv-hero-cta{display:inline-block;padding:19px 38px;background:#fff;color:var(--navy);border:1.5px solid #fff;border-radius:9px;font-family:var(--font-head);font-weight:800;font-size:16.5px;letter-spacing:.05em;min-height:48px;}
.rel-tasa .tv-hero-cta:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);}
.rel-tasa .tv-hero-fine{margin:14px 0 0;font-size:14px;color:#B9C1D8;text-shadow:0 1px 10px rgba(4,10,35,.9);}

.rel-tasa .tv-steps{margin-top:0;background:#fff;border-radius:14px;padding:20px 26px;box-shadow:0 24px 60px -34px rgba(4,10,35,.6);}
.rel-tasa .tv-steps-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;}
.rel-tasa .tv-steps-title{font-family:var(--font-head);font-size:19px;font-weight:800;color:var(--navy);margin:0;}
.rel-tasa .tv-steps-rule{flex:1 1 52px;max-width:120px;height:3px;background:var(--gold);border-radius:2px;}
.rel-tasa .tv-steps-grid{display:flex;flex-wrap:wrap;gap:18px 24px;}
.rel-tasa .tv-step{flex:1 1 240px;min-width:0;display:flex;gap:14px;align-items:center;padding:4px 0;}
.rel-tasa .tv-step-sep{border-left:1px solid var(--line2);padding-left:22px;}
.rel-tasa .tv-step-ico{flex:0 0 46px;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line3);display:grid;place-items:center;}
.rel-tasa .tv-step p{margin:0;font-size:14.5px;line-height:1.45;color:var(--ink);}
.rel-tasa .tv-step p strong{color:var(--navy);}

.rel-tasa .tv-band{background:var(--hero-card);border-radius:12px;padding:18px 24px;display:flex;flex-wrap:wrap;gap:14px 20px;margin-top:20px;}
.rel-tasa .tv-band span{flex:1 1 200px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:15.5px;font-weight:600;color:var(--navy);line-height:1.35;}
.rel-tasa .tv-band svg{flex:0 0 auto;}

/* ============================ CALCULADORA ============================= */
.rel-tasa .tv-calc{background:var(--soft);padding:80px 20px;}
.rel-tasa .tv-calc-wrap{max-width:820px;margin:0 auto;}
.rel-tasa .tv-card{background:#fff;border-radius:20px;padding:28px 26px 30px;box-shadow:0 30px 70px -40px rgba(4,10,35,.5);}
.rel-tasa .tv-prog{display:flex;align-items:center;gap:14px;margin-bottom:8px;}
.rel-tasa .tv-prog-track{flex:1 1 auto;height:6px;background:var(--line2);border-radius:3px;overflow:hidden;}
.rel-tasa .tv-prog-bar{height:100%;background:var(--gold);transition:width .4s cubic-bezier(.22,.8,.26,1);}
.rel-tasa .tv-prog-label{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--navy);}
.rel-tasa .tv-prog-help{margin:0 0 22px;font-size:13.5px;color:var(--muted3);}

.rel-tasa .tv-pane{animation:tv-step .3s ease both;}
.rel-tasa .tv-pane-rise{animation:tv-rise .5s ease both;}
.rel-tasa .tv-step-h3{font-family:var(--font-head);font-size:22px;font-weight:800;color:var(--navy);margin:0 0 10px;}
.rel-tasa .tv-step-h3.mb{margin-bottom:22px;}
.rel-tasa .tv-step-p{margin:0 0 22px;font-size:15.5px;line-height:1.6;color:var(--muted);}
.rel-tasa .tv-step-p.sm{font-size:15px;margin-bottom:18px;}

/* Consentimiento */
.rel-tasa .tv-consent{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:12px;cursor:pointer;margin-bottom:14px;}
.rel-tasa .tv-consent-legal{border:1.5px solid var(--gold);background:#FFFBEF;}
.rel-tasa .tv-consent-legal.is-on{border-color:var(--navy);background:var(--hero-card);}
.rel-tasa .tv-consent-com{border:1px solid var(--line);background:var(--soft2);margin-bottom:22px;}
.rel-tasa .tv-consent input{margin-top:2px;width:22px;height:22px;flex:0 0 auto;accent-color:var(--navy);}
.rel-tasa .tv-consent span{font-size:15px;line-height:1.55;color:var(--ink);}
.rel-tasa .tv-consent-com span{color:var(--muted);}
.rel-tasa .tv-consent a{font-weight:700;text-decoration:underline;}
.rel-tasa .tv-consent strong{color:var(--navy);}
.rel-tasa .tv-consent .tv-opt{color:var(--muted3);}

/* Botones de opción (tipo, estado, antigüedad) */
.rel-tasa .tv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.rel-tasa .tv-opt-btn{padding:20px 16px;border:1.5px solid var(--field2);background:var(--soft2);color:var(--navy);border-radius:12px;font-family:var(--font-head);font-size:16px;font-weight:700;cursor:pointer;min-height:64px;text-align:left;}
.rel-tasa .tv-opt-btn.is-active{background:var(--navy);border-color:var(--navy);color:#fff;}

/* Estado (dos líneas) */
.rel-tasa .tv-estado{display:flex;flex-direction:column;gap:12px;}
.rel-tasa .tv-estado-btn{padding:18px 20px;border:1.5px solid var(--field2);background:var(--soft2);border-radius:12px;cursor:pointer;text-align:left;min-height:48px;}
.rel-tasa .tv-estado-btn.is-active{background:var(--navy);border-color:var(--navy);}
.rel-tasa .tv-estado-btn .t{display:block;font-family:var(--font-head);font-size:16.5px;font-weight:700;color:var(--navy);margin-bottom:3px;}
.rel-tasa .tv-estado-btn .s{display:block;font-size:14px;color:var(--muted2);}
.rel-tasa .tv-estado-btn.is-active .t{color:#fff;}
.rel-tasa .tv-estado-btn.is-active .s{color:#B9C1D8;}

/* Chips numéricos (hab / baños / cee / ascensor) */
.rel-tasa .tv-sublabel{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.1em;color:#7A839B;}
.rel-tasa .tv-chips{display:flex;gap:10px;flex-wrap:wrap;}
.rel-tasa .tv-chips.mb{margin-bottom:26px;}
.rel-tasa .tv-chip{flex:1 1 60px;min-width:56px;padding:16px 10px;border:1.5px solid var(--field2);background:var(--soft2);color:var(--navy);border-radius:11px;font-family:var(--font-head);font-size:17px;font-weight:800;cursor:pointer;min-height:48px;}
.rel-tasa .tv-chip.is-active{background:var(--navy);border-color:var(--navy);color:#fff;}
.rel-tasa .tv-chip-2{flex:1 1 0;}
.rel-tasa .tv-chip-cee{flex:1 1 56px;min-width:52px;padding:16px 8px;font-size:16px;}

/* Planta (grid ancho) */
.rel-tasa .tv-grid-planta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:26px;}
.rel-tasa .tv-planta-btn{padding:16px 14px;border:1.5px solid var(--field2);background:var(--soft2);color:var(--navy);border-radius:11px;font-family:var(--font-head);font-size:15.5px;font-weight:700;cursor:pointer;min-height:48px;text-align:left;}
.rel-tasa .tv-planta-btn.is-active{background:var(--navy);border-color:var(--navy);color:#fff;}

/* Extras (check) */
.rel-tasa .tv-grid-extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;}
.rel-tasa .tv-extra-btn{display:flex;align-items:center;gap:12px;padding:16px;border:1.5px solid var(--field2);background:var(--soft2);border-radius:11px;cursor:pointer;min-height:48px;text-align:left;}
.rel-tasa .tv-extra-btn.is-active{background:var(--hero-card);border-color:var(--navy);}
.rel-tasa .tv-extra-mark{flex:0 0 22px;width:22px;height:22px;border-radius:6px;border:1.5px solid #C7D0E4;background:transparent;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800;}
.rel-tasa .tv-extra-btn.is-active .tv-extra-mark{border-color:var(--navy);background:var(--navy);}
.rel-tasa .tv-extra-btn span.l{font-size:15.5px;font-weight:600;color:var(--navy);}

/* Campos de texto */
.rel-tasa .tv-field-row{display:flex;gap:14px;flex-wrap:wrap;}
.rel-tasa .tv-field{flex:1 1 200px;min-width:0;}
.rel-tasa .tv-label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:7px;}
.rel-tasa .tv-label .star{color:var(--gold);}
.rel-tasa .tv-label .opt{color:var(--muted3);font-weight:600;}
.rel-tasa .tv-input{width:100%;padding:18px;border:1.5px solid var(--field);border-radius:11px;font-size:16px;color:var(--navy);outline:none;min-height:48px;background:#fff;}
.rel-tasa .tv-input:focus{border-color:var(--navy);}
.rel-tasa .tv-input-upper{text-transform:uppercase;}
.rel-tasa .tv-hint{margin:7px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted3);}
.rel-tasa .tv-m2-wrap{position:relative;}
.rel-tasa .tv-m2-wrap .tv-input{padding:18px 60px 18px 18px;font-size:20px;font-weight:700;}
.rel-tasa .tv-m2-suffix{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:700;color:var(--muted3);}

/* Aviso de zona resuelta */
.rel-tasa .tv-zona-ok{margin-top:16px;padding:18px;border-left:4px solid var(--gold);background:#F6F8FE;border-radius:0 11px 11px 0;}
.rel-tasa .tv-zona-ok .n{margin:0 0 4px;font-family:var(--font-head);font-size:17px;font-weight:800;color:var(--navy);}
.rel-tasa .tv-zona-ok .d{margin:0;font-size:14.5px;color:var(--muted);}
.rel-tasa .tv-zona-ok .d strong{color:var(--navy);}
.rel-tasa .tv-zona-fallo{margin:14px 0 0;font-size:14.5px;color:#8A6D12;}

/* Navegación de pasos */
.rel-tasa .tv-nav{display:flex;gap:12px;margin-top:22px;}
.rel-tasa .tv-nav.mt26{margin-top:26px;}
.rel-tasa .tv-back{flex:0 0 auto;padding:16px 20px;background:transparent;border:1.5px solid var(--field);border-radius:11px;font-size:15px;font-weight:700;color:var(--navy);cursor:pointer;min-height:48px;}
.rel-tasa .tv-next{flex:1 1 auto;padding:16px;background:var(--navy);color:#fff;border:none;border-radius:11px;font-family:var(--font-head);font-weight:800;font-size:16px;cursor:pointer;min-height:48px;}
.rel-tasa .tv-next.is-off{background:#E4E8F2;color:#9AA3B8;cursor:not-allowed;}
.rel-tasa .tv-start{width:100%;padding:18px;background:var(--navy);color:#fff;border:none;border-radius:11px;font-family:var(--font-head);font-weight:800;font-size:16px;cursor:pointer;min-height:48px;}
.rel-tasa .tv-start.is-off{background:#E4E8F2;color:#9AA3B8;cursor:not-allowed;}

/* Contacto (paso final del wizard) */
.rel-tasa .tv-wizform{display:flex;flex-direction:column;gap:16px;}
.rel-tasa .tv-wizform .tv-input{padding:16px;}
.rel-tasa .tv-submit-final{flex:1 1 auto;padding:18px;background:var(--navy);color:#fff;border:none;border-radius:11px;font-family:var(--font-head);font-weight:800;font-size:16px;cursor:pointer;min-height:48px;}
.rel-tasa .tv-submit-final:hover{background:var(--gold);color:var(--navy);}

/* Resultado */
.rel-tasa .tv-res-kicker{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--gold);}
.rel-tasa .tv-res-sub{margin:0 0 22px;font-size:15px;color:var(--muted);}
.rel-tasa .tv-res-hero{background:var(--navy);border-radius:16px;padding:32px 28px;text-align:center;margin-bottom:20px;}
.rel-tasa .tv-res-hero .k{margin:0 0 6px;font-size:12.5px;font-weight:700;letter-spacing:.14em;color:#8E98B4;}
.rel-tasa .tv-res-central{margin:0 0 10px;font-family:var(--font-head);font-size:44px;font-weight:800;color:#fff;line-height:1.05;font-variant-numeric:tabular-nums;}
.rel-tasa .tv-res-rango{margin:0 0 26px;font-size:15px;color:#B9C1D8;}
.rel-tasa .tv-res-rango strong{color:var(--gold-lt);font-variant-numeric:tabular-nums;}
.rel-tasa .tv-res-barra{position:relative;height:10px;background:var(--navy-card);border-radius:5px;margin-bottom:14px;}
.rel-tasa .tv-res-barra .fill{position:absolute;left:8%;right:8%;top:0;bottom:0;background-image:linear-gradient(90deg,#8A6D12,#C9A227,#8A6D12);border-radius:5px;}
.rel-tasa .tv-res-barra .mark{position:absolute;left:50%;top:-6px;width:4px;height:22px;background:#fff;border-radius:2px;transform:translateX(-50%);}
.rel-tasa .tv-res-minmax{display:flex;justify-content:space-between;font-size:13.5px;color:#8E98B4;font-variant-numeric:tabular-nums;}
.rel-tasa .tv-res-cards{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.rel-tasa .tv-res-card{flex:1 1 200px;min-width:0;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--soft2);}
.rel-tasa .tv-res-card .k{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--gold);}
.rel-tasa .tv-res-card .v{margin:0 0 6px;font-family:var(--font-head);font-size:24px;font-weight:800;color:var(--navy);}
.rel-tasa .tv-res-card .d{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted2);}
.rel-tasa .tv-res-aviso{border-left:4px solid var(--gold);background:var(--soft);border-radius:0 11px 11px 0;padding:18px 22px;margin-bottom:20px;}
.rel-tasa .tv-res-aviso p{margin:0;font-size:14.5px;line-height:1.6;color:#4A5470;}
.rel-tasa .tv-res-aviso strong{color:var(--navy);}
.rel-tasa .tv-res-cierre{background:var(--hero-card);border-radius:14px;padding:24px;text-align:center;}
.rel-tasa .tv-res-cierre .t{margin:0 0 10px;font-family:var(--font-head);font-size:18px;font-weight:800;color:var(--navy);}
.rel-tasa .tv-res-cierre .p{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--muted);}
.rel-tasa .tv-res-cierre a{display:inline-block;padding:16px 28px;background:var(--navy);color:#fff;border-radius:11px;font-family:var(--font-head);font-weight:800;font-size:16px;min-height:48px;}
.rel-tasa .tv-res-cierre a:hover{background:var(--gold);color:var(--navy);}
.rel-tasa .tv-res-reset{margin-top:20px;width:100%;padding:14px;background:transparent;border:1.5px solid var(--field);border-radius:11px;font-size:15px;font-weight:700;color:var(--navy);cursor:pointer;min-height:48px;}

.rel-tasa .tv-fuente{margin:18px 0 0;text-align:center;font-size:13px;color:var(--muted3);}

/* ============================ OBJECIONES ============================= */
.rel-tasa .tv-obj{background:#fff;padding:96px 28px;}
.rel-tasa .tv-obj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
.rel-tasa .tv-obj-card{display:flex;flex-direction:column;gap:16px;padding:30px 28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 56px -44px rgba(4,10,35,.55);transition:transform .25s ease,box-shadow .25s ease;}
.rel-tasa .tv-obj-card:hover{transform:translateY(-4px);box-shadow:0 30px 70px -40px rgba(4,10,35,.5);border-color:#D8DEEE;}
.rel-tasa .tv-obj-head{display:flex;align-items:center;gap:14px;}
.rel-tasa .tv-obj-ico{flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:var(--navy);display:grid;place-items:center;}
.rel-tasa .tv-obj-head h3{font-family:var(--font-head);font-size:17px;font-weight:800;color:var(--navy);margin:0;line-height:1.35;text-wrap:pretty;}
.rel-tasa .tv-obj-rule{width:44px;height:3px;background:var(--gold);border-radius:2px;}
.rel-tasa .tv-obj-card p{margin:0;font-size:15px;line-height:1.65;color:var(--muted);}
.rel-tasa .tv-obj-note{padding:14px 16px;background:var(--hero-card);border-radius:10px;font-size:14.5px !important;line-height:1.55 !important;color:var(--navy) !important;}
.rel-tasa .tv-obj-cta{margin-top:34px;background:var(--navy);border-radius:18px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.rel-tasa .tv-obj-cta p{margin:0;font-family:var(--font-head);font-size:20px;font-weight:800;color:#fff;max-width:640px;text-wrap:pretty;}
.rel-tasa .tv-obj-cta .tv-btn-gold{flex:0 0 auto;}

/* ============================ CONTACTO ============================== */
.rel-tasa .tv-contacto{background:var(--soft);padding:96px 28px;}
.rel-tasa .tv-contacto-grid{display:flex;gap:48px;flex-wrap:wrap;align-items:flex-start;}
.rel-tasa .tv-contacto-copy{flex:1 1 340px;min-width:0;}
.rel-tasa .tv-contacto-lead{margin:0 0 28px;font-size:17px;line-height:1.6;color:var(--muted);text-wrap:pretty;}
.rel-tasa .tv-contacto-box{background:var(--navy);border-radius:16px;padding:28px;}
.rel-tasa .tv-cb-1{margin:0 0 10px;font-size:14px;font-weight:700;color:#fff;}
.rel-tasa .tv-cb-2{margin:0 0 12px;font-family:var(--font-head);font-size:26px;font-weight:800;}
.rel-tasa .tv-cb-2 a{color:var(--gold-lt);}
.rel-tasa .tv-cb-3{margin:0;font-size:14px;color:#B9C1D8;}
.rel-tasa .tv-cb-3 a{color:var(--gold-lt);font-weight:700;}
.rel-tasa .tv-contacto-formwrap{flex:1.2 1 460px;min-width:300px;background:#fff;border-radius:20px;padding:34px;box-shadow:0 34px 80px -46px rgba(4,10,35,.5);border:1px solid var(--line2);}
.rel-tasa .tv-form{display:flex;flex-direction:column;gap:16px;}
.rel-tasa .tv-form label{display:block;font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:7px;}
.rel-tasa .tv-form .tv-input{padding:16px;}
.rel-tasa .tv-form textarea.tv-input{resize:vertical;min-height:auto;}
.rel-tasa .tv-form-row{display:flex;gap:14px;flex-wrap:wrap;}
.rel-tasa .tv-form-row>div{flex:1 1 180px;min-width:0;}
.rel-tasa .tv-req{color:var(--gold);}
.rel-tasa .tv-opt{color:var(--muted3);}
.rel-tasa .tv-check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px !important;line-height:1.55;color:var(--muted);font-weight:400 !important;margin-bottom:0 !important;}
.rel-tasa .tv-check input{margin-top:2px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--navy);}
.rel-tasa .tv-check a{font-weight:700;text-decoration:underline;}
.rel-tasa .tv-btn-submit{padding:18px;background:var(--navy);color:#fff;border:none;border-radius:11px;font-family:var(--font-head);font-weight:800;font-size:16px;cursor:pointer;min-height:48px;}
.rel-tasa .tv-btn-submit:hover{background:var(--gold);color:var(--navy);}
.rel-tasa .tv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.rel-tasa .tv-form-err{margin:0;color:#B4232A;font-size:14px;font-weight:600;}
.rel-tasa .tv-contacto-ok{padding:40px 10px;text-align:center;}
.rel-tasa .tv-contacto-ok .tv-ok-1{margin:0 0 12px;font-family:var(--font-head);font-size:24px;font-weight:800;color:var(--navy);}
.rel-tasa .tv-contacto-ok .tv-ok-2{margin:0;font-size:16px;line-height:1.6;color:var(--muted);}

/* ============================ FAQ =================================== */
.rel-tasa .tv-faq{background:#fff;padding:96px 28px;}
.rel-tasa .tv-faq-wrap{max-width:860px;margin:0 auto;}
.rel-tasa .tv-faq-list{display:flex;flex-direction:column;gap:12px;}
.rel-tasa .tv-faq-item{border:1px solid var(--line);border-radius:14px;background:var(--soft2);overflow:hidden;}
.rel-tasa .tv-faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;cursor:pointer;min-height:48px;font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--navy);}
.rel-tasa .tv-faq-item summary::-webkit-details-marker{display:none;}
.rel-tasa .tv-faq-plus{flex:0 0 auto;font-size:22px;font-weight:700;color:var(--gold);transition:transform .25s ease;}
.rel-tasa .tv-faq-item[open] .tv-faq-plus{transform:rotate(45deg);}
.rel-tasa .tv-faq-a{padding:0 24px 24px;}
.rel-tasa .tv-faq-a p{margin:0;font-size:15.5px;line-height:1.65;color:var(--muted);}

/* ============================ RED + MAPA ============================ */
.rel-tasa .tv-red{background:var(--navy);padding:96px 28px;}
.rel-tasa .tv-red-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;margin-bottom:56px;}
.rel-tasa .tv-red-stats>div{text-align:center;}
.rel-tasa .tv-stat-n{margin:0 0 6px;font-family:var(--font-head);font-size:40px;font-weight:800;color:#fff;line-height:1;}
.rel-tasa .tv-stat-l{margin:0;font-size:14px;color:#B9C1D8;}
.rel-tasa .tv-red-grid{display:flex;gap:48px;flex-wrap:wrap;align-items:center;}
.rel-tasa .tv-red-copy{flex:1 1 320px;min-width:0;}
.rel-tasa .tv-red-lead{margin:0 0 22px;font-size:16.5px;line-height:1.6;color:#B9C1D8;text-wrap:pretty;}
.rel-tasa .tv-red-map{flex:1.1 1 420px;min-width:300px;}
.rel-tasa .tv-map{width:100%;background:var(--navy-card);border-radius:18px;overflow:hidden;}

/* Mapa SVG (reutilizado del componente de asesores) */
.rel-tasa .tv-map .rel-map-svg{width:100%;height:auto;display:block;}
.rel-tasa .tv-map .rel-map-label{fill:#fff;font-family:var(--font-head);pointer-events:none;transition:fill .2s ease;}
.rel-tasa .tv-map .rel-map-sublabel{fill:var(--gold-lt);}
.rel-tasa .tv-map .rel-map-ghost{fill:#B9C1D8;}
.rel-tasa .tv-map .rel-map-label.is-on{fill:var(--gold-lt);}
.rel-tasa .tv-map .rel-map-hit{cursor:pointer;}
.rel-tasa .tv-map .rel-map-hit:focus-visible{outline:3px solid var(--gold);}

/* =========================================================================
   RESPONSIVE — sin alterar el desktop.
   ========================================================================= */
@media (max-width:900px){
  .rel-tasa .tv-h2{font-size:30px;}
  .rel-tasa .tv-obj,.rel-tasa .tv-contacto,.rel-tasa .tv-faq,.rel-tasa .tv-red{padding-left:20px;padding-right:20px;}
  .rel-tasa .tv-obj,.rel-tasa .tv-contacto,.rel-tasa .tv-faq,.rel-tasa .tv-red{padding-top:72px;padding-bottom:72px;}
}
@media (max-width:768px){
  /* Hero móvil: la foto sigue a sangre cubriendo el hero; el contenido se apila
     desde arriba (puede crecer más de una pantalla, sin recortar). El degradado
     pasa a vertical para legibilidad sobre la foto y prioriza las dos caras. */
  .rel-tasa .tv-hero{height:auto;min-height:100dvh;}
  .rel-tasa .tv-hero-img{object-position:42% 40%;}
  .rel-tasa .tv-hero-veil{background-image:linear-gradient(180deg,rgba(11,20,68,.28) 0%,rgba(11,20,68,.44) 46%,rgba(11,20,68,.82) 78%,#0B1444 100%);}
  .rel-tasa .tv-hero-fade{display:none;}
  .rel-tasa .tv-hero-inner{justify-content:flex-start;gap:clamp(20px,4vh,34px);padding-left:20px;padding-right:20px;}
  .rel-tasa .tv-hero-copy{max-width:none;margin-left:0;}
  .rel-tasa .tv-step-sep{border-left:0;padding-left:0;}
  .rel-tasa .tv-hero-cta{display:block;width:100%;text-align:center;padding-left:20px;padding-right:20px;}
  .rel-tasa .tv-calc{padding:56px 16px;}
  .rel-tasa .tv-card{padding:22px 18px 24px;}
  .rel-tasa .tv-res-central{font-size:36px;}
  .rel-tasa .tv-h2{font-size:27px;}
}
@media (max-width:600px){
  .rel-tasa .tv-band span{flex:1 1 100%;justify-content:flex-start;}
  .rel-tasa .tv-contacto-formwrap{padding:24px 18px;}
  .rel-tasa .tv-obj{padding:56px 16px;}
  .rel-tasa .tv-obj-card{padding:24px 20px;}
}
@media (prefers-reduced-motion:reduce){
  .rel-tasa .tv-pane,.rel-tasa .tv-pane-rise{animation:none;}
  .rel-tasa .tv-obj-card{transition:none;}
}
