/* MTG Partners — kit de marca
   Paleta: hueso #F8F7F4 · navy #1B2A4A · océano #2E5077 · negro #111111 · acero #7FA6C9 */

:root{
  --hueso:#F8F7F4;
  --navy:#1B2A4A;
  --oceano:#2E5077;
  --negro:#111111;
  --acero:#7FA6C9;
  --verde:#1F6E43;
  --linea:#DDD9D0;
  --blanco:#FFFFFF;
  --f-display:"Montserrat",system-ui,sans-serif;
  --f-body:"Public Sans",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,monospace;
  --ancho:1080px;
  --s1:.5rem;--s2:1rem;--s3:1.75rem;--s4:3rem;--s5:5rem;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{background:var(--hueso);color:var(--navy);font-family:var(--f-body);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--oceano)}
:focus-visible{outline:3px solid var(--acero);outline-offset:2px;border-radius:2px}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 var(--s3)}

/* ---- Cabecera ---- */
header{position:sticky;top:0;z-index:30;background:rgba(248,247,244,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--linea)}
.barra{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;gap:var(--s2)}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--navy)}
.marca svg{flex:none}
.marca .nombre{font-family:var(--f-display);font-weight:800;font-size:1.12rem;letter-spacing:.01em}
.marca .nombre b{color:var(--verde);font-weight:800}
.marca .nombre span{font-weight:300;letter-spacing:.02em;color:#5A6982}
nav ul{display:flex;gap:var(--s3);list-style:none;align-items:center}
nav a{color:var(--navy);text-decoration:none;font-weight:600;font-size:.9rem}
nav a:hover{color:var(--oceano)}
nav .cta-nav{background:var(--navy);color:#fff;padding:.5rem 1rem;border-radius:6px}
nav .cta-nav:hover{background:var(--oceano);color:#fff}

/* ---- Botones ---- */
.boton{display:inline-block;font-weight:700;font-size:.98rem;padding:.8rem 1.5rem;border-radius:6px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--f-body);transition:background .15s,color .15s,border-color .15s}
.boton-primario{background:var(--navy);color:#fff}
.boton-primario:hover{background:var(--oceano)}
.boton-secundario{background:transparent;color:var(--navy);border-color:var(--navy)}
.boton-secundario:hover{border-color:var(--oceano);color:var(--oceano)}

/* ---- Tipos de texto ---- */
.kicker{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oceano);display:inline-flex;align-items:center;gap:.55rem}
.kicker::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--verde);flex:none}
h1{font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.08;letter-spacing:-.015em}
h2{font-family:var(--f-display);font-weight:800;font-size:clamp(1.45rem,3vw,2rem);line-height:1.15;letter-spacing:-.01em}
h3{font-family:var(--f-display);font-weight:700;font-size:1.08rem}
.sub{color:#3C4A63;max-width:58ch}
.mono{font-family:var(--f-mono)}

/* ---- Secciones ---- */
section{padding:var(--s5) 0}
section + section{border-top:1px solid var(--linea)}
.seccion-cab{max-width:640px;margin-bottom:var(--s4)}
.seccion-cab .kicker{margin-bottom:var(--s2)}
.seccion-cab h2{margin-bottom:var(--s2)}

/* ---- Héroe ---- */
.heroe{padding:var(--s5) 0}
.heroe-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s4);align-items:center}
.heroe .kicker{margin-bottom:var(--s3)}
.heroe h1{margin-bottom:var(--s3)}
.heroe .sub{margin-bottom:var(--s4)}
.acciones{display:flex;gap:var(--s2);flex-wrap:wrap}
.dato-fecha{margin-top:var(--s4);display:inline-flex;gap:1.4rem;padding:.8rem 1.2rem;border:1px solid var(--linea);border-radius:8px;background:#fff}
.dato-fecha div{display:flex;flex-direction:column}
.dato-fecha .mono{font-size:1.05rem;font-weight:500;color:var(--navy)}
.dato-fecha small{font-size:.72rem;color:#5A6982;letter-spacing:.05em;text-transform:uppercase}

/* diagrama del héroe */
.diagrama{width:100%;height:auto}
.diagrama .nodo{fill:var(--negro)}
.diagrama .caja{fill:#fff;stroke:var(--linea)}
.diagrama .caja-capa{fill:var(--navy)}
.diagrama .arista{stroke:var(--negro);stroke-width:2;fill:none}
.diagrama text{font-family:var(--f-mono);font-size:11.5px;fill:var(--navy)}
.diagrama .t-capa{fill:#fff;font-weight:500}
.diagrama .arista{stroke-dasharray:340;stroke-dashoffset:340;animation:trazar 1.4s ease forwards .3s}
@keyframes trazar{to{stroke-dashoffset:0}}

/* ---- Franja de fechas ---- */
.franja{background:var(--navy);color:#fff;padding:var(--s3) 0}
.franja .contenedor{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}
.franja .hito{display:flex;flex-direction:column;gap:.2rem}
.franja .mono{color:var(--acero);font-size:1rem}
.franja small{color:#C7D2E3;font-size:.85rem;max-width:26ch}

/* ---- Tarjetas de pisos ---- */
.pisos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.piso{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:var(--s3)}
.piso .etiqueta{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--oceano);margin-bottom:var(--s2);display:block}
.piso h3{margin-bottom:.6rem}
.piso p{font-size:.95rem;color:#3C4A63}
.piso .precio{margin-top:var(--s2);font-family:var(--f-mono);font-size:.9rem;color:var(--navy)}

/* ---- Pasos (ruta) ---- */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.paso{position:relative;padding-top:1.4rem}
.paso::before{content:"";position:absolute;top:0;left:0;width:10px;height:10px;border-radius:2px;background:var(--verde)}
.paso::after{content:"";position:absolute;top:4px;left:14px;right:-1.4rem;height:2px;background:var(--linea)}
.paso:last-child::after{display:none}
.paso h3{margin-bottom:.4rem;font-size:1rem}
.paso p{font-size:.92rem;color:#3C4A63}
.paso .mono{font-size:.75rem;color:var(--oceano);display:block;margin-bottom:.35rem}

/* ---- Partner (expansión) ---- */
.expansion{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
.exp-item{border-left:2px solid var(--acero);padding-left:var(--s2)}
.exp-item h3{margin-bottom:.3rem}
.exp-item p{font-size:.95rem;color:#3C4A63}

/* ---- CTA final ---- */
.cta-final{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:var(--s4);display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap}
.cta-final h2{max-width:24ch}

/* ---- Pie ---- */
footer{border-top:1px solid var(--linea);padding:var(--s4) 0;font-size:.85rem;color:#5A6982}
footer .contenedor{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}
footer a{color:#5A6982}

/* ---- Diagnóstico ---- */
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:var(--s4);max-width:720px;margin:0 auto}
.pregunta h3{margin-bottom:var(--s2);font-size:1.15rem}
.opciones{display:grid;gap:.6rem}
.opciones label{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem 1rem;border:1.5px solid var(--linea);border-radius:8px;cursor:pointer;font-size:.95rem}
.opciones label:hover{border-color:var(--acero)}
.opciones input{margin-top:.25rem;accent-color:var(--navy)}
.progreso-d{height:3px;background:var(--linea);border-radius:3px;margin-bottom:var(--s3);overflow:hidden}
.progreso-d i{display:block;height:100%;background:var(--navy);transition:width .25s ease}
.nav-d{display:flex;justify-content:space-between;margin-top:var(--s3)}
.resultado{display:none;text-align:left}
.resultado.visible{display:block}
.score{font-family:var(--f-mono);font-size:2.6rem;font-weight:500;line-height:1}
.nivel{display:inline-block;font-family:var(--f-mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .8rem;border-radius:99px;margin:.8rem 0 var(--s2)}
.nivel-alto{background:#F3E2DC;color:#8A3B26}
.nivel-medio{background:#F1E9D2;color:#7A5E12}
.nivel-bajo{background:#DEE9DF;color:#1D5B34}
.hallazgos li{margin:.45rem 0 .45rem 1.2rem;font-size:.95rem}

/* ---- Onboarding (ruta cliente) ---- */
.ruta{max-width:760px;margin:0 auto}
.ruta-paso{display:flex;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--linea)}
.ruta-paso:last-child{border-bottom:none}
.ruta-num{flex:none;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-weight:500}
.ruta-paso h3{margin-bottom:.3rem}
.ruta-paso p{font-size:.95rem;color:#3C4A63}
.ruta-paso .quien{font-family:var(--f-mono);font-size:.74rem;color:var(--oceano);text-transform:uppercase;letter-spacing:.1em}
.aviso{background:#fff;border:1px dashed var(--acero);border-radius:10px;padding:var(--s3);max-width:760px;margin:var(--s4) auto 0;font-size:.95rem}

@media (max-width:860px){
  .heroe-grid{grid-template-columns:1fr}
  .pisos,.pasos,.expansion{grid-template-columns:1fr}
  .paso::after{display:none}
  .cta-final{flex-direction:column;align-items:flex-start}
  nav ul{gap:var(--s2)}
  nav ul li:nth-child(1),nav ul li:nth-child(2){display:none}
}
