/* Coraza Tech — hoja de estilos del sitio (nov 2026) */
:root{
  --marino:#0B1F3B;
  --marino-2:#0F2A4F;
  --azul:#2563EB;
  --azul-osc:#1D4ED8;
  --cian:#22C3EE;
  --frio:#F4F7FB;
  --linea:#DCE3EE;
  --tinta:#0E1726;
  --gris:#4A5872;
  --blanco:#FFFFFF;
  --verde-wa:#1FAF54;
  --r-boton:10px;
  --r-bloque:16px;
  --ancho:1180px;
  --f-titulo:"Sora",system-ui,sans-serif;
  --f-texto:"IBM Plex Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--f-texto);font-size:17px;line-height:1.6;color:var(--tinta);background:var(--blanco);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--azul)}
a:hover{color:var(--azul-osc)}
:focus-visible{outline:3px solid var(--cian);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--f-titulo);line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em;color:var(--marino)}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:700}
h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em}
.contenedor{width:min(100% - 40px,var(--ancho));margin-inline:auto}
.saltar{position:absolute;left:-999px;top:8px;background:var(--blanco);padding:8px 14px;z-index:100}
.saltar:focus{left:12px}

/* Botones */
.boton{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-titulo);font-weight:600;font-size:.98rem;text-decoration:none;padding:14px 22px;border-radius:var(--r-boton);border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.boton svg{width:20px;height:20px;flex:none}
.boton-wa{background:var(--azul);color:var(--blanco)}
.boton-wa:hover{background:var(--azul-osc);color:var(--blanco)}
.boton-linea{border-color:rgba(255,255,255,.45);color:var(--blanco)}
.boton-linea:hover{border-color:var(--blanco);color:var(--blanco)}
.boton-claro{border-color:var(--linea);color:var(--marino);background:var(--blanco)}
.boton-claro:hover{border-color:var(--azul);color:var(--azul)}

/* Encabezado */
.barra{background:var(--marino);color:#C9D6EA;font-size:.85rem}
.barra .contenedor{display:flex;justify-content:space-between;gap:16px;padding:7px 0}
.barra a{color:var(--blanco);text-decoration:none;font-weight:500}
.encabezado{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.encabezado .contenedor{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo img{height:46px;width:auto}
.menu{display:flex;align-items:center;gap:6px}
.menu>a,.menu-grupo>button{font-family:var(--f-titulo);font-size:.95rem;font-weight:500;color:var(--marino);text-decoration:none;padding:10px 12px;border-radius:8px;background:none;border:0;cursor:pointer}
.menu>a:hover,.menu-grupo>button:hover,.menu>a[aria-current=page]{color:var(--azul)}
.menu .boton{margin-left:8px;padding:10px 16px}
.menu>a.boton-wa{background:var(--azul);color:var(--blanco)}
.menu>a.boton-wa:hover{background:var(--azul-osc);color:var(--blanco)}
.menu-grupo{position:relative}
.menu-grupo>button::after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px}
.submenu{position:absolute;top:100%;left:0;min-width:290px;background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:8px;box-shadow:0 18px 40px -18px rgba(11,31,59,.35);display:none}
.menu-grupo.abierto .submenu{display:block}
@media (hover:hover){.menu-grupo:hover .submenu{display:block}}
.submenu a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--tinta);font-size:.95rem}
.submenu a:hover{background:var(--frio);color:var(--azul)}
.submenu small{display:block;color:var(--gris);font-size:.82rem}
.boton-menu{display:none;background:none;border:1.5px solid var(--linea);border-radius:8px;padding:9px 11px;cursor:pointer}
.boton-menu span{display:block;width:20px;height:2px;background:var(--marino);margin:4px 0}
@media (max-width:960px){
  .boton-menu{display:block}
  .menu{position:fixed;inset:72px 0 auto 0;background:var(--blanco);flex-direction:column;align-items:stretch;padding:12px 20px 24px;border-bottom:1px solid var(--linea);display:none;max-height:calc(100vh - 72px);overflow:auto}
  .menu.abierto{display:flex}
  .submenu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 12px}
  .menu-grupo>button{display:none}
  .menu .boton{margin:10px 0 0;justify-content:center}
  .barra .ocultar-movil{display:none}
}

/* Hero */
.hero{background:var(--marino);color:#D3DEEE;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(34,195,238,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(34,195,238,.07) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent,#000 55%)}
.hero .contenedor{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:84px 0 92px}
.hero h1{color:var(--blanco)}
.hero p.entrada{font-size:1.15rem;max-width:34em;color:#C2D0E5}
.hero .acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .lugar{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--cian);margin-bottom:18px}
.hero .lugar svg{width:16px;height:16px}
@media (max-width:960px){.hero .contenedor{grid-template-columns:1fr;padding:56px 0 64px}}

/* Plano técnico */
.plano{width:100%;height:auto}
.plano .muro{fill:none;stroke:#7FA2D6;stroke-width:2}
.plano .muro-int{fill:none;stroke:#3E5F8E;stroke-width:1.2}
.plano .cable{fill:none;stroke:var(--cian);stroke-width:1.6;stroke-dasharray:6 5}
.plano .cono{fill:rgba(37,99,235,.22);stroke:rgba(96,150,255,.6);stroke-width:1}
.plano .nodo{fill:var(--marino);stroke:var(--cian);stroke-width:2}
.plano .rack{fill:var(--azul);stroke:#9CC0FF;stroke-width:1.5}
.plano .etq{font-family:var(--f-texto);font-size:12px;fill:#C9D6EA}
.plano .etq-f{font-family:var(--f-titulo);font-size:12.5px;font-weight:600;fill:var(--blanco)}
.plano .traza{stroke-dasharray:2400;stroke-dashoffset:2400;animation:trazar 2.4s ease-out .2s forwards}
.plano .aparece{opacity:0;animation:aparecer .6s ease-out forwards}
@keyframes trazar{to{stroke-dashoffset:0}}
@keyframes aparecer{to{opacity:1}}

/* Secciones */
.seccion{padding:88px 0}
.seccion-fria{background:var(--frio)}
.seccion-marino{background:var(--marino);color:#C9D6EA}
.seccion-marino h2,.seccion-marino h3{color:var(--blanco)}
.cabeza{max-width:720px;margin-bottom:44px}
.cabeza p{color:var(--gris);font-size:1.08rem}
.seccion-marino .cabeza p{color:#B5C4DB}

/* Servicios en filas */
.servicios{border-top:1px solid var(--linea)}
.servicio{display:grid;grid-template-columns:120px 1fr auto;gap:32px;align-items:center;padding:28px 0;border-bottom:1px solid var(--linea);text-decoration:none;color:inherit}
.servicio img{width:120px;height:90px;object-fit:cover;border-radius:10px}
.servicio h3{margin-bottom:.25em}
.servicio p{margin:0;color:var(--gris);max-width:58ch}
.servicio .ir{font-family:var(--f-titulo);font-weight:600;font-size:.95rem;color:var(--azul);white-space:nowrap}
.servicio:hover h3{color:var(--azul)}
@media (max-width:720px){.servicio{grid-template-columns:72px 1fr;gap:18px}.servicio img{width:72px;height:60px}.servicio .ir{grid-column:2}}

/* Sectores */
.sectores{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.14)}
.sector{padding:28px 28px 28px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.sector h3{font-size:1.08rem}
.sector p{margin:0;font-size:.97rem}
@media (max-width:860px){.sectores{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sectores{grid-template-columns:1fr}}

/* Dos columnas */
.dos{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media (max-width:860px){.dos{grid-template-columns:1fr;gap:32px}}

/* Marcas */
.marcas{display:flex;flex-wrap:wrap;gap:12px 36px;align-items:center}
.marcas span{font-family:var(--f-titulo);font-size:1.35rem;font-weight:700;color:#55657F;letter-spacing:-.01em}
.nota{font-size:.9rem;color:var(--gris)}

/* Tienda */
.tienda{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-bloque);padding:36px 40px}
.tienda ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 0}
.tienda li{background:var(--frio);border-radius:999px;padding:6px 14px;font-size:.92rem;color:var(--marino)}
@media (max-width:760px){.tienda{grid-template-columns:1fr;padding:28px 24px}}

/* Contacto */
.datos{list-style:none;padding:0;margin:0}
.datos li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.datos svg{width:22px;height:22px;color:var(--cian);margin-top:3px}
.datos a{color:var(--blanco);text-decoration:none}
.datos a:hover{text-decoration:underline}
.datos strong{display:block;color:var(--blanco);font-weight:600}
.mapa{border:0;width:100%;height:340px;border-radius:var(--r-bloque);filter:saturate(.85)}

/* Páginas internas */
.cabecera{background:var(--marino);color:#C9D6EA;padding:56px 0 64px;position:relative;overflow:hidden}
.cabecera::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(34,195,238,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,195,238,.06) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent 30%,#000)}
.cabecera .contenedor{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.cabecera h1{color:var(--blanco);font-size:clamp(2rem,4vw,3rem)}
.cabecera p{font-size:1.12rem;max-width:36em}
.cabecera img{width:100%;max-width:380px;justify-self:end;border-radius:var(--r-bloque)}
.migas{font-size:.88rem;margin-bottom:18px}
.migas a{color:#9FB3D1;text-decoration:none}
.migas a:hover{color:var(--blanco)}
.migas span{color:#6F86A8;margin:0 6px}
@media (max-width:860px){.cabecera .contenedor{grid-template-columns:1fr}.cabecera img{display:none}}
.texto{max-width:760px}
.texto h2{margin-top:1.6em}
.texto>h2:first-child{margin-top:0}
.texto h3{margin-top:1.3em}
.texto ul{padding-left:1.2em}
.texto li{margin-bottom:.45em}
.lista-check{list-style:none;padding:0!important}
.lista-check li{position:relative;padding-left:30px}
.lista-check li::before{content:"";position:absolute;left:2px;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--azul);border-bottom:2.5px solid var(--azul);transform:rotate(-45deg)}
.lateral{position:sticky;top:96px;background:var(--frio);border-radius:var(--r-bloque);padding:28px}
.lateral h3{font-size:1.1rem}
.lateral p{font-size:.96rem;color:var(--gris)}
.lateral .boton{width:100%;justify-content:center}
.con-lateral{display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start}
@media (max-width:960px){.con-lateral{grid-template-columns:1fr}.lateral{position:static}}
.tabla{width:100%;border-collapse:collapse;margin:1em 0 1.5em;font-size:.96rem}
.tabla th,.tabla td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla th{font-family:var(--f-titulo);font-weight:600;color:var(--marino);background:var(--frio)}

/* Preguntas */
.preguntas details{border-bottom:1px solid var(--linea)}
.preguntas summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-family:var(--f-titulo);font-weight:600;font-size:1.08rem;color:var(--marino);position:relative}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"";position:absolute;right:8px;top:28px;width:9px;height:9px;border-right:2px solid var(--azul);border-bottom:2px solid var(--azul);transform:rotate(45deg);transition:transform .2s}
.preguntas details[open] summary::after{transform:rotate(-135deg)}
.preguntas details>div{padding:0 0 20px;color:var(--gris);max-width:70ch}

/* Calculadora */
.calc{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-bloque);padding:28px;margin:1.5em 0}
.calc-campos{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.calc label{display:block;font-weight:500;font-size:.95rem;color:var(--marino);margin-bottom:6px}
.calc input,.calc select{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--linea);border-radius:8px;background:var(--blanco);color:var(--tinta)}
.calc input:focus,.calc select:focus{border-color:var(--azul);outline:none}
.calc-res{margin-top:22px;padding:20px;border-radius:12px;background:var(--marino);color:#C9D6EA}
.calc-res strong{color:var(--blanco);font-family:var(--f-titulo)}
.calc-res .grande{font-family:var(--f-titulo);font-size:2.4rem;font-weight:700;color:var(--blanco);line-height:1}
@media (max-width:600px){.calc-campos{grid-template-columns:1fr}}

/* Cierre */
.cierre{background:var(--azul);color:#E3ECFF}
.cierre .contenedor{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:56px 0;flex-wrap:wrap}
.cierre h2{color:var(--blanco);margin:0 0 .3em;font-size:clamp(1.5rem,2.6vw,2rem)}
.cierre p{margin:0}
.cierre .boton{background:var(--blanco);color:var(--azul)}
.cierre .boton:hover{background:var(--frio)}

/* Pie */
.pie{background:#081831;color:#9FB0CA;font-size:.94rem;padding:64px 0 28px}
.pie-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.pie img{height:52px;width:auto;margin-bottom:16px}
.pie h3{color:var(--blanco);font-size:.98rem;margin-bottom:12px}
.pie ul{list-style:none;padding:0;margin:0}
.pie li{margin-bottom:8px}
.pie a{color:#C9D6EA;text-decoration:none}
.pie a:hover{color:var(--blanco);text-decoration:underline}
.pie-base{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem}
@media (max-width:860px){.pie-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pie-grid{grid-template-columns:1fr}}

/* WhatsApp flotante */
.wa-flotante{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--verde-wa);display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45)}
.wa-flotante svg{width:30px;height:30px;color:#fff}
.wa-flotante:hover{background:#178f44}

.lista-clara{list-style:none;padding:0;margin:0}
.lista-clara li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid rgba(255,255,255,.14);color:#DCE6F5}
.lista-clara li::before{content:"";position:absolute;left:4px;top:1.25em;width:14px;height:8px;border-left:2.5px solid var(--cian);border-bottom:2.5px solid var(--cian);transform:rotate(-45deg)}

/* Guías */
.lista-guias{list-style:none;padding:0;margin:18px 0 0}
.lista-guias li{padding:14px 0;border-bottom:1px solid var(--linea)}
.lista-guias a{font-family:var(--f-titulo);font-weight:600;color:var(--marino);text-decoration:none}
.lista-guias a:hover{color:var(--azul)}
.lista-guias span{display:block;font-size:.94rem;color:var(--gris)}
.guias{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.guia{display:block;padding:32px;border:1px solid var(--linea);border-radius:var(--r-bloque);text-decoration:none;color:inherit;background:var(--blanco)}
.guia:hover{border-color:var(--azul)}
.guia h2{font-size:1.3rem}
.guia p{color:var(--gris)}
.guia .ir{font-family:var(--f-titulo);font-weight:600;color:var(--azul);font-size:.95rem}
.fecha{font-size:.9rem;color:#9FB3D1;margin-top:12px}
@media (max-width:760px){.guias{grid-template-columns:1fr}}

/* Barrido de cámaras en el plano */
.plano .barrido{transform-box:view-box;animation:barrer 5s ease-in-out infinite alternate}
@keyframes barrer{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
