/* F&CE — sistema de diseño (Manual de Marca v3, FCE-MAR-001 REV 3) */
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-800-normal.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}

:root{
  --navy:#16233F; --ladrillo:#B0392B; --calido:#E07A5F; --papel:#F6F7F9;
  --gris:#6A7078; --datos:#20599F; --blanco:#fff; --linea:rgba(22,35,63,.16);
  --f-tit:"Archivo","IBM Plex Sans",system-ui,sans-serif;
  --f-txt:"IBM Plex Sans",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,monospace;
  --max:1180px; --r:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--papel);color:var(--navy);font:400 1.0625rem/1.65 var(--f-txt);
  background-image:linear-gradient(rgba(22,35,63,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(22,35,63,.04) 1px,transparent 1px);
  background-size:20px 20px}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--datos);text-underline-offset:3px}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--datos);outline-offset:3px}
h1,h2,h3{font-family:var(--f-tit);line-height:1.12;margin:0 0 .5em;letter-spacing:0}
h1{font-weight:800;font-size:clamp(2.1rem,5.2vw,3.7rem)}
h2{font-weight:800;font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-weight:700;font-size:1.2rem}
p{margin:0 0 1em;max-width:68ch}
.mono,.dato{font-family:var(--f-mono);font-weight:500}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:10px;top:10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Cabecera */
.top{background:var(--blanco);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.logo{display:block;padding:6px 0}.logo img{height:56px;width:auto}
.nav{display:flex;gap:4px;align-items:center}
.nav a{color:var(--navy);text-decoration:none;font-weight:600;font-size:.95rem;padding:10px 10px;border-bottom:2px solid transparent}
.nav a[aria-current="page"]{border-bottom-color:var(--ladrillo)}
.nav a:hover{color:var(--ladrillo)}
.menu-btn{display:none;background:none;border:1px solid var(--navy);color:var(--navy);font:600 .9rem var(--f-txt);padding:10px 14px;border-radius:var(--r);min-height:44px}
@media (max-width:920px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;flex-direction:column;align-items:stretch;padding:8px 20px 20px;border-bottom:1px solid var(--linea)}
  .nav.open{display:flex}
  .nav a{padding:14px 4px;border-bottom:1px solid var(--linea)}
  .nav .btn{margin-top:12px;text-align:center}
}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:var(--r);
  font:600 1rem var(--f-txt);text-decoration:none;border:2px solid var(--ladrillo);background:var(--ladrillo);color:#fff;cursor:pointer}
.btn:hover{background:#962f23;border-color:#962f23;color:#fff}
.btn.sec{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.sec:hover{background:var(--navy);color:#fff}
.on-navy .btn.sec{color:#fff;border-color:#fff}
.on-navy .btn.sec:hover{background:#fff;color:var(--navy)}
.nav .btn{padding:10px 16px;min-height:44px;border-bottom:2px solid var(--ladrillo)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Rótulo de plano (etiqueta de sección) */
.rotulo{display:inline-flex;font:500 .78rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;margin-bottom:18px}
.rotulo span{padding:4px 10px}
.rotulo span+span{border-left:1px solid currentColor}

/* Secciones */
section{padding:72px 0}
.on-navy{background:var(--navy);color:#fff;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:20px 20px}
.on-navy a{color:#fff}
.on-navy .acento{color:var(--calido)}
.acento{color:var(--ladrillo)}
.blanco{background:#fff}
.lead{font-size:1.2rem;color:var(--navy)}
.on-navy .lead{color:#fff}
.nota{font-size:.9rem;color:var(--gris)}
.on-navy .nota{color:#c9cfd8}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}

/* Hero */
.hero{position:relative;padding:0;background:var(--navy);color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:rgba(22,35,63,.72)}
.hero .wrap{position:relative;padding-top:96px;padding-bottom:96px}
.hero h1{max-width:16ch}
.hero .lead{max-width:56ch;color:#fff}
.hero .rotulo{color:#fff}
.hero .acento{color:var(--calido)}
.hero .dato{color:#dfe3ea;font-size:.85rem;margin-top:28px}
.video-ctrl{position:absolute;right:16px;bottom:16px;z-index:2;background:rgba(22,35,63,.9);color:#fff;border:1px solid #fff;font:500 .8rem var(--f-mono);padding:10px 12px;min-height:44px;cursor:pointer}

/* Tarjetas */
.card{background:#fff;border:1px solid var(--linea);padding:24px;display:flex;flex-direction:column}
.card .num{font:500 .78rem var(--f-mono);color:var(--gris);letter-spacing:.1em}
.card h3{margin-top:6px}
.card .mas{margin-top:auto;font-weight:600}
.card img{margin:-24px -24px 20px;width:calc(100% + 48px);max-width:none;aspect-ratio:4/3;object-fit:cover}
.pregunta{border-left:4px solid var(--ladrillo);padding:4px 0 4px 18px}
.pregunta h3{font-size:1.15rem}

/* Servicios */
.serv{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:36px 0;border-top:1px solid var(--linea)}
.serv .cod{font:500 .85rem var(--f-mono);color:var(--gris)}
.serv .cod b{display:block;font:800 2.6rem var(--f-tit);color:var(--navy)}
.serv ul{margin:0 0 1em;padding-left:1.1em}
.serv .q{font-weight:600;color:var(--ladrillo)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.chips li{font:500 .75rem var(--f-mono);border:1px solid var(--linea);padding:3px 8px;background:#fff}
@media (max-width:640px){.serv{grid-template-columns:1fr;gap:6px}.serv .cod b{font-size:2rem}}
.indice{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.indice a{display:inline-block;padding:8px 12px;border:1px solid var(--linea);background:#fff;text-decoration:none;color:var(--navy);font-size:.92rem;min-height:44px}

/* Figuras */
figure{margin:0}
figcaption{font:500 .78rem var(--f-mono);color:var(--gris);padding-top:8px}
.foto{border:1px solid var(--linea);background:#fff;padding:8px}
.foto img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Proceso */
.pasos{counter-reset:p;list-style:none;padding:0;margin:0;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.pasos li{border-top:3px solid var(--navy);padding:16px 18px 8px 0}
.pasos li::before{counter-increment:p;content:"0" counter(p);font:500 .85rem var(--f-mono);color:var(--ladrillo);display:block;margin-bottom:6px}
.on-navy .pasos li{border-top-color:#fff}
.on-navy .pasos li::before{color:var(--calido)}

/* Simulador de viga */
.sim{background:#fff;border:1px solid var(--linea);padding:24px}
.sim-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:820px){.sim-grid{grid-template-columns:1fr}}
.viga{display:flex;flex-direction:column;gap:3px;border:2px solid var(--navy);padding:6px;position:relative}
.lam{display:flex;align-items:center;justify-content:space-between;gap:10px;height:40px;padding:0 12px;border:1px solid #c9a97a;background:#e9d6b4;cursor:pointer;font:500 .8rem var(--f-mono);color:var(--navy);text-align:left;width:100%}
.lam .tag{background:#fff;padding:1px 6px;border:1px solid var(--linea)}
.lam[aria-pressed="true"]{background-color:#e9d6b4;background-image:radial-gradient(circle at 58% 50%,#6b4a2b 0 6px,#a07850 7px 10px,transparent 11px),radial-gradient(circle at 72% 45%,#6b4a2b 0 5px,#a07850 6px 9px,transparent 10px)}
.lam[aria-pressed="true"] .tag{border-color:var(--ladrillo);color:var(--ladrillo)}
.eje{font:500 .72rem var(--f-mono);color:var(--gris);display:flex;justify-content:space-between;margin:6px 0 0}
.medidor{margin:8px 0 6px;height:22px;border:1px solid var(--navy);background:#fff;position:relative}
.medidor i{position:absolute;inset:0 auto 0 0;background:var(--navy);width:100%;transition:width .35s}
.medidor.bajo i{background:var(--ladrillo)}
.lectura{font:800 2.4rem var(--f-tit)}
.sim .btns .btn{min-height:44px}
.aviso{border:1px dashed var(--gris);padding:10px 12px;font-size:.88rem;color:var(--gris);margin-top:16px}

/* Diagnóstico rápido */
.diag fieldset{border:0;padding:0;margin:0 0 18px}
.diag legend{font-weight:600;margin-bottom:8px}
.opciones{display:flex;flex-wrap:wrap;gap:8px}
.opciones label{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.5);padding:10px 14px;cursor:pointer;min-height:44px}
.opciones input{accent-color:var(--calido);width:18px;height:18px}
.opciones label:has(input:checked){border-color:var(--calido);background:rgba(224,122,95,.14)}
.blanco .opciones label,.diag.claro .opciones label{border-color:var(--linea)}
.diag select,.diag input[type=text]{font:1rem var(--f-txt);padding:12px;min-height:48px;border:1px solid var(--navy);border-radius:var(--r);width:100%;max-width:360px}
.preview{font:500 .85rem var(--f-mono);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);padding:12px;white-space:pre-wrap;margin:12px 0}

/* FAQ */
details{border-top:1px solid var(--linea);padding:4px 0}
details:last-of-type{border-bottom:1px solid var(--linea)}
summary{cursor:pointer;font:700 1.12rem var(--f-tit);padding:16px 32px 16px 0;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:12px;font:500 1.4rem var(--f-mono);color:var(--ladrillo)}
details[open] summary::after{content:"–"}
details .cuerpo{padding:0 0 18px}

/* Equipo */
.persona{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;background:#fff;border:1px solid var(--linea);padding:24px}
.persona .ini{width:120px;height:120px;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 2.2rem var(--f-tit)}
.persona .rol{font:500 .8rem var(--f-mono);color:var(--gris);text-transform:uppercase;letter-spacing:.1em}
@media (max-width:560px){.persona{grid-template-columns:1fr}}

/* Contacto */
.canal{background:#fff;border:1px solid var(--linea);padding:28px}
.canal .dato{font-size:1.15rem;display:block;margin:6px 0 16px;color:var(--navy)}

/* Legal */
.legal{background:#fff;border:1px solid var(--linea);padding:32px;max-width:860px}
.legal h2{font-size:1.35rem;margin-top:1.6em}
.borrador{display:inline-block;background:var(--ladrillo);color:#fff;font:500 .78rem var(--f-mono);letter-spacing:.1em;padding:6px 10px;margin-bottom:16px;text-transform:uppercase}

/* Pie: rótulo de plano */
.pie{background:var(--navy);color:#fff;padding:48px 0 0}
.pie a{color:#fff}
.pie .cols{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));padding-bottom:36px}
.pie h2{font-size:1rem;font-family:var(--f-mono);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#c9cfd8}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin:0 0 8px}
.pie li a{display:inline-block;padding:4px 0}
.cajetin{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border-top:1px solid rgba(255,255,255,.3);font:500 .75rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.cajetin div{padding:12px 14px;border-left:1px solid rgba(255,255,255,.3)}
.cajetin div:first-child{border-left:0;padding-left:0}
@media (max-width:640px){.cajetin{grid-template-columns:1fr 1fr}.cajetin div{border-top:1px solid rgba(255,255,255,.2)}}
.wa-flot{position:fixed;right:16px;bottom:16px;z-index:30;background:var(--ladrillo);color:#fff;text-decoration:none;font-weight:600;padding:12px 16px;min-height:48px;display:flex;align-items:center;box-shadow:0 4px 14px rgba(22,35,63,.3)}
.wa-flot:hover{background:#962f23;color:#fff}
@media print{.top,.wa-flot,.pie{display:none}}
.foto.alta img{aspect-ratio:auto;max-height:520px}

.nav a.btn,.nav a.btn:hover{color:#fff}
.nav a[aria-current="page"]{border-bottom-color:var(--navy)}
.link-cta{display:inline-flex;align-items:center;min-height:44px}
.video-ctrl{right:auto;left:16px}
.wa-flot{background:var(--navy);border:2px solid #fff}
.wa-flot:hover{background:#0d1629}
.nav a.btn{background:var(--navy);border-color:var(--navy)}
.nav a.btn:hover{background:#0d1629;border-color:#0d1629}

/* ───────── v2 · movimiento de entrada ───────── */
.hero{min-height:min(88vh,760px);display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center;width:100%}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-simbolo{order:-1;justify-self:start}.hero-simbolo .simbolo{width:110px}.hero-simbolo .dato{display:none}}
.hero-media img{animation:kb 22s ease-in-out infinite alternate;transform-origin:60% 50%}
@keyframes kb{from{transform:scale(1.14) translate(-2%,1%)}to{transform:scale(1) translate(0,0)}}
.hero h1{max-width:none}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:inline-block;animation:sube .9s cubic-bezier(.2,.8,.2,1) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}.hero h1 .ln:nth-child(3)>span{animation-delay:.26s}
@keyframes sube{from{transform:translateY(105%)}to{transform:none}}
.aparece{animation:aparece .8s .55s ease-out both}.btns.aparece{animation-delay:.7s}
@keyframes aparece{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero .rotulo{animation:aparece .6s ease-out both}
.hero-plano{position:absolute;right:0;top:0;height:100%;width:min(60vw,640px);pointer-events:none}
.hero-plano .cotas *{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1;stroke-dasharray:1400;stroke-dashoffset:1400;animation:traza 2.4s .3s ease-out forwards}
.hero-plano .cotas circle{stroke-dasharray:6 8;stroke-dashoffset:0;animation:gira 40s linear infinite;transform-origin:300px 300px}
.hero-plano text{font:500 12px var(--f-mono);fill:rgba(255,255,255,.55);letter-spacing:.1em;text-anchor:middle;animation:aparece 1s 1.6s both}
@keyframes traza{to{stroke-dashoffset:0}}
@keyframes gira{to{transform:rotate(360deg)}}
.hero-simbolo{justify-self:center;text-align:center}
.hero-simbolo .simbolo{width:min(260px,30vw);height:auto;overflow:visible}
.simbolo .cubo{stroke:#fff}.simbolo .cara{fill:#fff;fill-opacity:.04}
.simbolo .cubo path{stroke-dasharray:420;stroke-dashoffset:420;animation:traza 1.4s .2s ease-out forwards}
.simbolo .ch,.simbolo .asta{fill:var(--calido);stroke:var(--calido)}
.simbolo .asta{fill:none;stroke-dasharray:60;stroke-dashoffset:60;animation:traza .6s 1s ease-out forwards}
.simbolo .ch{opacity:0;animation:chev .5s ease-out forwards,late 2.8s 3s ease-in-out infinite}
.simbolo .ch1{animation-delay:1.2s,3s}.simbolo .ch2{animation-delay:1.4s,3.15s}.simbolo .ch3{animation-delay:1.6s,3.3s}.simbolo .ch4{animation-delay:1.8s,3.45s}
@keyframes chev{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes late{0%,100%{transform:none;opacity:1}50%{transform:translateY(-4px);opacity:.75}}
.hero-simbolo .dato{margin-top:18px;animation:aparece .8s 2s both}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease-out,transform .7s ease-out}
.reveal.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero-plano .cotas *,.simbolo .cubo path,.simbolo .asta{stroke-dashoffset:0}.simbolo .ch{opacity:1}}

/* confianza */
.confianza{padding:22px 0;background:#fff;border-bottom:1px solid var(--linea)}
.confianza .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.confianza p{margin:0;font-size:.75rem;letter-spacing:.14em;color:var(--gris)}
.confianza ul{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:0}
.confianza li{font:700 1.05rem var(--f-tit);color:var(--navy)}
.confianza .regiones{margin-left:auto}

/* servicios con imagen */
.tit-fila{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}
.srv-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.srv{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);text-decoration:none;color:var(--navy);transition:transform .25s,box-shadow .25s,border-color .25s}
.srv:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(22,35,63,.14);border-color:var(--navy);color:var(--navy)}
.srv figure{margin:0;overflow:hidden;aspect-ratio:4/3;background:var(--papel)}
.srv figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.srv:hover figure img{transform:scale(1.05)}
.srv .num{font:500 .75rem var(--f-mono);color:var(--gris);padding:14px 18px 0;letter-spacing:.1em}
.srv h3{font-size:1.05rem;padding:4px 18px 0;margin:0 0 6px}
.srv p{font-size:.92rem;color:var(--gris);padding:0 18px 18px;margin:0}
.serv2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;padding:40px 0;border-top:1px solid var(--linea);align-items:start}
.serv2 .serv-img{margin:0;border:1px solid var(--linea);background:var(--papel);aspect-ratio:4/3;overflow:hidden}
.serv2 .serv-img img{width:100%;height:100%;object-fit:cover}
.serv2 .num{font:500 .78rem var(--f-mono);color:var(--gris);letter-spacing:.1em}
.serv2 h3{font-size:1.45rem;margin-top:4px}
.serv2 .q{font-weight:600;color:var(--ladrillo)}
.serv2 ul{padding-left:1.1em}
@media (max-width:760px){.serv2{grid-template-columns:1fr;gap:16px}}
h2.grupo{margin-top:48px}

/* proyectos */
.proy-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.proy{background:#fff;border:1px solid var(--linea);display:flex;flex-direction:column;overflow:hidden}
.proy img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff;transition:transform .5s}
.proy:hover img{transform:scale(1.04)}
.proy-txt{padding:18px 20px 22px;display:flex;flex-direction:column;gap:4px}
.proy .lugar{font:500 .75rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ladrillo)}
.proy h3{margin:0}.proy p{margin:0;font-size:.95rem}
.proy .cli{font:500 .78rem var(--f-mono);color:var(--gris);margin-top:6px}

/* por qué */
.razones>div{border-top:2px solid rgba(255,255,255,.4);padding-top:16px}
.razones .dato{color:var(--calido);font-size:.78rem;letter-spacing:.1em}
.equipo-mini{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.equipo-mini a{display:flex;gap:14px;align-items:center;text-decoration:none;border:1px solid rgba(255,255,255,.3);padding:10px 18px 10px 10px;font-size:.92rem;color:#fff}
.equipo-mini a:hover{background:rgba(255,255,255,.08)}
.equipo-mini img{width:56px;height:56px;object-fit:cover}
.persona .retrato{width:120px;height:120px;object-fit:cover;border:1px solid var(--linea)}
.redes{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.redes a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid rgba(255,255,255,.5);text-decoration:none;font-weight:600}
.canal.red{text-decoration:none;color:var(--navy);display:block}
.canal.red:hover{border-color:var(--navy)}
.canal .mas{font-weight:600;color:var(--datos)}
.redes-cards{margin-top:24px}

/* simulador v2 */
.sim2{background:#fff;border:1px solid var(--linea);padding:clamp(16px,3vw,28px);display:grid;gap:22px}
.sim-alzado{width:100%;height:auto;display:block}
.sim-alzado .apoyo{fill:var(--navy)}
.sim-alzado .carga{stroke:var(--ladrillo);stroke-width:3;fill:var(--ladrillo)}
.sim-alzado .carga g{animation:carga 1.6s ease-in-out infinite}
@keyframes carga{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.sim-alzado .ref{stroke:var(--gris);stroke-dasharray:4 5;fill:none}
.sim-alzado text{font:500 11px var(--f-mono);fill:var(--gris);letter-spacing:.08em}
.sim-mesa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:820px){.sim-mesa{grid-template-columns:1fr}}
.sim-col{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px;align-items:stretch}
.sim-col .viga{gap:3px}
.sim-col .lam{height:40px;transition:transform .5s cubic-bezier(.2,.8,.2,1),background-color .2s}
.sim-esfuerzo{width:90px;height:100%}
.sim-esfuerzo .tri{fill:rgba(22,35,63,.08);stroke:var(--navy);stroke-width:1.5}
.sim-esfuerzo .hot{fill:var(--ladrillo);opacity:.85}
.sim-esfuerzo text{font:500 10px var(--f-mono);fill:var(--gris)}
.lectura{font:800 clamp(2.6rem,6vw,3.6rem)/1 var(--f-tit);margin:6px 0 10px;font-variant-numeric:tabular-nums}
.medidor{height:26px}
.medidor .ref{position:absolute;right:0;top:-6px;bottom:-6px;width:2px;background:var(--navy)}
.veredicto{min-height:3.2em;font-weight:600}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.presets .btn{min-height:44px;padding:10px 14px;font-size:.92rem}
.sim-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:18px;padding:18px 22px;background:var(--navy);color:#fff}
.sim-cta p{margin:0}
.lam.sale{animation:pulso .6s}
@keyframes pulso{50%{box-shadow:0 0 0 4px rgba(176,57,43,.35)}}
.sim-alzado{max-height:230px;margin:0 auto}
.rotulo span:first-child{white-space:nowrap}
.pasos .ico{width:48px;height:48px;fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:8px}
.pasos li:first-child .ico path:first-child{stroke:var(--ladrillo)}
.sello-sw{display:inline-block;margin:0 0 10px 10px;font:500 .72rem var(--f-mono);border:1px solid rgba(255,255,255,.5);padding:2px 8px;letter-spacing:.08em}
.logo-sw{background:#fff;padding:8px 12px;height:52px;width:auto;margin-bottom:12px}
.logo-sw{height:64px;width:64px;padding:0;background:none;display:block}
.hero-sw{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:.95rem;animation-delay:.9s}
.hero-sw img{width:40px;height:40px;border:1px solid rgba(255,255,255,.4)}
/* Control de pausa: invisible, aparece solo al navegar con teclado (WCAG 2.2.2) */
.video-ctrl.sr-foco{opacity:0;pointer-events:none}
.video-ctrl.sr-foco:focus-visible{opacity:1;pointer-events:auto}
.socios{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.socios .persona{grid-template-columns:1fr;align-content:start}
.socios .retrato{width:100%;height:auto;aspect-ratio:1;max-width:220px}
.leyenda{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;padding:0;margin:8px 0 0;font:500 .78rem var(--f-mono)}
.leyenda li{display:flex;align-items:center;gap:6px}
.leyenda i{width:22px;height:6px;border-radius:3px;display:inline-block}
.c-verde{background:#5a7a3e}.c-amarillo{background:#f0dc7a;border:1px solid #c9b24e}.c-rojo{background:#e8401c}

/* v3 · el cubo se dibuja, se cierra hacia adentro y la flecha sale desde su interior */
.simbolo .cubo{transform-box:fill-box;transform-origin:50% 50%;transform:translate(-55.033362px);animation:cierra .7s 1.4s cubic-bezier(.5,0,.3,1) both}
@keyframes cierra{0%,100%{transform:translate(-55.033362px)}45%{transform:translate(-55.033362px) scale(.9)}}
.simbolo .flecha{transform-box:fill-box;transform-origin:50% 100%;animation:sale 1.1s 1.75s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes sale{0%{opacity:0;transform:translateY(62px) scale(.2)}35%{opacity:1}100%{opacity:1;transform:none}}
.simbolo .asta{stroke-dasharray:none;stroke-dashoffset:0;animation:none}
.simbolo .ch{opacity:1;animation:late 2.8s 3.2s ease-in-out infinite}
.simbolo .ch1{animation-delay:3.2s}.simbolo .ch2{animation-delay:3.35s}.simbolo .ch3{animation-delay:3.5s}.simbolo .ch4{animation-delay:3.65s}
@media (prefers-reduced-motion:reduce){.simbolo .cubo{animation:none}.simbolo .flecha{animation:none;opacity:1;transform:none}}
.hero-madera{max-width:58ch;margin:-4px 0 18px;padding-left:14px;border-left:3px solid var(--calido);color:#e6e9ef;animation-delay:.62s}
.hero-madera b{color:#fff}
.madera-lead{border-left:3px solid var(--ladrillo);padding-left:14px;margin-bottom:28px}
.sim-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px 28px;align-items:center}
@media (max-width:820px){.sim-cta{grid-template-columns:1fr}}

html{scroll-behavior:auto}
.redes-cards .canal.red{display:flex;align-items:center;gap:16px}
.ico-red{width:40px;height:40px;flex:none;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.redes-cards .canal.red h2{margin:0}
.canal .ico-red[data-x]{display:block;margin-bottom:8px}
@media (max-width:860px){.hero-simbolo .simbolo{width:72px}.hero-simbolo{margin-bottom:-8px}}
.quien{background:#fff}
.quien-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-top:8px}
.quien-op{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--linea);background:var(--papel);text-decoration:none;color:var(--navy);transition:border-color .2s,transform .2s,box-shadow .2s}
.quien-op:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 10px 24px rgba(22,35,63,.12);color:var(--navy)}
.quien-op b{font:700 1.08rem var(--f-tit)}
.quien-op span{font-size:.93rem;color:var(--gris)}
.quien-op i{font-style:normal;font-weight:600;color:var(--datos);margin-top:auto}
.entrada{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:24px;padding:22px 24px;border:2px solid var(--navy)}
.entrada>div{flex:1 1 420px;min-width:0}
.entrada h3{font-size:1.35rem;margin:4px 0 6px}
.entrada .mono{font-size:.75rem;letter-spacing:.12em;color:var(--ladrillo)}
.entrada p{margin:0}
