/* NORTEIMIV — hoja de estilos. Tokens definidos en Etapa 2 (diseño desde el logotipo). */
:root{
  --asfalto:#303030;
  --senal:#800000;
  --senal-oscuro:#5a0000;
  --caliche:#ECEAE6;
  --caliche-claro:#f7f6f3;
  --pavimento:#5f5f5f;
  --gris-borde:#8A8A8A;
  --blanco:#ffffff;
  --texto-inverso:#d9d7d2;
  --fd:"Red Hat Display",system-ui,sans-serif;
  --ft:"Red Hat Text",system-ui,sans-serif;
  --ancho:1200px;
  --radio:3px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important;animation:none !important}}
body{margin:0;background:var(--blanco);color:var(--asfalto);font-family:var(--ft);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--senal);text-decoration:none}
a:hover{color:var(--senal-oscuro);text-decoration:underline}
h1,h2,h3,h4{font-family:var(--fd);letter-spacing:-0.01em;margin:0;font-weight:600;line-height:1.1}
h1{font-size:clamp(36px,5vw,58px);line-height:1.04}
h2{font-size:clamp(28px,3.2vw,38px)}
h3{font-size:22px;line-height:1.25}
p{margin:0}
ul,ol{margin:0;padding-left:20px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--senal);outline-offset:3px}
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:8px;background:var(--asfalto);color:#fff;padding:8px 14px;z-index:100}
.saltar:focus{left:8px}

/* Contenedores */
.cont{max-width:var(--ancho);margin:0 auto;padding-left:32px;padding-right:32px}
.sec{padding:80px 0}
.sec--c{background:var(--caliche)}
.sec--g{background:var(--asfalto);color:#fff}
.sec--g h2,.sec--g h3{color:#fff}
.sec--g p{color:var(--texto-inverso)}
.sec--g p.fuerte{color:#fff}
.lead{font-size:19px;max-width:640px}
.sub{color:var(--pavimento);font-size:15px}
.max-s{max-width:560px}
.max-m{max-width:720px}
.dash{border:0;border-top:2px dashed var(--asfalto);margin:0}
.sec--g .dash{border-top-color:rgba(255,255,255,.45)}
.enc{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:40px}
.enlace{display:inline-block;font-weight:600;color:var(--asfalto);border-bottom:2px solid var(--senal);padding:8px 0 2px}
.enlace:hover{text-decoration:none;color:var(--senal)}
.sec--g .enlace{color:#fff}
.grid{display:grid;gap:32px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:repeat(1,minmax(0,1fr))}.cont{padding-left:16px;padding-right:16px}.sec{padding:56px 0}}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--radio);font-weight:600;font-size:16px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.btn:hover{text-decoration:none}
.btn--p{background:var(--senal);color:#fff;border-color:var(--senal)}
.btn--p:hover{background:var(--senal-oscuro);border-color:var(--senal-oscuro);color:#fff}
.btn--s{background:transparent;color:var(--asfalto);border-color:var(--asfalto)}
.btn--s:hover{background:var(--asfalto);color:#fff}
.btn--w{background:#fff;color:var(--asfalto);border-color:#fff}
.btn--w:hover{background:var(--caliche);border-color:var(--caliche);color:var(--asfalto)}
.btn--peq{min-height:44px;padding:0 20px}
.acciones{display:flex;flex-wrap:wrap;gap:14px}
@media (max-width:640px){.acciones .btn{width:100%}}

/* Navegación */
.cab{border-bottom:1px solid var(--caliche);background:#fff;position:sticky;top:0;z-index:50}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.marca{display:flex;align-items:center;gap:12px;color:var(--asfalto)}
.marca:hover{text-decoration:none;color:var(--asfalto)}
.marca img{width:44px;height:46px;object-fit:contain}
.marca span{font-family:var(--fd);font-weight:700;font-size:18px;letter-spacing:.14em}
.marca span b{font-weight:500}
.nav__links{display:flex;align-items:center;gap:32px;margin:0;padding:0;list-style:none}
.nav__links a{color:var(--asfalto);font-weight:500}
.nav__links a:hover{color:var(--senal);text-decoration:none}
.nav__links a[aria-current="page"]{color:var(--senal);border-bottom:2px solid var(--senal);padding-bottom:2px}
.nav__cta{display:flex;align-items:center;gap:20px}
.nav__agendar{color:var(--asfalto);font-weight:600;border-bottom:2px solid var(--senal);padding-bottom:2px;white-space:nowrap}
.nav__agendar:hover{text-decoration:none;color:var(--senal)}
@media (max-width:1060px){.nav__agendar{display:none}}
.nav__menu{display:none;width:44px;height:44px;border:0;background:transparent;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:900px){
  .nav__links{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;border-bottom:1px solid var(--caliche);flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px}
  .nav__links.abierto{display:flex}
  .nav__links li a{display:block;padding:14px 0;border-top:1px solid var(--caliche)}
  .nav__links a[aria-current="page"]{border-bottom:0;padding-bottom:14px}
  .nav__menu{display:flex}
  .nav__cta .btn{display:none}
}

/* Hero */
.hero{padding:72px 0 48px}
.hero__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.hero__txt{display:flex;flex-direction:column;gap:28px;max-width:560px}
.hero__kicker{font-size:16px;color:var(--pavimento)}
.plano{margin:0;border:1px solid var(--asfalto);background:#fff;position:relative}
.plano figcaption{font-size:13px;color:var(--pavimento);padding:8px 0 0}
@media (max-width:900px){.hero__grid{grid-template-columns:repeat(1,minmax(0,1fr))}.hero{padding:40px 0 32px}}

/* Cifras */
.cifras{padding-top:40px;padding-bottom:64px}
.cifras .grid{padding-top:28px}
.cifra__n{font-family:var(--fd);font-size:40px;font-weight:600;line-height:1}
.cifra__l{font-size:15px;color:var(--pavimento);margin-top:6px}

/* Bloques con línea discontinua */
.bloque{display:flex;flex-direction:column;gap:12px;border-top:2px dashed var(--asfalto);padding-top:20px}
.sec--g .bloque{border-top-color:rgba(255,255,255,.45)}
.bloque .paso{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--senal)}
.sec--g .bloque .paso{color:#fff}
.bloque svg{width:28px;height:28px}
.bloque h3 a{color:inherit}
.bloque--link{color:inherit}
.bloque--link:hover{text-decoration:none;color:inherit}
.bloque--link:hover h3{color:var(--senal)}

/* Tarjetas de proyecto */
.tarj{display:flex;flex-direction:column;gap:14px;color:var(--asfalto)}
.tarj:hover{text-decoration:none;color:var(--asfalto)}
.tarj:hover h3{color:var(--senal)}
.tarj__img{aspect-ratio:4/3;border:1px solid var(--asfalto);background:var(--caliche);overflow:hidden;display:flex;align-items:center;justify-content:center}
.tarj__img img{width:100%;height:100%;object-fit:cover}
.falta{aspect-ratio:4/3;border:1px dashed var(--gris-borde);background:var(--caliche-claro);display:flex;align-items:center;justify-content:center;color:var(--pavimento);font-size:14px;text-align:center;padding:16px}
.tipo{font-size:14px;color:var(--senal);font-weight:600}
.tarj h3{font-size:20px;margin-top:4px}

/* Definiciones */
.defs{margin:0;display:grid;gap:18px}
.defs div{border-top:2px dashed var(--asfalto);padding-top:14px}
.defs dt{font-weight:600;font-size:18px}
.defs dd{margin:4px 0 0}

/* Tarjeta persona */
.persona{display:flex;flex-direction:column;gap:20px;background:#fff;padding:36px;border:1px solid var(--asfalto)}
.persona__cab{display:flex;gap:20px;align-items:center}
.persona__foto{width:88px;height:88px;border-radius:50%;flex-shrink:0;border:1px dashed var(--gris-borde);background:var(--caliche-claro);display:flex;align-items:center;justify-content:center;color:var(--pavimento);font-size:12px;text-align:center}
.persona ul{display:flex;flex-direction:column;gap:6px;font-size:15px}

/* Formularios */
.form{display:flex;flex-direction:column;gap:14px;background:#fff;color:var(--asfalto);padding:32px;border-radius:var(--radio)}
.form--marco{border:1px solid var(--asfalto)}
.form h2,.form h3{font-size:20px}
.campo{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}
.campo input,.campo select,.campo textarea{min-height:44px;border:1px solid var(--gris-borde);border-radius:var(--radio);padding:0 12px;font-size:16px;font-weight:400;background:#fff;width:100%}
.campo textarea{padding:10px 12px;resize:vertical;min-height:96px}
.campo select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23303030' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.campo--check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:14px}
.campo--check{min-height:44px;align-items:center}.campo--check input{width:24px;height:24px;min-height:0;margin:0;flex-shrink:0;accent-color:var(--senal)}
.adjuntos{display:flex;align-items:center;justify-content:center;min-height:72px;border:2px dashed var(--gris-borde);border-radius:var(--radio);color:var(--pavimento);font-size:15px;font-weight:400;text-align:center;padding:12px;cursor:pointer}
.adjuntos:hover{border-color:var(--asfalto);color:var(--asfalto)}
.adjuntos input{position:absolute;width:1px;height:1px;opacity:0}
.lista-adj{list-style:none;padding:0;margin:0;font-size:14px;color:var(--pavimento);display:flex;flex-direction:column;gap:4px}
.nota{font-size:13px;color:var(--pavimento)}
.aviso{padding:14px 16px;border-radius:var(--radio);font-size:15px;border:1px solid var(--asfalto);background:var(--caliche-claro)}
.aviso--ok{border-color:#2d6a4f;background:#eef6f1}
.aviso--error{border-color:var(--senal);background:#fbeeee}
.chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chips__l{font-size:14px;color:var(--pavimento);margin-right:4px}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--radio);border:1px solid var(--asfalto);background:#fff;color:var(--asfalto);font-size:14px;font-weight:500;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--asfalto);color:#fff}

/* Página proyectos */
.proy{display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:start}
@media (max-width:900px){.proy{grid-template-columns:repeat(1,minmax(0,1fr))}}
.mapa{border:1px solid var(--asfalto);background:var(--caliche)}
.mapa #mapa{height:560px;width:100%}
@media (max-width:640px){.mapa #mapa{height:380px}}
.mapa__pie{padding:12px 16px;font-size:13px;color:var(--pavimento);background:#fff;border-top:1px solid var(--asfalto);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.mapa__pie button{border:0;background:none;color:var(--asfalto);font-weight:600;cursor:pointer;border-bottom:2px solid var(--senal);padding:0 0 1px}
.leaflet-container{font-family:var(--ft);font-size:14px}
.leaflet-popup-content-wrapper{border-radius:var(--radio);border:1px solid var(--asfalto);box-shadow:none}
.leaflet-popup-tip{border:1px solid var(--asfalto)}
.popup{display:flex;flex-direction:column;gap:4px;min-width:200px}
.popup .tipo{font-size:13px}
.popup strong{font-family:var(--fd);font-size:16px;line-height:1.25}
.popup span{font-size:13px;color:var(--pavimento)}
.marcador{width:30px;height:40px}
.marcador svg{width:30px;height:40px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.grupo{width:34px;height:34px;border-radius:50%;background:var(--senal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.lista{display:flex;flex-direction:column}
.lista__cab{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:6px}
.fila{display:flex;gap:14px;padding:16px 0;border-top:2px dashed var(--asfalto);color:var(--asfalto)}
.fila:hover{text-decoration:none;background:var(--caliche-claro);color:var(--asfalto)}
.fila:hover h3{color:var(--senal)}
.fila__img{width:96px;height:72px;flex-shrink:0;border:1px solid var(--asfalto);background:var(--caliche);overflow:hidden}
.fila__img img{width:100%;height:100%;object-fit:cover}
.fila__img.falta{aspect-ratio:auto;font-size:11px;padding:4px}
.fila h3{font-size:17px}
.fila span.sub{display:block}
.lista__pie{border-top:2px dashed var(--asfalto);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.vacio{padding:24px 0;color:var(--pavimento)}

/* Ficha de proyecto */
.ficha__cab{display:flex;flex-direction:column;gap:16px;padding-top:48px;padding-bottom:32px}
.migas{font-size:14px;color:var(--pavimento)}
.migas a{color:var(--pavimento)}
.ficha{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:start;padding-bottom:72px}
@media (max-width:900px){.ficha{grid-template-columns:repeat(1,minmax(0,1fr))}}
.ficha__plano{border:1px solid var(--asfalto);background:var(--caliche)}
.ficha__plano img{width:100%}
.ficha__plano .falta{aspect-ratio:16/10}
.ficha__datos{display:flex;flex-direction:column;gap:20px}
.datos{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:15px}
.datos dt{color:var(--pavimento)}
.datos dd{margin:0;font-weight:500}
.ficha__mini{height:260px;border:1px solid var(--asfalto)}

/* Categorizador */
.cat{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:start}
@media (max-width:900px){.cat{grid-template-columns:repeat(1,minmax(0,1fr))}}
.resultado{background:var(--asfalto);color:#fff;padding:28px;display:flex;flex-direction:column;gap:18px}
.resultado__g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.resultado__g div{border-top:2px dashed rgba(255,255,255,.45);padding-top:12px}
.resultado__l{font-size:14px;color:var(--texto-inverso)}
.resultado__v{font-family:var(--fd);font-size:34px;font-weight:600;line-height:1.1}
.resultado__f{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.2);padding-top:8px;font-size:15px}
.resultado__f span:first-child{color:var(--texto-inverso)}
.resultado__f span:last-child{font-weight:600}
.cuadro{border:1px solid var(--asfalto);padding:20px;display:flex;flex-direction:column;gap:10px;font-size:15px}

/* Cierre */
.cierre__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}
@media (max-width:900px){.cierre__grid{grid-template-columns:repeat(1,minmax(0,1fr))}}
.cierre__txt{display:flex;flex-direction:column;gap:24px}
.cierre__txt img{width:72px;height:75px;object-fit:contain}
.contacto{display:flex;flex-direction:column;gap:6px;font-size:15px}
.contacto a{color:#fff;display:inline-block;padding:6px 0}

/* Pie */
.pie{border-top:1px solid var(--caliche);background:#fff}
.pie__grid{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:15px;color:var(--pavimento)}
.pie__col{display:flex;flex-direction:column;gap:6px}
.pie__col a{color:var(--asfalto)}
.pie__marca{font-family:var(--fd);font-weight:700;letter-spacing:.14em;color:var(--asfalto)}
.pie__marca b{font-weight:500}
.pie__legal{padding-bottom:24px;font-size:13px;color:var(--pavimento)}

/* WhatsApp flotante */
.wsp{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;background:var(--senal);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(48,48,48,.35);z-index:60}
.wsp:hover{background:var(--senal-oscuro)}
.wsp svg{width:28px;height:28px}
@media (max-width:640px){.wsp{right:16px;bottom:16px}}

/* Fotografías de terreno */
.foto{margin:0;border:1px solid var(--asfalto);background:var(--caliche);overflow:hidden}
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.foto--4x3{aspect-ratio:4/3}
.foto--3x2{aspect-ratio:3/2}
.foto--ancha{aspect-ratio:21/9}
.foto figcaption{font-size:13px;color:var(--pavimento);padding:8px 12px;background:#fff;border-top:1px solid var(--asfalto)}
.mosaico{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mosaico .foto{aspect-ratio:4/3}
.mosaico .foto--grande{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:640px){.mosaico{grid-template-columns:repeat(2,minmax(0,1fr))}.mosaico .foto--grande{grid-column:span 2;grid-row:span 1;aspect-ratio:3/2}}
.pie-foto{font-size:13px;color:var(--pavimento);margin-top:12px}
.banda{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:640px){.banda{grid-template-columns:repeat(1,minmax(0,1fr))}}
.destacado{display:grid;grid-template-columns:6fr 6fr;gap:48px;align-items:center}
@media (max-width:900px){.destacado{grid-template-columns:repeat(1,minmax(0,1fr))}}
.lista-marcas{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.lista-marcas li{padding-left:22px;position:relative}
.lista-marcas li::before{content:"";position:absolute;left:0;top:12px;width:12px;height:2px;background:var(--senal)}
.lista-marcas strong{display:block;font-family:var(--fd);font-size:18px;font-weight:600}
.etiqueta{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--senal)}
.etiqueta::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--senal)}

/* Agenda */
.agenda-embed{border:1px solid var(--asfalto);background:#fff;min-height:720px}
.agenda-embed iframe{width:100%;height:760px;border:0;display:block}
.agenda-pasos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:640px){.agenda-pasos{grid-template-columns:repeat(1,minmax(0,1fr))}}

/* Texto largo (privacidad, servicios) */
.prosa{display:flex;flex-direction:column;gap:16px;max-width:720px}
.prosa h2{font-size:26px;margin-top:16px}
.prosa h3{font-size:20px;margin-top:8px}
.prosa ul{display:flex;flex-direction:column;gap:6px}
.servicio{display:grid;grid-template-columns:5fr 7fr;gap:40px;padding:56px 0;border-top:2px dashed var(--asfalto)}
.servicio:first-of-type{border-top:0;padding-top:24px}
@media (max-width:900px){.servicio{grid-template-columns:repeat(1,minmax(0,1fr));gap:20px;padding:40px 0}}
.servicio__t{display:flex;flex-direction:column;gap:14px}
.servicio__t svg{width:36px;height:36px}
.servicio__c{display:flex;flex-direction:column;gap:14px}
.servicio__c ul{display:flex;flex-direction:column;gap:6px}
.incluye{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0;padding:0;list-style:none}
.incluye li{padding-left:18px;position:relative}
.incluye li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:2px;background:var(--senal)}
@media (max-width:640px){.incluye{grid-template-columns:repeat(1,minmax(0,1fr))}}
.cita{font-family:var(--fd);font-size:22px;font-weight:500;border-left:3px solid var(--senal);padding-left:18px;max-width:560px}
.tabla{width:100%;border-collapse:collapse;font-size:15px}
.tabla th,.tabla td{text-align:left;padding:10px 12px;border-top:1px solid var(--caliche);vertical-align:top}
.tabla th{font-weight:600;border-top:2px dashed var(--asfalto)}
.tabla-caja{overflow-x:auto}

/* Ajustes para pantallas táctiles y móviles */
.nav__links li.solo-movil{display:none}
@media (max-width:900px){
  .nav__links li.solo-movil{display:block}
  .nav__links li.solo-movil a.btn{display:inline-flex;margin-top:12px;width:100%}
  .nav__links li a{min-height:48px;display:flex;align-items:center}
}
@media (max-width:640px){
  .form,.persona{padding:20px}
  .cuadro,.resultado{padding:18px}
  .pie__legal{padding-bottom:96px}
  .hero__txt{gap:20px}
  .cifra__n{font-size:34px}
  .mapa #mapa{height:360px}
  .fila__img{width:84px;height:63px}
  .datos{grid-template-columns:1fr;gap:4px 0}
  .datos dt{margin-top:8px}
  .servicio__t svg{width:28px;height:28px}
}
@media (hover:none){
  .chip,.btn{-webkit-tap-highlight-color:transparent}
  .leaflet-container{touch-action:pan-y}
}
.nav__links li.solo-movil a.btn{color:#fff;justify-content:center}
.nav__links li.solo-movil a.btn:hover{color:#fff}
.mapa__pie button{min-height:44px;padding:0 4px}
@media (max-width:640px){
  .chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{white-space:nowrap;flex-shrink:0}
  .chips__l{flex-shrink:0}
}
.fila-cat{padding:14px;border:1px solid var(--caliche);border-radius:var(--radio);background:var(--caliche-claro)}
.fila-cat .campo{min-width:0}
@media (max-width:900px){.fila-cat.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.fila-cat [style*="span 2"]{grid-column:span 2 !important}.fila-cat [style*="span 4"]{grid-column:span 2 !important}}
@media (max-width:640px){.fila-cat.g4{grid-template-columns:repeat(1,minmax(0,1fr))}.fila-cat [style*="span 2"],.fila-cat [style*="span 4"]{grid-column:span 1 !important}}
.resultado details summary{list-style:none}
.resultado .tabla th,.resultado .tabla td{border-color:rgba(255,255,255,.2);padding:6px 8px}
.resultado .tabla th{border-top-color:rgba(255,255,255,.45)}

/* Etapa 5: FAQ, Guía IMIV, sellos, mandantes, CTA reunión */
.btn--sw{color:#fff;border-color:#fff}
.btn--sw:hover{background:#fff;color:var(--asfalto)}
.hero__nota{font-size:15px;color:var(--pavimento);max-width:480px;margin-top:-10px}
@media (max-width:1180px){.nav__links{gap:22px}.nav__links a{font-size:15px}.nav__cta{gap:14px}}
.sellos-sec{padding-top:48px;padding-bottom:72px}
.sellos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sello{display:flex;align-items:center;gap:16px;border:1px solid var(--asfalto);padding:16px 18px;font-size:14px;line-height:1.35}
.sello__k{flex:0 0 auto;font-family:var(--fd);font-weight:700;font-size:15px;letter-spacing:.08em;color:var(--senal);border:2px solid var(--senal);padding:8px 10px;border-radius:var(--radio)}
@media (max-width:900px){.sellos{grid-template-columns:repeat(1,minmax(0,1fr))}}
.pie__sellos{font-size:13px;color:var(--pavimento);max-width:360px}
.mandantes{margin-top:56px;border-top:2px dashed var(--asfalto);padding-top:28px}
.mandantes__t{font-family:var(--fd);font-weight:600;font-size:18px;margin-bottom:14px}
.mandantes__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 12px}
.mandantes__l li{border:1px solid var(--gris-borde);padding:8px 14px;font-size:15px;border-radius:var(--radio)}
.mandantes__n{font-size:14px;color:var(--pavimento);margin-top:16px;max-width:760px}
.prosa .mandantes__l{margin-top:16px}
.guia{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.guia__lado{display:flex;flex-direction:column;gap:20px;position:sticky;top:96px}
.guia__texto h2{margin-top:44px;scroll-margin-top:96px}
.guia__texto h2:first-child{margin-top:0}
.guia__texto p,.guia__texto .tabla-caja,.guia__texto ul,.guia__texto ol{margin-top:14px}
.guia-indice{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:24px}
.guia-indice a{font-size:14px;font-weight:500;color:var(--asfalto);border:1px solid var(--gris-borde);padding:6px 12px;border-radius:var(--radio)}
.guia-indice a:hover{border-color:var(--senal);color:var(--senal);text-decoration:none}
.guia__pasos{padding-left:0;list-style:none;counter-reset:paso;display:grid;gap:12px}
.guia__pasos li{position:relative;padding-left:44px;counter-increment:paso}
.guia__pasos li::before{content:counter(paso);position:absolute;left:0;top:0;width:30px;height:30px;border:2px solid var(--senal);color:var(--senal);font-family:var(--fd);font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:var(--radio)}
.guia__enlaces{padding-left:18px;display:grid;gap:8px}
.cuadro--destacado{background:var(--caliche);border-color:var(--caliche)}
.faq{display:flex;flex-direction:column}
.faq__item{border-top:1px solid var(--caliche)}
.faq__item:last-child{border-bottom:1px solid var(--caliche)}
.faq__item summary{cursor:pointer;list-style:none;font-family:var(--fd);font-weight:600;font-size:19px;padding:18px 44px 18px 0;position:relative;line-height:1.3}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";position:absolute;right:6px;top:26px;width:12px;height:12px;border-right:2px solid var(--senal);border-bottom:2px solid var(--senal);transform:rotate(45deg);transition:transform .15s}
.faq__item[open] summary::after{transform:rotate(-135deg);top:32px}
.faq__item summary:hover{color:var(--senal)}
.faq__r{padding:0 0 22px;max-width:720px}
.faq__r p{margin:0}
@media (max-width:900px){.guia{grid-template-columns:1fr;gap:32px}.guia__lado{position:static}.faq__item summary{font-size:17px}}
