/* Santiago Serrano · sitio 2026 */
@font-face{font-family:"Schibsted";src:url("../fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Schibsted";src:url("../fonts/schibsted-grotesk-latin-wght-italic.woff2") format("woff2");font-weight:400 900;font-style:italic;font-display:swap}

:root{
  --n950:#04111F; --n900:#071A2C; --navy:#002945; --n700:#0B3A5E;
  --rojo:#E03134; --rojo-hover:#C9262A; --rojo-claro:#FF5C60; --rojo-texto:#B4242A; --bordo:#8E1A1E;
  --tinta:#0A1B2B; --gris:#46586A; --gris2:#5B6B7A; --linea:#E3E8ED; --linea2:#CBD3DB;
  --papel:#F3F5F7; --azul-in:#0A66C2;
  --r:24px; --r-l:32px;
  --ease:cubic-bezier(.2,.7,.2,1); --pop:cubic-bezier(.34,1.56,.64,1);
  --caja:1240px; --gut:40px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:"Schibsted",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;color:var(--tinta);background:var(--papel);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.04;text-wrap:balance}
p{margin:0}
em{font-style:italic;font-weight:600;color:var(--rojo);letter-spacing:-.025em}
.oscuro em{color:var(--rojo-claro)}
:focus-visible{outline:3px solid var(--rojo-claro);outline-offset:3px;border-radius:6px}
.ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;padding:10px 16px;border-radius:10px}
.saltar:focus{left:8px}
.caja{max-width:calc(var(--caja) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.aviso-borrador{background:var(--rojo);color:#fff;text-align:center;font-size:13px;font-weight:600;padding:6px 12px}
.solo-cel{display:none}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;line-height:1;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s,box-shadow .3s var(--ease),transform .3s var(--ease)}
.btn:hover .ico{transform:translateX(4px)}
.btn-grande{height:58px;padding:0 30px;font-size:17px}
.btn-chico{height:44px;padding:0 20px;font-size:14px}
.btn-ancho{width:100%}
.btn-rojo{background:var(--rojo);color:#fff}
.btn-rojo:hover{background:var(--rojo-hover);box-shadow:0 16px 36px -14px rgba(224,49,52,.75)}
.btn-oscuro{background:var(--n950);color:#fff}
.btn-oscuro:hover{background:#000;box-shadow:0 16px 36px -14px rgba(0,0,0,.6)}
.btn-borde{border-color:var(--tinta);color:var(--tinta);background:transparent}
.btn-borde:hover{background:var(--tinta);color:#fff}
.btn-borde-claro{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}
.btn-borde-claro:hover{background:#fff;color:var(--n950)}
.btn-linkedin{background:var(--azul-in);color:#fff}
.btn-linkedin:hover{background:#08529c}
.btn[disabled]{opacity:.6;cursor:wait}
.botones{display:flex;flex-wrap:wrap;gap:12px}
.link-flecha{display:inline-flex;align-items:center;gap:8px;font-weight:600}
a:hover .link-flecha .ico,.link-flecha:hover .ico{transform:translateX(4px)}
.subrayado{border-bottom:2px solid var(--rojo);padding-bottom:4px;align-self:flex-start}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:13px;line-height:1;padding:8px 12px;border-radius:999px;background:var(--papel);border:1px solid var(--linea);white-space:nowrap}
.pastilla{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:13px;font-weight:600;line-height:1;padding:9px 14px;border-radius:999px;background:rgba(224,49,52,.12);color:var(--rojo-texto)}
.pastilla-clara{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3)}

/* ---------- Navegación ---------- */
.nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--linea);transition:background .45s var(--ease),box-shadow .45s var(--ease),border-color .45s}
.nav-in,.marca-logo,.nav-cta,.nav-burger{transition:height .45s var(--ease),width .45s var(--ease),opacity .45s,background .25s,border-color .25s}
.nav.atenuada{background:rgba(255,255,255,.72);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-color:rgba(4,17,31,.06);box-shadow:0 10px 30px -18px rgba(4,17,31,.35)}
.nav.atenuada .nav-in{height:64px}
.nav.atenuada .marca-logo{height:34px;opacity:.82}
.nav.atenuada .nav-cta{opacity:.9}
.nav.atenuada:hover{background:rgba(255,255,255,.96)}
.nav.atenuada:hover .marca-logo{opacity:1}
body.menu-abierto .nav{background:#fff;box-shadow:none}
.nav-in{max-width:calc(var(--caja) + var(--gut)*2);margin:0 auto;padding:0 var(--gut);height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.marca{display:flex;align-items:center}
.marca-logo{height:40px;width:auto;transition:opacity .2s}
.marca:hover .marca-logo{opacity:.85}
.nav-acc{display:flex;align-items:center;gap:12px}
.nav-burger{width:48px;height:48px;border-radius:999px;border:1px solid var(--linea2);background:#fff;position:relative;cursor:pointer}
.nav-burger:hover{background:var(--papel);border-color:var(--tinta)}
.nav-burger span{position:absolute;left:14px;right:14px;height:2px;background:var(--n950);border-radius:2px;transition:transform .35s var(--ease),opacity .2s,top .35s var(--ease)}
.nav-burger span:nth-child(1){top:17px}
.nav-burger span:nth-child(2){top:23px;right:20px}
.nav-burger span:nth-child(3){top:29px}
.nav-burger[aria-expanded="true"] span:nth-child(1){top:23px;transform:rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){top:23px;transform:rotate(-45deg)}

/* Menú desplegable a pantalla completa */
.menu{position:fixed;inset:0;z-index:55;background:var(--n950);color:#fff;overflow-y:auto;clip-path:circle(0 at calc(100% - 64px) 40px);transition:clip-path .6s cubic-bezier(.7,0,.2,1)}
.menu[hidden]{display:none}
.menu.abierto{clip-path:circle(150% at calc(100% - 64px) 40px)}
.menu-fondo{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.menu-iso{position:absolute;right:-8%;bottom:-18%;width:min(70vw,780px);height:auto;opacity:.05}
.menu-in{position:relative;max-width:calc(var(--caja) + var(--gut)*2);margin:0 auto;padding:120px var(--gut) 48px;min-height:100%;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:64px;align-items:center}
.menu-links{display:flex;flex-direction:column}
.menu-links a{display:flex;align-items:baseline;gap:22px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .7s var(--pop),color .2s;transition-delay:calc(var(--i) * 45ms + .2s)}
.menu.abierto .menu-links a{opacity:1;transform:none}
.menu-num{font-size:14px;color:rgba(255,255,255,.4);font-variant-numeric:tabular-nums;width:24px}
.menu-txt{font-size:clamp(28px,3.6vw,46px);font-weight:700;letter-spacing:-.03em;line-height:1.1;display:flex;flex-direction:column}
.menu-txt small{font-size:15px;font-weight:400;letter-spacing:0;color:rgba(255,255,255,.55);margin-top:4px}
.menu-links a:hover .menu-txt,.menu-links a.activo .menu-txt{color:var(--rojo-claro)}
.menu-lado{display:flex;flex-direction:column;gap:28px;opacity:0;transform:translateY(20px);transition:opacity .5s .45s,transform .6s .45s var(--ease)}
.menu.abierto .menu-lado{opacity:1;transform:none}
.menu-diag{background:var(--rojo);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:14px;transition:transform .4s var(--pop)}
.menu-diag:hover{transform:translateY(-4px)}
.menu-diag .pastilla{background:rgba(255,255,255,.18);color:#fff}
.menu-diag b{font-size:24px;line-height:1.2;letter-spacing:-.02em}
.menu-redes{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.12)}
.menu-redes a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:17px}
.menu-redes a:hover{color:var(--rojo-claro)}
.idiomas{display:inline-flex;align-self:flex-start;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.2)}
.idiomas a{padding:9px 16px;border-radius:999px;font-size:14px;font-weight:600;color:rgba(255,255,255,.65)}
.idiomas a[aria-current="true"]{background:#fff;color:var(--n950)}
body.menu-abierto{overflow:hidden}

/* ---------- Secciones ---------- */
.seccion{padding:112px 0;position:relative}
.seccion-sin-arriba{padding:0 0 112px}
.seccion-sin-arriba+.seccion:not(.oscuro):not(.blanco){padding-top:0}
.seccion.blanco+.seccion-sin-arriba,.seccion.oscuro+.seccion-sin-arriba{padding-top:112px}
.oscuro{background:var(--n950);color:#fff;position:relative;overflow:hidden}
.oscuro>.caja{position:relative}
.blanco{background:#fff}
.encabezado{display:flex;flex-direction:column;gap:20px;margin-bottom:48px;max-width:860px}
.encabezado h2{font-size:clamp(38px,4.6vw,64px)}
.encabezado p{font-size:19px;line-height:1.6;color:var(--gris);max-width:720px}
.oscuro .encabezado p{color:rgba(255,255,255,.7)}
.encabezado-fila{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;max-width:none}
.encabezado-fila>div{max-width:760px}
.grilla-fondo{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 40%,transparent 100%);pointer-events:none}
.spot::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px circle at var(--mx,70%) var(--my,30%),rgba(224,49,52,.14),transparent 60%);opacity:0;transition:opacity .5s}
.spot:hover::before{opacity:1}

/* ---------- Hero ---------- */
.hero{padding:88px 0 104px}
.hero-corto{padding:88px 0 80px}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:64px;align-items:center}
.hero-txt{display:flex;flex-direction:column;gap:30px}
.titulo-hero{font-size:clamp(44px,6.2vw,92px);line-height:.97;letter-spacing:-.04em}
.bajada{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:rgba(255,255,255,.74);max-width:580px}
.visto{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.visto span{font-size:13px;color:rgba(255,255,255,.55)}
.visto a{font-size:20px;font-weight:700;letter-spacing:-.02em;color:rgba(255,255,255,.8);transition:color .2s}
.visto a:hover{color:#fff}

/* Gráfico animado del hero */
.hero-grafico{position:relative}
.grafico-marco{position:relative;aspect-ratio:1/1;border-radius:var(--r-l);overflow:hidden;background:radial-gradient(120% 90% at 30% 20%,#0E2C47 0%,var(--n900) 45%,#030C17 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 90px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06)}
.grafico{position:absolute;inset:0;width:100%;height:100%;display:block}
.grafico-etq{position:absolute;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.02em;padding:7px 12px;border-radius:999px;background:rgba(4,17,31,.7);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:rgba(255,255,255,.85)}
.grafico-etq i{width:8px;height:8px;border-radius:50%}
.etq-afuera{left:18px;top:18px}
.etq-afuera i{background:var(--rojo-claro);box-shadow:0 0 10px var(--rojo-claro)}
.etq-adentro{right:18px;bottom:18px}
.etq-adentro i{background:#fff;border-radius:2px;box-shadow:0 0 10px rgba(255,255,255,.7)}
.grafico-centro{position:absolute;left:50%;top:50%;width:19%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(4,17,31,.95) 55%,rgba(4,17,31,0) 72%);pointer-events:none}
.grafico-centro::before,.grafico-centro::after{content:"";position:absolute;inset:-14%;border-radius:50%;border:1px solid rgba(255,92,96,.45);animation:onda 3.2s ease-out infinite}
.grafico-centro::after{animation-delay:1.6s}
.grafico-iso{width:62%;height:auto;filter:drop-shadow(0 0 14px rgba(224,49,52,.45))}
.flota{position:absolute;z-index:2;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.flota-diag{left:-48px;bottom:-34px;width:260px;background:#fff;color:var(--tinta);border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;gap:9px;animation:flotar 7s ease-in-out infinite}
.flota-diag b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris2);font-weight:600}
.flota-tit{font-size:17px;font-weight:700;line-height:1.25}
.flota-sub{font-size:13px;color:var(--gris2)}
.barra{display:block;height:6px;border-radius:99px;background:#E6EAEE;overflow:hidden}
.barra>span{display:block;height:100%;width:62%;background:var(--rojo);border-radius:inherit;transform-origin:left;animation:llenar 2.4s var(--ease) .8s both}
.flota-chip{right:-18px;top:-16px;display:flex;align-items:center;gap:8px;background:rgba(4,17,31,.92);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:500;animation:flotar 8s ease-in-out -2s infinite}
.flota-chip i{width:8px;height:8px;border-radius:99px;background:#3DDC97;animation:latido 2s infinite}
.hero-foto{position:relative}
.foto-marco{aspect-ratio:4/5;border-radius:var(--r-l);overflow:hidden;background:var(--navy);border:1px solid rgba(255,255,255,.12)}
.foto-marco img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero-foto .flota-chip{top:28px}

/* ---------- Cinta de servicios ---------- */
.cintas{position:relative;background:var(--n900);padding:26px 0;overflow:hidden;display:flex;flex-direction:column;gap:4px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.cintas::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--n900),transparent 10%,transparent 90%,var(--n900))}
.cinta{position:relative;overflow:hidden}
.cinta-pista{display:flex;align-items:center;gap:34px;width:max-content;padding-right:34px;animation:correr 60s linear infinite;font-size:clamp(24px,3vw,40px);font-weight:600;letter-spacing:-.03em;white-space:nowrap;color:rgba(255,255,255,.2)}
.cinta-pista i{width:9px;height:9px;border-radius:50%;background:var(--rojo);opacity:.5;flex:none}
.cinta-inv .cinta-pista{animation-direction:reverse;animation-duration:75s;font-size:clamp(18px,2vw,26px);font-weight:500;color:rgba(255,255,255,.14)}
/* Copia iluminada que solo se ve donde pasa la luz */
.cinta-luz{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 50%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 50%,transparent 100%);-webkit-mask-size:34% 100%;mask-size:34% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:barrido 7s ease-in-out infinite}
.cinta-inv .cinta-luz{animation-duration:9s;animation-direction:reverse;animation-delay:-3s}
.cinta-luz .cinta-pista{color:#fff;text-shadow:0 0 22px rgba(255,92,96,.7),0 0 2px rgba(255,255,255,.6)}
.cinta-luz .cinta-pista i{opacity:1;box-shadow:0 0 14px 2px var(--rojo)}
.cinta-inv .cinta-luz .cinta-pista{color:rgba(255,255,255,.85)}
.cintas:hover .cinta-pista{animation-play-state:paused}

/* ---------- Servicios ---------- */
.motores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.motor{position:relative;overflow:hidden;border-radius:var(--r-l);padding:44px;display:flex;flex-direction:column;gap:22px;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.motor:hover{transform:translateY(-6px)}
.motor-oscuro{background:var(--n950);color:#fff}
.motor-oscuro:hover{box-shadow:0 40px 80px -40px rgba(4,17,31,.9)}
.motor-claro{background:#fff;border:1px solid var(--linea)}
.motor-claro:hover{box-shadow:0 40px 80px -40px rgba(4,17,31,.35)}
.motor-num{font-size:14px;font-weight:600;color:var(--gris2)}
.motor-oscuro .motor-num{color:rgba(255,255,255,.55)}
.motor-lado{align-self:flex-start;font-size:clamp(50px,5.4vw,80px);font-weight:800;font-style:italic;letter-spacing:-.045em;line-height:.95;padding:0 .12em 0 0;margin:-4px 0 0;color:var(--rojo);background:linear-gradient(105deg,var(--rojo) 0%,var(--rojo) 38%,#FFC2C4 48%,#fff 50%,#FFC2C4 52%,var(--rojo) 62%,var(--rojo) 100%);background-size:280% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:brillo-txt 6s ease-in-out infinite}
.motor-claro .motor-lado{animation-delay:-3s;background-image:linear-gradient(105deg,var(--rojo) 0%,var(--rojo) 38%,#FF9EA0 48%,#FFE3E4 50%,#FF9EA0 52%,var(--rojo) 62%,var(--rojo) 100%)}
.motor-oscuro .motor-lado{background-image:linear-gradient(105deg,var(--rojo-claro) 0%,var(--rojo-claro) 38%,#FFD6D7 48%,#fff 50%,#FFD6D7 52%,var(--rojo-claro) 62%,var(--rojo-claro) 100%);filter:drop-shadow(0 0 22px rgba(255,92,96,.28))}
.motor:hover .motor-lado{animation-duration:2.4s}
.motor h3{font-size:clamp(24px,2.3vw,32px);font-weight:600;line-height:1.15}
.motor ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.motor li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.35}
.motor li .ico{color:var(--rojo);margin-top:2px}
.motor-oscuro li .ico{color:var(--rojo-claro)}
.motor-cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;border-radius:20px;background:var(--rojo);color:#fff;transition:background .3s,transform .4s var(--pop)}
.motor-claro .motor-cta{background:var(--navy)}
.motor-cta>span{display:flex;flex-direction:column;gap:2px;font-size:clamp(20px,1.9vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.motor-cta small{font-size:13px;font-weight:500;letter-spacing:0;opacity:.8}
.motor-cta .ico{width:28px;height:28px}
.motor:hover .motor-cta{transform:scale(1.02)}
.motor:hover .motor-cta .ico{transform:translateX(6px)}

/* ---------- Diagnóstico ---------- */
.diag{background:var(--rojo);color:#fff;border-radius:var(--r-l);padding:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;position:relative;overflow:hidden}
.diag::after{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;border:80px solid rgba(255,255,255,.07);pointer-events:none}
.diag-txt{display:flex;flex-direction:column;gap:22px;align-items:flex-start;position:relative}
.diag h2{font-size:clamp(34px,3.8vw,54px)}
.diag-txt p{font-size:18px;color:rgba(255,255,255,.92)}
.diag-card{position:relative;z-index:1;background:#fff;color:var(--tinta);border-radius:24px;padding:30px;box-shadow:0 40px 80px -30px rgba(4,17,31,.55);display:flex;flex-direction:column;gap:18px;transform:rotate(1.5deg);transition:transform .5s var(--pop)}
.diag:hover .diag-card{transform:rotate(0) translateY(-4px)}
.diag-prog{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--gris2)}
.diag-prog .barra{flex:1}
.diag-prog .barra>span{background:var(--n950)}
.diag-preg{font-size:22px;font-weight:600;line-height:1.3;color:var(--tinta)}
.diag-ops{display:flex;flex-direction:column;gap:10px}
.diag-ops a{padding:15px 18px;border:1px solid var(--linea2);border-radius:14px;font-size:16px;transition:all .25s var(--ease)}
.diag-ops a:hover{border-color:var(--n950);background:var(--papel);transform:translateX(4px)}

/* ---------- Casos en carrusel ---------- */
.seccion-casos{overflow:hidden}
.carrusel{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;padding:12px 0 36px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.carrusel::-webkit-scrollbar{display:none}
.carrusel.arrastrando{cursor:grabbing;user-select:none}
.carrusel-pista{display:flex;gap:22px;width:max-content;padding:0 var(--gut)}
.caso{position:relative;overflow:hidden;flex:none;width:400px;min-height:440px;border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:16px;color:#fff;background:var(--navy);transition:transform .45s var(--pop),box-shadow .45s var(--ease)}
.caso:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 36px 70px -30px rgba(4,17,31,.65)}
.caso-navy{background:linear-gradient(160deg,#0B2F4B,#06233A 60%,#041B2E)}
.caso-rojo{background:linear-gradient(160deg,#A43A3D,#8F2F33 55%,#77262A)}
.caso-azul{background:linear-gradient(160deg,#173F5F,#10304B 60%,#0B263D)}
.caso-noche{background:linear-gradient(160deg,#0D1D2E,#08141F)}
.caso-blanco{background:#fff;color:var(--tinta);border:1px solid var(--linea)}
.caso-bordo{background:linear-gradient(160deg,#7F2529,#651C20 60%,#521619)}
.caso-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
.caso-meta{font-weight:500;opacity:.8}
.caso-area{padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:600;font-size:12px}
.caso-blanco .caso-area{background:rgba(224,49,52,.1);color:var(--rojo-texto)}
.caso h3{font-size:30px;letter-spacing:-.03em;position:relative;z-index:1}
.caso-insight{position:relative;z-index:1;display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.caso-insight .ico{width:22px;height:22px;flex:none;color:#FFD3D4;margin-top:1px}
.caso-blanco .caso-insight{background:var(--papel);border-color:var(--linea)}
.caso-blanco .caso-insight .ico{color:var(--rojo)}
.caso-rojo .caso-insight .ico,.caso-bordo .caso-insight .ico{color:#fff}
.caso-tags{display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:1}
.caso-tags span{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.88)}
.caso-blanco .caso-tags span{border-color:var(--linea2);color:var(--gris)}
.caso-blanco .caso-meta{color:var(--gris2);opacity:1}
.caso-blanco h3,.caso-blanco .caso-insight,.caso-blanco .link-flecha{color:var(--tinta)}
.caso .link-flecha{margin-top:auto;position:relative;z-index:1}
.caso-arte{position:absolute;right:-70px;bottom:-60px;width:260px;height:242px;opacity:.045;transition:transform .9s var(--pop),opacity .4s}
.caso:hover .caso-arte{transform:rotate(-8deg) scale(1.05);opacity:.08}
.caso-blanco .caso-arte{opacity:.035}

/* ---------- Proceso interactivo ---------- */
.proceso{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:stretch}
.proc-lista{position:relative;display:flex;flex-direction:column;gap:8px}
.proc-riel{position:absolute;left:31px;top:34px;bottom:60px;width:2px;background:rgba(255,255,255,.12);border-radius:2px}
.proc-riel-lleno{position:absolute;left:0;right:0;top:0;height:var(--avance,0%);background:linear-gradient(var(--rojo-claro),var(--rojo));border-radius:2px;transition:height .6s var(--ease);box-shadow:0 0 12px rgba(255,92,96,.6)}
.proc-paso{position:relative;display:grid;grid-template-columns:64px 1fr;align-items:center;gap:16px;text-align:left;background:transparent;border:1px solid transparent;border-radius:20px;padding:14px 18px 14px 0;cursor:pointer;color:rgba(255,255,255,.6);transition:background .3s,border-color .3s,color .3s}
.proc-paso:hover{color:#fff;background:rgba(255,255,255,.03)}
.proc-num{position:relative;z-index:1;justify-self:center;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;background:var(--n950);border:2px solid rgba(255,255,255,.2);transition:all .4s var(--pop)}
.proc-tit{font-size:clamp(19px,1.7vw,24px);font-weight:600;letter-spacing:-.02em}
.proc-barra{grid-column:2;height:3px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;opacity:0;transition:opacity .3s}
.proc-barra span{display:block;height:100%;width:0;background:var(--rojo-claro)}
.proc-paso.activo{color:#fff;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.proc-paso.activo .proc-num{background:var(--rojo);border-color:var(--rojo);transform:scale(1.12);box-shadow:0 0 0 6px rgba(224,49,52,.18),0 0 24px rgba(224,49,52,.55)}
.proc-paso.hecho .proc-num{border-color:var(--rojo-claro);color:var(--rojo-claro)}
.proc-paso.activo .proc-barra{opacity:1}
.proceso.corriendo .proc-paso.activo .proc-barra span{animation:avance var(--dur,5s) linear forwards}
.proc-paneles{position:relative;border-radius:var(--r-l);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);padding:40px;min-height:440px;overflow:hidden}
.proc-panel{display:flex;flex-direction:column;gap:14px}
.proc-panel[hidden]{display:none}
.proc-panel.activo>*{animation:entrar .7s var(--ease) both}
.proc-panel.activo>*:nth-child(2){animation-delay:.08s}
.proc-panel.activo>*:nth-child(3){animation-delay:.14s}
.proc-panel.activo>*:nth-child(4){animation-delay:.2s}
.proc-panel.activo>*:nth-child(5){animation-delay:.26s}
.proc-ilu{height:200px;display:flex;align-items:center;margin-bottom:6px}
.proc-ilu .ilu{height:100%;width:auto;max-width:100%;overflow:visible}
.proc-etapa{font-size:14px;font-weight:600;color:var(--rojo-claro)}
.proc-panel h3{font-size:clamp(28px,2.8vw,40px)}
.proc-panel p{font-size:18px;line-height:1.6;color:rgba(255,255,255,.75);max-width:540px}
.proc-llevas{display:flex;gap:12px;align-items:flex-start;margin-top:8px;padding:16px 18px;border-radius:16px;background:rgba(224,49,52,.12);border:1px solid rgba(255,92,96,.3);font-size:16px}
.proc-llevas .ico{color:var(--rojo-claro);margin-top:3px}
.proc-llevas b{color:#fff}
/* Ilustraciones */
.ilu{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ilu-lupa .barras rect{fill:rgba(255,255,255,.14);stroke:none}
.ilu-lupa .barras .alerta{fill:var(--rojo)}
.ilu-lupa .lupa circle{fill:rgba(255,92,96,.12);stroke:var(--rojo-claro);stroke-width:3}
.ilu-lupa .lupa path{stroke:var(--rojo-claro);stroke-width:5}
.activo .ilu-lupa .lupa{animation:lupa 4s var(--ease) infinite}
.activo .ilu-lupa .alerta{animation:parpadeo 4s infinite}
.ilu-ruta .ruta{stroke:var(--rojo-claro);stroke-width:3.5;stroke-dasharray:260;stroke-dashoffset:260}
.activo .ilu-ruta .ruta{animation:dibujar 2.2s var(--ease) .2s forwards}
.ilu-ruta .punto{fill:#fff;stroke:none}
.ilu-ruta .hito{fill:var(--n950);stroke:#fff}
.activo .ilu-ruta .h1{animation:aparecer .4s .9s both}
.activo .ilu-ruta .h2{animation:aparecer .4s 1.4s both}
.ilu-ruta .meta{opacity:0}
.activo .ilu-ruta .meta{animation:aparecer .5s 2.2s both}
.ilu-ruta .bandera{fill:var(--rojo);stroke:var(--rojo)}
.ilu-engranajes .dientes{stroke:rgba(255,255,255,.85);stroke-width:9;stroke-dasharray:7 6}
.ilu-engranajes .eng2 .dientes{stroke:var(--rojo-claro);stroke-dasharray:6 5}
.ilu-engranajes .cuerpo{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.85)}
.ilu-engranajes .eng2 .cuerpo{stroke:var(--rojo-claro)}
.ilu-engranajes .eje{fill:#fff;stroke:none}
.ilu-engranajes .eng1{transform-origin:80px 72px}
.ilu-engranajes .eng2{transform-origin:130px 52px}
.activo .ilu-engranajes .eng1{animation:girar 6s linear infinite}
.activo .ilu-engranajes .eng2{animation:girar 4s linear infinite reverse}
.ilu-curva .ejes{stroke:rgba(255,255,255,.35)}
.ilu-curva .grilla{stroke:rgba(255,255,255,.08);stroke-width:1.5}
.ilu-curva .linea{stroke:var(--rojo-claro);stroke-width:3.5;stroke-dasharray:240;stroke-dashoffset:240}
.ilu-curva .area{fill:rgba(255,92,96,.14);stroke:none;opacity:0}
.ilu-curva .tope{fill:var(--rojo-claro);stroke:none;opacity:0}
.activo .ilu-curva .linea{animation:dibujar 1.8s var(--ease) .2s forwards}
.activo .ilu-curva .area{animation:aparecer .8s 1.3s forwards}
.activo .ilu-curva .tope{animation:aparecer .4s 1.8s forwards,latido-rojo 2.4s 2.2s infinite}

/* ---------- Contenido (videos y posteos) ---------- */
.piezas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.piezas-grilla{margin-top:32px}
.pieza{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(4,17,31,.04);transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.pieza:hover{transform:translateY(-6px);box-shadow:0 34px 60px -34px rgba(4,17,31,.5)}
.pieza-media{position:relative;flex:none;background:var(--n950);overflow:hidden;aspect-ratio:16/10}
.pieza-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;background:var(--n950);transition:transform .8s var(--ease)}
.pieza:hover .pieza-media video{transform:scale(1.035)}
.pieza-media.reproduciendo video{object-fit:contain;transform:none}
.pieza-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,17,31,0) 55%,rgba(4,17,31,.55));transition:opacity .4s}
.pieza-media.reproduciendo::after{opacity:0}
.pieza-16x9{aspect-ratio:16/9}
.pieza-16x9::after,.pieza-drive::after{display:none}
.pieza-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pieza-play{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;padding:0}
.pieza-play span{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--rojo);color:#fff;box-shadow:0 14px 34px -10px rgba(224,49,52,.8);transition:transform .4s var(--pop),background .25s;position:relative}
.pieza-play span::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:onda 2.6s ease-out infinite}
.pieza-play svg{width:28px;height:28px;fill:currentColor;margin-left:3px}
.pieza:hover .pieza-play span{transform:scale(1.08);background:var(--rojo-hover)}
.pieza-play:focus-visible span{outline:3px solid #fff;outline-offset:4px}
.pieza-media.reproduciendo .pieza-play,.pieza-media.reproduciendo .pieza-dur{display:none}
.pieza-dur{position:absolute;right:14px;bottom:14px;z-index:2;font-size:12px;font-weight:600;letter-spacing:.02em;color:#fff;padding:5px 10px;border-radius:999px;background:rgba(4,17,31,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pieza-li{position:relative;background:#fff}
.pieza-li iframe{width:100%;height:100%;border:0;display:block}
.pieza-txt{flex:1;padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;background:#fff;color:var(--tinta)}
.pieza-etq{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--rojo-texto)}
.pieza-etq i{width:7px;height:7px;border-radius:50%;background:var(--rojo)}
.pieza-t-linkedin .pieza-etq{color:var(--azul-in)}
.pieza-t-linkedin .pieza-etq i{background:var(--azul-in)}
.pieza-txt b{font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.015em;color:var(--tinta)}
.pieza-desc{font-size:15px;line-height:1.55;color:var(--gris)}
.pieza.oculto,.nota.oculto,.caso-det.oculto{display:none}
.nota{background:var(--n950);color:#fff;border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:18px;min-height:260px;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.nota:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(4,17,31,.7)}
.nota-medio{font-size:14px;font-weight:600;color:var(--rojo-claro)}
.nota-tit{font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.02em}
.nota .link-flecha{margin-top:auto}
.contenido-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.contenido-hero>div{display:flex;flex-direction:column;gap:24px;max-width:760px}
.in{width:26px;height:26px;flex:none;border-radius:6px;background:var(--azul-in);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.in-blanco{background:#fff;color:var(--azul-in)}
.cta-azul{background:var(--navy);color:#fff;border-radius:var(--r-l);padding:56px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.cta-azul h2{font-size:clamp(30px,3.4vw,46px)}
.cta-azul p{color:rgba(255,255,255,.75);font-size:18px;margin-bottom:8px}

/* ---------- Prensa ---------- */
.prensa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea)}
.prensa a{padding:36px 32px 8px;display:flex;flex-direction:column;gap:20px;border-right:1px solid var(--linea)}
.prensa a:first-child{padding-left:0}
.prensa a:last-child{border-right:0}
.prensa-medio{font-size:28px;font-weight:800;letter-spacing:-.03em;transition:color .2s}
.prensa a:hover .prensa-medio{color:var(--rojo)}
.prensa-tit{font-size:19px;line-height:1.5;color:#24384B}
.prensa .link-flecha{color:var(--rojo-texto);margin-top:auto}

/* ---------- Sobre mí ---------- */
.sobre{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:center}
.sobre-foto{aspect-ratio:4/5;border-radius:var(--r-l);overflow:hidden;background:#DCE3EA}
.sobre-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.2s var(--ease)}
.sobre-foto:hover img{transform:scale(1.05)}
.sobre-txt{display:flex;flex-direction:column;gap:26px}
.sobre-txt h2{font-size:clamp(32px,3.6vw,50px);line-height:1.06}
.sobre-txt p{font-size:18px;line-height:1.7;color:var(--gris)}
.valores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.valores>div{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--linea);display:flex;flex-direction:column;gap:6px;transition:transform .4s var(--pop)}
.valores>div:hover{transform:translateY(-4px)}
.valores b{font-size:17px}
.valores span{font-size:14px;line-height:1.5;color:var(--gris2)}
.valores-grandes{gap:20px}
.valores-grandes>div{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);padding:32px;gap:12px}
.valores-grandes b{font-size:24px}
.valores-grandes span:last-child{font-size:16px;color:rgba(255,255,255,.7)}
.valor-num{font-size:44px;font-weight:300;font-style:italic;color:var(--rojo-claro);line-height:1}
.historia{display:flex;flex-direction:column;gap:56px}
.historia-grande{font-size:clamp(26px,3vw,40px);line-height:1.3;font-weight:600;letter-spacing:-.025em;max-width:1000px}
.historia-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 56px}
.historia-cols p{font-size:18px;line-height:1.75;color:var(--gris)}

/* ---------- Contacto ---------- */
.contacto{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:72px;align-items:start}
.contacto-txt{display:flex;flex-direction:column;gap:26px}
.contacto-txt h2{font-size:clamp(36px,4.4vw,60px)}
.contacto-txt p{font-size:18px;color:rgba(255,255,255,.72)}
.garantias{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.garantias li{display:flex;align-items:center;gap:12px;font-size:17px}
.garantias .ico{width:22px;height:22px;padding:3px;border-radius:50%;background:rgba(61,220,151,.15);color:#3DDC97}
.canales{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.14)}
.canales a{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:19px;transition:padding .3s var(--ease),color .2s}
.canales a span{flex:1}
.canales small{font-size:14px;color:rgba(255,255,255,.55)}
.canales a:hover{padding-left:8px;color:var(--rojo-claro)}
/* Borde con luz que gira alrededor del formulario */
.form-marco{position:relative;border-radius:calc(var(--r-l) + 2px);padding:2px;overflow:hidden;isolation:isolate;box-shadow:0 50px 100px -40px rgba(224,49,52,.35)}
.form-marco::before{content:"";position:absolute;inset:-50%;z-index:-1;background:conic-gradient(from var(--giro,0deg),transparent 0 60%,rgba(255,92,96,.95) 72%,#fff 76%,rgba(255,92,96,.95) 80%,transparent 92%);animation:girar 6s linear infinite}
.form-marco::after{content:"";position:absolute;inset:2px;z-index:-1;border-radius:var(--r-l);background:#fff}
.form{border-radius:var(--r-l);padding:38px;display:flex;flex-direction:column;gap:20px;color:var(--tinta)}
.form-cab{display:flex;flex-direction:column;gap:4px;padding-bottom:6px}
.form-cab b{font-size:24px;letter-spacing:-.02em}
.form-cab span{font-size:15px;color:var(--gris2)}
.campo{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}
.campo-in{position:relative;display:block}
.campo-in .ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--gris2);pointer-events:none;transition:color .2s}
.campo input{height:56px;width:100%;border-radius:16px;border:1.5px solid var(--linea2);padding:0 16px 0 46px;font:400 16px "Schibsted",sans-serif;color:var(--tinta);background:var(--papel);transition:border-color .2s,box-shadow .2s,background .2s}
.campo input:hover{border-color:#9AA8B5}
.campo input:focus{outline:0;border-color:var(--rojo);background:#fff;box-shadow:0 0 0 4px rgba(224,49,52,.12)}
.campo-in:focus-within .ico{color:var(--rojo)}
.form-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form fieldset{border:0;margin:0;padding:0}
.form legend{font-size:14px;font-weight:600;margin-bottom:10px;padding:0}
.opciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.opcion{position:relative;cursor:pointer}
.opcion:last-child{grid-column:span 2}
.opcion input{position:absolute;opacity:0;pointer-events:none}
.opcion span{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;border:1.5px solid var(--linea2);font-size:14px;line-height:1.3;transition:all .2s var(--ease)}
.opcion .ico{color:var(--gris2)}
.opcion:hover span{border-color:var(--tinta)}
.opcion input:checked+span{background:var(--n950);border-color:var(--n950);color:#fff;font-weight:600}
.opcion input:checked+span .ico{color:var(--rojo-claro)}
.opcion input:focus-visible+span{outline:3px solid var(--rojo-claro);outline-offset:2px}
.trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-aviso{padding:12px 16px;border-radius:12px;font-size:14px}
.form-aviso.error{background:#FDECEC;color:#8E1A1E}

/* ---------- Páginas de servicio ---------- */
.migas{display:flex;gap:10px;font-size:14px;color:rgba(255,255,255,.6);margin-bottom:40px;position:relative}
.migas a:hover{color:#fff}
.migas span[aria-current]{color:#fff}
.servicio-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:64px;align-items:end;position:relative}
.servicio-in>div:first-child{display:flex;flex-direction:column;gap:24px}
.servicio-lado{font-size:clamp(20px,2vw,26px);font-weight:700;font-style:italic;color:var(--rojo-claro)}
.para-vos{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:14px}
.para-vos b{font-size:15px;color:rgba(255,255,255,.7);font-weight:500}
.para-vos span{display:flex;gap:12px;font-size:17px;line-height:1.45}
.para-vos i{width:8px;height:8px;margin-top:8px;flex:none;border-radius:50%;background:var(--rojo-claro)}
.frentes{border-top:1px solid #D6DDE4}
.frente{display:grid;grid-template-columns:96px minmax(0,1.2fr) minmax(0,.8fr);gap:32px;padding:40px 24px;border-bottom:1px solid #D6DDE4;border-radius:6px;transition:background .35s var(--ease)}
.frente:hover{background:#fff}
.frente-num{font-size:52px;font-weight:300;font-style:italic;line-height:1;color:var(--rojo);letter-spacing:-.04em;transition:transform .5s var(--pop)}
.frente:hover .frente-num{transform:scale(1.15) rotate(-4deg)}
.frente h3{font-size:28px;font-weight:600;margin-bottom:10px}
.frente p{font-size:16px;line-height:1.65;color:var(--gris)}
.frente .chips{align-content:flex-start}
.frente .chip{background:#fff}
.otro-servicio{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:32px;row-gap:4px;align-items:center;padding:36px 40px;border-radius:var(--r-l);background:#fff;border:1px solid var(--linea);transition:transform .45s var(--ease),box-shadow .45s}
.otro-servicio:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(4,17,31,.35)}
.otro-servicio>span:first-child{font-size:14px;color:var(--gris2)}
.otro-servicio b{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.02em}
.otro-servicio>span:nth-child(3){color:var(--gris)}
.otro-servicio .ico{grid-row:1/span 3;grid-column:2;width:32px;height:32px;color:var(--rojo)}

/* ---------- Casos (página) ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:8px}
.filtros button{height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--linea2);background:transparent;font-size:14px;font-weight:500;cursor:pointer;transition:all .25s var(--ease)}
.filtros button:hover{border-color:var(--tinta)}
.filtros button[aria-pressed="true"]{background:var(--n950);border-color:var(--n950);color:#fff;font-weight:600}
.filtros-claros{margin-top:28px}
.filtros-claros button{border-color:rgba(255,255,255,.25);color:#fff}
.filtros-claros button[aria-pressed="true"]{background:#fff;color:var(--n950);border-color:#fff}
.hero-corto .titulo-hero+.bajada{margin-top:24px}
.lista-casos{display:flex;flex-direction:column;gap:20px}
.caso-det{background:#fff;border:1px solid var(--linea);border-radius:var(--r-l);padding:48px;display:flex;flex-direction:column;gap:32px;scroll-margin-top:100px;position:relative;overflow:hidden}
.caso-det::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--navy)}
.caso-det-rojo::before{background:var(--rojo)}
.caso-det-azul::before{background:var(--n700)}
.caso-det-noche::before{background:var(--n950)}
.caso-det-blanco::before{background:var(--linea2)}
.caso-det-bordo::before{background:var(--bordo)}
.caso-det-cab{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px}
.caso-det-num{font-size:72px;font-weight:300;font-style:italic;line-height:.9;color:var(--rojo);letter-spacing:-.05em}
.caso-det .caso-meta{color:var(--gris2);opacity:1;font-size:14px}
.caso-det h2{font-size:clamp(32px,3.4vw,48px);margin:8px 0 14px}
.caso-det-cab p{font-size:18px;line-height:1.65;color:var(--gris);max-width:820px}
.caso-det .caso-insight{margin-top:18px;max-width:820px;background:var(--papel);border-color:var(--linea);color:var(--tinta)}
.caso-det .caso-insight .ico{color:var(--rojo)}
.caso-det-puntos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-left:134px}
.caso-det-puntos>div{background:var(--papel);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px}
.caso-det-puntos b{font-size:17px}
.caso-det-puntos span{font-size:15px;line-height:1.6;color:var(--gris)}
.caso-det:target{border-color:var(--rojo);box-shadow:0 0 0 4px rgba(224,49,52,.12)}

/* ---------- Cierre ---------- */
.cta-roja{background:var(--rojo);color:#fff;border-radius:var(--r-l);padding:64px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;position:relative;overflow:hidden}
.cta-roja::after{content:"";position:absolute;width:420px;height:420px;left:-140px;bottom:-260px;border-radius:50%;border:70px solid rgba(255,255,255,.07)}
.cta-roja h2{font-size:clamp(30px,3.6vw,50px);max-width:680px;position:relative;z-index:1}
.cta-roja .botones{position:relative;z-index:1}
.gracias{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px;padding:40px 0}
.gracias h1{font-size:clamp(40px,5.4vw,76px)}
.tilde{width:84px;height:84px;border-radius:50%;background:var(--rojo);display:flex;align-items:center;justify-content:center}
.tilde svg{width:40px;height:40px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Pie ---------- */
.pie{background:#020B15;color:rgba(255,255,255,.62);padding:72px 0 36px;font-size:15px}
.pie-arriba{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08)}
.pie-logo img{height:52px;width:auto;opacity:.92}
.pie-lema{font-size:15px;font-style:italic;color:rgba(255,255,255,.5)}
.pie-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.pie-cols>div{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.pie-cols b{color:#fff;margin-bottom:4px}
.pie-cols a{transition:color .2s}
.pie-cols a:hover,.pie-cols a[aria-current="true"]{color:#fff}
.pie-legal{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:13px}
.barra-cta{display:none}

/* ---------- Animaciones ---------- */
@keyframes brillo-txt{0%,15%{background-position:100% 0}60%,100%{background-position:0 0}}
@keyframes correr{to{transform:translateX(-50%)}}
@keyframes barrido{0%{-webkit-mask-position:-60% 0;mask-position:-60% 0}100%{-webkit-mask-position:160% 0;mask-position:160% 0}}
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes llenar{from{transform:scaleX(0)}}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(61,220,151,.6)}70%{box-shadow:0 0 0 10px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
@keyframes latido-rojo{0%{box-shadow:0 0 0 0 rgba(224,49,52,.55)}70%{box-shadow:0 0 0 16px rgba(224,49,52,0)}100%{box-shadow:0 0 0 0 rgba(224,49,52,0)}}
@keyframes onda{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.9);opacity:0}}
@keyframes girar{to{transform:rotate(360deg)}}
@keyframes avance{to{width:100%}}
@keyframes entrar{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes dibujar{to{stroke-dashoffset:0}}
@keyframes aparecer{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes lupa{0%{transform:translate(30px,60px)}30%{transform:translate(95px,70px)}45%{transform:translate(95px,70px)}75%{transform:translate(160px,50px)}100%{transform:translate(30px,60px)}}
@keyframes parpadeo{0%,30%{opacity:.4}38%,48%{opacity:1}60%,100%{opacity:.4}}
.ilu-lupa .lupa{transform:translate(30px,60px)}

/* Aparición al hacer scroll (solo si el JS está activo) */
.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.js [data-reveal="up"]{transform:translateY(34px)}
.js [data-reveal="pop"]{transform:translateY(26px) scale(.94);transition:opacity .7s var(--ease) var(--d,0s),transform .9s var(--pop) var(--d,0s)}
.js [data-reveal].visible{opacity:1;transform:none}
.js .motor.visible,.js .pieza.visible,.js .nota.visible{transition:transform .45s var(--ease),box-shadow .45s var(--ease),opacity .35s}
.js [data-split]:not(.listo){opacity:0}
.js-seguro [data-reveal],.js-seguro [data-split]{opacity:1!important;transform:none!important}
.js [data-split] .pal{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.js [data-split] .pal>span{display:inline-block;transform:translateY(105%);transition:transform .9s var(--ease);transition-delay:calc(var(--i) * 55ms + .1s)}
.js [data-split].visible .pal>span{transform:none}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal],.js [data-split] .pal>span{opacity:1!important;transform:none!important}
  .cinta-luz{display:none}
  .ilu-ruta .ruta,.ilu-curva .linea{stroke-dashoffset:0}
  .ilu-ruta .meta,.ilu-curva .area,.ilu-curva .tope{opacity:1}
}

/* ---------- Tablet ---------- */
@media (max-width: 1080px){
  :root{--gut:28px}
  .hero-in{gap:40px}
  .flota-diag{left:-16px}
  .proceso{grid-template-columns:minmax(0,1fr)}
  .piezas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .caso-det-puntos{margin-left:0}
  .motor ul{grid-template-columns:minmax(0,1fr)}
  .menu-in{grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}
}

/* ---------- Celular ---------- */
@media (max-width: 860px){
  :root{--gut:20px;--r:20px;--r-l:24px}
  body{font-size:16px}
  .solo-pc{display:none}
  .solo-cel{display:inline}
  .nav-in{height:66px;gap:10px}
  .marca-logo{height:30px}
  .nav-cta{height:40px;padding:0 16px;font-size:14px}
  .nav-burger{width:44px;height:44px}
  .nav-burger span{left:13px;right:13px}
  .nav-burger span:nth-child(1){top:15px}
  .nav-burger span:nth-child(2){top:21px;right:18px}
  .nav-burger span:nth-child(3){top:27px}
  .nav-burger[aria-expanded="true"] span:nth-child(1),.nav-burger[aria-expanded="true"] span:nth-child(3){top:21px}
  .menu-in{padding:96px var(--gut) calc(32px + env(safe-area-inset-bottom))}
  .menu-links a{gap:14px;padding:10px 0}
  .menu-txt{font-size:28px}
  .menu-txt small{font-size:13px}
  .menu-diag{padding:22px}
  .menu-diag b{font-size:20px}

  .seccion{padding:72px 0}
  .seccion-sin-arriba{padding:0 0 72px}
  .seccion.blanco+.seccion-sin-arriba,.seccion.oscuro+.seccion-sin-arriba{padding-top:72px}
  .encabezado{gap:14px;margin-bottom:28px}
  .nav.atenuada .nav-in{height:58px}
  .nav.atenuada .marca-logo{height:30px}
  .encabezado h2{font-size:clamp(32px,8.6vw,44px)}
  .encabezado p{font-size:16px}
  .encabezado-fila{gap:20px;align-items:flex-start;flex-direction:column}

  .hero{padding:40px 0 64px}
  .hero-corto{padding:48px 0 56px}
  .hero-in{grid-template-columns:minmax(0,1fr);gap:36px}
  .hero-txt{gap:22px}
  .titulo-hero{font-size:clamp(40px,11.2vw,58px)}
  .hero .botones,.cta-roja .botones,.cta-azul .botones{flex-direction:column;align-items:stretch;width:100%}
  .hero .btn,.cta-roja .btn,.cta-azul .btn{width:100%}
  .visto{gap:6px 20px}
  .visto span{flex-basis:100%}
  .visto a{font-size:17px}
  .grafico-marco{aspect-ratio:1/1.02}
  .grafico-etq{font-size:11px;padding:6px 10px}
  .etq-afuera{left:12px;top:12px}
  .etq-adentro{right:12px;bottom:12px}
  .grafico-centro{width:23%}
  .flota-diag{position:relative;left:auto;bottom:auto;width:auto;margin:-36px 16px 0;animation:none}
  .flota-chip{right:12px;top:-14px;font-size:12px;padding:8px 12px}
  .hero-foto .flota-chip{top:12px}
  .foto-marco{aspect-ratio:1/1}

  .cintas{padding:18px 0}
  .cinta-pista{gap:22px;padding-right:22px}

  .motores{grid-template-columns:minmax(0,1fr);gap:14px}
  .motor{padding:26px 22px;gap:16px}
  .motor-lado{font-size:50px}
  .motor h3{font-size:22px}
  .motor li{font-size:15px}
  .motor-cta{padding:18px 20px;border-radius:16px}
  .motor-cta>span{font-size:19px}

  .diag{grid-template-columns:minmax(0,1fr);padding:30px 22px;gap:26px}
  .diag-txt p{font-size:16px}
  .diag .btn{width:100%}
  .diag-card{padding:22px;transform:none}
  .diag-preg{font-size:19px}

  .caso{width:300px;min-height:400px;padding:24px;border-radius:24px}
  .caso h3{font-size:25px}
  .caso-insight{font-size:16px;padding:14px}
  .carrusel-pista{gap:14px}
  .carrusel{-webkit-mask-image:none;mask-image:none}

  .proc-lista{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .proc-riel{left:12.5%;right:12.5%;top:21px;bottom:auto;width:auto;height:2px}
  .proc-riel-lleno{height:100%!important;width:var(--avance,0%);transition:width .6s var(--ease)}
  .proc-paso{grid-template-columns:1fr;justify-items:center;padding:0 0 10px;gap:8px;border-radius:14px}
  .proc-paso.activo{background:transparent;border-color:transparent}
  .proc-tit{font-size:12px;text-align:center;line-height:1.2}
  .proc-barra{grid-column:1;width:70%}
  .proc-paneles{padding:24px 22px;min-height:0}
  .proc-ilu{height:120px}
  .proc-panel h3{font-size:26px}
  .proc-panel p{font-size:16px}
  .proc-llevas{font-size:15px}

  /* Celular: videos y notas en una fila que se desliza */
  .piezas{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding:4px var(--gut) 20px;scroll-padding:0 var(--gut)}
  .piezas::-webkit-scrollbar{display:none}
  .piezas>*{flex:0 0 84%;max-width:340px;scroll-snap-align:start}
  .piezas>.oculto{display:none}
  .piezas .pieza:hover{transform:none}
  .nota{min-height:0;padding:24px}
  .nota-tit{font-size:21px}
  .cta-azul{padding:30px 22px}

  .prensa{grid-template-columns:minmax(0,1fr)}
  .prensa a,.prensa a:first-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--linea)}
  .prensa-medio{font-size:24px}
  .prensa-tit{font-size:17px}

  .sobre{grid-template-columns:minmax(0,1fr);gap:32px}
  .sobre-foto{aspect-ratio:1/1}
  .sobre-txt p{font-size:16px}
  .valores{grid-template-columns:minmax(0,1fr);gap:10px}
  .valores>div{flex-direction:row;flex-wrap:wrap;gap:4px 10px;padding:16px 18px}
  .valores-grandes>div{flex-direction:column;padding:24px}
  .historia{gap:32px}
  .historia-cols{grid-template-columns:minmax(0,1fr);gap:20px}
  .historia-cols p{font-size:16px}

  .contacto{grid-template-columns:minmax(0,1fr);gap:40px}
  .contacto-txt h2{font-size:clamp(32px,8.6vw,44px)}
  .contacto-txt p{font-size:16px}
  .canales a{font-size:17px;padding:16px 0}
  .form{padding:24px 18px;gap:16px}
  .form-cab b{font-size:21px}
  .form-2{grid-template-columns:minmax(0,1fr)}
  .opciones{grid-template-columns:minmax(0,1fr)}
  .opcion:last-child{grid-column:auto}

  .migas{margin-bottom:24px;font-size:13px;flex-wrap:wrap}
  .servicio-in{grid-template-columns:minmax(0,1fr);gap:32px}
  .frente{grid-template-columns:minmax(0,1fr);gap:12px;padding:28px 0}
  .frente-num{font-size:40px}
  .frente h3{font-size:23px}
  .otro-servicio{padding:24px;column-gap:16px}

  .caso-det{padding:26px 22px;gap:22px}
  .caso-det-cab{grid-template-columns:minmax(0,1fr);gap:4px}
  .caso-det-num{font-size:44px}
  .caso-det-cab p{font-size:16px}
  .caso-det-puntos{grid-template-columns:minmax(0,1fr);gap:10px}
  .caso-det-puntos>div{padding:18px}

  .cta-roja{padding:34px 22px}
  .contenido-hero .btn{width:100%}

  .pie{padding:56px 0 110px}
  .pie-logo img{height:40px}
  .pie-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}

  .barra-cta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 20px;border-radius:999px;background:rgba(4,17,31,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:15px;font-weight:500;box-shadow:0 20px 40px -12px rgba(0,0,0,.55);transform:translateY(150%);transition:transform .5s var(--pop)}
  .barra-cta.visible{transform:none}
  .barra-cta .btn{flex:none}
}
@media (max-width: 380px){
  .titulo-hero{font-size:37px}
  .marca-logo{height:26px}
  .nav-cta{padding:0 12px}
  .proc-tit{font-size:11px}
}
@media (hover: none){
  .motor:hover,.caso:hover,.nota:hover{transform:none}
}

/* ---------- Panel de contenido (admin) ---------- */
.adm{background:var(--papel)}
.adm-cab{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:18px;padding:14px var(--gut);background:var(--n950);color:#fff}
.adm-logo img{height:30px;width:auto}
.adm-tit{font-weight:600;color:rgba(255,255,255,.7);padding-left:18px;border-left:1px solid rgba(255,255,255,.2)}
.adm-salir{margin-left:auto}
.adm-main{max-width:1100px;margin:0 auto;padding:32px var(--gut) 80px;display:flex;flex-direction:column;gap:24px}
.adm-caja{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:32px;display:flex;flex-direction:column;gap:18px}
.adm-angosta{max-width:520px;width:100%;align-self:center}
.adm-caja h1{font-size:30px}
.adm-caja h2{font-size:24px}
.adm-sub,.adm-caja>p{color:var(--gris)}
.adm-sub a{color:var(--rojo-texto);text-decoration:underline}
.adm-aviso{padding:14px 18px;border-radius:14px;font-weight:500}
.adm-aviso-ok{background:#E6F7EE;color:#0F5C35}
.adm-aviso-error{background:#FDECEC;color:#8E1A1E}
.adm-tabs{display:inline-flex;align-self:flex-start;flex-wrap:wrap;padding:4px;border-radius:999px;background:var(--papel);border:1px solid var(--linea)}
.adm-tabs button{border:0;background:transparent;padding:10px 18px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;color:var(--gris)}
.adm-tabs button[aria-selected="true"]{background:var(--n950);color:#fff}
.adm-form{display:flex;flex-direction:column;gap:14px}
.adm-form[hidden]{display:none}
.adm-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.adm-form input[type=text],.adm-form input[type=password],.adm-form textarea,.adm-form select{width:100%;border:1.5px solid var(--linea2);border-radius:12px;padding:12px 14px;font:400 15px "Schibsted",sans-serif;background:#fff;color:var(--tinta)}
.adm-form textarea{resize:vertical}
.adm-form input:focus,.adm-form textarea:focus,.adm-form select:focus{outline:0;border-color:var(--rojo);box-shadow:0 0 0 4px rgba(224,49,52,.12)}
.adm-form .btn{align-self:flex-start}
.adm-form .btn-ancho{align-self:stretch}
.adm-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.adm-check{flex-direction:row!important;align-items:center;gap:10px!important;font-weight:500!important;padding:12px 0}
.adm-check input{width:18px;height:18px;accent-color:var(--rojo)}
.adm-archivo input{padding:14px;border:1.5px dashed var(--linea2);border-radius:12px;background:var(--papel);font:inherit;font-weight:400}
.adm-ayuda{font-size:13px;color:var(--gris2);line-height:1.5}
.adm-progreso{position:relative;height:30px;border-radius:999px;background:var(--papel);overflow:hidden;border:1px solid var(--linea)}
.adm-progreso span{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--rojo);transition:width .2s}
.adm-progreso b{position:relative;display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;mix-blend-mode:difference;color:#fff}
.adm-lista{display:flex;flex-direction:column;gap:16px}
.adm-item{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;padding:18px;border:1px solid var(--linea);border-radius:18px}
.adm-oculto{opacity:.55}
.adm-vista{height:220px;border-radius:12px;overflow:hidden;background:var(--papel)}
.adm-vista iframe,.adm-vista video{width:100%;height:100%;border:0;display:block;pointer-events:none;object-fit:cover;background:#000}
.adm-vista iframe{background:#fff}
.adm-datos{display:flex;flex-direction:column;gap:12px}
.adm-etqs{display:flex;gap:6px;flex-wrap:wrap}
.adm-etq{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--papel);border:1px solid var(--linea)}
.adm-etq-rojo{background:rgba(224,49,52,.1);color:var(--rojo-texto);border-color:transparent}
.adm-etq-gris{background:#E9EDF1}
.adm-acciones{display:flex;flex-wrap:wrap;gap:6px}
.adm-btn{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--linea2);background:#fff;font-size:13px;font-weight:600;cursor:pointer}
.adm-btn:hover{border-color:var(--tinta)}
.adm-btn-rojo{color:var(--rojo-texto)}
.adm-btn-rojo:hover{border-color:var(--rojo);background:#FDECEC}
@media (max-width: 760px){
  .adm-item{grid-template-columns:minmax(0,1fr)}
  .adm-2{grid-template-columns:minmax(0,1fr)}
  .adm-caja{padding:22px}
  .adm-tit{display:none}
}
