@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* ═══════════════════════════════════════════════════════════
   ALTA SEGURIDAD · estilos del sitio
   ═══════════════════════════════════════════════════════════ */
:root{
  --ink:#080e1b; --ink-2:#141c2c; --red:#e63434; --red-dark:#e63434;
  --bone:#f6f5f2; --bone-2:#eeebe6; --line:#e2dfda; --line-2:#cfcbc4;
  --txt:#2b3340; --dim:#5a6270; --dim-2:#8b93a1;
  --w:1240px; --gut:40px; --head:84px;
  --display:'Manrope',Inter,-apple-system,'Segoe UI',sans-serif;
  --text:'Manrope',Inter,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 24px);scrollbar-gutter:stable}
body{background:#fff;color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit}
ul,ol{list-style:none}
fieldset{border:0;min-width:0}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.w{width:min(var(--w),100% - var(--gut)*2);margin-inline:auto}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;font-weight:600}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.08}
h1{font-size:clamp(36px,4.4vw,58px);letter-spacing:-.04em;line-height:1.02}
h2{font-size:clamp(28px,3vw,40px)}
h3{font-size:20px;letter-spacing:-.02em;line-height:1.25;font-weight:600}
.lead{font-size:clamp(16.5px,1.3vw,18.5px);color:var(--dim);line-height:1.65;max-width:62ch}

section{padding:96px 0}
.bone{background:var(--bone)}
.dark{background:var(--ink);color:#fff}

/* encabezado de sección */
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px;flex-wrap:wrap}
.sec-h>div{max-width:720px}
.sec-h p{margin-top:14px;color:var(--dim);font-size:17px;max-width:60ch}
.dark .sec-h p{color:#a9b1be}
.link{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap}
.link svg{transition:transform .25s var(--ease)}
.link:hover{color:var(--red)}
.link:hover svg{transform:translateX(3px)}
.dark .link{color:#fff}
.dark .link:hover{color:#ff8a8a}

/* botones */
.btn{font-family:var(--display);font-weight:600;font-size:15px;line-height:1;padding:16px 24px;border:1.5px solid transparent;transition:background .18s,color .18s,border-color .18s;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:none;white-space:nowrap}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-dark)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--red)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{background:var(--red);color:#fff}
.btn-ghost-w{border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost-w:hover{background:#fff;color:var(--ink);border-color:#fff}
.ico{width:16px;height:16px;flex:none}
.acts{display:flex;flex-wrap:wrap;gap:12px}

/* ═════════ CABEZAL ═════════ */
.site-head{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
body.scrolled .site-head{box-shadow:0 10px 28px -24px rgba(8,14,27,.6)}
.head-in{display:flex;align-items:center;gap:32px;height:var(--head)}
.brand{flex:none;display:flex;align-items:center}
.brand img{height:19px;width:auto}
.nav{margin-left:auto;align-self:stretch}
.nav-list{display:flex;height:100%;position:relative}
.nav-list>li{display:flex}
.nav-list>li>a,.nav-trig{display:flex;align-items:center;gap:7px;padding:0 16px;font-size:15px;font-weight:500;color:#3a4250;background:none;border:0;cursor:pointer;transition:color .2s;white-space:nowrap}
.nav-list>li>a:hover,.nav-trig:hover,.nav-trig[aria-expanded="true"],.nav-list>li.is-current>a,.nav-list>li.is-current>.nav-trig{color:var(--ink)}
.nav-list>li.is-current>a,.nav-list>li.is-current>.nav-trig{font-weight:600}
.chev{width:10px;height:10px;transition:transform .3s var(--ease)}
.nav-trig[aria-expanded="true"] .chev{transform:rotate(180deg)}
/* barra roja que sigue al mouse: se estira hacia el lado al que va y descansa en la sección actual */
.nav-bar{position:absolute;bottom:-1px;left:0;right:100%;height:3px;background:var(--red);opacity:0;pointer-events:none;transition:opacity .2s}
.nav-bar.on{opacity:1}
.head-cta{flex:none}

.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);width:46px;height:42px;cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:1.6px;background:var(--ink)}
.burger i:nth-child(1){top:14px}.burger i:nth-child(2){top:20px}.burger i:nth-child(3){top:26px}

/* mega menú a todo el ancho */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 50px -36px rgba(8,14,27,.45);height:0;overflow:hidden;visibility:hidden;transition:height .36s var(--ease),visibility 0s linear .36s}
.mega.open{visibility:visible;transition:height .36s var(--ease),visibility 0s}
.mega-panel{position:absolute;top:0;left:0;right:0;opacity:0;pointer-events:none;transition:opacity .22s,transform .36s var(--ease)}
.mega-panel.on{opacity:1;pointer-events:auto}
.mega-in{display:grid;grid-template-columns:300px 1fr 1fr;gap:48px;padding:40px 0 44px}
.mega-intro h2{font-size:26px}
.mega-intro p{margin-top:10px;color:var(--dim);font-size:14.5px;line-height:1.55}
.mega-intro .link{margin-top:18px;font-size:14.5px}
.mega-col h3{font-size:13px;font-family:var(--text);font-weight:600;letter-spacing:.02em;color:var(--dim-2);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.mega-col a{display:block;padding:9px 0;font-size:15.5px;font-weight:500;color:var(--txt);transition:color .15s,transform .2s var(--ease)}
.mega-col a:hover{color:var(--red);transform:translateX(3px)}
.mega-box{background:var(--bone);padding:24px;display:flex;flex-direction:column;gap:12px;align-self:start}
.mega-box h3{font-size:18px}
.mega-box p{font-size:14px;color:var(--dim);line-height:1.5}
.mega-box .btn{align-self:flex-start;margin-top:6px;padding:13px 18px;font-size:14px}
.mega-facts li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--txt)}
.mega-facts li:last-child{border-bottom:0}
.mega-facts b{font-family:var(--display);font-weight:600}

/* menú móvil */
.drawer{position:fixed;inset:0;z-index:120;background:#fff;display:flex;flex-direction:column;overflow-y:auto;visibility:hidden;transform:translateX(100%);transition:transform .35s var(--ease),visibility 0s linear .35s}
body.nav-open .drawer{visibility:visible;transform:none;transition:transform .35s var(--ease),visibility 0s}
.drawer-top .brand img{height:17px}
.drawer-top{display:flex;align-items:center;justify-content:space-between;height:70px;border-bottom:1px solid var(--line);flex:none}
.drawer-x{width:46px;height:42px;border:1px solid var(--line-2);background:none;cursor:pointer;font-size:24px;line-height:1}
.drawer-nav{padding:6px 0 20px;flex:1}
.drawer-nav>a,.drawer-nav summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.02em;cursor:pointer;list-style:none}
.drawer-nav summary::-webkit-details-marker{display:none}
.drawer-nav summary::after{content:"+";font-weight:400;font-size:24px;color:var(--dim)}
.drawer-nav details[open] summary::after{content:"−"}
.drawer-sub{padding:4px 0 14px;border-bottom:1px solid var(--line)}
.drawer-sub p{font-size:12.5px;color:var(--dim-2);margin:12px 0 2px;font-weight:600}
.drawer-sub a{display:block;padding:8px 0;font-size:16px}
.drawer-foot{padding:20px 0 30px;display:grid;gap:10px;border-top:1px solid var(--line)}
.drawer-foot .btn{width:100%}
.drawer-foot p{font-size:13.5px;color:var(--dim);margin-top:4px}

/* ═════════ INICIO ═════════ */
.hero{padding:0;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);min-height:560px}
.hero-copy{padding:80px 72px 80px 0;align-self:center}
.hero-copy h1{max-width:15ch}
.hero-copy>p{margin-top:26px;font-size:clamp(16.5px,1.35vw,18.5px);line-height:1.65;color:#454d5b;max-width:54ch}
.hero-copy .acts{margin-top:36px}
.panel{position:relative;background:var(--red);color:#fff;padding:56px 52px 50px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;overflow:hidden;
  margin-right:calc((100vw - min(var(--w),100vw - var(--gut)*2))/-2)}
.panel-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0}
.panel[data-photo] .panel-photo{opacity:1}
.panel[data-photo]::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(200,32,32,.82),rgba(140,18,18,.9))}
.panel-sol{position:absolute;left:50%;bottom:0;width:132%;max-width:none;transform:translateX(-50%);opacity:.1;pointer-events:none;filter:brightness(0) invert(1);z-index:1}
.panel>*:not(.panel-photo):not(.panel-sol){position:relative;z-index:2}
.slogan{font-family:var(--display);font-weight:500;font-size:clamp(25px,2.4vw,32px);line-height:1.18;letter-spacing:-.03em;margin-top:auto}
.ficha{font-size:14.5px;line-height:1.75;border-top:1px solid rgba(255,255,255,.4);padding-top:20px}

.facts{border-bottom:1px solid var(--line)}
.facts-in{display:grid;grid-template-columns:repeat(4,1fr)}
.facts-in>div{padding:28px 28px 28px 0}
.facts-in>div+div{padding-left:28px;border-left:1px solid var(--line)}
.facts b{display:block;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em}
.facts span{display:block;margin-top:4px;font-size:14px;color:var(--dim);line-height:1.45}

/* tarjetas de soluciones */
.sol-group+.sol-group{margin-top:40px}
.sol-group>h3{font-size:14px;font-family:var(--text);font-weight:600;color:var(--dim);letter-spacing:.02em;margin-bottom:14px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);padding:26px 24px 22px;min-height:210px;transition:border-color .2s,box-shadow .2s}
.card:hover{border-color:var(--ink);box-shadow:0 14px 30px -24px rgba(8,14,27,.5)}
.card::before{content:"";position:absolute;left:-1px;top:-1px;width:36px;height:3px;background:var(--red);transition:width .3s var(--ease)}
.card:hover::before{width:calc(100% + 2px)}
.card h4{font-size:19px;letter-spacing:-.02em;font-weight:600}
.card p{margin-top:10px;font-size:14.5px;color:var(--dim);line-height:1.55}
.card .more{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:14px}
.card:hover .more{color:var(--red)}
.card:hover .more svg{transform:translateX(3px)}
.card .more svg{transition:transform .25s var(--ease)}

/* sectores */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.tile{display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 24px;min-height:170px;transition:background .2s}
.bone .tile{background:var(--bone)}
.tile:hover{background:var(--ink);color:#fff}
.tile h3{font-size:19px}
.tile p{font-size:14px;color:var(--dim);margin-top:6px;line-height:1.5;transition:color .2s}
.tile:hover p{color:#aab2bf}
.tile svg{align-self:flex-end;transition:transform .25s var(--ease)}
.tile:hover svg{transform:translateX(3px)}

/* nosotros resumen */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.about-txt p{color:var(--dim);font-size:17px}
.about-txt p+p{margin-top:16px}
.about-txt .acts{margin-top:30px}
.certs-mini{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ink)}
.certs-mini>div{padding:22px 20px 22px 0;border-bottom:1px solid var(--line)}
.certs-mini>div:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
.cert-mark{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.04em;line-height:1;display:flex;align-items:baseline;gap:5px}
.cert-mark em{font-style:normal;font-size:13px;font-weight:600;color:var(--red);letter-spacing:0}
.cert-mark small{font-size:13px;font-weight:600;color:var(--dim);letter-spacing:0}
.certs-mini p{margin-top:8px;font-size:14px;color:var(--dim);line-height:1.45}

/* logos de clientes */
.wall{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.wall figure{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:128px;display:flex;align-items:center;justify-content:center;padding:20px 22px}
.wall img{height:var(--h,44px);width:auto;max-width:100%;object-fit:contain;filter:grayscale(1) brightness(.6) contrast(1.25);opacity:.85;transition:filter .3s,opacity .3s}
.wall figure:hover img{filter:none;opacity:1}
.wall figcaption{display:none;font-family:var(--display);font-weight:600;font-size:13.5px;text-align:center;color:#7a818d}
.wall .img-off figcaption{display:block}
.wall-group+.wall-group{margin-top:44px}
.wall-group>h3{font-size:15px;font-family:var(--text);font-weight:600;color:var(--dim);margin-bottom:14px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.wall-group>h3 a{font-size:14px}
.wall.n4{grid-template-columns:repeat(4,1fr)}
.wall.n3{grid-template-columns:repeat(3,1fr)}
.wall.n5{grid-template-columns:repeat(5,1fr)}

/* bandas */
.band{padding:72px 0}
.band-in{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.band h2{max-width:22ch}
.band p{margin-top:12px;color:#a9b1be;max-width:56ch}
.band.red{background:var(--red);color:#fff}
.band.red p{color:rgba(255,255,255,.88)}
.contact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1.5px solid var(--ink)}
.contact-strip>div{padding:24px 24px 0 0}
.contact-strip>div+div{padding-left:24px;border-left:1px solid var(--line)}
.contact-strip h3{font-size:14px;font-family:var(--text);font-weight:600;color:var(--dim);letter-spacing:.01em}
.contact-strip p{margin-top:8px;font-size:16px;line-height:1.5}
.contact-strip .big{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.03em}
.contact-strip a:hover{color:var(--red)}

/* ═════════ PÁGINAS INTERNAS ═════════ */
.phero{background:var(--bone);border-bottom:1px solid var(--line);padding:44px 0 64px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--dim);margin-bottom:40px}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs span[aria-hidden]{color:var(--line-2)}
.phero h1{max-width:20ch}
.phero .lead{margin-top:20px}
.phero .acts{margin-top:32px}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;align-items:end}
.phero-note{border-left:3px solid var(--red);padding:4px 0 4px 22px;font-size:15px;color:var(--dim)}
.phero-note b{display:block;color:var(--ink);font-family:var(--display);font-size:17px;margin-bottom:4px}

.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:80px;align-items:start}
.prose>*+*{margin-top:18px}
.prose h2{font-size:clamp(24px,2.3vw,30px);margin-top:48px}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:32px}
.prose p{color:var(--txt);font-size:17px;line-height:1.7;max-width:66ch}
.prose .muted{color:var(--dim)}
.checks{border-top:1px solid var(--line)}
.checks li{display:grid;grid-template-columns:26px 1fr;gap:6px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}
.checks svg{color:var(--red);margin-top:4px}
.steps{counter-reset:s;border-top:1px solid var(--line)}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--display);font-weight:700;color:var(--red);font-size:15px;padding-top:2px}
.steps b{display:block;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.015em}
.steps span{display:block;margin-top:4px;color:var(--dim);font-size:15.5px}

.aside{position:sticky;top:calc(var(--head) + 28px);display:grid;gap:16px}
.box{border:1px solid var(--line);padding:26px}
.box.fill{background:var(--ink);color:#fff;border-color:var(--ink)}
.box h3{font-size:18px}
.box p{margin-top:8px;font-size:14.5px;color:var(--dim);line-height:1.55}
.box.fill p{color:#aab2bf}
.box .btn{margin-top:18px;width:100%}
.box .tel{display:block;margin-top:6px;font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.03em}
.rel h3{font-size:13px;font-family:var(--text);font-weight:600;color:var(--dim-2);letter-spacing:.02em;margin-bottom:6px}
.rel a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500;transition:color .15s}
.rel a:last-child{border-bottom:0}
.rel a:hover{color:var(--red)}
.rel a[aria-current]{color:var(--red)}

.split-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}

/* certificaciones */
.cert-list{border-top:1.5px solid var(--ink)}
.cert-item{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;padding:40px 0;border-bottom:1px solid var(--line)}
.cert-item .cert-mark{font-size:44px}
.cert-item .cert-mark em,.cert-item .cert-mark small{font-size:15px}
.cert-item h2{font-size:24px}
.cert-item p{margin-top:12px;color:var(--txt);font-size:16.5px;line-height:1.7;max-width:64ch}
.cert-item ul{margin-top:18px}

/* ═════════ FORMULARIOS ═════════ */
.form{max-width:760px}
.fgroup{padding:36px 0;border-top:1px solid var(--line)}
.fgroup:first-of-type{border-top:0;padding-top:0}
.fgroup>legend{float:left;width:100%;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.025em;margin-bottom:22px;padding:0}
.fgroup>legend+*{clear:both}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.f{display:flex;flex-direction:column;gap:8px;min-width:0}
.f.full{grid-column:1/-1}
label,.lbl{font-size:14px;font-weight:600;color:var(--txt)}
.req{color:var(--red)}
.opt{font-weight:400;color:var(--dim-2)}
.hint{font-size:13px;color:var(--dim-2);line-height:1.45}
input,select,textarea{font:inherit;font-size:15.5px;width:100%;padding:12px 14px;border:1px solid var(--line-2);background:#fff;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;border-radius:0;-webkit-appearance:none;appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23080e1b' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer}
input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(8,14,27,.08)}
textarea{min-height:130px;resize:vertical}
::placeholder{color:#a3a9b3}
input[type=checkbox],input[type=radio]{width:18px;height:18px;padding:0;flex:none;-webkit-appearance:auto;appearance:auto;accent-color:var(--red);cursor:pointer;margin-top:2px}
input[type=file]{padding:10px;background:var(--bone);cursor:pointer}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.checklist label,.radios label,.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;color:var(--txt);cursor:pointer;line-height:1.45}
.radios{display:flex;flex-wrap:wrap;gap:10px 28px}
.checklist-h{grid-column:1/-1;font-size:12.5px;font-weight:600;color:var(--dim-2);letter-spacing:.02em;margin-top:6px}
.msg-err{display:none;font-size:13px;color:var(--red-dark);font-weight:500}
.f.has-err .msg-err{display:block}
.f.has-err input:not([type=checkbox]):not([type=radio]),.f.has-err select,.f.has-err textarea{border-color:var(--red)}
.f[hidden]{display:none}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:28px;border-top:1.5px solid var(--ink)}
.legal{font-size:13px;color:var(--dim);max-width:44ch;line-height:1.5}
.form-err{display:none;margin-top:16px;padding:14px 16px;border-left:3px solid var(--red);background:#fdf1f1;font-size:14.5px}
.form-err.on{display:block}
.btn.sending{pointer-events:none;opacity:.7}
.done{display:none;border-top:1.5px solid var(--ink);padding-top:32px}
.form.sent .form-body{display:none}
.form.sent .done{display:block}
.done h2{font-size:28px}
.done p{margin-top:12px;color:var(--dim);font-size:16.5px;max-width:56ch}
.done .acts{margin-top:24px}
.done:focus{outline:0}

/* trabajo */
.job-list{border-top:1.5px solid var(--ink)}
.job{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:26px 0;border-bottom:1px solid var(--line)}
.job b{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.015em}
.job span{color:var(--dim);font-size:16px;line-height:1.6}

/* contacto */
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.offices>div{background:#fff;padding:30px 28px}
.offices h2{font-size:20px}
.offices .when{margin-top:4px;font-size:14px;color:var(--dim)}
.offices dl{margin-top:18px;display:grid;gap:10px;font-size:15.5px}
.offices dt{font-size:12.5px;color:var(--dim-2);font-weight:600;letter-spacing:.02em}
.offices dd{margin-top:2px}
.offices a{font-weight:500;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}
.offices a:hover{color:var(--red);border-color:var(--red)}
.offices .big{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.03em}

/* ═════════ PIE ═════════ */
footer{background:var(--ink);color:#98a1b0;padding:64px 0 34px;font-size:14.5px}
.foot-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr .9fr;gap:48px}
.foot-brand .brand img{height:17px;width:auto}
.foot-brand p{margin-top:18px;max-width:34ch;line-height:1.65}
footer h4{color:#fff;font-family:var(--display);font-size:12.5px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:14px;font-weight:600}
footer li{margin-bottom:7px}
footer a{transition:color .15s}
footer a:hover{color:#fff}
.copy{margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12.5px;color:#79828f}

/* ═════════ RESPONSIVE ═════════ */
@media (max-width:1200px){
  .nav-list>li>a,.nav-trig{padding:0 12px;font-size:14.5px}
  .mega-in{grid-template-columns:240px 1fr 1fr;gap:32px}
  .cards{grid-template-columns:repeat(3,1fr)}
  .layout{grid-template-columns:minmax(0,1fr) 300px;gap:56px}
}
@media (max-width:1080px){
  :root{--head:70px}
  .nav,.head-cta,.mega{display:none}
  .burger{display:block}
  .hero-copy{padding-right:44px}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .wall{grid-template-columns:repeat(4,1fr)}
  .facts-in{grid-template-columns:1fr 1fr}
  .facts-in>div:nth-child(3){padding-left:0;border-left:0}
  .facts-in>div:nth-child(n+3){border-top:1px solid var(--line)}
  .layout{grid-template-columns:1fr}
  .aside{position:static;grid-template-columns:1fr 1fr}
  .contact-strip{grid-template-columns:1fr 1fr;row-gap:24px}
  .contact-strip>div:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:820px){
  :root{--gut:22px}
  section{padding:68px 0}
  .band{padding:56px 0}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:48px 0 40px}
  .panel{margin-inline:calc(var(--gut)*-1);padding:40px var(--gut);gap:28px}
  .facts-in>div{padding:20px 16px 20px 0}
  .facts-in>div+div{padding-left:16px}
  .facts-in>div:nth-child(3){padding-left:0}
  .cards{grid-template-columns:1fr 1fr}
  .card{min-height:0}
  .tiles{grid-template-columns:1fr}
  .tile{min-height:0;flex-direction:row;align-items:center}
  .about,.phero-grid{grid-template-columns:1fr;gap:36px}
  .phero{padding:32px 0 48px}
  .crumbs{margin-bottom:28px}
  .wall,.wall.n4,.wall.n5{grid-template-columns:repeat(3,1fr)}
  .wall figure{height:104px;padding:16px}
  .aside{grid-template-columns:1fr}
  .split-list{grid-template-columns:1fr}
  .cert-item{grid-template-columns:1fr;gap:16px;padding:32px 0}
  .job{grid-template-columns:1fr;gap:6px}
  .offices{grid-template-columns:1fr}
  .fields,.checklist{grid-template-columns:1fr}
  .form-foot{flex-direction:column;align-items:stretch}
  .form-foot .btn{width:100%}
  .contact-strip{grid-template-columns:1fr}
  .contact-strip>div,.contact-strip>div+div{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:520px){
  .acts .btn{flex:1 1 100%}
  .cards{grid-template-columns:1fr}
  .wall,.wall.n4,.wall.n3,.wall.n5{grid-template-columns:repeat(2,1fr)}
  .facts-in{grid-template-columns:1fr}
  .facts-in>div,.facts-in>div+div{padding:16px 0;border-left:0;border-top:1px solid var(--line)}
  .facts-in>div:first-child{border-top:0}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Ajustes institucionales 2026-10 */
.foot-grid{grid-template-columns:1.45fr .9fr 1fr 1.1fr;gap:56px}
.foot-brand .brand img{height:20px}
.foot-brand .foot-slogan{margin-top:24px;color:#fff;font-family:var(--display);font-size:20px;line-height:1.32;font-weight:600;max-width:24ch}
.foot-brand .foot-note{margin-top:14px;max-width:35ch;color:#98a1b0;line-height:1.65}
.foot-social{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.foot-social a{display:inline-flex;align-items:center;gap:8px;color:#c2c8d1;font-size:13.5px}
.foot-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wall figure{min-width:0}
.wall img[src$=".svg"]{max-height:68px}
@media (max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px 48px}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:520px){
  footer{padding-top:52px}
  .foot-grid{grid-template-columns:1fr;gap:32px}
  .foot-brand{grid-column:auto}
  .foot-social{margin-top:18px}
}


/* Home editorial: menos tarjetas, más jerarquía y lectura */
.home-solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--line);padding-top:40px}
.home-solution-block{min-width:0}
.section-label{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.home-solution-block h3{font-size:26px;max-width:24ch}
.section-intro{margin-top:12px;color:var(--dim);max-width:52ch}
.editorial-links{margin-top:28px;border-top:1px solid var(--line)}
.editorial-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:16px;transition:color .18s,padding-left .2s var(--ease)}
.editorial-links a:hover{color:var(--red);padding-left:4px}
.editorial-links .ico{transition:transform .2s var(--ease)}
.editorial-links a:hover .ico{transform:translateX(3px)}

.sector-columns{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--line);padding-top:40px}
.sector-column>a{display:grid;grid-template-columns:minmax(180px,.8fr) 1.2fr;gap:28px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.sector-column>a strong{font-family:var(--display);font-size:17px;line-height:1.25}
.sector-column>a span{color:var(--dim);font-size:14.5px;line-height:1.5}
.sector-column>a:hover strong{color:var(--red)}

@media (max-width:900px){
  .home-solution-grid,.sector-columns{grid-template-columns:1fr;gap:48px}
}
@media (max-width:620px){
  .sector-column>a{grid-template-columns:1fr;gap:4px;padding:16px 0}
}


/* REDISEÑO V2 */
:root{--navy:#0d1220;--navy-2:#151c2d;--navy-3:#20293b}
.site-head{background:var(--navy);border-bottom-color:rgba(255,255,255,.1);color:#fff}
body.scrolled .site-head{box-shadow:0 14px 34px -24px rgba(0,0,0,.75)}
.head-in .brand img{height:20px}
.nav-list>li>a,.nav-trig{color:#cbd1dc}
.nav-list>li>a:hover,.nav-trig:hover,.nav-trig[aria-expanded="true"],.nav-list>li.is-current>a,.nav-list>li.is-current>.nav-trig{color:#fff}
.nav-bar{background:var(--red)}
.burger{border-color:rgba(255,255,255,.22)}
.burger i{background:#fff}
.mega{background:var(--navy);border-bottom-color:rgba(255,255,255,.1);box-shadow:0 30px 55px -30px rgba(0,0,0,.9);color:#fff}
.mega-intro p,.mega-col h3,.mega-box p,.mega-facts li{color:#9da7b8}
.mega-col h3{border-bottom-color:rgba(255,255,255,.12)}
.mega-col a{color:#e9ecf2}
.mega-col a:hover,.mega .link{color:#fff}
.soon{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#ff7777;margin-left:5px;font-weight:700}
.drawer{background:var(--navy);color:#fff}
.drawer-top{border-bottom-color:rgba(255,255,255,.12)}
.drawer-x{border-color:rgba(255,255,255,.22);color:#fff}
.drawer-nav>a,.drawer-nav details{border-bottom-color:rgba(255,255,255,.12)}
.drawer-nav summary,.drawer-nav>a{color:#fff}
.drawer-sub a{color:#c7cfdb}
.drawer-sub p{color:#7f8a9c}
.drawer-foot{border-top-color:rgba(255,255,255,.12)}
.drawer-foot .btn-line{color:#fff;border-color:rgba(255,255,255,.5)}

.v2-hero{position:relative;background:var(--navy);color:#fff;min-height:680px;padding:0;overflow:hidden}
.v2-hero-media{position:absolute;inset:0 0 0 50%;overflow:hidden}
.v2-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,18,32,.72),rgba(13,18,32,0) 70%)}
.v2-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.v2-hero-inner{position:relative;z-index:2;min-height:680px;display:flex;align-items:center}
.v2-hero-copy{width:48%;padding:78px 58px 78px 0}
.v2-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#aeb7c7;margin-bottom:24px}
.v2-hero h1{font-size:clamp(46px,5.1vw,72px);line-height:.98;max-width:12ch;color:#fff}
.v2-lead{margin-top:28px;max-width:58ch;font-size:18px;line-height:1.68;color:#c1c8d5}
.v2-hero .acts{margin-top:36px}
.v2-hero .btn-ghost-w{border-color:rgba(255,255,255,.7)}

.v2-stats{padding:0;background:#fff;border-bottom:1px solid var(--line)}
.v2-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.v2-stats-grid>div{padding:34px 30px 32px;border-right:1px solid var(--line)}
.v2-stats-grid>div:first-child{padding-left:0}
.v2-stats-grid>div:last-child{border-right:0}
.v2-stats strong{display:block;font-family:var(--display);font-size:34px;line-height:1;color:var(--ink);letter-spacing:-.04em}
.v2-stats span{display:block;margin-top:7px;color:var(--dim);font-size:14px}

.v2-intro-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:start}
.v2-intro h2{max-width:17ch;font-size:clamp(34px,4vw,52px)}
.v2-intro-copy p{font-size:18px;line-height:1.72;color:var(--txt)}
.v2-intro-copy p+p{margin-top:18px}
.v2-intro-copy .link{margin-top:28px}

.v2-services .sec-h{margin-bottom:22px}
.v2-service-list{border-top:1px solid var(--line-2)}
.v2-service-list>a{display:grid;grid-template-columns:70px minmax(0,1fr) 30px;gap:28px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);transition:padding .25s var(--ease),color .2s}
.v2-service-list>a:hover{padding-left:12px;color:var(--red)}
.v2-service-list h3{font-size:25px}
.v2-service-list p{margin-top:6px;color:var(--dim);font-size:15.5px}
.v2-num{font-family:var(--display);font-weight:700;color:var(--red);font-size:13px;letter-spacing:.08em}
.v2-service-list>a>.ico{justify-self:end}

.v2-tech{background:var(--navy);color:#fff;padding:108px 0}
.v2-tech-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:start}
.v2-tech h2{color:#fff;max-width:16ch;font-size:clamp(34px,4vw,52px)}
.v2-tech .section-label{color:#ff6969}
.v2-tech-grid>div:first-child>p:not(.section-label){margin-top:22px;color:#afb8c8;font-size:17px;line-height:1.7;max-width:54ch}
.v2-tech .btn{margin-top:30px}
.v2-tech-list{border-top:1px solid rgba(255,255,255,.22)}
.v2-tech-list>div{display:grid;grid-template-columns:52px 190px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:start}
.v2-tech-list span{color:#ff6969;font-family:var(--display);font-weight:700;font-size:12px}
.v2-tech-list strong{font-family:var(--display);font-size:17px}
.v2-tech-list p{color:#9da7b8;font-size:14px;line-height:1.5}

.v2-history-teaser{padding:108px 0}
.v2-history-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px;align-items:start}
.v2-history-year{font-family:var(--display);font-weight:700;font-size:clamp(72px,10vw,142px);line-height:.8;letter-spacing:-.07em;color:var(--red)}
.v2-history-grid h2{max-width:20ch}
.v2-history-grid p:not(.section-label){margin-top:20px;color:var(--dim);font-size:17px;line-height:1.7;max-width:62ch}
.v2-history-grid .link{margin-top:26px}

.v2-clients .wall{grid-template-columns:repeat(6,1fr)}
.v2-clients .wall figure{height:145px}
.v2-clients .wall img{filter:grayscale(1) brightness(.55) contrast(1.2);opacity:.82}

.v2-capacita{background:var(--red);color:#fff;padding:78px 0}
.v2-capacita-grid{display:grid;grid-template-columns:1fr 260px;gap:60px;align-items:center}
.v2-capacita h2{font-size:clamp(36px,4.5vw,58px);color:#fff;margin-top:14px}
.v2-capacita p{margin-top:14px;max-width:66ch;color:rgba(255,255,255,.9);font-size:17px;line-height:1.65}
.v2-badge{display:inline-flex;border:1px solid rgba(255,255,255,.55);padding:7px 11px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.v2-capacita-mark{font-family:var(--display);font-size:74px;font-weight:700;letter-spacing:-.08em;text-align:right;color:rgba(255,255,255,.22)}

.v2-internal-hero{background:var(--navy);color:#fff;border-bottom-color:rgba(255,255,255,.1)}
.v2-internal-hero .crumbs,.v2-internal-hero .lead{color:#adb6c5}
.v2-internal-hero .crumbs a:hover{color:#fff}
.v2-internal-hero h1{color:#fff;max-width:17ch}
.v2-story-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:start}
.v2-story-grid>div:first-child h2{max-width:13ch}
.v2-timeline{border-top:1px solid var(--line)}
.v2-timeline article{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:27px 0;border-bottom:1px solid var(--line)}
.v2-timeline article>span{font-family:var(--display);font-weight:700;color:var(--red);font-size:17px}
.v2-timeline h3{font-size:21px}
.v2-timeline p{margin-top:6px;color:var(--dim);line-height:1.6}
#tecnologia .checks{margin-top:28px}

.v2-map-section{padding-top:0}
.v2-map-grid{display:grid;grid-template-columns:.72fr 1.28fr;border:1px solid var(--line);min-height:430px}
.v2-map-grid>div:first-child{padding:52px 48px;display:flex;flex-direction:column;justify-content:center}
.v2-map-grid h2{font-size:35px}
.v2-map-grid p:not(.section-label){margin-top:14px;color:var(--dim)}
.v2-map-grid .link{margin-top:26px}
.v2-map{min-height:430px}
.v2-map iframe{border:0;width:100%;height:100%;min-height:430px;display:block}

.band.dark,footer{background:var(--navy)}

@media (max-width:1080px){
  .v2-hero-media{inset:0 0 0 48%}
  .v2-hero-copy{width:52%}
  .v2-intro-grid,.v2-tech-grid,.v2-story-grid{gap:60px}
}
@media (max-width:820px){
  .v2-hero{min-height:0;display:flex;flex-direction:column}
  .v2-hero-media{position:relative;inset:auto;height:52vh;min-height:390px;order:2}
  .v2-hero-media::after{background:linear-gradient(180deg,rgba(13,18,32,0),rgba(13,18,32,.18))}
  .v2-hero-inner{min-height:0;order:1}
  .v2-hero-copy{width:100%;padding:62px 0 52px}
  .v2-hero h1{font-size:clamp(42px,12vw,60px)}
  .v2-stats-grid{grid-template-columns:1fr 1fr}
  .v2-stats-grid>div{border-bottom:1px solid var(--line)}
  .v2-stats-grid>div:nth-child(2){border-right:0}
  .v2-stats-grid>div:nth-child(3){padding-left:0}
  .v2-intro-grid,.v2-tech-grid,.v2-history-grid,.v2-story-grid,.v2-map-grid{grid-template-columns:1fr;gap:44px}
  .v2-tech{padding:78px 0}
  .v2-tech-list>div{grid-template-columns:44px 1fr}
  .v2-tech-list p{grid-column:2}
  .v2-history-year{font-size:90px}
  .v2-capacita-grid{grid-template-columns:1fr}
  .v2-capacita-mark{text-align:left}
  .v2-clients .wall{grid-template-columns:repeat(3,1fr)}
  .v2-map-grid>div:first-child{padding:38px 30px}
}
@media (max-width:520px){
  .v2-hero-media{height:430px;min-height:0}
  .v2-hero-copy{padding:50px 0 44px}
  .v2-lead{font-size:16px}
  .v2-stats-grid{grid-template-columns:1fr}
  .v2-stats-grid>div,.v2-stats-grid>div:nth-child(3){padding:20px 0;border-right:0}
  .v2-service-list>a{grid-template-columns:42px minmax(0,1fr) 20px;gap:14px}
  .v2-service-list h3{font-size:20px}
  .v2-clients .wall{grid-template-columns:1fr 1fr}
  .v2-timeline article{grid-template-columns:1fr;gap:8px}
  .v2-map-grid{border-left:0;border-right:0}
}


/* V2.1 · dirección corporativa basada en operación real */
.site-head{border-bottom:0!important}
.head-in .brand img{height:22px}
.drawer-top .brand img{height:19px}
.v2-hero-media img{object-position:center 45%}
.v2-hero-copy{width:50%;padding-right:72px}
.v2-hero h1{max-width:13ch;font-size:clamp(44px,4.8vw,68px)}
.v2-hero-media::after{background:linear-gradient(90deg,rgba(13,18,32,.88) 0%,rgba(13,18,32,.50) 18%,rgba(13,18,32,0) 72%)}

.v2-operation{padding:112px 0}
.v2-operation-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:86px;align-items:center}
.v2-operation-photo{min-height:650px;overflow:hidden;background:var(--bone)}
.v2-operation-photo img{width:100%;height:650px;object-fit:cover;object-position:center 38%}
.v2-operation-copy h2{font-size:clamp(34px,3.8vw,50px);max-width:16ch}
.v2-operation-copy>p:not(.section-label){margin-top:22px;color:var(--dim);font-size:17px;line-height:1.72}
.v2-operation-facts{margin:30px 0 26px;border-top:1px solid var(--line)}
.v2-operation-facts>div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.v2-operation-facts strong{font-family:var(--display);font-size:16px}
.v2-operation-facts span{color:var(--dim);font-size:14.5px;line-height:1.5}

.v2-sectors{padding:108px 0}
.v2-sectors-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}
.v2-sectors-grid h2{font-size:clamp(34px,3.8vw,50px);max-width:16ch}
.v2-sectors-grid>div:first-child>p:not(.section-label){margin-top:20px;color:var(--dim);font-size:17px;line-height:1.7;max-width:48ch}
.v2-sector-list{border-top:1px solid var(--line-2)}
.v2-sector-list a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:19px;transition:padding .2s var(--ease),color .2s}
.v2-sector-list a:hover{padding-left:10px;color:var(--red)}

.v2-contact-cta{padding:86px 0;background:#fff}
.v2-contact-cta-grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end;border-top:1.5px solid var(--ink);padding-top:46px}
.v2-contact-cta h2{font-size:clamp(34px,4vw,52px);max-width:18ch}
.v2-contact-cta p:not(.section-label){margin-top:16px;color:var(--dim)}

@media (max-width:900px){
  .v2-operation-grid,.v2-sectors-grid{grid-template-columns:1fr;gap:46px}
  .v2-operation-photo,.v2-operation-photo img{min-height:0;height:560px}
  .v2-contact-cta-grid{grid-template-columns:1fr;align-items:start}
}
@media (max-width:820px){
  .v2-hero-copy{width:100%;padding-right:0}
  .v2-hero-media img{object-position:center 32%}
}
@media (max-width:560px){
  .v2-operation{padding:76px 0}
  .v2-operation-photo,.v2-operation-photo img{height:430px}
  .v2-operation-facts>div{grid-template-columns:1fr;gap:5px}
  .v2-sectors{padding:76px 0}
  .v2-contact-cta{padding:70px 0}
  .v2-contact-cta .acts{display:grid;width:100%}
}

/* V3 editorial */
.site-head{border-bottom:0!important;background:#0f1620}
.mega{border-bottom:0!important;background:#0f1620;box-shadow:0 26px 44px -30px rgba(0,0,0,.82)}
body[data-page="inicio"]{background:#fff}
.home-hero{padding:0;background:#0f1620;color:#fff}
.home-hero-grid{min-height:610px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);gap:72px;align-items:center}
.home-hero-copy{padding:74px 0}
.home-hero h1{font-size:clamp(54px,6vw,84px);line-height:.94;letter-spacing:-.055em;max-width:11ch}
.home-hero-copy>p{margin-top:28px;max-width:55ch;color:#aeb6c5;font-size:18px;line-height:1.7}
.home-hero .acts{margin-top:36px;align-items:center;gap:26px}
.text-link{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:600;font-size:14.5px;transition:opacity .2s,gap .25s var(--ease)}
.text-link:hover{opacity:.72;gap:13px}.dark-link{color:var(--ink)}
.home-hero-visual{height:470px;display:flex;align-items:center}
.visual-frame{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 74% 28%,rgba(230,52,52,.25),transparent 24%),linear-gradient(145deg,#151c2d 0%,#0d1322 46%,#151a26 100%)}
.visual-frame::before{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.12);transform:rotate(-4deg)}
.visual-frame::after{content:"";position:absolute;width:72%;height:1px;background:rgba(255,255,255,.16);left:14%;top:50%;transform:rotate(-28deg)}
.visual-mark{position:absolute;width:58px;height:29px;border-radius:58px 58px 0 0;background:var(--red);right:16%;bottom:16%;box-shadow:0 0 80px rgba(230,52,52,.28)}
.home-proof{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12)}
.home-proof>div{padding:25px 26px 25px 0}.home-proof>div+div{padding-left:26px;border-left:1px solid rgba(255,255,255,.1)}
.home-proof strong{display:block;font-family:var(--display);font-size:26px;letter-spacing:-.04em}.home-proof span{display:block;margin-top:4px;color:#8993a5;font-size:13.5px}

.home-statement{padding:132px 0}.home-statement-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:110px;align-items:start}.home-statement h2{font-size:clamp(44px,5vw,66px);line-height:1;max-width:15ch}.home-statement-copy{padding-top:8px}.home-statement-copy p{font-size:18px;line-height:1.75;color:#394252}.home-statement-copy p+p{margin-top:18px}.home-statement-copy .text-link{margin-top:28px}
.home-services{padding:110px 0;background:#f4f3f0}.home-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:50px}.home-heading h2{font-size:clamp(38px,4vw,54px)}.home-heading>p{color:var(--dim);font-size:16.5px;max-width:52ch;justify-self:end}
.service-rows{border-top:1px solid #cfcac3}.service-rows>a{display:grid;grid-template-columns:58px 1.15fr .85fr 28px;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid #d8d4ce;transition:padding .25s var(--ease),background .2s}.service-rows>a:hover{padding-left:10px;padding-right:10px;background:rgba(255,255,255,.58)}.row-index{font-size:12px;color:var(--red);font-weight:700}.service-rows h3{font-size:23px}.service-rows p{color:var(--dim);font-size:14.5px}.row-arrow{justify-self:end;font-size:18px}
.home-operation{padding:118px 0;background:#0f1620;color:#fff}.home-operation-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:88px;align-items:center}.home-media-slot{height:560px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 88px),#141a29}.home-media-slot::after{content:"";position:absolute;inset:12% 10%;border:1px solid rgba(255,255,255,.11)}.slot-mark{position:absolute;left:12%;bottom:12%;width:70px;height:35px;border-radius:70px 70px 0 0;background:var(--red)}
.home-operation-copy h2{font-size:clamp(42px,4.5vw,58px);max-width:12ch}.home-operation-copy>p{margin-top:24px;color:#aab3c3;font-size:17px;line-height:1.72}.operation-lines{margin:32px 0 28px;border-top:1px solid rgba(255,255,255,.14)}.operation-lines>div{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}.operation-lines strong{font-family:var(--display);font-size:15px}.operation-lines span{color:#8993a5;font-size:14px}

.home-tech{padding:128px 0}.home-tech-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.home-tech-copy h2{font-size:clamp(42px,4.5vw,58px);max-width:12ch}.home-tech-copy>p{margin-top:22px;color:var(--dim);font-size:17px;line-height:1.7}.home-tech-copy .text-link{margin-top:27px}
.tech-console{background:#0d1220;color:#fff;border-radius:2px;box-shadow:0 28px 70px -44px rgba(8,14,27,.6);overflow:hidden}.console-top{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;color:#929cad}.console-top i{width:7px;height:7px;border-radius:50%;background:var(--red)}.console-grid{display:grid;grid-template-columns:repeat(2,1fr)}.console-grid>div{padding:27px 24px;border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);min-height:108px}.console-grid span{display:block;font-size:12px;color:#7e899c}.console-grid b{display:block;margin-top:10px;font-family:var(--display);font-size:18px}
.home-sectors{padding:112px 0;background:#f4f3f0}.sector-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbc7c0;border-left:1px solid #cbc7c0}.sector-links a{min-height:112px;padding:24px;border-right:1px solid #cbc7c0;border-bottom:1px solid #cbc7c0;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;font-family:var(--display);font-weight:600;font-size:18px;transition:background .2s,color .2s}.sector-links a:hover{background:#0f1620;color:#fff}
.home-clients{padding:98px 0}.client-heading{grid-template-columns:1fr auto}.client-heading .text-link{align-self:center}.client-strip{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-strip figure{height:116px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:20px}.client-strip img{max-width:100%;max-height:48px;filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s,transform .25s}.client-strip figure:hover img{filter:none;opacity:1;transform:scale(1.03)}
.home-history{padding:124px 0;border-top:1px solid var(--line)}.home-history-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px;align-items:start}.history-year{font-family:var(--display);font-size:clamp(82px,10vw,140px);font-weight:700;line-height:.8;letter-spacing:-.07em;color:var(--red)}.home-history h2{font-size:clamp(40px,4.3vw,56px);max-width:15ch}.home-history p{margin-top:22px;color:var(--dim);font-size:17px;max-width:60ch;line-height:1.7}.history-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:27px}
.home-contact{padding:92px 0;background:#0f1620;color:#fff}.home-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}.home-contact h2{font-size:clamp(44px,5vw,68px);max-width:10ch}.home-contact p{font-size:18px;color:#aab3c3;line-height:1.7}.home-contact p a{color:#fff;font-size:25px;font-family:var(--display);font-weight:600}.home-contact .acts{margin-top:26px;align-items:center;gap:24px}

.contact-simple{padding:82px 0 110px}.contact-simple-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;padding-bottom:54px}.contact-simple-head h1{font-size:clamp(52px,6vw,78px)}.contact-simple-head p{font-size:18px;color:var(--dim);max-width:42ch}
.contact-simple-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:stretch;border-top:1px solid var(--line);padding-top:52px}.contact-details{display:flex;flex-direction:column}.contact-line{display:block;padding:18px 0;border-bottom:1px solid var(--line)}.contact-line span{display:block;font-size:12px;color:var(--dim-2);margin-bottom:5px}.contact-line strong{display:block;font-family:var(--display);font-size:19px;font-weight:600}
.contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.contact-map{min-height:470px;background:#eee}.contact-map iframe{width:100%;height:100%;min-height:470px;border:0;display:block}.contact-form-wrap{max-width:820px;margin-top:84px}.contact-form-clean{border-top:1px solid var(--line);padding-top:42px}.contact-form-clean .form-body{padding:0}.contact-form-clean .form-body>h2{margin-bottom:30px}.contact-form-clean .form-foot{margin-top:24px;justify-content:flex-end}
.foot-grid{grid-template-columns:1.25fr .85fr .9fr 1fr;gap:48px}.foot-brand .foot-slogan{margin-top:20px;color:#b6becb;font-family:var(--text);font-size:14px;line-height:1.55;font-weight:400;max-width:31ch}.foot-brand .foot-note{margin-top:8px;font-size:13px}.foot-social{gap:10px;margin-top:20px}.foot-social a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.13);color:#c8ced7}.foot-social a:hover{border-color:rgba(255,255,255,.4)}.foot-social svg{width:16px;height:16px}
.reveal{transform:translateY(12px);transition:transform .72s var(--ease)}.reveal.in{transform:none}.reveal-delay{transition-delay:.08s}
@media(max-width:980px){
  .home-hero-grid{grid-template-columns:1fr;gap:20px;padding-top:48px}
  .home-hero-visual{height:340px}
  .home-statement-grid,.home-operation-grid,.home-tech-grid,.home-history-grid,.home-contact-grid,.contact-simple-grid{grid-template-columns:1fr;gap:48px}
  .home-media-slot{height:480px}
  .service-rows>a{grid-template-columns:46px 1fr 28px}
  .service-rows p{display:none}
  .sector-links{grid-template-columns:1fr 1fr}
  .contact-simple-head{grid-template-columns:1fr;gap:14px}
}
@media(max-width:700px){
  .home-hero-grid{min-height:0}.home-hero-copy{padding:38px 0 24px}.home-hero h1{font-size:clamp(46px,13vw,62px)}.home-hero-copy>p{font-size:16px}.home-hero-visual{height:280px}
  .home-proof{grid-template-columns:1fr 1fr}.home-proof>div:nth-child(3){border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.1)}.home-proof>div:nth-child(4){border-top:1px solid rgba(255,255,255,.1)}
  .home-statement,.home-services,.home-operation,.home-tech,.home-sectors,.home-clients,.home-history{padding:78px 0}
  .home-heading{grid-template-columns:1fr;gap:16px;margin-bottom:34px}.home-heading>p{justify-self:start}
  .service-rows>a{grid-template-columns:36px 1fr 22px;gap:12px;padding:20px 0}.service-rows h3{font-size:19px}
  .home-media-slot{height:380px}.operation-lines>div{grid-template-columns:1fr;gap:5px}.console-grid{grid-template-columns:1fr}
  .sector-links{grid-template-columns:1fr}.sector-links a{min-height:82px}.client-strip{grid-template-columns:repeat(2,1fr)}.client-heading{grid-template-columns:1fr}
  .history-year{font-size:86px}.home-contact{padding:68px 0}
  .contact-simple{padding:58px 0 82px}.contact-simple-grid{padding-top:34px}.contact-map,.contact-map iframe{min-height:350px}.contact-form-wrap{margin-top:58px}
}
.foot-social span{display:none}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr;gap:28px}.foot-brand{grid-column:auto}.copy{margin-top:34px}.foot-social{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.reveal{filter:none!important;transform:none!important}}

/* V4 · sistema editorial para páginas internas */
body:not([data-page="inicio"]) main{background:#fff}
.page-hero{position:relative;padding:68px 0 92px;background:#0f1620;color:#fff;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-7vw;top:54%;width:34vw;height:34vw;border:1px solid rgba(255,255,255,.08);transform:translateY(-50%) rotate(18deg);pointer-events:none}
.page-hero>.w{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);column-gap:96px;align-items:end}
.page-hero .crumbs{grid-column:1/-1;margin:0 0 72px;color:#818b9d;font-size:12px}
.page-hero .crumbs a:hover{color:#fff}
.page-hero .crumbs span[aria-hidden]{color:#50596b}
.page-hero h1{grid-column:1;font-size:clamp(52px,6.2vw,86px);line-height:.94;letter-spacing:-.055em;max-width:11ch}
.page-hero .lead{grid-column:2;align-self:end;margin:0;color:#b1bac9;font-size:18px;line-height:1.72;max-width:48ch}
.page-hero .acts{grid-column:2;margin-top:28px}
.page-hero.v2-internal-hero .section-label{display:none}

.page-content{padding:116px 0}
.page-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:110px;align-items:start}
.page-prose{counter-reset:page-sec}
.page-prose>h2{display:grid;grid-template-columns:58px 1fr;gap:24px;align-items:start;margin:0;padding:38px 0 0;border-top:1px solid var(--line);font-size:clamp(30px,3.2vw,42px);line-height:1.05}
.page-prose>h2::before{counter-increment:page-sec;content:"0" counter(page-sec);font-family:var(--text);font-size:11px;letter-spacing:.08em;color:var(--red);padding-top:9px}
.page-prose>h2+p{margin:18px 0 58px 82px;max-width:61ch;color:#46505e;font-size:17px;line-height:1.75}
.page-prose>p{color:#46505e;font-size:17px;line-height:1.75;max-width:62ch}
.page-prose .checks{margin:22px 0 64px 82px;border-top:1px solid var(--line)}
.page-prose .checks li{grid-template-columns:1fr;padding:15px 0;font-size:15.5px;color:#303947}
.page-prose .checks svg{display:none}
.page-rail{position:sticky;top:calc(var(--head) + 32px);display:block}
.page-rail .box{border:0;padding:0;background:transparent!important;color:inherit!important}
.page-rail .box h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#8a93a0;margin-bottom:14px}
.page-rail .rel a{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;color:#555f6c}
.page-rail .rel a[aria-current]{color:var(--ink);font-weight:700}
.page-rail .rel a:hover{color:var(--red)}

/* relacionados: filas editoriales, no tarjetas */
.page-related{padding:92px 0;background:#f3f2ef}
.page-related .sec-h{margin-bottom:30px}
.page-related .sec-h h2{font-size:clamp(34px,3.8vw,50px)}
.page-related .cards,.page-related .tiles{display:grid;grid-template-columns:1fr 1fr;border:0;border-top:1px solid #ccc7c0;gap:0}
.page-related .card,.page-related .tile{min-height:0;padding:22px 0;border:0;border-bottom:1px solid #d7d3cd;background:transparent!important;box-shadow:none!important}
.page-related .card:nth-child(odd),.page-related .tile:nth-child(odd){padding-right:28px}
.page-related .card:nth-child(even),.page-related .tile:nth-child(even){padding-left:28px;border-left:1px solid #d7d3cd}
.page-related .card::before{display:none}
.page-related .card h4,.page-related .tile h3{font-size:20px;color:var(--ink)}
.page-related .card p,.page-related .tile p{font-size:14px;color:var(--dim)}
.page-related .tile{flex-direction:row;align-items:center}
.page-related .tile:hover{color:inherit}
.page-related .tile:hover p{color:var(--dim)}
.page-related .more{padding-top:14px}

/* índice de soluciones */
.solution-index-page{padding:110px 0}
.solution-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px!important;border-top:0!important;padding-top:0!important}
.solution-index-grid .home-solution-block{border-top:1px solid var(--ink);padding-top:26px}
.solution-index-grid .section-label{display:none}
.solution-index-grid h2{font-size:clamp(34px,3.7vw,48px);max-width:12ch}
.solution-index-grid .section-intro{font-size:16px;line-height:1.7;min-height:82px}
.solution-index-grid .editorial-links{margin-top:30px}
.solution-index-grid .editorial-links a{font-size:18px;padding:18px 0}

/* índice de sectores */
.sector-index-page{padding:110px 0}
.sector-index-columns{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.sector-index-columns .section-label{display:none}
.sector-column{border-top:1px solid var(--ink)}
.sector-column::before{display:block;padding:24px 0 8px;font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.035em}
.sector-column:first-child::before{content:"Público"}
.sector-column:last-child::before{content:"Privado"}
.sector-column>a{display:grid;grid-template-columns:1fr;gap:8px;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .25s var(--ease)}
.sector-column>a:hover{padding-left:10px}
.sector-column strong{font-family:var(--display);font-size:21px}
.sector-column span{color:var(--dim);font-size:14.5px;line-height:1.55;max-width:58ch}

/* calidad */
.cert-list{border-top:1px solid var(--ink)}
.cert-item{display:grid;grid-template-columns:280px 1fr;gap:84px;padding:64px 0;border-bottom:1px solid var(--line)}
.cert-item .cert-mark{font-size:48px;align-self:start}
.cert-item h2{font-size:clamp(32px,3.5vw,46px);max-width:18ch}
.cert-item p{margin-top:18px;color:var(--dim);font-size:16.5px;line-height:1.7;max-width:62ch}
.cert-item .checks{margin-top:25px;border-top:1px solid var(--line)}
.cert-item .checks li{grid-template-columns:1fr;padding:12px 0;font-size:14.5px}
.cert-item .checks svg{display:none}

/* clientes */
body[data-page="nosotros"] .wall-group{margin-top:64px}
body[data-page="nosotros"] .wall-group>h3{font-family:var(--display);font-size:28px;color:var(--ink);margin-bottom:18px}
body[data-page="nosotros"] .wall{grid-template-columns:repeat(4,1fr)!important}
body[data-page="nosotros"] .wall figure{height:142px}
body[data-page="nosotros"] .wall img{filter:grayscale(1);opacity:.72}

/* nosotros */
.about-page .v2-story-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:96px;align-items:start}
.about-page section:not(.page-hero):not(.v2-capacita){padding:112px 0}
.about-page .v2-story-grid>div:first-child .section-label{display:none}
.about-page .v2-story-grid>div:first-child h2{font-size:clamp(38px,4vw,54px);max-width:13ch}
.about-page .v2-timeline{border-top:1px solid var(--ink)}
.about-page .v2-timeline article{display:grid;grid-template-columns:110px 1fr;gap:34px;padding:26px 0;border-bottom:1px solid var(--line)}
.about-page .v2-timeline article>span{font-family:var(--display);font-size:24px;color:var(--red);font-weight:700}
.about-page .v2-timeline h3{font-size:21px}
.about-page .v2-timeline p{margin-top:7px;color:var(--dim);font-size:15px;line-height:1.6}
.about-page .steps{border-top:1px solid var(--ink)}
.about-page .steps li{grid-template-columns:70px 1fr;padding:22px 0}
.about-page .steps b{font-size:20px}
.about-page .v2-capacita{padding:100px 0}
.about-page .v2-badge{display:none}
.about-page .v2-capacita h2{font-size:clamp(40px,4.2vw,56px)}

/* formularios */
.form-page{padding:100px 0}
.form-page .layout{grid-template-columns:minmax(0,1fr) 260px;gap:90px}
.form-page .form{border-top:1px solid var(--ink)}
.form-page .form-body{padding:46px 0 0}
.form-page .fgroup{padding:38px 0;border-top:1px solid var(--line)}
.form-page .fgroup:first-of-type{border-top:0}
.form-page .fgroup legend{font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.03em;margin-bottom:26px}
.form-page .fields{gap:24px}
.form-page input,.form-page select,.form-page textarea{background:#fff;border:0;border-bottom:1px solid #bfc4cb;padding:13px 0;border-radius:0}
.form-page textarea{min-height:130px}
.form-page .aside{position:sticky;top:calc(var(--head) + 30px)}
.form-page .aside .box{border:0;background:#f3f2ef!important;color:var(--ink)!important;padding:24px}
.form-page .aside .box p{color:var(--dim)!important}

/* 404 */
body:not([data-page]) .page-hero h1{max-width:12ch}

/* transición sutil global */
.page-hero h1,.page-hero .lead,.page-content-grid,.cert-item,.wall-group,.solution-index-grid,.sector-index-columns{animation:pageIn .65s var(--ease) both}
@keyframes pageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:980px){
 .page-hero>.w{grid-template-columns:1fr;gap:28px}
 .page-hero .crumbs{margin-bottom:42px}
 .page-hero h1,.page-hero .lead,.page-hero .acts{grid-column:1}
 .page-hero .lead{max-width:62ch}
 .page-content-grid{grid-template-columns:1fr;gap:58px}
 .page-rail{position:static}
 .solution-index-grid,.sector-index-columns,.about-page .v2-story-grid{grid-template-columns:1fr;gap:60px!important}
 .cert-item{grid-template-columns:1fr;gap:24px}
 .form-page .layout{grid-template-columns:1fr;gap:54px}
}
@media(max-width:700px){
 .page-hero{padding:38px 0 60px}
 .page-hero .crumbs{margin-bottom:34px}
 .page-hero h1{font-size:clamp(44px,13vw,62px)}
 .page-hero .lead{font-size:16px}
 .page-content{padding:74px 0}
 .page-prose>h2{grid-template-columns:40px 1fr;gap:12px;font-size:30px}
 .page-prose>h2+p,.page-prose .checks{margin-left:52px}
 .page-related{padding:70px 0}
 .page-related .cards,.page-related .tiles{grid-template-columns:1fr}
 .page-related .card:nth-child(even),.page-related .tile:nth-child(even){padding-left:0;border-left:0}
 .page-related .card:nth-child(odd),.page-related .tile:nth-child(odd){padding-right:0}
 .solution-index-page,.sector-index-page{padding:74px 0}
 .cert-item{padding:44px 0}
 body[data-page="nosotros"] .wall{grid-template-columns:repeat(2,1fr)!important}
 body[data-page="nosotros"] .wall figure{height:112px}
 .about-page section:not(.page-hero):not(.v2-capacita){padding:76px 0}
 .about-page .v2-timeline article{grid-template-columns:1fr;gap:8px}
 .form-page{padding:72px 0}
}

/* footer V4 */
footer{padding:0;background:#0f1620;color:#929cad}
.foot-v4{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:72px;padding:62px 0 52px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-v4-brand .brand img{height:19px}
.foot-v4-brand p{margin-top:18px;max-width:30ch;color:#aab3c2;font-size:13.5px;line-height:1.6}
.foot-v4-nav{display:grid;grid-template-columns:1fr 1fr;gap:11px 28px;align-content:start}
.foot-v4-nav a{color:#d8dce3;font-family:var(--display);font-size:15px;font-weight:600}
.foot-v4-nav a:hover{color:#fff}
.foot-v4-contact{display:grid;gap:8px;align-content:start;font-size:13.5px}
.foot-v4-contact a{color:#d7dce5}.foot-v4-contact a:hover{color:#fff}
.foot-v4-contact span{margin-top:5px;color:#7f899a}
.foot-v4-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 0 30px;font-size:12px;color:#6f7a8d}
.foot-v4-bottom .foot-social{margin:0;display:flex;gap:8px}
.foot-v4-bottom .foot-social a{width:32px;height:32px}
@media(max-width:800px){
 .foot-v4{grid-template-columns:1fr;gap:34px;padding:48px 0 38px}
 .foot-v4-nav{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .foot-v4-nav{grid-template-columns:1fr}
 .foot-v4-bottom{align-items:flex-end}
}

/* V5 · dirección inspirada en sistemas corporativos de seguridad */
.v5-hero{padding:0 0 46px;background:#e83434;color:#fff}
.v5-hero-top{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;padding-top:76px;align-items:end}
.v5-hero h1{font-size:clamp(62px,7vw,98px);line-height:.9;letter-spacing:-.06em;max-width:8.5ch}
.v5-hero-side{padding-bottom:8px}
.v5-hero-side>p{max-width:44ch;font-size:18px;line-height:1.65;color:#ffeaea}
.v5-hero-side .acts{margin-top:28px;gap:24px;align-items:center}
.v5-btn-light{background:#fff;color:#101827;border-color:#fff}
.v5-btn-light:hover{background:#f2f2f2;border-color:#f2f2f2}
.v5-arrow-link{display:inline-flex;gap:9px;align-items:center;color:#fff;font-weight:600;font-size:14px}
.v5-arrow-link span{transition:transform .2s}.v5-arrow-link:hover span{transform:translate(3px,-3px)}
.v5-arrow-link.dark{color:var(--ink)}
.v5-service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:58px}
.v5-service-card{color:#fff}
.v5-service-card>span{display:block;font-size:13px;font-weight:600;margin-bottom:9px}
.v5-card-media{aspect-ratio:1.15/1;border-radius:2px;overflow:hidden;position:relative;transition:transform .35s var(--ease)}
.v5-service-card:hover .v5-card-media{transform:translateY(-5px)}
.v5-service-card p{margin-top:10px;font-size:13px;color:#ffe5e5}
.media-a{background:linear-gradient(155deg,#171d2d,#3b4354)}
.media-a::before{content:"";position:absolute;left:18%;right:18%;bottom:14%;height:52%;border:1px solid rgba(255,255,255,.4)}
.media-b{background:linear-gradient(135deg,#e8e4dc,#9da4ad)}
.media-b::before{content:"";position:absolute;width:42%;height:72%;right:13%;top:14%;background:#1c2434}
.media-c{background:linear-gradient(135deg,#9ba2ad,#20283a)}
.media-c::before{content:"";position:absolute;inset:22%;border:1px solid rgba(255,255,255,.55);transform:rotate(-9deg)}
.media-d{background:linear-gradient(135deg,#111827,#342b3a)}
.media-d::before{content:"";position:absolute;width:28%;height:28%;left:18%;top:18%;border:2px solid rgba(255,255,255,.45);border-radius:50%}

.v5-manifesto{padding:128px 0;background:#0f1620;color:#fff}
.v5-manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px}
.v5-manifesto h2{font-size:clamp(54px,6vw,82px);line-height:.94;letter-spacing:-.055em;max-width:11ch}
.v5-manifesto-grid>div>p{color:#aeb6c5;font-size:19px;line-height:1.7;max-width:40ch}
.v5-manifesto ul{margin-top:42px;border-top:1px solid rgba(255,255,255,.15)}
.v5-manifesto li{display:flex;justify-content:space-between;gap:28px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.v5-manifesto strong{font-family:var(--display);font-size:26px}.v5-manifesto span{color:#929cad}

.v5-client-rail{padding:26px 0;background:#eef0f3;overflow:hidden}
.v5-client-track{width:min(1180px,calc(100% - 44px));margin:auto;display:grid;grid-template-columns:repeat(6,1fr);align-items:center}
.v5-client-track figure{height:70px;display:flex;align-items:center;justify-content:center;padding:12px 24px}
.v5-client-track img{max-width:100%;max-height:40px;filter:grayscale(1);opacity:.7}

.v5-operation{background:#fff;padding-bottom:120px}
.v5-wide-media{height:560px;background:linear-gradient(135deg,#0d1322 0%,#172033 60%,#0e1421 100%);position:relative;overflow:hidden}
.v5-wide-media::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 34%,rgba(232,52,52,.26),transparent 20%),linear-gradient(90deg,transparent 0 48%,rgba(255,255,255,.03) 48% 49%,transparent 49% 100%)}
.v5-media-grid{position:absolute;inset:14%;border:1px solid rgba(255,255,255,.12)}
.v5-media-grid::before,.v5-media-grid::after{content:"";position:absolute;background:rgba(255,255,255,.09)}
.v5-media-grid::before{left:33%;top:0;bottom:0;width:1px;box-shadow:calc(33vw/3) 0 rgba(255,255,255,.09)}
.v5-media-grid::after{left:0;right:0;top:50%;height:1px}
.v5-operation-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;padding-top:84px}
.v5-operation h2{font-size:clamp(42px,4.6vw,60px);line-height:1;max-width:12ch}
.v5-cap-list{border-top:1px solid var(--ink)}
.v5-cap-list>div{display:grid;grid-template-columns:42px 190px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.v5-cap-list b{font-size:11px;color:var(--red);padding-top:4px}
.v5-cap-list strong{font-family:var(--display);font-size:17px}
.v5-cap-list p{font-size:14px;color:var(--dim);line-height:1.55}

.v5-tech{padding:116px 0;background:#f3f2ef}
.v5-tech-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:center}
.v5-tech h2{font-size:clamp(44px,4.8vw,62px);line-height:.96;max-width:12ch}
.v5-tech-copy>p{margin-top:24px;max-width:48ch;color:var(--dim);font-size:17px;line-height:1.7}
.v5-tech-copy .v5-arrow-link{margin-top:28px}
.v5-tech-ui{background:#0f1620;color:#fff;box-shadow:0 35px 80px -50px rgba(0,0,0,.55)}
.v5-ui-head{display:flex;justify-content:space-between;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.1);font-size:11px;color:#8993a5}
.v5-ui-body{display:grid;grid-template-columns:repeat(2,1fr)}
.v5-ui-body>div{min-height:116px;padding:24px;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.v5-ui-body span{display:block;color:#7f899b;font-size:11px}.v5-ui-body strong{display:block;margin-top:10px;font-family:var(--display);font-size:20px}

.v5-sectors{padding:116px 0;background:#0f1620;color:#fff}
.v5-section-head{display:grid;grid-template-columns:1fr .7fr;gap:100px;align-items:end;margin-bottom:54px}
.v5-section-head h2{font-size:clamp(48px,5.4vw,70px);line-height:.96;max-width:12ch}
.v5-section-head p{color:#9ca6b6;font-size:17px;line-height:1.65;max-width:42ch}
.v5-sector-list{border-top:1px solid rgba(255,255,255,.18)}
.v5-sector-list a{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.14);font-family:var(--display);font-size:clamp(24px,2.6vw,36px);transition:padding .25s,color .2s}
.v5-sector-list a:hover{padding-left:12px;color:#ff5555}
.v5-sector-list em{font-family:var(--text);font-size:11px;font-style:normal;color:#6f7a8c}

.v5-history{padding:116px 0;background:#fff}
.v5-history-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}
.v5-year{font-family:var(--display);font-size:clamp(100px,13vw,170px);font-weight:700;letter-spacing:-.07em;line-height:.75;color:var(--red)}
.v5-history h2{font-size:clamp(42px,4.5vw,60px);line-height:.98;max-width:14ch}
.v5-history p{margin-top:22px;max-width:58ch;color:var(--dim);font-size:17px;line-height:1.7}
.v5-history-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px}
.v5-history-links a{font-weight:600;font-size:14px}

.v5-close{padding:94px 0;background:#e83434;color:#fff}
.v5-close-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:end}
.v5-close h2{font-size:clamp(54px,6vw,82px);line-height:.92;max-width:10ch}
.v5-close p{font-size:18px;line-height:1.75;color:#ffe7e7}
.v5-close p a{color:#fff}
.v5-close .btn{margin-top:28px}

/* richer visual hero for detail pages */
.page-hero.has-media>.w{grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);align-items:center}
.page-hero.has-media h1{grid-column:1}
.page-hero.has-media .lead{grid-column:1;margin-top:24px;max-width:52ch;align-self:start}
.page-hero.has-media .acts{grid-column:1}
.page-hero-media{grid-column:2;grid-row:2/5;height:420px;position:relative;overflow:hidden;background:linear-gradient(135deg,#171e2e,#2d3545)}
.page-hero-media::before{content:"";position:absolute;inset:13%;border:1px solid rgba(255,255,255,.13)}
.page-hero-media::after{content:"";position:absolute;width:80px;height:40px;border-radius:80px 80px 0 0;background:var(--red);right:14%;bottom:14%}
.page-hero-media i{position:absolute;left:0;right:0;top:52%;height:1px;background:rgba(255,255,255,.1);transform:rotate(-18deg)}

.v5-footer{background:#0f1620;color:#8f99aa;padding:0}
.v5-footer-top{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;padding:72px 0 54px;border-bottom:1px solid rgba(255,255,255,.1);align-items:end}
.v5-footer-brand img{width:230px;height:auto}
.v5-footer-brand p{margin-top:22px;color:#b4bdca;font-size:14px;max-width:32ch;line-height:1.6}
.v5-footer-contact{display:grid;gap:8px;justify-items:start}
.v5-footer-contact a{color:#fff}
.v5-footer-phone{font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:-.04em}
.v5-footer-contact span{margin-top:8px;color:#788396}
.v5-footer-middle{display:flex;justify-content:space-between;gap:50px;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.v5-footer-middle nav{display:flex;flex-wrap:wrap;gap:14px 28px;max-width:780px}
.v5-footer-middle nav a{color:#d5dae2;font-size:14px;font-weight:600}
.v5-footer-middle nav a:hover{color:#fff}
.v5-footer-middle .foot-social{margin:0;flex-wrap:nowrap}
.v5-footer-bottom{display:flex;justify-content:space-between;gap:30px;padding:24px 0 32px;font-size:12px;color:#657083}

@media(max-width:980px){
 .v5-hero-top,.v5-manifesto-grid,.v5-operation-grid,.v5-tech-grid,.v5-section-head,.v5-history-grid,.v5-close-grid,.v5-footer-top{grid-template-columns:1fr;gap:42px}
 .v5-service-cards{grid-template-columns:repeat(2,1fr)}
 .page-hero.has-media>.w{grid-template-columns:1fr}
 .page-hero.has-media h1,.page-hero.has-media .lead,.page-hero.has-media .acts,.page-hero-media{grid-column:1}
 .page-hero-media{grid-row:auto;height:360px;margin-top:18px}
 .v5-client-track{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
 .v5-hero{padding-bottom:34px}.v5-hero-top{padding-top:42px;gap:28px}.v5-hero h1{font-size:clamp(50px,14vw,68px)}
 .v5-hero-side>p{font-size:16px}.v5-service-cards{grid-template-columns:1fr 1fr;gap:16px 10px;margin-top:38px}
 .v5-service-card>span{font-size:12px}.v5-service-card p{font-size:11.5px}
 .v5-manifesto,.v5-tech,.v5-sectors,.v5-history{padding:78px 0}.v5-manifesto h2,.v5-section-head h2,.v5-close h2{font-size:48px}
 .v5-manifesto-grid{gap:36px}.v5-wide-media{height:340px}.v5-operation{padding-bottom:76px}.v5-operation-grid{padding-top:58px;gap:38px}
 .v5-cap-list>div{grid-template-columns:32px 1fr;gap:10px}.v5-cap-list p{grid-column:2}.v5-tech-grid{gap:42px}
 .v5-ui-body{grid-template-columns:1fr}.v5-section-head{gap:24px;margin-bottom:38px}.v5-sector-list a{font-size:24px}
 .v5-year{font-size:92px}.v5-history-grid{gap:32px}.v5-close{padding:70px 0}
 .v5-client-track{grid-template-columns:repeat(2,1fr)}.v5-client-track figure{height:60px}
 .page-hero-media{height:270px}
 .v5-footer-top{padding:52px 0 40px;gap:34px}.v5-footer-brand img{width:190px}.v5-footer-phone{font-size:28px}
 .v5-footer-middle{display:grid;grid-template-columns:1fr auto;align-items:end}.v5-footer-middle nav{display:grid;gap:10px}.v5-footer-bottom{align-items:flex-end}
}

/* V5.1 · palette refinement: red as accent, not surface */
.v5-hero{background:#0f1620;color:#fff}
.v5-hero-side>p{color:#adb6c5}
.v5-btn-light{background:#fff;color:#0f1620;border-color:#fff}
.v5-service-card>span{color:#fff}
.v5-service-card p{color:#8f99aa}
.v5-card-media{border:1px solid rgba(255,255,255,.08)}
.v5-service-card::after{content:"";display:block;width:22px;height:2px;background:var(--red);margin-top:12px;transition:width .25s var(--ease)}
.v5-service-card:hover::after{width:44px}

.v5-manifesto{background:#f3f2ef;color:var(--ink)}
.v5-manifesto-grid>div>p{color:#4b5563}
.v5-manifesto ul{border-top-color:#cbc7c0}
.v5-manifesto li{border-bottom-color:#d7d3cd}
.v5-manifesto span{color:#707987}
.v5-manifesto strong{color:var(--ink)}

.v5-client-rail{background:#e9ebee;border-top:1px solid #dde0e4;border-bottom:1px solid #dde0e4}
.v5-operation{background:#fff}
.v5-tech{background:#f5f4f1}
.v5-sectors{background:#0f1620}
.v5-history{background:#fff}
.v5-close{background:#f3f2ef;color:var(--ink);border-top:1px solid #d8d4ce}
.v5-close p{color:#5f6875}
.v5-close p a{color:var(--ink)}
.v5-close .v5-btn-light{background:var(--red);border-color:var(--red);color:#fff}
.v5-close .v5-btn-light:hover{background:#e63434;border-color:#e63434}

/* Restore the stronger original footer composition */
footer{background:#0f1620;color:#8f99aa;padding:0}
.foot-grid{display:grid;grid-template-columns:1.3fr .9fr .9fr 1fr;gap:54px;padding:64px 0 52px}
.foot-brand .brand img{width:220px;height:auto}
.foot-brand .foot-slogan{margin-top:20px;color:#c4cbd5;font-family:var(--text);font-size:14px;line-height:1.55;font-weight:400;max-width:31ch}
.foot-brand .foot-note{margin-top:10px;color:#7f8a9b;font-size:13px;line-height:1.55;max-width:34ch}
.foot-grid h4{margin-bottom:16px;color:#fff;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.foot-grid ul{display:grid;gap:9px}
.foot-grid li,.foot-grid li a{color:#a5afbd;font-size:13.5px;line-height:1.5}
.foot-grid li a:hover{color:#fff}
.foot-social{display:flex;gap:8px;margin-top:20px}
.foot-social a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);color:#c7ced8}
.foot-social a:hover{border-color:rgba(255,255,255,.38);color:#fff}
.foot-social svg{width:15px;height:15px}
.copy{display:flex;justify-content:space-between;gap:24px;padding:24px 0 30px;border-top:1px solid rgba(255,255,255,.1);color:#687486;font-size:12px}

@media(max-width:900px){
 .foot-grid{grid-template-columns:1.2fr 1fr;gap:38px 54px}
}
@media(max-width:620px){
 .foot-grid{grid-template-columns:1fr;gap:30px;padding:50px 0 38px}
 .foot-brand{padding-bottom:4px}
 .copy{align-items:flex-end}
}

/* Keep brand red to details on internal pages too */
.about-page .v2-capacita{background:#f3f2ef;color:var(--ink);border-top:1px solid #d8d4ce}
.about-page .v2-capacita h2{color:var(--ink)}
.about-page .v2-capacita p{color:#56606d}
.about-page .v2-capacita-mark{color:rgba(232,52,52,.2)}
.about-page .v2-capacita-grid{align-items:center}

/* N6 homepage */
.n6-hero{background:#0f1620;color:#fff;padding:42px 0 0}
.n6-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:52px;align-items:stretch}
.n6-hero-copy{padding:66px 0 78px;display:flex;flex-direction:column;justify-content:center}
.n6-hero h1{font-size:clamp(56px,6vw,84px);line-height:.94;letter-spacing:-.055em;max-width:8.5ch}
.n6-hero-copy>p{margin-top:28px;color:#b0b8c5;font-size:18px;line-height:1.68;max-width:47ch}
.n6-hero .acts{margin-top:34px;gap:24px;align-items:center}
.n6-text-link{display:inline-flex;gap:8px;align-items:center;color:#d7dce4;font-size:14px;font-weight:600}
.n6-text-link:hover span{transform:translateX(4px)}.n6-text-link span{transition:transform .2s}
.n6-hero-media{min-height:560px;border-radius:24px 24px 0 0;overflow:hidden;background:#171e2c}
.n6-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.n6-cred-strip{transform:translateY(38px);position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:var(--ink);border-radius:20px;box-shadow:0 24px 70px -45px rgba(0,0,0,.45);overflow:hidden}
.n6-cred-strip>div{padding:28px 30px;border-right:1px solid var(--line)}
.n6-cred-strip>div:last-child{border-right:0}
.n6-cred-strip strong{display:block;font-family:var(--display);font-size:26px;letter-spacing:-.035em}
.n6-cred-strip span{display:block;margin-top:7px;color:var(--dim);font-size:13px;line-height:1.4}

.n6-services{padding:112px 0 96px;background:#f6f7f8}
.n6-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}
.n6-head h2{font-size:clamp(38px,4vw,56px);letter-spacing:-.045em;max-width:14ch}
.n6-head>a{color:var(--red);font-size:14px;font-weight:700;white-space:nowrap}
.n6-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.n6-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 34px -28px rgba(0,0,0,.35);transition:transform .28s var(--ease),box-shadow .28s}
.n6-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px -32px rgba(0,0,0,.4)}
.n6-card figure{height:230px;overflow:hidden;background:#e9ebee}
.n6-card figure img{width:100%;height:100%;object-fit:cover}
.n6-card>div{padding:22px 22px 24px;position:relative;min-height:178px}
.n6-card h3{font-size:21px}.n6-card p{margin-top:8px;color:var(--dim);font-size:14px;line-height:1.55;max-width:27ch}
.n6-card>div>span{position:absolute;right:20px;bottom:18px;color:var(--red);font-size:20px}
.n6-camera-art{width:110px;height:110px;border-radius:50%;background:#f7f7f7;position:relative;margin:42px auto 0;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.n6-camera-art::before{content:"";position:absolute;inset:25px;border-radius:50%;background:#1d2430;box-shadow:inset 0 0 0 10px #343b47}
.n6-camera-art::after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#0a0d12;left:43px;top:43px}

.n6-ops{padding:96px 0;background:#0f1620;color:#fff}
.n6-ops-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}
.n6-ops-media{height:530px;border-radius:24px;overflow:hidden}
.n6-ops-media img{width:100%;height:100%;object-fit:cover}
.n6-ops-copy h2{font-size:clamp(42px,4.6vw,62px);line-height:.98;max-width:10ch}
.n6-ops-copy>p{margin-top:22px;color:#adb6c4;font-size:17px;line-height:1.7}
.n6-ops-copy ul{margin:30px 0 30px;border-top:1px solid rgba(255,255,255,.14)}
.n6-ops-copy li{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px;color:#d3d9e2}

.n6-tech{padding:100px 0;background:#f4f3ef}
.n6-tech-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center}
.n6-tech h2{font-size:clamp(42px,4.5vw,60px);line-height:.98;max-width:11ch}
.n6-tech-copy>p{margin-top:22px;color:var(--dim);font-size:17px;line-height:1.7;max-width:48ch}
.n6-tech-copy .btn{margin-top:28px}
.n6-product-stage{min-height:470px;position:relative;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 24px 60px -48px rgba(0,0,0,.35)}
.n6-panel{position:absolute;width:245px;height:250px;right:110px;top:90px;background:#f0f1f2;border-radius:20px;border:1px solid #d9dde1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#6e7784}
.n6-panel i{width:24px;height:12px;border-radius:24px 24px 0 0;background:#b8bec6}.n6-panel b{font-size:11px;letter-spacing:.08em}
.n6-sensor{position:absolute;width:72px;height:122px;background:#f5f5f4;border:1px solid #dfe2e5;border-radius:34px 34px 18px 18px;left:90px;bottom:72px}
.n6-sensor.two{left:174px;height:104px;bottom:74px}
.n6-keypad{position:absolute;width:116px;height:166px;right:60px;bottom:55px;background:#f7f7f6;border:1px solid #d9dde1;border-radius:18px;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.n6-keypad span{width:20px;height:20px;border-radius:50%;border:1px solid #cfd3d7;font-size:9px;display:flex;align-items:center;justify-content:center;color:#838b96}
.n6-camera{position:absolute;width:126px;height:78px;left:196px;bottom:46px;background:#f4f4f3;border-radius:40px 40px 26px 26px;border:1px solid #d8dde1}
.n6-camera::after{content:"";position:absolute;width:42px;height:42px;border-radius:50%;background:#1b222c;left:42px;top:18px;box-shadow:inset 0 0 0 11px #39414c}
.n6-phone{position:absolute;width:118px;height:236px;right:330px;bottom:38px;border-radius:24px;background:#101723;color:#fff;padding:16px 12px;box-shadow:0 18px 32px -20px rgba(0,0,0,.5)}
.n6-phone-head{font-size:11px;font-weight:700;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}
.n6-phone-row{margin-top:11px;padding:10px;border-radius:9px;background:#182130;font-size:10px;color:#c9d0db}

.n6-clients{padding:92px 0;background:#fff;overflow:hidden}
.n6-logo-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.n6-logo-track{display:flex;align-items:center;width:max-content;animation:n6marquee 36s linear infinite}
.n6-logo-track figure{width:180px;height:112px;display:flex;align-items:center;justify-content:center;padding:24px 28px;flex:0 0 auto;border-right:1px solid var(--line)}
.n6-logo-track img{max-width:100%;max-height:54px;filter:grayscale(1);opacity:.67}
@keyframes n6marquee{to{transform:translateX(-40%)}}
.n6-logo-marquee:hover .n6-logo-track{animation-play-state:paused}

.n6-history{padding:96px 0;background:#f6f7f8}
.n6-history-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}
.n6-history figure{height:460px;border-radius:24px;overflow:hidden}
.n6-history figure img{width:100%;height:100%;object-fit:cover}
.n6-history h2{font-size:clamp(42px,4.6vw,62px);line-height:.98;max-width:12ch}
.n6-history p{margin-top:20px;color:var(--dim);font-size:17px;line-height:1.7;max-width:52ch}
.n6-outline{display:inline-flex;margin-top:26px;padding:13px 18px;border:1px solid #aeb5be;border-radius:999px;font-size:14px;font-weight:700;gap:12px;align-items:center}

.n6-cta{padding:66px 0;background:var(--red);color:#fff}
.n6-cta-grid{display:flex;justify-content:space-between;align-items:center;gap:50px}
.n6-cta h2{font-size:clamp(38px,4vw,54px);letter-spacing:-.04em}
.n6-cta p{margin-top:10px;color:#ffdfe2;font-size:16px}
.n6-cta-btn{display:inline-flex;align-items:center;gap:16px;padding:15px 22px;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:#fff;font-weight:700;white-space:nowrap}
.n6-cta-btn:hover{background:#fff;color:var(--red)}

footer .foot-note{display:none}
footer .foot-social a{border:0;background:transparent;width:28px;height:28px;padding:0}
footer .foot-social svg{width:18px;height:18px;stroke-width:1.7}

@media(max-width:980px){
 .n6-hero-grid,.n6-ops-grid,.n6-tech-grid,.n6-history-grid{grid-template-columns:1fr}
 .n6-hero-copy{padding-bottom:22px}
 .n6-hero-media{min-height:420px}
 .n6-cred-strip{grid-template-columns:1fr 1fr}
 .n6-cred-strip>div:nth-child(2){border-right:0}.n6-cred-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .n6-service-grid{grid-template-columns:1fr 1fr}
 .n6-tech-grid{gap:42px}
 .n6-product-stage{min-height:430px}
}
@media(max-width:700px){
 .n6-hero{padding-top:24px}.n6-hero-grid{gap:18px}.n6-hero-copy{padding:36px 0 12px}.n6-hero h1{font-size:48px}
 .n6-hero-copy>p{font-size:16px}.n6-hero-media{min-height:330px;border-radius:18px 18px 0 0}
 .n6-cred-strip{transform:translateY(24px);border-radius:16px}.n6-cred-strip>div{padding:20px}
 .n6-services{padding:82px 0 70px}.n6-head{align-items:start;flex-direction:column;gap:12px}.n6-head h2{font-size:36px}
 .n6-service-grid{grid-template-columns:1fr}.n6-card figure{height:240px}
 .n6-ops{padding:72px 0}.n6-ops-media{height:360px;border-radius:18px}.n6-ops-grid{gap:38px}
 .n6-tech{padding:72px 0}.n6-product-stage{min-height:350px;border-radius:18px}.n6-panel{transform:scale(.76);transform-origin:center;right:18px;top:70px}.n6-phone{display:none}.n6-sensor{left:25px}.n6-sensor.two{left:100px}.n6-camera{left:110px}
 .n6-clients{padding:72px 0}.n6-logo-track figure{width:145px;height:96px}
 .n6-history{padding:72px 0}.n6-history figure{height:360px;border-radius:18px}
 .n6-cta{padding:54px 0}.n6-cta-grid{align-items:flex-start;flex-direction:column;gap:28px}.n6-cta h2{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.n6-logo-track{animation:none}}

/* N6 polish shared across internal pages */
footer .foot-slogan{display:none}
.page-hero-media,.contact-map,.tech-console,.cert-item{border-radius:20px}
.page-related .card,.page-related .tile{border-radius:14px}
@media(max-width:700px){.page-hero-media,.contact-map,.tech-console{border-radius:14px}}

/* N6.1 visual corrections */
.n6-hero{padding-top:28px}
.n6-hero-grid{grid-template-columns:.84fr 1.16fr;gap:42px;align-items:center}
.n6-hero-copy{padding:54px 0 70px}
.n6-hero h1{font-size:clamp(54px,5.5vw,78px);max-width:9.5ch}
.n6-hero-media{min-height:510px;border-radius:22px;position:relative}
.n6-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,16,32,.12),transparent 34%);pointer-events:none}
.n6-hero-media img{object-position:center 52%;filter:saturate(.84) contrast(1.02)}
.n6-card[href="vigilancia.html"] figure img{object-position:center 36%}
.n6-card[href="porteria.html"] figure img{object-position:center 48%}
.n6-card[href="videovigilancia.html"] figure img{object-position:48% 42%}
.n6-card[href="servicios-especiales.html"] figure img{object-position:center 37%}
.n6-ops-media img{object-position:center 46%;filter:saturate(.8) contrast(1.04)}
.n6-tech-media{position:relative;min-height:500px}
.n6-tech-main{position:absolute;left:0;top:18px;width:70%;height:430px;border-radius:24px;overflow:hidden;background:#ddd}
.n6-tech-main img,.n6-tech-detail img{width:100%;height:100%;object-fit:cover}
.n6-tech-main img{object-position:center 55%;filter:saturate(.72)}
.n6-tech-detail{position:absolute;right:0;bottom:0;width:42%;height:270px;border-radius:20px;overflow:hidden;border:10px solid #f4f3ef;background:#ddd;box-sizing:border-box}
.n6-tech-detail img{object-position:center 42%;filter:saturate(.72)}
.page-hero-media{overflow:hidden}
.page-hero-media::before,.page-hero-media::after,.page-hero-media i{display:none!important}
.page-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block;filter:saturate(.82) contrast(1.02)}
.page-hero.has-media{padding-bottom:72px}
footer .foot-slogan{display:block!important;margin-top:20px;color:#c4cbd5;font-family:var(--text);font-size:14px;line-height:1.55;font-weight:400;max-width:31ch}
footer .foot-social{gap:12px}
footer .foot-social a{width:24px;height:24px;color:#bbc3cf;opacity:.85}
footer .foot-social a:hover{color:#fff;opacity:1}
footer .foot-social svg{width:17px;height:17px}
@media(max-width:980px){
 .n6-tech-media{min-height:460px}
}
@media(max-width:700px){
 .n6-hero{padding-top:18px}
 .n6-hero-grid{gap:10px}
 .n6-hero-copy{padding:28px 0 18px}
 .n6-hero h1{font-size:44px;max-width:10ch}
 .n6-hero-media{min-height:300px;border-radius:16px}
 .n6-tech-media{min-height:380px}
 .n6-tech-main{width:82%;height:310px;border-radius:16px}
 .n6-tech-detail{width:45%;height:190px;border-width:7px;border-radius:14px}
}

@media(max-width:980px){
 .n6-hero-grid{grid-template-columns:1fr!important}
 .n6-hero-copy{padding-bottom:20px}
 .n6-hero-media{width:100%;min-height:390px}
}
@media(max-width:700px){
 .n6-hero-grid{grid-template-columns:1fr!important}
 .n6-hero-copy{padding:24px 0 14px}
 .n6-hero-media{width:100%;min-height:300px}
 .n6-hero-media img{object-position:center 50%}
}

/* N6.2 final polish */
.n6-hero h1{max-width:10.5ch}
footer .foot-brand .foot-slogan{font-size:15px!important;line-height:1.6!important;max-width:290px!important;color:#cbd2dc!important}
footer .foot-social a{display:inline-flex;align-items:center;justify-content:center}
footer .foot-social svg{width:19px!important;height:19px!important;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){
 .n6-hero h1{font-size:42px;max-width:10.8ch}
 footer .foot-brand .foot-slogan{font-size:14px!important}
}

/* N7 · proportion, motion and polish */
.btn,.head-cta .btn,.form button{border-radius:999px;transition:transform .26s var(--ease),box-shadow .26s var(--ease),background .2s,color .2s,border-color .2s}
.btn:hover,.head-cta .btn:hover,.form button:hover{transform:translateY(-2px)}
.btn-red:hover{box-shadow:0 10px 26px -16px rgba(230,52,52,.9)}
.n6-text-link span,.n6-head>a span,.n6-cta-btn span,.n6-outline span,.n6-tech-links span{display:inline-block;transition:transform .24s var(--ease)}
.n6-text-link:hover span,.n6-head>a:hover span,.n6-cta-btn:hover span,.n6-outline:hover span,.n6-tech-links a:hover span{transform:translateX(5px)}

.n6-hero{min-height:calc(100svh - var(--head));padding:28px 0 30px;display:flex;flex-direction:column;justify-content:center}
.n6-hero-grid{grid-template-columns:.86fr 1.14fr;gap:48px;align-items:center}
.n6-hero-copy{padding:28px 0 34px;animation:n7CopyIn .75s var(--ease) both}
.n6-hero h1{font-size:clamp(52px,5.2vw,76px);line-height:.96;letter-spacing:-.052em;max-width:10.8ch}
.n6-hero-copy>p{max-width:49ch}
.n6-hero-media{height:480px;min-height:0;border-radius:26px;animation:n7MediaIn .9s var(--ease) .08s both;box-shadow:0 24px 70px -48px rgba(0,0,0,.65)}
.n6-hero-media img{object-position:42% 34%;filter:saturate(.9) contrast(1.025)}
.n6-cred-strip{transform:none;margin-top:28px;border-radius:18px;box-shadow:0 18px 46px -34px rgba(0,0,0,.5);animation:n7StatsIn .8s var(--ease) .16s both}
.n6-cred-strip>div{padding:22px 28px}
.n6-cred-strip strong{font-size:24px}
@keyframes n7CopyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes n7MediaIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes n7StatsIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.n6-ops{padding:92px 0}
.n6-ops-grid{grid-template-columns:1fr 1fr;gap:72px;align-items:stretch}
.n6-ops-media{height:auto;min-height:470px;border-radius:26px;overflow:hidden}
.n6-ops-media img{height:100%;object-position:center 48%;filter:saturate(.78) contrast(1.04)}
.n6-ops-copy{display:flex;flex-direction:column;justify-content:center;padding:10px 0}
.n6-ops-copy h2{font-size:clamp(38px,4vw,54px);max-width:12ch}
.n6-ops-copy>p{max-width:48ch}
.n6-ops-copy li{transition:padding-left .22s var(--ease),color .22s}
.n6-ops-copy li:hover{padding-left:7px;color:#fff}

.n6-tech-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:24px}
.n6-tech-links a{display:inline-flex;align-items:center;gap:7px;color:#4f5968;font-size:13px;font-weight:700}
.n6-tech-links a:hover{color:var(--red)}

.n6-logo-marquee{border:0;background:#fff;padding:8px 0}
.n6-logo-track{gap:34px;padding:0 18px}
.n6-logo-track figure{width:164px;height:96px;border:0;padding:20px 18px}
.n6-logo-track img{filter:grayscale(1);opacity:.55;transition:filter .28s,opacity .28s,transform .28s}
.n6-logo-track figure:hover img{filter:none;opacity:1;transform:scale(1.045)}

.n6-outline{border-radius:999px;transition:background .24s,color .24s,border-color .24s,transform .24s var(--ease)}
.n6-outline:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
.n6-cta{background:var(--red)}
.n6-cta-btn{transition:background .24s,color .24s,transform .24s var(--ease)}
.n6-cta-btn:hover{transform:translateY(-2px)}

footer{position:relative}
footer::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--red) 0 84px,rgba(230,52,52,.16) 84px 100%)}
footer .foot-grid{padding-top:58px}
footer .foot-brand .foot-slogan{font-size:17px!important;line-height:1.55!important;max-width:330px!important;color:#d4dae3!important}
footer .foot-social a{transition:color .22s,transform .22s var(--ease),opacity .22s}
footer .foot-social a:hover{color:var(--red);transform:translateY(-2px)}
footer .copy{color:#738093}

.page-hero.has-media>.w{gap:68px}
.page-hero-media{border-radius:24px;box-shadow:0 22px 60px -42px rgba(0,0,0,.5)}
.page-hero h1{letter-spacing:-.045em}
.page-related .tile,.page-related .card{border-radius:15px;transition:transform .24s var(--ease),background .24s}
.page-related .tile:hover,.page-related .card:hover{transform:translateY(-3px)}
.form input,.form textarea,.form select{border-radius:12px}
.contact-map{border-radius:22px;overflow:hidden}

@media(max-width:980px){
 .n6-hero{min-height:auto;padding-bottom:34px}
 .n6-hero-grid{grid-template-columns:1fr;gap:18px}
 .n6-hero-media{height:420px}
 .n6-ops-grid{grid-template-columns:1fr;gap:40px}
 .n6-ops-media{min-height:400px}
}
@media(max-width:700px){
 .n6-hero{padding-top:20px}
 .n6-hero-copy{padding:24px 0 12px}
 .n6-hero h1{font-size:43px;max-width:11ch}
 .n6-hero-media{height:310px;border-radius:18px}
 .n6-cred-strip{margin-top:18px}
 .n6-cred-strip>div{padding:18px}
 .n6-ops{padding:70px 0}
 .n6-ops-media{min-height:330px;border-radius:18px}
 .n6-ops-copy h2{font-size:38px}
 .n6-logo-track{gap:18px}
 .n6-logo-track figure{width:130px;height:82px;padding:16px}
 footer .foot-grid{padding-top:44px}
}
@media(prefers-reduced-motion:reduce){
 .n6-hero-copy,.n6-hero-media,.n6-cred-strip{animation:none!important}
 .btn,.head-cta .btn,.n6-outline,.n6-cta-btn{transition:none!important}
}

/* N7.1 finishing details */
.n6-ops-copy .btn{align-self:flex-start}
.page-hero-media img[src*="foto-operacion-real"]{object-position:center 27%}
.page-hero-media img[src*="foto-home"]{object-position:center 32%}
.page-hero-media img[src*="foto-hero-real"]{object-position:center 30%}

footer .foot-grid{grid-template-columns:1.35fr .9fr .9fr 1fr;gap:58px}
footer .foot-brand .brand img{width:205px;height:auto}
footer .foot-grid>div:nth-child(2) li:nth-child(2) a{font-family:var(--display);font-size:18px;font-weight:700;color:#fff}
footer .foot-grid>div:nth-child(2) li:nth-child(3) a{color:#c9d0da}
footer .foot-social{margin-top:24px;gap:14px}
footer .foot-social a{width:28px;height:28px}
footer .foot-social svg{width:20px!important;height:20px!important}

@media(max-width:900px){
 footer .foot-grid{grid-template-columns:1fr 1fr;gap:38px 48px}
}
@media(max-width:620px){
 footer .foot-grid{grid-template-columns:1fr;gap:30px}
}

/* N7.2 · focused polish only */
.n6-tech h2{line-height:1.06;letter-spacing:-.045em}

/* Clients: contained, borderless, color on hover */
.n6-logo-marquee{
  width:min(var(--w),calc(100% - var(--gut)*2));
  margin-inline:auto;
  border:0!important;
  border-radius:16px;
}
.n6-logo-track figure{border:0!important}
.n6-logo-track img{filter:grayscale(1);opacity:.55;transition:filter .28s,opacity .28s,transform .28s}
.n6-logo-track figure:hover img{filter:none;opacity:1;transform:scale(1.045)}

/* Hover fill: preserve shape and size, no seam */
.btn-red,.head-cta .btn,.form button{
  box-shadow:inset 0 0 0 #080e1b!important;
  transition:box-shadow .68s cubic-bezier(.22,.61,.36,1),color .2s,border-color .2s!important;
}
.btn-red:hover,.head-cta .btn:hover,.form button:hover{
  background:var(--red)!important;
  box-shadow:inset 420px 0 0 #080e1b!important;
  transform:none!important;
  color:#fff!important;
}
.n6-outline{
  transition:box-shadow .68s cubic-bezier(.22,.61,.36,1),color .2s,border-color .2s!important;
  box-shadow:inset 0 0 0 var(--ink)!important;
}
.n6-outline:hover{
  background:transparent!important;
  box-shadow:inset 420px 0 0 var(--ink)!important;
  border-color:var(--ink)!important;
  color:#fff!important;
  transform:none!important;
}
.n6-cta-btn{
  transition:box-shadow .68s cubic-bezier(.22,.61,.36,1),color .2s!important;
  box-shadow:inset 0 0 0 #fff!important;
}
.n6-cta-btn:hover{
  background:transparent!important;
  box-shadow:inset 420px 0 0 #fff!important;
  color:var(--red)!important;
  transform:none!important;
}

/* Footer cleanup */
footer::before{display:none!important}
footer .foot-slogan span{display:block}
footer .foot-grid{padding-top:58px}
footer .foot-grid>div:nth-child(2) li,
footer .foot-grid>div:nth-child(2) li a{
  font-family:var(--text)!important;
  font-size:13.5px!important;
  font-weight:400!important;
  color:#a5afbd!important;
}
footer .foot-grid>div:nth-child(2) li a:hover{color:#fff!important}
footer .foot-social{margin-top:18px;gap:16px}
footer .foot-social a{
  width:24px;height:24px;
  color:#b9c1cd!important;
  transform:none!important;
}
footer .foot-social a:hover{color:#fff!important;transform:none!important}
footer .foot-social svg{width:18px!important;height:18px!important}

/* Red actions stay in-brand during the fill */
.btn-red:hover,.head-cta .btn:hover,.form button:hover{
  box-shadow:inset 420px 0 0 var(--red-dark)!important;
}

/* N7.3 · clean hover wipe, client edge fade, internal hero cleanup */
.btn-red,.head-cta .btn,.form button,.n6-cta-btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-shadow:none!important;
}
.btn-red::before,.head-cta .btn::before,.form button::before,.n6-cta-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:#fff;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .68s cubic-bezier(.22,.61,.36,1);
  z-index:-1;
  pointer-events:none;
}
.btn-red:hover,.head-cta .btn:hover,.form button:hover{
  background:var(--red)!important;
  color:var(--red-dark)!important;
  box-shadow:none!important;
  transform:none!important;
}
.btn-red:hover::before,.head-cta .btn:hover::before,.form button:hover::before,.n6-cta-btn:hover::before{
  clip-path:inset(0 0 0 0);
}
.n6-cta-btn:hover{
  background:transparent!important;
  color:var(--red-dark)!important;
  box-shadow:none!important;
  transform:none!important;
}

/* keep the history button as the dark fill variant, but with a straight wipe */
.n6-outline{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:transparent!important;
  box-shadow:none!important;
}
.n6-outline::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--ink);
  clip-path:inset(0 100% 0 0);
  transition:clip-path .68s cubic-bezier(.22,.61,.36,1);
  z-index:-1;
  pointer-events:none;
}
.n6-outline:hover{
  background:transparent!important;
  color:#fff!important;
  border-color:var(--ink)!important;
  box-shadow:none!important;
  transform:none!important;
}
.n6-outline:hover::before{clip-path:inset(0 0 0 0)}

.n6-logo-marquee{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}

/* breadcrumbs were removed from internal pages; reclaim the vertical space */
.page-hero>.w{row-gap:0}
.page-hero h1{margin-top:0}

/* N7.4 · narrow interaction fixes */

/* Ordinary red actions: simple hover, no wipe */
.btn-red::before,.head-cta .btn::before,.form button::before{display:none!important}
.btn-red,.head-cta .btn,.form button{
  transition:background-color .24s ease,border-color .24s ease,color .24s ease!important;
}
.btn-red:hover,.head-cta .btn:hover,.form button:hover{
  background:var(--red-dark)!important;
  border-color:var(--red-dark)!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Final CTA keeps the white wipe, with protected arrow spacing */
.n6-cta-btn{
  padding-right:30px;
}
.n6-cta-btn::before{display:block!important}
.n6-cta-btn span{
  transform:none!important;
  flex:0 0 auto;
  margin-left:4px;
}

/* History keeps its existing dark wipe */
.n6-outline span{transform:none!important}

/* Much shorter edge fade */
.n6-logo-marquee{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1.6%,#000 98.4%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 1.6%,#000 98.4%,transparent 100%)!important;
}

/* Footer slogan closer to the rest of the footer type scale */
footer .foot-brand .foot-slogan{
  font-size:14px!important;
  line-height:1.55!important;
  max-width:290px!important;
}

/* N7.5 · consistency pass */

/* navbar indicator: always the same thin line, no jump */
.nav-bar{
  height:2px!important;
  bottom:0!important;
}

/* credibility strip: calmer hierarchy */
.n6-cred-strip strong{font-size:23px}
.n6-cred-strip span{font-size:12.5px;color:#737c89}
.n6-cred-strip>div:nth-child(4) strong{font-size:20px}

/* client logos: never scale, only restore brand color */
.n6-logo-track figure:hover img,
.wall figure:hover img{
  transform:none!important;
  filter:none!important;
  opacity:1!important;
}

/* clients page and all logo walls: no boxes */
.wall{
  border:0!important;
  column-gap:34px;
  row-gap:20px;
}
.wall figure{
  border:0!important;
  background:transparent!important;
  height:108px;
  padding:16px 18px;
}
.wall-group+.wall-group{margin-top:58px}
.wall-group>h3{
  margin-bottom:18px;
  color:var(--ink);
  font-family:var(--display);
  font-size:26px;
  letter-spacing:-.03em;
}

/* internal detail heroes: fixed two-column rhythm regardless of title length */
.page-hero.has-media{
  padding:70px 0 76px;
}
.page-hero.has-media>.w{
  grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr)!important;
  grid-template-rows:auto auto auto;
  column-gap:78px;
  min-height:610px;
  align-items:center;
}
.page-hero.has-media h1{
  grid-column:1;
  grid-row:1;
  align-self:end;
  font-size:clamp(54px,5.1vw,76px);
  line-height:.98;
  max-width:13ch;
  min-height:1.96em;
  display:flex;
  align-items:flex-end;
  text-wrap:balance;
}
.page-hero.has-media .lead{
  grid-column:1;
  grid-row:2;
  align-self:start;
  margin-top:24px;
}
.page-hero.has-media .acts{
  grid-column:1;
  grid-row:3;
  align-self:start;
  margin-top:30px;
}
.page-hero.has-media .page-hero-media{
  grid-column:2;
  grid-row:1 / 4;
  align-self:center;
  width:100%;
  height:430px;
  margin:0;
}

/* preserve CTA wipe, protect arrow from clipping */
.n6-cta-btn{
  gap:18px;
  padding-left:24px;
  padding-right:32px;
  white-space:nowrap;
}
.n6-cta-btn span{
  display:inline-block!important;
  flex:0 0 auto;
  min-width:14px;
  margin-left:2px;
  transform:none!important;
  line-height:1;
}

@media(max-width:980px){
  .page-hero.has-media>.w{
    grid-template-columns:1fr!important;
    grid-template-rows:auto;
    min-height:0;
    row-gap:0;
  }
  .page-hero.has-media h1{
    grid-column:1;
    grid-row:auto;
    min-height:0;
    max-width:12ch;
  }
  .page-hero.has-media .lead,
  .page-hero.has-media .acts,
  .page-hero.has-media .page-hero-media{
    grid-column:1;
    grid-row:auto;
  }
  .page-hero.has-media .page-hero-media{height:360px;margin-top:34px}
}
@media(max-width:700px){
  .wall{grid-template-columns:repeat(2,1fr)!important;column-gap:18px}
  .wall figure{height:90px;padding:12px}
  .wall-group>h3{font-size:22px}
}

/* N7.5a · final CTA arrow integrity */
.n6-cta-btn{
  min-width:292px;
  justify-content:space-between;
  padding-left:24px;
  padding-right:24px;
}
.n6-cta-btn span{display:none!important}
.n6-cta-btn::after{
  content:"→";
  position:relative;
  z-index:2;
  flex:0 0 auto;
  margin-left:18px;
  line-height:1;
  color:currentColor;
}

/* Entry loader · C exacto del HTML entregado, sobre azul de marca */
html.as-loading,
html.as-loading body{overflow:hidden}

.as-loader{
  --as-sun:150px;
  --as-red:#e63434;
  --as-bg:#0f1620;
  --as-word:#FAFAFA;
  --as-dim:#2C3550;
  --as-glow:0.8;
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:var(--as-bg);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  -webkit-font-smoothing:antialiased;
}
html.as-loading .as-loader{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.as-loader.is-leaving{
  opacity:0!important;
  transition:opacity .38s cubic-bezier(.4,0,.2,1);
}

/* C · el sol baja y se corta — estructura y timing del archivo original */
.as-stage{
  position:relative;
  width:calc(var(--as-sun) * 2.6);
  height:calc(var(--as-sun) * 1.273);
}
.as-stage > .as-glow{
  position:absolute;
  left:50%;
  top:calc(var(--as-sun) * 0.136);
  width:calc(var(--as-sun) * 2);
  height:calc(var(--as-sun) * 2);
  margin:calc(var(--as-sun) / -2) 0 0 calc(var(--as-sun) * -1);
  border-radius:50%;
  background:radial-gradient(circle closest-side,
    rgba(230,52,52,calc(0.7 * var(--as-glow))) 0%,
    rgba(230,52,52,calc(0.16 * var(--as-glow))) 45%,
    rgba(230,52,52,0) 78%);
  animation:as-glow-breathe 3.2s ease-in-out infinite;
}
.as-clip{
  position:absolute;
  left:50%;
  bottom:0;
  margin-left:calc(var(--as-sun) / -2);
  width:var(--as-sun);
  height:calc(var(--as-sun) * 1.273);
  overflow:hidden;
}
.as-clip > i{
  position:absolute;
  left:0;
  top:calc(var(--as-sun) * 0.136);
  width:var(--as-sun);
  height:var(--as-sun);
  border-radius:50%;
  background:var(--as-red);
  will-change:transform;
  backface-visibility:hidden;
  animation:as-zoom 1.9s infinite;
}
.as-wordmark{
  display:block;
  width:calc(var(--as-sun) * 2.15);
  height:auto;
  margin-top:calc(var(--as-sun) * 0.035);
}
.as-rise .as-word--enter{opacity:0}
.as-rise[data-state="done"] .as-glow{
  animation:as-fadeout 0.9s ease-out 0.1s 1 both;
  opacity:0.28;
}
.as-rise[data-state="done"] .as-clip > i{
  animation:as-drop-from-peak 1.15s 1 both;
}
.as-rise[data-state="done"] .as-word--enter{
  animation:as-riseword 0.42s ease-out 0.88s 1 both;
}

@keyframes as-zoom{
  0%{transform:scale(0.26);opacity:0.5;animation-timing-function:cubic-bezier(0.35,0,0.2,1)}
  50%{transform:scale(1);opacity:1;animation-timing-function:cubic-bezier(0.65,0,0.35,1)}
  100%{transform:scale(0.26);opacity:0.5}
}
@keyframes as-glow-breathe{
  0%,100%{opacity:0.14;transform:scale(0.74)}
  50%{opacity:0.32;transform:scale(0.94)}
}
@keyframes as-settle{
  0%{transform:translate3d(0,0,0) scale(0.26);opacity:0.5;animation-timing-function:cubic-bezier(0.22,0,0.18,1)}
  32%{transform:translate3d(0,0,0) scale(1);opacity:1;animation-timing-function:cubic-bezier(0.62,0,0.4,1)}
  82%{transform:translate3d(0,calc(var(--as-sun) * 0.47),0) scale(1);animation-timing-function:cubic-bezier(0.3,0,0.35,1)}
  100%{transform:translate3d(0,calc(var(--as-sun) * 0.416),0) scale(1)}
}

@keyframes as-drop-from-peak{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:1; animation-timing-function:cubic-bezier(0.3,0,0.35,1); }
  78%{ transform:translate3d(0,calc(var(--as-sun) * 0.47),0) scale(1); opacity:1; animation-timing-function:cubic-bezier(0.3,0,0.35,1); }
  100%{ transform:translate3d(0,calc(var(--as-sun) * 0.416),0) scale(1); opacity:1; }
}
@keyframes as-fadeout{to{opacity:0}}
@keyframes as-riseword{
  0%{opacity:0;transform:translateY(10px)}
  100%{opacity:1;transform:translateY(0)}
}

@media(max-width:600px){
  .as-loader{--as-sun:120px}
}
@media(prefers-reduced-motion:reduce){
  .as-loader *, .as-loader{animation:none!important}
  .as-rise .as-word--enter{opacity:1}
  .as-rise .as-clip > i{transform:translate3d(0,calc(var(--as-sun) * 0.416),0)}
  .as-rise .as-glow{display:none}
}

/* N7.6 · client density + refined scroll motion */

/* Clients page: five logos per row on desktop; no oversized sparse rows */
.clients-page .wall{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  column-gap:26px;
  row-gap:18px;
}
.clients-page .wall figure{
  height:104px;
  padding:14px 16px;
}
.clients-page .wall img{max-height:52px}

/* Scroll reveal: visible during normal scrolling, not only on fast jumps */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1)!important;
  will-change:opacity,transform;
}
.reveal.in{
  opacity:1;
  transform:none;
}
.reveal-delay{transition-delay:.04s!important}

@media(max-width:1080px){
  .clients-page .wall{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .clients-page .wall{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .clients-page .wall{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .clients-page .wall figure{height:88px}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important}
}

/* N7.6a · client rows follow the real count of each group */
.clients-page .wall{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.clients-page .wall.n5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.clients-page .wall.n4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.clients-page .wall.n3{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* More legible scroll entrance at normal scrolling speed */
.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .88s cubic-bezier(.22,.61,.36,1),
    transform .88s cubic-bezier(.22,.61,.36,1)!important;
}
.reveal-delay{transition-delay:.06s!important}

@media(max-width:1080px){
  .clients-page .wall,
  .clients-page .wall.n5,
  .clients-page .wall.n4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .clients-page .wall.n3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .clients-page .wall,
  .clients-page .wall.n5,
  .clients-page .wall.n4,
  .clients-page .wall.n3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .clients-page .wall,
  .clients-page .wall.n5,
  .clients-page .wall.n4,
  .clients-page .wall.n3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Clients page desktop density: one row per category where possible */
body.clients-page .wall{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body.clients-page .wall.n5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body.clients-page .wall.n4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.clients-page .wall.n3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1080px){
  body.clients-page .wall,
  body.clients-page .wall.n5,
  body.clients-page .wall.n4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.clients-page .wall.n3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  body.clients-page .wall,
  body.clients-page .wall.n5,
  body.clients-page .wall.n4,
  body.clients-page .wall.n3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:560px){
  body.clients-page .wall,
  body.clients-page .wall.n5,
  body.clients-page .wall.n4,
  body.clients-page .wall.n3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* N7.7 · final scroll reveal tuning */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .82s cubic-bezier(.22,.61,.36,1),
    transform .82s cubic-bezier(.22,.61,.36,1)!important;
}
.reveal.in{opacity:1;transform:none}
.reveal-delay{transition-delay:.05s!important}

/* N7.13 · consolidated loader spacing + wipe buttons */
.as-wordmark{
  position:static!important;
  top:auto!important;
  margin-top:calc(var(--as-sun) * 0.10)!important;
}

/* Disable all older pseudo wipe layers. */
.n6-outline::before,
.n6-cta-btn::before{
  display:none!important;
}

/* History button: fixed dark border, seamless dark fill from left to right. */
.n6-outline,
.n6-outline:hover{
  border:1px solid var(--ink)!important;
  box-shadow:none!important;
  transform:none!important;
}
.n6-outline{
  background-color:transparent!important;
  background-image:linear-gradient(var(--ink),var(--ink))!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:0% 100%!important;
  color:var(--ink)!important;
  transition:background-size .68s cubic-bezier(.22,.61,.36,1),color .18s ease!important;
}
.n6-outline:hover{
  background-color:transparent!important;
  background-size:100% 100%!important;
  color:#fff!important;
}

/* Final CTA: fixed white border, seamless white fill from left to right. */
.n6-cta-btn,
.n6-cta-btn:hover{
  border:1px solid #fff!important;
  box-shadow:none!important;
  transform:none!important;
}
.n6-cta-btn{
  background-color:transparent!important;
  background-image:linear-gradient(#fff,#fff)!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:0% 100%!important;
  color:#fff!important;
  transition:background-size .68s cubic-bezier(.22,.61,.36,1),color .18s ease!important;
}
.n6-cta-btn:hover{
  background-color:transparent!important;
  background-size:100% 100%!important;
  color:var(--red)!important;
}

/* N7.14 · isolated wipe buttons + loader spacing */
.as-wordmark{
  margin-top:calc(var(--as-sun) * 0.072)!important;
}

/* Hard-reset legacy pseudo content on these two controls. */
.n6-wipe::before,
.n6-wipe::after{
  display:none!important;
  content:none!important;
}

.n6-wipe{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
  padding:0!important;
  transition:none!important;
}

.n6-outline.n6-wipe{
  border:1px solid var(--ink)!important;
  color:var(--ink)!important;
}
.n6-cta-btn.n6-wipe{
  border:1px solid #fff!important;
  color:#fff!important;
}

.n6-wipe-base,
.n6-wipe-over{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%;
  min-width:100%;
  padding:13px 18px;
  border-radius:inherit;
  white-space:nowrap;
}

.n6-cta-btn.n6-wipe .n6-wipe-base,
.n6-cta-btn.n6-wipe .n6-wipe-over{
  padding:15px 24px;
}

.n6-wipe-base{
  position:relative;
  z-index:1;
  background:transparent;
}
.n6-wipe-over{
  position:absolute;
  inset:0;
  z-index:2;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .68s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
}
.n6-outline.n6-wipe .n6-wipe-over{
  background:var(--ink);
  color:#fff;
}
.n6-cta-btn.n6-wipe .n6-wipe-over{
  background:#fff;
  color:var(--red);
}
.n6-wipe:hover .n6-wipe-over{
  clip-path:inset(0 0 0 0);
}

.n6-wipe-label,
.n6-wipe-arrow{
  display:inline-block!important;
  position:relative;
  z-index:3;
  transform:none!important;
  margin:0!important;
  min-width:0!important;
}
.n6-wipe-arrow{
  flex:0 0 auto;
  line-height:1;
}

/* N7.14a · override legacy CTA span-hiding rule */
.n6-cta-btn.n6-wipe > .n6-wipe-base,
.n6-cta-btn.n6-wipe > .n6-wipe-over{
  display:flex!important;
}
.n6-cta-btn.n6-wipe .n6-wipe-label,
.n6-cta-btn.n6-wipe .n6-wipe-arrow{
  display:inline-block!important;
}

/* N7.15 · stable two-layer wipe content (no legacy span interference) */
.n6-wipe > b{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%;
  min-width:100%;
  border-radius:inherit;
  white-space:nowrap;
  font:inherit;
  color:inherit;
}
.n6-wipe > b > em,
.n6-wipe > b > i{
  display:inline-block!important;
  font:inherit;
  font-style:normal!important;
  font-weight:inherit!important;
  line-height:1;
  margin:0!important;
  transform:none!important;
}
.n6-wipe > b > i{flex:0 0 auto}

.n6-outline.n6-wipe > b{padding:13px 18px}
.n6-cta-btn.n6-wipe > b{padding:15px 24px}

.n6-wipe-base{
  position:relative;
  z-index:1;
}
.n6-wipe-over{
  position:absolute;
  inset:0;
  z-index:2;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .68s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
}
.n6-outline.n6-wipe .n6-wipe-over{
  background:var(--ink);
  color:#fff;
}
.n6-cta-btn.n6-wipe .n6-wipe-over{
  background:#fff;
  color:var(--red);
}
.n6-wipe:hover .n6-wipe-over{clip-path:inset(0 0 0 0)}

/* N7.16 · final micro-polish: soft wipe edge + loader optical spacing */
@property --n6-wipe {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 0%;
}

.as-wordmark{
  margin-top:calc(var(--as-sun) * 0.09)!important;
}

.n6-wipe-over{
  --n6-wipe:0%;
  clip-path:none!important;
  -webkit-mask-image:linear-gradient(
    90deg,
    #000 0,
    #000 calc(var(--n6-wipe) - 2px),
    rgba(0,0,0,.72) calc(var(--n6-wipe) - 1px),
    rgba(0,0,0,.28) calc(var(--n6-wipe) + 1px),
    transparent calc(var(--n6-wipe) + 2px),
    transparent 100%
  );
  mask-image:linear-gradient(
    90deg,
    #000 0,
    #000 calc(var(--n6-wipe) - 2px),
    rgba(0,0,0,.72) calc(var(--n6-wipe) - 1px),
    rgba(0,0,0,.28) calc(var(--n6-wipe) + 1px),
    transparent calc(var(--n6-wipe) + 2px),
    transparent 100%
  );
  transition:--n6-wipe .68s cubic-bezier(.22,.61,.36,1)!important;
}
.n6-wipe:hover .n6-wipe-over{
  --n6-wipe:100%;
}

/* N7.16a · balanced wipe timing; subpixel edge only */
.n6-wipe-over{
  -webkit-mask-image:linear-gradient(
    90deg,
    #000 0,
    #000 calc(var(--n6-wipe) - .45px),
    rgba(0,0,0,.55) var(--n6-wipe),
    transparent calc(var(--n6-wipe) + .45px),
    transparent 100%
  )!important;
  mask-image:linear-gradient(
    90deg,
    #000 0,
    #000 calc(var(--n6-wipe) - .45px),
    rgba(0,0,0,.55) var(--n6-wipe),
    transparent calc(var(--n6-wipe) + .45px),
    transparent 100%
  )!important;
  transition:--n6-wipe .72s cubic-bezier(.4,0,.2,1)!important;
}

/* N7.16b · fill reaches beneath the fixed 1px outline */
.n6-wipe-over{
  inset:-1px!important;
  border-radius:inherit!important;
}

/* N7.16c · fully cover the rounded right edge at hover completion */
.n6-wipe:hover .n6-wipe-over{
  --n6-wipe:101%;
}

/* N7.16d · eliminate final rounded-edge sliver after wipe completes */
.n6-outline.n6-wipe{
  background-color:transparent!important;
  transition:background-color 0s linear 0s!important;
}
.n6-outline.n6-wipe:hover{
  background-color:var(--ink)!important;
  transition:background-color 0s linear .72s!important;
}
.n6-cta-btn.n6-wipe{
  background-color:transparent!important;
  transition:background-color 0s linear 0s!important;
}
.n6-cta-btn.n6-wipe:hover{
  background-color:#fff!important;
  transition:background-color 0s linear .72s!important;
}

/* N7.17 · regular red buttons: restrained color-only hover */
.as-wordmark{
  margin-top:calc(var(--as-sun) * 0.09 + 1px)!important;
}

.btn-red:not(.n6-wipe),
.head-cta .btn:not(.n6-wipe),
.form button{
  background:#e63434!important;
  border-color:#e63434!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
  transition:
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease!important;
}

.btn-red:not(.n6-wipe):hover,
.head-cta .btn:not(.n6-wipe):hover,
.form button:hover{
  background:#cf2f2f!important;
  border-color:#cf2f2f!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}

.btn-red:not(.n6-wipe) svg,
.btn-red:not(.n6-wipe) .ico,
.head-cta .btn:not(.n6-wipe) svg,
.head-cta .btn:not(.n6-wipe) .ico,
.btn-red:not(.n6-wipe):hover svg,
.btn-red:not(.n6-wipe):hover .ico,
.head-cta .btn:not(.n6-wipe):hover svg,
.head-cta .btn:not(.n6-wipe):hover .ico{
  transform:none!important;
  transition:none!important;
}

/* N7.18 · restore service card lift above reveal state */
.n6-card.reveal.in:hover,
.n6-card:hover{
  transform:translateY(-6px)!important;
}
.n6-card figure img{
  transform:none!important;
}

/* N7.19 · smooth service-card shadow + loader gutter color */
.n6-card.reveal{
  transition-property:opacity,transform,box-shadow!important;
  transition-duration:.82s,.82s,.32s!important;
  transition-timing-function:cubic-bezier(.22,.61,.36,1),cubic-bezier(.22,.61,.36,1),ease!important;
}
html.as-loading{
  background:#0f1620!important;
}

/* N7.20 · release page and nav as loader fade begins, without exposing gutter */
.as-loader.is-leaving{
  visibility:visible!important;
  pointer-events:none!important;
}
html.as-loader-leaving{
  background:#0f1620!important;
}

/* N7.21 · pill-shaped leading edge for the two wipe buttons */
.n6-wipe-over{
  -webkit-mask-image:none!important;
  mask-image:none!important;
  -webkit-clip-path:inset(0 calc(100% - var(--n6-wipe)) 0 0 round 0 999px 999px 0)!important;
  clip-path:inset(0 calc(100% - var(--n6-wipe)) 0 0 round 0 999px 999px 0)!important;
  transition:--n6-wipe .72s cubic-bezier(.4,0,.2,1)!important;
}
.n6-wipe:hover .n6-wipe-over{
  --n6-wipe:100%;
}

/* N8 client logo normalization */
.wall figure{
  height:124px!important;
  padding:16px 14px!important;
}
.wall img{
  width:90%!important;
  height:70px!important;
  max-width:90%!important;
  max-height:70px!important;
  opacity:.92!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (min-width:901px){
  .wall,.wall.n3,.wall.n4,.wall.n5,
  body.clients-page .wall,
  body.clients-page .wall.n3,
  body.clients-page .wall.n4,
  body.clients-page .wall.n5,
  body[data-page="nosotros"] .wall{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
@media (max-width:900px) and (min-width:561px){
  .wall,.wall.n3,.wall.n4,.wall.n5,
  body.clients-page .wall,
  body.clients-page .wall.n3,
  body.clients-page .wall.n4,
  body.clients-page .wall.n5,
  body[data-page="nosotros"] .wall{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:560px){
  .wall,.wall.n3,.wall.n4,.wall.n5,
  body.clients-page .wall,
  body.clients-page .wall.n3,
  body.clients-page .wall.n4,
  body.clients-page .wall.n5,
  body[data-page="nosotros"] .wall{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .wall figure{height:96px!important;padding:14px 10px!important}
  .wall img{width:86%!important;height:50px!important;max-width:86%!important;max-height:50px!important}
}

/* N8.1 logo-by-logo optical sizing */
.wall img[src$="plan-juntos.png"]{width:96%!important;height:78px!important;max-width:96%!important;max-height:78px!important}
.wall img[src$="junta-departamental-montevideo.png"]{width:94%!important;height:78px!important;max-width:94%!important;max-height:78px!important}
.wall img[src$="saippl.png"]{width:94%!important;height:80px!important;max-width:94%!important;max-height:80px!important}
.wall img[src$="embajada-corea.png"]{width:94%!important;height:82px!important;max-width:94%!important;max-height:82px!important}
.wall img[src$="corte-electoral.png"]{width:94%!important;height:74px!important;max-width:94%!important;max-height:74px!important}

.wall img[src$="antel.svg"]{width:64%!important;height:52px!important;max-width:64%!important;max-height:52px!important}
.wall img[src$="ose.svg"]{width:62%!important;height:52px!important;max-width:62%!important;max-height:52px!important}
.wall img[src$="correo.png"]{width:96%!important;height:78px!important;max-width:96%!important;max-height:78px!important}
.wall img[src$="bse.png"]{width:68%!important;height:54px!important;max-width:68%!important;max-height:54px!important}
.wall img[src$="ute.svg"]{width:70%!important;height:56px!important;max-width:70%!important;max-height:56px!important}
.wall img[src$="bhu.png"]{width:92%!important;height:72px!important;max-width:92%!important;max-height:72px!important}

.wall img[src$="ces.png"]{width:64%!important;height:52px!important;max-width:64%!important;max-height:52px!important}
.wall img[src$="utu.png"]{width:92%!important;height:76px!important;max-width:92%!important;max-height:76px!important}
.wall img[src$="isef.png"]{width:98%!important;height:80px!important;max-width:98%!important;max-height:80px!important}
.wall img[src$="escuela-nutricion.png"]{width:100%!important;height:104px!important;max-width:100%!important;max-height:104px!important}
.wall img[src$="facultad-agronomia.png"]{width:92%!important;height:84px!important;max-width:92%!important;max-height:84px!important}
.wall img[src$="facultad-ingenieria.png"]{width:100%!important;height:96px!important;max-width:100%!important;max-height:96px!important}
.wall img[src$="codicen.png"]{width:94%!important;height:72px!important;max-width:94%!important;max-height:72px!important}

.wall img[src$="asse.svg"]{width:72%!important;height:56px!important;max-width:72%!important;max-height:56px!important}
.wall img[src$="comision-lucha-antituberculosa.svg"]{width:100%!important;height:82px!important;max-width:100%!important;max-height:82px!important}
.wall img[src$="hospital-saint-bois.png"]{width:100%!important;height:82px!important;max-width:100%!important;max-height:82px!important}
.wall img[src$="inca.png"]{width:100%!important;height:80px!important;max-width:100%!important;max-height:80px!important}
.wall img[src$="msp.png"]{width:100%!important;height:80px!important;max-width:100%!important;max-height:80px!important}
.wall img[src$="portal-amarillo.png"]{width:88%!important;height:68px!important;max-width:88%!important;max-height:68px!important}

.wall img[src$="casino-parque-hotel.png"]{width:96%!important;height:76px!important;max-width:96%!important;max-height:76px!important}
.wall img[src$="galeria-diri.png"]{width:78%!important;height:58px!important;max-width:78%!important;max-height:58px!important}
.wall img[src$="montfrio.png"]{width:88%!important;height:66px!important;max-width:88%!important;max-height:66px!important}

/* N8.2 Plan Juntos + Casino hover */
.wall img[src$="plan-juntos.png"]{
  width:66%!important;
  height:54px!important;
  max-width:66%!important;
  max-height:54px!important;
  filter:grayscale(1) brightness(.64) contrast(1.12)!important;
}
.wall figure:hover img[src$="plan-juntos.png"]{
  filter:none!important;
  opacity:1!important;
}
.wall figure:hover img[src$="casino-parque-hotel.png"]{
  content:url("../logos-clientes/casino-parque-hotel-hover.png");
  filter:none!important;
  opacity:1!important;
}


/* N9 ? forms, contact, quotes and consistency */

/* Raster logos with white backgrounds must stay white, not turn into gray rectangles. */
.wall img{
  filter:grayscale(1)!important;
  opacity:.78!important;
}
.wall figure:hover img{filter:none!important;opacity:1!important}

/* Related services: one consistent, borderless treatment on every sector/detail page. */
.page-related .cards{gap:12px}
.page-related .card{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#f4f5f6;
  min-height:190px;
  padding:26px 24px 22px;
}
.page-related .card::before{display:none!important}
.page-related .card:hover{
  border:0!important;
  box-shadow:none!important;
  background:#eceff2;
  transform:none;
}

/* Form system: less visual noise, no ornamental separator lines or rounded boxes. */
.clean-form-page{padding:72px 0 96px}
.form-clean{max-width:none}
.form-clean .form-title{margin-bottom:34px}
.form-clean .form-title h2{font-size:clamp(30px,3vw,42px);margin-top:6px}
.form-clean .form-title>p:last-child{margin-top:10px;color:var(--dim);line-height:1.55}
.form-clean .fgroup{
  border:0!important;
  padding:0!important;
  margin:0 0 38px;
}
.form-clean .fgroup+ .fgroup{margin-top:8px}
.form-clean .fgroup>legend{font-size:18px;margin-bottom:18px}
.form-clean .form-foot{
  border:0!important;
  padding-top:4px!important;
}
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-clean select,
.form-clean textarea{
  width:100%;
  border:1px solid transparent!important;
  border-radius:0!important;
  background:#f2f4f6!important;
  box-shadow:none!important;
  padding:14px 15px;
  min-height:48px;
  transition:background .18s,border-color .18s;
}
.form-clean textarea{min-height:130px;resize:vertical}
.form-clean input:not([type=checkbox]):not([type=radio]):focus,
.form-clean select:focus,
.form-clean textarea:focus{
  outline:0;
  border-color:#9ca5b1!important;
  background:#fff!important;
}
.form-clean input[type=file]{
  border:0!important;
  border-radius:0!important;
  background:#f2f4f6;
  padding:12px;
}
.form-clean .has-err input:not([type=checkbox]):not([type=radio]),
.form-clean .has-err select,
.form-clean .has-err textarea{border-color:var(--red)!important}
.optional{font-size:12px;color:var(--dim);font-weight:400}
.choice-row{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:2px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.choice-row label,.choice-grid label{
  display:flex;align-items:flex-start;gap:10px;
  font-size:15px;line-height:1.4;cursor:pointer;
  border:0!important;border-radius:0!important;background:transparent!important;
  padding:2px 0!important;
}
.choice-row input,.choice-grid input,.form-clean .check input{accent-color:var(--red);margin-top:3px}
.consent{font-size:14px!important;color:var(--dim)!important}
.clean-aside .box{border:0!important;border-radius:0!important;background:#f3f4f6;padding:30px}
.clean-aside .box h3{margin-top:8px}
.clean-aside .box>p:not(.section-label){margin-top:10px;color:var(--dim);line-height:1.55}
.aside-mail{margin-top:20px!important}
.aside-mail a{color:var(--ink);font-weight:700}

/* Trabaje: concise intro, no repeated ruled list. */
.compact-hero{padding-bottom:60px}
.jobs-intro{padding:52px 0 18px}
.job-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.job-notes b{display:block;font-family:var(--display);font-size:18px}
.job-notes span{display:block;margin-top:8px;color:var(--dim);font-size:15px;line-height:1.55}

/* Contact: information and form live together; no important content buried below the fold. */
.contact-redesign{padding:74px 0 96px;background:#fff}
.contact-redesign-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:start}
.contact-redesign-info h1{font-size:clamp(54px,6vw,78px);line-height:.94;letter-spacing:-.05em;margin-top:10px}
.contact-redesign-info>.lead{margin-top:24px;color:var(--dim);font-size:18px;line-height:1.65;max-width:38ch}
.contact-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;margin-top:38px}
.contact-facts>div{min-width:0}
.contact-facts span{display:block;color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.contact-facts a,.contact-facts strong{font-family:var(--display);font-size:17px;color:var(--ink);font-weight:600}
.contact-redesign .contact-actions{margin-top:32px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.compact-map{height:210px;margin-top:38px;overflow:hidden;background:#eef0f2}
.compact-map iframe{width:100%;height:100%;border:0;filter:grayscale(.25)}
.contact-form-direct{background:#f8f9fa;padding:38px 40px}
.contact-form-direct .fields{grid-template-columns:1fr 1fr}

/* Quote page: sales-oriented, fast to scan and complete. */
.quote-redesign{padding:70px 0 100px;background:#fff}
.quote-redesign-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:84px;align-items:start}
.quote-copy{position:sticky;top:110px}
.quote-copy h1{font-size:clamp(52px,5.6vw,76px);line-height:.94;letter-spacing:-.052em;margin-top:10px;max-width:8.5ch}
.quote-copy>.lead{margin-top:26px;color:var(--dim);font-size:18px;line-height:1.68;max-width:38ch}
.quote-points{display:grid;gap:9px;margin-top:30px;color:#4e5967;font-size:14px}
.quote-points span::before{content:"\2713";color:var(--red);font-weight:800;margin-right:9px}
.quote-call{margin-top:42px}
.quote-call>span,.quote-call small{display:block;color:var(--dim);font-size:13px}
.quote-call a{display:inline-block;margin:5px 0;font-family:var(--display);font-size:30px;font-weight:700;color:var(--ink)}
.quote-form-direct{background:#f8f9fa;padding:38px 40px}
.quote-form-direct .fields{grid-template-columns:1fr 1fr}

/* Keep mobile forms calm and readable. */
@media(max-width:900px){
  .contact-redesign-grid,.quote-redesign-grid{grid-template-columns:1fr;gap:48px}
  .quote-copy{position:static}
  .job-notes{grid-template-columns:1fr;gap:24px}
  .contact-form-direct,.quote-form-direct{padding:30px 24px}
}
@media(max-width:620px){
  .contact-redesign,.quote-redesign{padding:52px 0 72px}
  .contact-facts,.contact-form-direct .fields,.quote-form-direct .fields,.choice-grid{grid-template-columns:1fr}
  .contact-redesign-info h1,.quote-copy h1{font-size:48px}
  .compact-map{height:190px}
}

.clean-form-page .form{border-top:0!important}.clean-form-page .form-body{padding-top:0!important}


/* N9.1 ? contact/application refinements */
.application-redesign{padding:70px 0 100px;background:#fff}
.application-redesign-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:84px;align-items:start}
.application-copy{position:sticky;top:110px}
.application-copy h1{font-size:clamp(52px,5.6vw,76px);line-height:.94;letter-spacing:-.052em;margin-top:10px;max-width:9ch}
.application-copy>.lead{margin-top:26px;color:var(--dim);font-size:18px;line-height:1.68;max-width:38ch}
.application-contact{margin-top:38px}
.application-contact span{display:block;color:var(--dim);font-size:13px;margin-bottom:6px}
.application-contact a{font-family:var(--display);font-size:18px;font-weight:700;color:var(--ink)}
.application-form-direct{background:#f8f9fa;padding:38px 40px}
.application-form-direct .fields{grid-template-columns:1fr 1fr}

.contact-overview{padding:70px 0 56px;background:#fff}
.contact-overview-head{max-width:760px}
.contact-overview-head h1{font-size:clamp(50px,5vw,70px);line-height:.96;letter-spacing:-.05em;margin-top:10px}
.contact-overview-head>p:last-child{margin-top:22px;color:var(--dim);font-size:18px;line-height:1.65;max-width:54ch}
.contact-overview-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:stretch;margin-top:42px}
.contact-details-clean{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px;align-content:start;padding:18px 0}
.contact-details-clean span{display:block;color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.contact-details-clean a,.contact-details-clean strong{font-family:var(--display);font-size:18px;line-height:1.45;color:var(--ink);font-weight:600}
.contact-map-side{height:360px;min-height:360px!important;overflow:hidden;background:#eef0f2}
.contact-map-side iframe{width:100%;height:100%;min-height:0!important;border:0;filter:grayscale(.15)}

.contact-message-section{padding:68px 0 100px;background:#f5f6f7}
.contact-message-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:start}
.contact-message-copy h2{font-size:clamp(36px,3.6vw,50px);line-height:1;letter-spacing:-.04em;margin-top:9px}
.contact-message-copy>p:last-child{margin-top:18px;color:var(--dim);font-size:16px;line-height:1.65;max-width:36ch}
.contact-message-section .contact-form-direct{background:#fff;padding:36px 38px}
.contact-message-section .contact-form-direct .form-body{padding:0}

@media(max-width:900px){
  .application-redesign-grid,.contact-overview-grid,.contact-message-grid{grid-template-columns:1fr;gap:44px}
  .application-copy{position:static}
  .contact-overview-grid{margin-top:32px}
  .contact-map-side{height:300px;min-height:300px!important}
}
@media(max-width:620px){
  .application-redesign,.contact-overview{padding:52px 0 64px}
  .contact-message-section{padding:56px 0 72px}
  .application-copy h1,.contact-overview-head h1{font-size:46px}
  .application-form-direct,.contact-message-section .contact-form-direct{padding:28px 22px}
  .application-form-direct .fields,.contact-details-clean{grid-template-columns:1fr}
}


/* N9.2 ? simpler contact + softer fields */
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-clean select,
.form-clean textarea{
  transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.form-clean input:not([type=checkbox]):not([type=radio]):focus,
.form-clean select:focus,
.form-clean textarea:focus{
  background:#f7f8f9!important;
  border-color:#cfd4da!important;
  box-shadow:0 0 0 3px rgba(15,22,32,.045)!important;
}
.form-clean input[type=file]:focus{outline:2px solid rgba(15,22,32,.12);outline-offset:2px}

.contact-simple{padding:70px 0 96px;background:#fff}
.contact-simple-head{max-width:760px}
.contact-simple-head h1{font-size:clamp(50px,5vw,70px);line-height:.96;letter-spacing:-.05em;margin-top:10px}
.contact-simple-head>p:last-child{margin-top:20px;color:var(--dim);font-size:18px;line-height:1.6}
.contact-simple-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:64px;align-items:start;margin-top:48px}
.contact-simple-form{background:#f8f9fa;padding:38px 40px;max-width:none}
.contact-simple-form .fields{grid-template-columns:1fr 1fr}
.contact-simple-form .form-body{padding:0}
.contact-simple-aside{padding-top:10px;display:grid;gap:28px}
.contact-simple-block{padding-bottom:22px;border-bottom:1px solid #e6e9ec}
.contact-simple-block:last-child{border-bottom:0}
.contact-simple-block>span{display:block;color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.contact-simple-block>a:not(.contact-map-link),
.contact-simple-block>strong{display:block;font-family:var(--display);font-size:20px;line-height:1.4;color:var(--ink);font-weight:600}
.contact-map-link{display:inline-block;margin-top:10px;color:var(--dim);font-size:14px}
.contact-map-link:hover{color:var(--ink)}

@media(max-width:900px){
  .contact-simple-grid{grid-template-columns:1fr;gap:42px}
  .contact-simple-aside{grid-template-columns:1fr 1fr;padding-top:0}
}
@media(max-width:620px){
  .contact-simple{padding:52px 0 72px}
  .contact-simple-head h1{font-size:46px}
  .contact-simple-form{padding:28px 22px}
  .contact-simple-form .fields,.contact-simple-aside{grid-template-columns:1fr}
}


/* N9.3 ? global microdesign cleanup */

/* Contact: compact, professional heading; form + contact data as one composition. */
.contact-simple{
  padding:64px 0 96px!important;
}
.contact-simple-head{
  display:block!important;
  max-width:720px!important;
  padding:0!important;
  margin:0!important;
}
.contact-simple-head h1{
  font-size:clamp(48px,5vw,66px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:8px 0 0!important;
}
.contact-simple-head>p:last-child{
  margin-top:18px!important;
  max-width:58ch!important;
  color:var(--dim)!important;
  font-size:17px!important;
  line-height:1.65!important;
}
.contact-simple-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr)!important;
  gap:64px!important;
  align-items:start!important;
  margin-top:42px!important;
  padding-top:0!important;
  border-top:0!important;
}
.contact-simple-form{
  background:#f6f7f8!important;
  padding:36px 38px!important;
}
.contact-simple-aside{
  padding-top:4px!important;
  gap:22px!important;
}
.contact-simple-block{
  padding:0 0 18px!important;
  border-bottom:0!important;
}
.contact-simple-block+ .contact-simple-block{
  margin-top:3px!important;
}
.contact-simple-block>span{
  margin-bottom:5px!important;
}
.contact-simple-block>a:not(.contact-map-link),
.contact-simple-block>strong{
  font-size:18px!important;
}
.contact-map-link{
  margin-top:8px!important;
}

/* Inputs: soft focus without drawing a new border around the field. */
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-clean select,
.form-clean textarea{
  border-color:transparent!important;
  transition:background-color .2s ease,box-shadow .2s ease!important;
}
.form-clean input:not([type=checkbox]):not([type=radio]):focus,
.form-clean select:focus,
.form-clean textarea:focus{
  outline:0!important;
  border-color:transparent!important;
  background:#eef1f4!important;
  box-shadow:0 4px 14px rgba(15,22,32,.045)!important;
}
.form-clean input[type=file]:focus{
  outline:0!important;
  box-shadow:none!important;
}
.form-clean .form-foot{
  margin-top:34px!important;
  padding-top:0!important;
  border:0!important;
}
.form-clean .form-foot .btn{
  margin-top:2px!important;
}

/* Internal editorial pages: fewer rules, more hierarchy through spacing. */
.page-prose>h2{
  border-top:0!important;
  padding-top:0!important;
  margin-top:56px!important;
}
.page-prose>h2:first-child{
  margin-top:0!important;
}
.page-prose>h2+p{
  margin-top:16px!important;
  margin-bottom:44px!important;
}
.page-prose .checks{
  margin-top:18px!important;
  margin-bottom:52px!important;
  border-top:0!important;
  display:grid!important;
  gap:9px!important;
}
.page-prose .checks li{
  grid-template-columns:20px 1fr!important;
  gap:10px!important;
  padding:4px 0!important;
  border:0!important;
  line-height:1.55!important;
}
.page-prose .checks svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  margin-top:4px!important;
  color:var(--red)!important;
}
.page-rail .rel a{
  border-bottom:0!important;
  padding:9px 10px!important;
  margin-left:-10px!important;
  border-radius:4px!important;
}
.page-rail .rel a:hover{
  background:#f4f5f6!important;
}
.page-rail .rel a[aria-current]{
  background:#f4f5f6!important;
}

/* Related services: grouped cards, no ruler lines, tighter CTA/content relationship. */
.page-related{
  padding:82px 0!important;
  background:#f3f2ef!important;
}
.page-related .sec-h{
  margin-bottom:26px!important;
}
.page-related .cards,
.page-related .tiles{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  border:0!important;
}
.page-related .card,
.page-related .tile{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-height:178px!important;
  padding:24px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.page-related .card:nth-child(odd),
.page-related .tile:nth-child(odd),
.page-related .card:nth-child(even),
.page-related .tile:nth-child(even){
  padding:24px!important;
  border:0!important;
}
.page-related .card h4,
.page-related .tile h3{
  font-size:20px!important;
  line-height:1.2!important;
}
.page-related .card p,
.page-related .tile p{
  margin-top:8px!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}
.page-related .more{
  margin-top:auto!important;
  padding-top:18px!important;
}
.page-related .card:hover,
.page-related .tile:hover{
  background:#eceff2!important;
}

/* Repeated ruled lists elsewhere: soften rather than stripe every row. */
.checks:not(.page-prose .checks){
  border-top:0!important;
}
.checks:not(.page-prose .checks) li{
  border-bottom:0!important;
  padding:8px 0!important;
}
.steps{
  border-top:0!important;
}
.steps li{
  border-bottom:0!important;
  padding:14px 0!important;
}

@media(max-width:900px){
  .contact-simple-grid{grid-template-columns:1fr!important;gap:38px!important}
  .contact-simple-aside{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  .page-prose>h2{margin-top:44px!important}
  .page-related .cards,.page-related .tiles{grid-template-columns:1fr!important}
  .page-related .card,.page-related .tile{min-height:0!important}
}
@media(max-width:620px){
  .contact-simple{padding:48px 0 68px!important}
  .contact-simple-form{padding:28px 22px!important}
  .contact-simple-aside{grid-template-columns:1fr!important}
}


/* N9.4 ? spacing, certifications, capacita and fields */

/* Sector rail: current + hovered items must never visually merge. */
.page-rail .rel{
  display:grid!important;
  gap:6px!important;
}
.page-rail .rel a{
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:3px!important;
  background:transparent!important;
  transition:background-color .16s ease,color .16s ease!important;
}
.page-rail .rel a[aria-current]{
  background:#f1f2f4!important;
  color:var(--ink)!important;
}
.page-rail .rel a:hover{
  background:#f1f2f4!important;
  color:var(--red)!important;
}

/* Nosotros: trajectory should read like the cleaner process list, not a ruled table. */
.about-page .v2-timeline{
  border:0!important;
  display:grid!important;
  gap:8px!important;
}
.about-page .v2-timeline article{
  border:0!important;
  padding:15px 0!important;
}
.about-page .v2-timeline article+article{
  margin-top:2px!important;
}
.about-page .steps{
  border:0!important;
}

/* Certifications: no rounded separator, no top ruler, no row dividers. */
.cert-list{
  border:0!important;
  display:grid!important;
  gap:72px!important;
}
.cert-item{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  background:transparent!important;
  align-items:start!important;
}
.cert-item .checks{
  border:0!important;
  margin-top:24px!important;
  display:grid!important;
  gap:8px!important;
}
.cert-item .checks li{
  border:0!important;
  padding:3px 0!important;
  grid-template-columns:20px 1fr!important;
  gap:9px!important;
}
.cert-item .checks svg{
  display:block!important;
  width:15px!important;
  height:15px!important;
  color:var(--red)!important;
  margin-top:3px!important;
}

/* Alta Seguridad Capacita: use supplied brand artwork, not a text placeholder. */
.v2-capacita-grid{
  align-items:center!important;
}
.v2-capacita-logo{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.v2-capacita-logo img{
  display:block;
  width:min(100%,460px);
  height:auto;
  object-fit:contain;
}

/* Inputs: clearly visible at rest, still soft on focus. */
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-clean select,
.form-clean textarea{
  background:#fff!important;
  border:0!important;
  box-shadow:inset 0 0 0 1px rgba(15,22,32,.10)!important;
  transition:box-shadow .18s ease,background-color .18s ease!important;
}
.form-clean input:not([type=checkbox]):not([type=radio]):focus,
.form-clean select:focus,
.form-clean textarea:focus{
  outline:0!important;
  background:#fff!important;
  border:0!important;
  box-shadow:inset 0 0 0 1px rgba(15,22,32,.20),0 3px 12px rgba(15,22,32,.04)!important;
}
.form-clean input[type=file]{
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(15,22,32,.10)!important;
}

/* Keep submit actions comfortably separated from the final field/group. */
.form-clean .form-foot{
  margin-top:40px!important;
}
.form-clean .fgroup:last-of-type{
  margin-bottom:6px!important;
}

@media(max-width:700px){
  .cert-list{gap:52px!important}
  .v2-capacita-logo{justify-content:flex-start;margin-top:16px}
  .v2-capacita-logo img{width:min(100%,380px)}
}


/* N9.5 ? form controls + unified contact */

/* Native checkbox halo removed; custom, flat control used everywhere. */
.choice-row input[type=checkbox],
.choice-grid input[type=checkbox],
.form-clean .check input[type=checkbox]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:1px 0 0!important;
  padding:0!important;
  border:1px solid #9ca5b1!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
  display:grid!important;
  place-content:center!important;
  transition:background-color .14s ease,border-color .14s ease!important;
}
.choice-row input[type=checkbox]::before,
.choice-grid input[type=checkbox]::before,
.form-clean .check input[type=checkbox]::before{
  content:""!important;
  width:9px!important;
  height:5px!important;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  transform:rotate(-45deg) scale(0)!important;
  transform-origin:center!important;
  transition:transform .12s ease!important;
  margin-top:-1px!important;
}
.choice-row input[type=checkbox]:checked,
.choice-grid input[type=checkbox]:checked,
.form-clean .check input[type=checkbox]:checked{
  background:var(--red)!important;
  border-color:var(--red)!important;
  box-shadow:none!important;
}
.choice-row input[type=checkbox]:checked::before,
.choice-grid input[type=checkbox]:checked::before,
.form-clean .check input[type=checkbox]:checked::before{
  transform:rotate(-45deg) scale(1)!important;
}
.choice-row input[type=checkbox]:focus,
.choice-grid input[type=checkbox]:focus,
.form-clean .check input[type=checkbox]:focus{
  outline:0!important;
  box-shadow:none!important;
}
.choice-row input[type=checkbox]:focus-visible,
.choice-grid input[type=checkbox]:focus-visible,
.form-clean .check input[type=checkbox]:focus-visible{
  border-color:var(--ink)!important;
}
.choice-hint{
  margin:4px 0 12px!important;
  color:var(--dim)!important;
  font-size:13px!important;
  line-height:1.4!important;
}

/* Contact now mirrors quote/application pages instead of having its own hero system. */
.contact-redesign{
  padding:70px 0 100px!important;
  background:#fff!important;
}
.contact-redesign-grid{
  display:grid!important;
  grid-template-columns:.82fr 1.18fr!important;
  gap:84px!important;
  align-items:start!important;
}
.contact-copy{
  position:sticky!important;
  top:110px!important;
}
.contact-copy h1{
  font-size:clamp(52px,5.6vw,76px)!important;
  line-height:.94!important;
  letter-spacing:-.052em!important;
  margin-top:10px!important;
  max-width:9ch!important;
}
.contact-copy>.lead{
  margin-top:26px!important;
  color:var(--dim)!important;
  font-size:18px!important;
  line-height:1.68!important;
  max-width:39ch!important;
}
.contact-info-list{
  display:grid!important;
  gap:18px!important;
  margin-top:34px!important;
}
.contact-info-list>div{
  display:grid!important;
  gap:4px!important;
}
.contact-info-list span{
  color:var(--dim)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
}
.contact-info-list a:not(.contact-map-link),
.contact-info-list strong{
  color:var(--ink)!important;
  font-family:var(--display)!important;
  font-size:17px!important;
  line-height:1.4!important;
  font-weight:600!important;
}
.contact-info-list .contact-map-link{
  display:inline-block!important;
  width:max-content!important;
  margin-top:3px!important;
  color:var(--dim)!important;
  font-size:13px!important;
}
.contact-quote-link{
  margin-top:34px!important;
  padding-top:22px!important;
  border-top:1px solid #e7e9ec!important;
}
.contact-quote-link>span{
  display:block!important;
  color:var(--dim)!important;
  font-size:13px!important;
  margin-bottom:8px!important;
}
.contact-quote-link .link{
  font-family:var(--display)!important;
  font-weight:700!important;
}
.contact-form-direct{
  background:#f6f7f8!important;
  padding:38px 40px!important;
}
.contact-form-direct .form-body{
  padding:0!important;
}
.contact-form-direct .fields{
  grid-template-columns:1fr 1fr!important;
}

@media(max-width:900px){
  .contact-redesign-grid{grid-template-columns:1fr!important;gap:44px!important}
  .contact-copy{position:static!important}
}
@media(max-width:620px){
  .contact-redesign{padding:52px 0 72px!important}
  .contact-copy h1{font-size:46px!important}
  .contact-form-direct{padding:28px 22px!important}
  .contact-form-direct .fields{grid-template-columns:1fr!important}
}


/* N9.6 ? checkbox geometry + contact CTA */

/* Clean, centered checkbox control. */
.choice-row label,
.choice-grid label,
.form-clean .check{
  align-items:center!important;
}
.choice-row input[type=checkbox],
.choice-grid input[type=checkbox],
.form-clean .check input[type=checkbox]{
  position:relative!important;
  display:inline-block!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #aeb6c0!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}
.choice-row input[type=checkbox]::before,
.choice-grid input[type=checkbox]::before,
.form-clean .check input[type=checkbox]::before{
  content:""!important;
  position:absolute!important;
  left:5px!important;
  top:2px!important;
  width:4px!important;
  height:8px!important;
  border:solid #fff!important;
  border-width:0 2px 2px 0!important;
  transform:rotate(45deg) scale(0)!important;
  transform-origin:center!important;
  margin:0!important;
}
.choice-row input[type=checkbox]:checked,
.choice-grid input[type=checkbox]:checked,
.form-clean .check input[type=checkbox]:checked{
  background:var(--red)!important;
  border-color:var(--red)!important;
}
.choice-row input[type=checkbox]:checked::before,
.choice-grid input[type=checkbox]:checked::before,
.form-clean .check input[type=checkbox]:checked::before{
  transform:rotate(45deg) scale(1)!important;
}
.choice-row input[type=checkbox]:focus,
.choice-grid input[type=checkbox]:focus,
.form-clean .check input[type=checkbox]:focus{
  outline:none!important;
  box-shadow:none!important;
}
.choice-row input[type=checkbox]:focus-visible,
.choice-grid input[type=checkbox]:focus-visible,
.form-clean .check input[type=checkbox]:focus-visible{
  outline:2px solid rgba(15,22,32,.18)!important;
  outline-offset:2px!important;
}
.choice-row{align-items:center!important}
.choice-grid label{min-height:22px!important}

/* Contact heading + commercial route. */
.contact-copy h1{
  max-width:none!important;
}
.contact-quote-cta{
  display:block!important;
  margin-top:30px!important;
  padding:18px 20px!important;
  background:#f5f6f7!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  transition:background-color .16s ease!important;
}
.contact-quote-cta:hover{
  background:#eceff2!important;
}
.contact-quote-cta>span{
  display:block!important;
  color:var(--dim)!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.contact-quote-cta>strong{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:6px!important;
  font-family:var(--display)!important;
  font-size:17px!important;
  color:var(--ink)!important;
}
.contact-quote-cta .ico{
  width:15px!important;
  height:15px!important;
}
.contact-info-list{
  margin-top:28px!important;
}


/* N9.7 ? HR clarification */
.application-contact small{
  display:block!important;
  max-width:34ch!important;
  margin-top:7px!important;
  color:var(--dim)!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}


/* N9.8 ? consent validation + quote heading */
.application-copy .application-contact{display:none!important}

.consent-stack{
  display:grid!important;
  gap:9px!important;
}
.consent-stack .consent-item{
  margin:0!important;
  min-height:0!important;
}
.consent-stack .consent-item .msg-err{
  display:none!important;
}
.consent-stack .consent{
  line-height:1.45!important;
}
.consent-group-error{
  min-height:18px!important;
  margin:1px 0 0 27px!important;
  color:var(--red-dark)!important;
  font-size:12.5px!important;
  font-weight:500!important;
  line-height:1.4!important;
  visibility:hidden!important;
  opacity:0!important;
  transition:opacity .14s ease!important;
}
.consent-stack:has(.consent-item.has-err) .consent-group-error{
  visibility:visible!important;
  opacity:1!important;
}
.consent-item.has-err .consent{
  color:var(--ink)!important;
}
.consent-item.has-err input[type=checkbox]{
  border-color:var(--red)!important;
}

.quote-copy h1{
  max-width:none!important;
}
.quote-copy h1 .no-wrap{
  white-space:nowrap!important;
}
@media(max-width:620px){
  .quote-copy h1 .no-wrap{white-space:normal!important}
}


/* N9.9 ? application alignment + file upload */
.application-form-direct .profile-group .f>label{
  min-height:42px!important;
  display:flex!important;
  align-items:flex-end!important;
  line-height:1.35!important;
}
.application-form-direct .profile-group .f>select{
  margin-top:7px!important;
}
.application-form-direct .fgroup:last-of-type{
  margin-bottom:0!important;
}
.application-form-direct .form-foot{
  margin-top:18px!important;
}
.application-form-direct .consent-group-error{
  min-height:16px!important;
  margin-top:0!important;
}

.file-upload{
  position:relative!important;
  width:100%!important;
}
.file-upload>input[type=file]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:2!important;
  box-shadow:none!important;
}
.file-upload-ui{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  min-height:52px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(15,22,32,.10)!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
.file-upload-action{
  display:flex!important;
  align-items:center!important;
  align-self:stretch!important;
  padding:0 17px!important;
  background:#e9edf1!important;
  color:var(--ink)!important;
  font-weight:600!important;
  font-size:14px!important;
  white-space:nowrap!important;
  transition:background-color .16s ease!important;
}
.file-upload-name{
  min-width:0!important;
  padding:0 15px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--dim)!important;
  font-size:14px!important;
}
.file-upload:hover .file-upload-action{
  background:#e2e6ea!important;
}
.file-upload:focus-within .file-upload-ui{
  box-shadow:inset 0 0 0 1px rgba(15,22,32,.20),0 3px 12px rgba(15,22,32,.04)!important;
}
.file-upload.has-file .file-upload-name{
  color:var(--ink)!important;
  font-weight:500!important;
}
@media(max-width:620px){
  .application-form-direct .profile-group .f>label{min-height:0!important}
  .file-upload-ui{grid-template-columns:1fr!important}
  .file-upload-action{min-height:44px!important;justify-content:center!important}
  .file-upload-name{padding:12px 14px!important;text-align:center!important}
}


/* N9.10 ? reveal consistency */
.page-prose>p.reveal,
.page-prose>.checks.reveal,
.page-rail .box.reveal,
.about-page .v2-timeline article.reveal,
.v2-capacita-grid>*.reveal{
  will-change:opacity,transform;
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}


/* N9.11 ? logo reveal consistency */
.wall figure.logo-reveal.reveal{
  transition-delay:var(--reveal-delay,0s)!important;
  transition-property:opacity,transform!important;
}
.wall figure.logo-reveal.reveal.in{
  opacity:1!important;
  transform:none!important;
}
.n6-logo-marquee.logo-strip-reveal.reveal{
  transition-delay:.05s!important;
}
@media(prefers-reduced-motion:reduce){
  .wall figure.logo-reveal.reveal,
  .n6-logo-marquee.logo-strip-reveal.reveal{
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* HERO ALT ? cinematic full-bleed */
.n6-hero-alt{
  position:relative!important;
  min-height:calc(100svh - var(--head))!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:stretch!important;
  background:#0d1420!important;
}
.n6-hero-alt .n6-hero-grid{
  position:relative!important;
  z-index:3!important;
  width:min(var(--w),calc(100% - var(--gut)*2))!important;
  min-height:690px!important;
  display:flex!important;
  align-items:center!important;
  margin:0 auto!important;
}
.n6-hero-alt .n6-hero-copy{
  width:min(640px,48vw)!important;
  padding:88px 0 180px!important;
  position:relative!important;
  z-index:4!important;
}
.n6-hero-alt .n6-hero-copy h1{
  max-width:9.7ch!important;
  font-size:clamp(58px,6vw,88px)!important;
  line-height:.93!important;
  letter-spacing:-.058em!important;
  text-shadow:0 2px 24px rgba(0,0,0,.18)!important;
}
.n6-hero-alt .n6-hero-copy>p{
  max-width:47ch!important;
  margin-top:28px!important;
  color:#d0d6df!important;
  font-size:18px!important;
  line-height:1.68!important;
}
.n6-hero-alt .n6-hero-copy .acts{
  margin-top:34px!important;
}
.n6-hero-alt .n6-hero-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#111a28!important;
  box-shadow:none!important;
  animation:n7MediaIn .9s var(--ease) .04s both!important;
}
.n6-hero-alt .n6-hero-media::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(9,15,24,.96) 0%,rgba(9,15,24,.86) 27%,rgba(9,15,24,.42) 53%,rgba(9,15,24,.08) 78%,rgba(9,15,24,.02) 100%),
    linear-gradient(180deg,rgba(10,15,24,.12),rgba(10,15,24,.05) 58%,rgba(10,15,24,.58) 100%)!important;
  pointer-events:none!important;
}
.n6-hero-alt .n6-hero-media::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0!important;
  height:34%!important;
  z-index:1!important;
  background:linear-gradient(180deg,transparent,rgba(8,13,21,.72))!important;
  pointer-events:none!important;
}
.n6-hero-alt .n6-hero-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:60% 44%!important;
  filter:saturate(.9) contrast(1.03)!important;
  transform:scale(1.015)!important;
}
.n6-hero-alt .n6-cred-strip{
  position:absolute!important;
  left:50%!important;
  bottom:32px!important;
  transform:translateX(-50%)!important;
  z-index:5!important;
  width:min(var(--w),calc(100% - var(--gut)*2))!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  background:rgba(10,16,25,.58)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:16px!important;
  box-shadow:0 22px 80px -45px rgba(0,0,0,.85)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  overflow:hidden!important;
  animation:n7StatsIn .8s var(--ease) .18s both!important;
}
.n6-hero-alt .n6-cred-strip>div{
  padding:22px 28px!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
}
.n6-hero-alt .n6-cred-strip>div:last-child{border-right:0!important}
.n6-hero-alt .n6-cred-strip strong{
  color:#fff!important;
  font-size:24px!important;
}
.n6-hero-alt .n6-cred-strip span{
  color:#bfc7d2!important;
  margin-top:6px!important;
}
.n6-hero-alt + .n6-services{
  padding-top:96px!important;
}

@media(max-width:980px){
  .n6-hero-alt .n6-hero-copy{
    width:min(620px,62vw)!important;
  }
  .n6-hero-alt .n6-hero-media img{
    object-position:64% 44%!important;
  }
}
@media(max-width:760px){
  .n6-hero-alt{
    min-height:auto!important;
    display:block!important;
    padding-bottom:0!important;
  }
  .n6-hero-alt .n6-hero-grid{
    min-height:660px!important;
    align-items:flex-end!important;
  }
  .n6-hero-alt .n6-hero-copy{
    width:100%!important;
    padding:220px 0 210px!important;
  }
  .n6-hero-alt .n6-hero-copy h1{
    font-size:clamp(46px,13vw,64px)!important;
    max-width:10ch!important;
  }
  .n6-hero-alt .n6-hero-copy>p{
    max-width:38ch!important;
    font-size:16px!important;
  }
  .n6-hero-alt .n6-hero-media::before{
    background:
      linear-gradient(180deg,rgba(9,15,24,.18) 0%,rgba(9,15,24,.4) 35%,rgba(9,15,24,.88) 70%,rgba(9,15,24,.98) 100%)!important;
  }
  .n6-hero-alt .n6-hero-media img{
    object-position:63% 35%!important;
  }
  .n6-hero-alt .n6-cred-strip{
    bottom:24px!important;
    grid-template-columns:1fr 1fr!important;
  }
  .n6-hero-alt .n6-cred-strip>div{
    padding:16px 18px!important;
    border-bottom:1px solid rgba(255,255,255,.11)!important;
  }
  .n6-hero-alt .n6-cred-strip>div:nth-child(2){border-right:0!important}
  .n6-hero-alt .n6-cred-strip>div:nth-child(n+3){border-bottom:0!important}
  .n6-hero-alt .n6-cred-strip strong{font-size:20px!important}
  .n6-hero-alt .n6-cred-strip span{font-size:11.5px!important}
}


/* HERO ALT V2 ? full-bleed, original proportions */
.n6-hero-alt{
  min-height:clamp(700px,calc(100svh - var(--head)),780px)!important;
  justify-content:flex-start!important;
}
.n6-hero-alt .n6-hero-grid{
  position:static!important;
  min-height:inherit!important;
  align-items:flex-start!important;
}
.n6-hero-alt .n6-hero-copy{
  width:min(610px,46vw)!important;
  padding:72px 0 170px!important;
  animation:n7CopyIn .75s var(--ease) both!important;
}
.n6-hero-alt .n6-hero-copy h1{
  font-size:clamp(52px,5.2vw,76px)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
  max-width:10.8ch!important;
}
.n6-hero-alt .n6-hero-copy>p{
  margin-top:28px!important;
  max-width:49ch!important;
  font-size:18px!important;
}
.n6-hero-alt .n6-hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
}
.n6-hero-alt .n6-hero-media::before{
  background:
    linear-gradient(90deg,rgba(9,15,24,.96) 0%,rgba(9,15,24,.84) 30%,rgba(9,15,24,.43) 55%,rgba(9,15,24,.08) 82%,rgba(9,15,24,.02) 100%),
    linear-gradient(180deg,rgba(9,15,24,.04),rgba(9,15,24,.10) 60%,rgba(9,15,24,.55) 100%)!important;
}
.n6-hero-alt .n6-hero-media img{
  object-position:61% 42%!important;
  transform:none!important;
}
.n6-hero-alt .n6-cred-strip{
  bottom:24px!important;
}
.n6-hero-alt + .n6-services{
  padding-top:96px!important;
}

@media(max-width:980px){
  .n6-hero-alt .n6-hero-copy{
    width:min(590px,56vw)!important;
    padding-top:64px!important;
  }
  .n6-hero-alt .n6-hero-media img{
    object-position:66% 42%!important;
  }
}
@media(max-width:760px){
  .n6-hero-alt{
    min-height:760px!important;
  }
  .n6-hero-alt .n6-hero-grid{
    min-height:760px!important;
    align-items:flex-start!important;
  }
  .n6-hero-alt .n6-hero-copy{
    width:100%!important;
    padding:58px 0 210px!important;
  }
  .n6-hero-alt .n6-hero-copy h1{
    font-size:42px!important;
    max-width:10.8ch!important;
  }
  .n6-hero-alt .n6-hero-copy>p{
    font-size:16px!important;
  }
  .n6-hero-alt .n6-hero-media img{
    object-position:67% 34%!important;
  }
}


/* HERO ALT V3 ? subject breathing room */
.n6-hero-alt .n6-hero-media{
  background:#0d1420!important;
}
.n6-hero-alt .n6-hero-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:right center!important;
  transform:none!important;
  filter:saturate(.92) contrast(1.03)!important;
}
.n6-hero-alt .n6-hero-media::before{
  background:
    linear-gradient(90deg,#0d1420 0%,rgba(13,20,32,.98) 21%,rgba(13,20,32,.88) 31%,rgba(13,20,32,.50) 47%,rgba(13,20,32,.12) 70%,rgba(13,20,32,.02) 100%),
    linear-gradient(180deg,rgba(9,15,24,.03),rgba(9,15,24,.08) 60%,rgba(9,15,24,.52) 100%)!important;
}
@media(max-width:980px){
  .n6-hero-alt .n6-hero-media img{object-fit:cover!important;object-position:64% 42%!important}
}


/* HERO ALT V4 ? centered image with blurred extensions */
.n6-hero-alt .n6-hero-media{
  isolation:isolate!important;
  overflow:hidden!important;
  background:#0d1420!important;
}
.n6-hero-alt .n6-hero-media::after{
  content:""!important;
  position:absolute!important;
  inset:-32px!important;
  z-index:0!important;
  background:url("equipo-alta-seguridad.webp") center center / cover no-repeat!important;
  filter:blur(30px) saturate(.82) brightness(.70)!important;
  transform:scale(1.07)!important;
  opacity:.82!important;
}
.n6-hero-alt .n6-hero-media img{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:saturate(.94) contrast(1.02)!important;
}
.n6-hero-alt .n6-hero-media::before{
  z-index:2!important;
  background:
    linear-gradient(90deg,rgba(13,20,32,.98) 0%,rgba(13,20,32,.91) 24%,rgba(13,20,32,.63) 38%,rgba(13,20,32,.18) 57%,rgba(13,20,32,.06) 78%,rgba(13,20,32,.10) 100%),
    linear-gradient(180deg,rgba(9,15,24,.03),rgba(9,15,24,.06) 60%,rgba(9,15,24,.50) 100%)!important;
}
@media(max-width:980px){
  .n6-hero-alt .n6-hero-media img{
    object-fit:cover!important;
    object-position:62% 42%!important;
  }
  .n6-hero-alt .n6-hero-media::after{display:none!important}
}

/* HERO V1.2 ? final proportional rebuild */
html,
body{
  margin:0;
  padding:0;
}
html,
body[data-page="inicio"]{
  background:#fff;
}

/* ---------- HERO ---------- */
.hero-v12{
  position:relative;
  height:clamp(610px,72vh,720px);
  min-height:0;
  overflow:hidden;
  background:#0f1620;
}
.hero-v12__media{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#0f1620;
}
.hero-v12__media>img{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
  filter:saturate(.96) contrast(1.015);
}
.hero-v12__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(13,20,32,.82) 0%,
      rgba(13,20,32,.70) 16%,
      rgba(13,20,32,.48) 31%,
      rgba(13,20,32,.24) 46%,
      rgba(13,20,32,.07) 62%,
      rgba(13,20,32,.015) 80%,
      rgba(13,20,32,.02) 100%),
    linear-gradient(180deg,
      rgba(8,13,20,.01) 0%,
      rgba(8,13,20,.01) 64%,
      rgba(8,13,20,.13) 100%);
}

/* Wide, gentle optical blur: each layer is a full-size copy, masked only at its edge. */
.hero-v12__edge{
  position:absolute;
  inset:-14px;
  z-index:1;
  width:auto;
  pointer-events:none;
  background:url("equipo-alta-seguridad.webp") center 46% / cover no-repeat;
  filter:blur(15px);
  transform:scale(1.012);
  opacity:.22;
}
.hero-v12__edge--left{
  -webkit-mask-image:linear-gradient(90deg,
    #000 0%,rgba(0,0,0,.92) 3%,rgba(0,0,0,.52) 8%,transparent 15%,transparent 100%);
  mask-image:linear-gradient(90deg,
    #000 0%,rgba(0,0,0,.92) 3%,rgba(0,0,0,.52) 8%,transparent 15%,transparent 100%);
}
.hero-v12__edge--right{
  -webkit-mask-image:linear-gradient(270deg,
    #000 0%,rgba(0,0,0,.92) 3%,rgba(0,0,0,.52) 8%,transparent 15%,transparent 100%);
  mask-image:linear-gradient(270deg,
    #000 0%,rgba(0,0,0,.92) 3%,rgba(0,0,0,.52) 8%,transparent 15%,transparent 100%);
}

.hero-v12__inner{
  position:relative;
  z-index:3;
  height:100%;
  display:flex;
  align-items:center;
  width:min(var(--w),calc(100% - max(var(--gut),56px)*2));
}
.hero-v12__copy{
  width:min(630px,47vw);
  transform:translateY(-8px);
  animation:n7CopyIn .72s var(--ease) both;
}
.hero-v12__copy h1{
  margin:0;
  max-width:10.8ch;
  color:#fff;
  font-size:clamp(52px,5vw,74px);
  line-height:.96;
  letter-spacing:-.052em;
  text-shadow:0 2px 18px rgba(0,0,0,.16);
}
.hero-v12__copy p{
  margin:24px 0 0;
  max-width:47ch;
  color:#f2f4f7;
  font-size:17px;
  line-height:1.62;
  text-shadow:0 2px 12px rgba(0,0,0,.12);
}
.hero-v12__actions{
  margin-top:30px;
}

/* ---------- CTA ---------- */
.hero-v12__cta{
  width:194px;
  min-width:194px;
  height:52px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
  transition:
    background-color .34s cubic-bezier(.22,.61,.36,1),
    border-color .34s cubic-bezier(.22,.61,.36,1)!important;
}
.hero-v12__cta::before{
  display:none!important;
  content:none!important;
}
.hero-v12__cta:hover{
  background:var(--red-dark)!important;
  border-color:var(--red-dark)!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Fixed stage: label begins centered. On hover, arrow fades/slides in from left
   while label glides right; the combined visual group remains centered. */
.hero-v12__cta-inner{
  position:relative;
  width:116px;
  height:20px;
  display:block;
}
.hero-v12__label{
  position:absolute;
  left:50%;
  top:50%;
  white-space:nowrap;
  transform:translate(-50%,-50%);
  transition:transform .42s cubic-bezier(.22,.61,.36,1);
}
.hero-v12__arrow{
  position:absolute;
  left:-2px;
  top:50%;
  width:17px;
  height:12px;
  opacity:0;
  transform:translate(-12px,-50%);
  transition:
    opacity .30s ease .03s,
    transform .42s cubic-bezier(.22,.61,.36,1);
}
.hero-v12__arrow::before{
  content:"";
  position:absolute;
  left:0;
  top:5px;
  width:14px;
  height:1.5px;
  border-radius:2px;
  background:currentColor;
}
.hero-v12__arrow::after{
  content:"";
  position:absolute;
  left:8px;
  top:2px;
  width:6px;
  height:6px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:rotate(45deg);
}
.hero-v12__cta:hover .hero-v12__arrow{
  opacity:1;
  transform:translate(0,-50%);
}
.hero-v12__cta:hover .hero-v12__label{
  transform:translate(calc(-50% + 9px),-50%);
}

/* ---------- METRICS ---------- */
.hero-v12-stats-band{
  margin:0;
  padding:0 max(var(--gut),56px);
  background:#fff;
}
.hero-v12-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  width:min(var(--w),100%);
  margin:0 auto;
  background:#fff;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
}
.hero-v12-stats>div{
  min-height:112px;
  padding:26px 28px 24px;
  background:#fff;
  border-right:1px solid #e9ebee;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-v12-stats>div:last-child{
  border-right:0;
}
.hero-v12-stats strong{
  display:block;
  color:var(--ink);
  font-family:var(--display);
  font-size:23px;
  letter-spacing:-.035em;
  line-height:1.1;
}
.hero-v12-stats span{
  display:block;
  margin-top:7px;
  color:var(--dim);
  font-size:13px;
  line-height:1.4;
}
.hero-v12-stats-band + .n6-services{
  padding-top:88px!important;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1100px){
  .hero-v12{
    height:clamp(590px,70vh,680px);
  }
  .hero-v12__inner{
    width:min(var(--w),calc(100% - var(--gut)*2));
  }
  .hero-v12__copy{
    width:min(600px,52vw);
  }
  .hero-v12__edge{
    filter:blur(13px);
    opacity:.19;
  }
}
@media(max-width:760px){
  .hero-v12{
    height:680px;
  }
  .hero-v12__inner{
    align-items:flex-end;
  }
  .hero-v12__copy{
    width:100%;
    transform:none;
    padding:0 0 48px;
  }
  .hero-v12__copy h1{
    font-size:44px;
    max-width:10.5ch;
  }
  .hero-v12__copy p{
    font-size:16px;
    max-width:38ch;
  }
  .hero-v12__media>img{
    object-position:64% center;
  }
  .hero-v12__edge{
    display:none;
  }
  .hero-v12__cta{
    width:188px;
    min-width:188px;
  }
  .hero-v12-stats-band{
    padding:0 14px;
  }
  .hero-v12-stats{
    grid-template-columns:1fr 1fr;
  }
  .hero-v12-stats>div{
    min-height:96px;
    padding:18px;
    border-bottom:1px solid #e9ebee;
  }
  .hero-v12-stats>div:nth-child(2){
    border-right:0;
  }
  .hero-v12-stats>div:nth-child(n+3){
    border-bottom:0;
  }
}


/* HERO V1.2 ? viewport fit + CTA spacing */
.hero-v12{
  height:clamp(640px,calc(100svh - var(--head) - 112px),760px)!important;
}
.hero-v12__cta-inner{
  width:128px!important;
}
.hero-v12__arrow{
  left:2px!important;
}
.hero-v12__cta:hover .hero-v12__label{
  transform:translate(calc(-50% + 10px),-50%)!important;
}
@media(max-width:1100px){
  .hero-v12{
    height:clamp(620px,calc(100svh - var(--head) - 112px),720px)!important;
  }
}
@media(max-width:760px){
  .hero-v12{
    height:680px!important;
  }
}





/* NAV + CTA final polish */
.hero-v12__cta-inner{
  position:relative!important;
  width:138px!important;
  height:20px!important;
  display:grid!important;
  grid-template-columns:20px 1fr 20px!important;
  align-items:center!important;
}
.hero-v12__arrow{
  position:static!important;
  grid-column:1!important;
  justify-self:start!important;
  width:18px!important;
  height:18px!important;
  opacity:0!important;
  transform:translateX(-9px)!important;
  transition:opacity .30s ease .03s,transform .42s cubic-bezier(.22,.61,.36,1)!important;
}
.hero-v12__arrow path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.hero-v12__label{
  position:static!important;
  grid-column:2!important;
  justify-self:center!important;
  transform:translateX(0)!important;
  transition:transform .42s cubic-bezier(.22,.61,.36,1)!important;
}
.hero-v12__balance{
  grid-column:3!important;
  width:20px!important;
  height:1px!important;
}
.hero-v12__cta:hover .hero-v12__arrow{
  opacity:1!important;
  transform:translateX(0)!important;
}
.hero-v12__cta:hover .hero-v12__label{
  transform:translateX(2px)!important;
}


/* CTA arrow entrance final */
.hero-v12__cta-inner{
  width:144px!important;
  grid-template-columns:22px 1fr 22px!important;
  column-gap:7px!important;
  overflow:visible!important;
}
.hero-v12__arrow{
  grid-column:1!important;
  justify-self:end!important;
  width:18px!important;
  height:18px!important;
  opacity:0!important;
  transform:translateX(-16px)!important;
  filter:blur(.35px)!important;
  transition:
    opacity .34s ease .03s,
    transform .48s cubic-bezier(.16,1,.3,1),
    filter .34s ease!important;
}
.hero-v12__cta:hover .hero-v12__arrow{
  opacity:1!important;
  transform:translateX(0)!important;
  filter:blur(0)!important;
}
.hero-v12__label{
  grid-column:2!important;
  justify-self:center!important;
  transform:translateX(0)!important;
  transition:transform .48s cubic-bezier(.16,1,.3,1)!important;
}
.hero-v12__cta:hover .hero-v12__label{
  transform:translateX(4px)!important;
}
.hero-v12__balance{
  grid-column:3!important;
  width:22px!important;
  height:1px!important;
}


/* CTA arrow isolated entrance */
.hero-v12__cta-inner{
  width:148px!important;
  grid-template-columns:24px 1fr 24px!important;
  column-gap:9px!important;
}
.hero-v12__arrow-wrap{
  grid-column:1!important;
  justify-self:end!important;
  align-self:center!important;
  width:19px!important;
  height:19px!important;
  display:grid!important;
  place-items:center!important;
  opacity:0;
  transform:translateX(-18px);
  filter:blur(1px);
  pointer-events:none!important;
}
.hero-v12__arrow{
  position:static!important;
  width:18px!important;
  height:18px!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  display:block!important;
}
.hero-v12__arrow path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.hero-v12__balance{
  grid-column:3!important;
  width:24px!important;
  height:1px!important;
}
.hero-v12__label{
  grid-column:2!important;
  justify-self:center!important;
  transform:translateX(0)!important;
  transition:transform .52s cubic-bezier(.16,1,.3,1)!important;
}

@keyframes heroCtaArrowEnter{
  0%{
    opacity:0;
    transform:translateX(-18px);
    filter:blur(1px);
  }
  35%{
    opacity:.28;
  }
  68%{
    opacity:.82;
  }
  100%{
    opacity:1;
    transform:translateX(0);
    filter:blur(0);
  }
}

.hero-v12__cta:hover .hero-v12__arrow-wrap{
  animation:heroCtaArrowEnter .56s cubic-bezier(.16,1,.3,1) both;
}
.hero-v12__cta:hover .hero-v12__label{
  transform:translateX(3px)!important;
}

/* HERO V1.3 ? consolidated final */

/* Hero scale / centered content above metrics */
.hero-v12{
  height:clamp(680px,calc(100svh - var(--head)),780px)!important;
}
.hero-v12__inner{
  height:calc(100% - 126px)!important;
  min-height:0!important;
  align-items:center!important;
}
.hero-v12__copy{
  transform:none!important;
  padding:0!important;
}
.hero-v12__actions{
  margin-top:28px!important;
}

/* Dark navy atmosphere: stronger behind copy, very subtle at the right */
.hero-v12__overlay{
  background:
    radial-gradient(ellipse at 17% 47%,
      rgba(2,21,40,.25) 0%,
      rgba(3,20,38,.14) 30%,
      transparent 56%),
    radial-gradient(ellipse at 98% 44%,
      rgba(2,18,34,.07) 0%,
      transparent 34%),
    linear-gradient(90deg,
      rgba(5,18,34,.84) 0%,
      rgba(5,19,35,.69) 17%,
      rgba(7,19,34,.46) 32%,
      rgba(8,18,32,.22) 47%,
      rgba(7,17,30,.055) 64%,
      rgba(6,16,28,.01) 82%,
      rgba(5,16,29,.045) 100%),
    linear-gradient(180deg,
      rgba(4,14,25,.01) 0%,
      rgba(4,14,25,.01) 66%,
      rgba(4,14,25,.15) 100%)!important;
}

/* Metrics treatment from web-hero-alt */
.hero-v12 .hero-v12-stats{
  position:absolute!important;
  left:50%!important;
  bottom:24px!important;
  transform:translateX(-50%)!important;
  z-index:6!important;
  width:min(var(--w),calc(100% - var(--gut)*2))!important;
  max-width:var(--w)!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  background:rgba(10,16,25,.58)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:16px!important;
  box-shadow:0 22px 80px -45px rgba(0,0,0,.85)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  overflow:hidden!important;
}
.hero-v12 .hero-v12-stats>div{
  min-height:auto!important;
  padding:22px 28px!important;
  background:transparent!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
  border-bottom:0!important;
  display:block!important;
}
.hero-v12 .hero-v12-stats>div:last-child{border-right:0!important}
.hero-v12 .hero-v12-stats strong{
  display:block!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.1!important;
}
.hero-v12 .hero-v12-stats span{
  display:block!important;
  margin-top:6px!important;
  color:#bfc7d2!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.hero-v12-stats-band{display:none!important}

/* CTA isolated from the global button rules */
.v13-cta{
  width:194px;
  min-width:194px;
  height:52px;
  padding:0;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #e63434;
  border-radius:999px;
  background:#e63434;
  color:#fff;
  text-decoration:none;
  font-family:inherit;
  font-size:15px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transform:none;
  transition:
    background-color .46s cubic-bezier(.22,.61,.36,1),
    border-color .46s cubic-bezier(.22,.61,.36,1);
}
.v13-cta:hover{
  background:#c92d2d;
  border-color:#c92d2d;
  color:#fff;
}
.v13-cta__stage{
  position:relative;
  width:154px;
  height:20px;
  display:block;
}
.v13-cta__arrow{
  position:absolute;
  left:11px;
  top:50%;
  width:18px;
  height:18px;
  opacity:0;
  transform:translate(-12px,-50%);
  transition:
    opacity .46s cubic-bezier(.22,.61,.36,1),
    transform .46s cubic-bezier(.22,.61,.36,1);
}
.v13-cta__arrow path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.v13-cta__label{
  position:absolute;
  left:50%;
  top:50%;
  white-space:nowrap;
  transform:translate(-50%,-50%);
  transition:transform .46s cubic-bezier(.22,.61,.36,1);
}
.v13-cta:hover .v13-cta__arrow{
  opacity:1;
  transform:translate(0,-50%);
}
.v13-cta:hover .v13-cta__label{
  transform:translate(calc(-50% + 5px),-50%);
}

@media(max-width:760px){
  .hero-v12{height:760px!important}
  .hero-v12__inner{
    height:calc(100% - 178px)!important;
    align-items:center!important;
  }
  .hero-v12__copy{padding:0!important}
  .hero-v12 .hero-v12-stats{
    bottom:20px!important;
    grid-template-columns:1fr 1fr!important;
  }
  .hero-v12 .hero-v12-stats>div{
    padding:16px 18px!important;
    border-bottom:1px solid rgba(255,255,255,.11)!important;
  }
  .hero-v12 .hero-v12-stats>div:nth-child(2){border-right:0!important}
  .hero-v12 .hero-v12-stats>div:nth-child(n+3){border-bottom:0!important}
  .hero-v12 .hero-v12-stats strong{font-size:20px!important}
  .hero-v12 .hero-v12-stats span{font-size:11.5px!important}
  .v13-cta{width:188px;min-width:188px}
}


/* V1.3 section CTA sizing */
.v13-section-cta{
  width:198px;
  min-width:198px;
}
.v13-section-cta .v13-cta__stage{
  width:156px;
}
.v13-section-cta--wide{
  width:232px;
  min-width:232px;
}
.v13-section-cta--wide .v13-cta__stage{
  width:190px;
}


/* V1.3 section CTA collision-safe layout */
.v13-section-cta{
  width:214px;
  min-width:214px;
}
.v13-section-cta--wide{
  width:252px;
  min-width:252px;
}

/* Secondary CTAs reserve real space for the arrow, so it can never cross the label. */
.v13-section-cta .v13-cta__stage{
  position:relative;
  width:auto;
  height:20px;
  display:grid;
  grid-template-columns:22px auto 22px;
  column-gap:3px;
  align-items:center;
  justify-content:center;
}
.v13-section-cta .v13-cta__arrow{
  position:static;
  grid-column:1;
  justify-self:end;
  align-self:center;
  width:18px;
  height:18px;
  opacity:0;
  transform:translateX(-12px);
  transition:
    opacity .46s cubic-bezier(.22,.61,.36,1),
    transform .46s cubic-bezier(.22,.61,.36,1);
}
.v13-section-cta .v13-cta__label{
  position:static;
  grid-column:2;
  justify-self:center;
  align-self:center;
  transform:translateX(0);
  transition:transform .46s cubic-bezier(.22,.61,.36,1);
}
.v13-section-cta .v13-cta__stage::after{
  content:"";
  grid-column:3;
  width:22px;
  height:1px;
}
.v13-section-cta:hover .v13-cta__arrow{
  opacity:1;
  transform:translateX(0);
}
.v13-section-cta:hover .v13-cta__label{
  transform:translateX(5px);
}

@media(max-width:760px){
  .v13-section-cta{
    width:208px;
    min-width:208px;
  }
  .v13-section-cta--wide{
    width:244px;
    min-width:244px;
  }
}


/* V1.3 tech CTA spacing */
.n6-tech-copy .v13-section-cta--wide{
  margin-top:22px;
}


/* V1.3 app mockup in technology section */
.n6-tech-app{
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:visible;
  isolation:isolate;
}
.n6-tech-app::after{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  bottom:5%;
  width:80%;
  height:19%;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(8,14,27,.30) 0%,
    rgba(8,14,27,.17) 42%,
    rgba(8,14,27,0) 76%);
  filter:blur(22px);
  pointer-events:none;
}
.n6-tech-app-img{
  position:relative;
  z-index:1;
  display:block;
  width:min(100%,720px);
  height:auto;
  object-fit:contain;
  filter:
    drop-shadow(0 14px 18px rgba(8,14,27,.18))
    drop-shadow(0 34px 42px rgba(8,14,27,.30));
}
@media(max-width:980px){
  .n6-tech-app{min-height:460px}
  .n6-tech-app-img{width:min(88vw,700px)}
}
@media(max-width:700px){
  .n6-tech-app{min-height:330px;margin-top:8px}
  .n6-tech-app-img{width:min(96vw,560px)}
}

/* V1.4 legal pages */
.foot-legal{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto}
.foot-legal a{color:inherit;opacity:.78;transition:opacity .2s}
.foot-legal a:hover{opacity:1}

.legal-page{
  padding:116px 0 128px;
  background:#f4f3ef;
}
.legal-page__grid{
  display:grid;
  grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);
  gap:104px;
  align-items:start;
}
.legal-page__aside{
  position:sticky;
  top:118px;
  padding-right:20px;
}
.legal-page__aside .eyebrow{
  display:block;
  margin-bottom:18px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--red);
}
.legal-page__aside h1{
  font-size:clamp(46px,5vw,68px);
  line-height:.98;
  letter-spacing:-.05em;
  max-width:9ch;
}
.legal-page__aside p{
  margin-top:24px;
  color:var(--dim);
  font-size:17px;
  line-height:1.72;
  max-width:36ch;
}

.legal-page__body{
  counter-reset:legal-section;
  max-width:760px;
  padding-top:0;
  border-top:0;
}
.legal-page__body section{
  counter-increment:legal-section;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  column-gap:28px;
  padding:34px 0 38px;
  border-bottom:1px solid rgba(27,36,48,.14);
}
.legal-page__body section:first-child{
  padding-top:0;
}
.legal-page__body section::before{
  content:counter(legal-section, decimal-leading-zero);
  grid-column:1;
  grid-row:1 / span 8;
  padding-top:3px;
  font-family:var(--display);
  font-size:12px;
  font-weight:700;
  letter-spacing:.10em;
  color:var(--red);
}
.legal-page__body h2{
  grid-column:2;
  margin:0 0 10px;
  font-size:clamp(22px,2vw,27px);
  line-height:1.18;
  letter-spacing:-.03em;
  color:#151c25;
}
.legal-page__body p{
  grid-column:2;
  margin:10px 0 0;
  color:#596370;
  font-size:16px;
  line-height:1.78;
  max-width:66ch;
}
.legal-page__body a{
  color:#202a36;
  text-decoration:none;
  border-bottom:1px solid rgba(32,42,54,.35);
  transition:border-color .2s,color .2s;
}
.legal-page__body a:hover{
  color:var(--red);
  border-color:var(--red);
}
.legal-page__updated{
  display:block;
  margin:34px 0 0!important;
  padding:0 0 0 102px;
  border:0!important;
  font-size:12px!important;
  letter-spacing:.04em;
  color:#8a929d!important;
}
@media(max-width:900px){
  .copy{gap:12px 18px;flex-wrap:wrap}
  .foot-legal{width:100%;margin-left:0}
  .legal-page{padding:82px 0 96px}
  .legal-page__grid{grid-template-columns:1fr;gap:50px}
  .legal-page__aside{position:static;padding-right:0}
  .legal-page__aside h1{max-width:none}
  .legal-page__body{max-width:none}
}
@media(max-width:620px){
  .legal-page__body section{
    grid-template-columns:44px minmax(0,1fr);
    column-gap:14px;
    padding:28px 0 30px;
  }
  .legal-page__body h2{font-size:21px}
  .legal-page__body p{font-size:15.5px;line-height:1.72}
  .legal-page__updated{padding-left:58px}
  .foot-legal{gap:10px 16px}
}


/* V14.1: métricas editoriales sueltas y acceso a la siguiente sección. */
.hero-v12 .hero-v12__footer{
  position:absolute;
  z-index:7;
  left:50%;
  bottom:30px;
  transform:translateX(-50%);
  width:min(var(--w),calc(100% - var(--gut)*2));
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
}
.hero-v12 .hero-v12__footer .hero-v12-stats{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  z-index:auto!important;
  display:flex!important;
  grid-template-columns:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.hero-v12 .hero-v12__footer .hero-v12-stats>div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  min-height:48px!important;
  padding:0 23px!important;
  background:transparent!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.34)!important;
}
.hero-v12 .hero-v12__footer .hero-v12-stats>div:first-child{
  padding-left:0!important;
}
.hero-v12 .hero-v12__footer .hero-v12-stats>div:last-child{
  padding-right:0!important;
  border-right:0!important;
}
.hero-v12 .hero-v12__footer .hero-v12-stats strong{
  display:block!important;
  color:#fff!important;
  font-size:23px!important;
  font-weight:700;
  line-height:1.15!important;
  letter-spacing:-.035em;
  white-space:nowrap;
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}
.hero-v12 .hero-v12__footer .hero-v12-stats span{
  display:block!important;
  margin-top:6px!important;
  color:#f1f3f7!important;
  font-size:12px!important;
  line-height:1.4!important;
  white-space:nowrap;
  text-shadow:0 1px 12px rgba(0,0,0,.4);
}
.hero-v12__scroll{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:13px;
  color:#fff;
  font-size:12px;
  text-decoration:none;
  font-weight:500;
}
.hero-v12__scroll-label{
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.hero-v12__scroll-circle{
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:50%;
  display:grid;
  place-items:center;
  transition:background .22s ease,transform .22s ease;
}
.hero-v12__scroll-circle svg{
  display:block;
  width:19px;
  height:19px;
}
.hero-v12__scroll:hover .hero-v12__scroll-circle,
.hero-v12__scroll:focus-visible .hero-v12__scroll-circle{
  background:rgba(255,255,255,.16);
  transform:translateY(4px);
}
.hero-v12__scroll:focus-visible{
  outline:2px solid #fff;
  outline-offset:5px;
  border-radius:2px;
}
#servicios{scroll-margin-top:var(--head)}
@media(max-width:1100px){
  .hero-v12 .hero-v12__footer .hero-v12-stats>div{
    padding-left:15px!important;
    padding-right:15px!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats strong{font-size:21px!important}
  .hero-v12 .hero-v12__footer .hero-v12-stats span{font-size:11px!important}
}
@media(max-width:760px){
  .hero-v12{height:800px!important}
  .hero-v12__inner{height:calc(100% - 240px)!important}
  .hero-v12 .hero-v12__footer{
    bottom:18px;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    row-gap:18px;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats>div{
    min-height:auto!important;
    padding:0 10px!important;
    border:0!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(odd){
    padding-left:0!important;
    border-right:1px solid rgba(255,255,255,.34)!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(even){
    padding-left:18px!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats strong{font-size:20px!important}
  .hero-v12 .hero-v12__footer .hero-v12-stats span{font-size:11.5px!important}
  .hero-v12__scroll{align-self:flex-end}
}
@media(max-width:390px){
  .hero-v12{height:825px!important}
  .hero-v12__inner{height:calc(100% - 260px)!important}
  .hero-v12 .hero-v12__footer .hero-v12-stats strong{font-size:18px!important}
  .hero-v12 .hero-v12__footer .hero-v12-stats span{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-v12__scroll-circle{transition:none}
}

/* NAV REBUILD: one continuous backdrop; original directional hover kept. */
body[data-page="inicio"] .site-head{
  margin-bottom:calc(-1 * var(--head));
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body[data-page="inicio"] .site-head::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:calc(100% + var(--panel-height,0px));
  z-index:0;
  pointer-events:none;
  opacity:0;
  background:#0f1620;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transition:opacity .3s ease,height .36s cubic-bezier(.22,.61,.36,1),background-color .4s ease;
}
body[data-page="inicio"].nav-after-top .site-head::before,
body[data-page="inicio"] .site-head:has(.mega.open)::before{opacity:1}
body[data-page="inicio"].nav-after-top .site-head::before{background:#0f1620}
body[data-page="inicio"] .site-head .head-in{position:relative;z-index:1}
body[data-page="inicio"] .site-head .mega{
  z-index:1;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body[data-page="inicio"] .site-head .mega-panel{
  transition:opacity .22s ease,transform .36s cubic-bezier(.22,.61,.36,1);
}
body[data-page="inicio"] .site-head .nav-bar{display:none!important}
body[data-page="inicio"] .hero-v12{height:max(720px,100svh)!important}
@media(max-width:760px){body[data-page="inicio"] .hero-v12{height:max(800px,100svh)!important}}
@media(max-width:390px){body[data-page="inicio"] .hero-v12{height:max(825px,100svh)!important}}
@media(prefers-reduced-motion:reduce){
  body[data-page="inicio"] .site-head::before,
  body[data-page="inicio"] .site-head .mega-panel{transition:none!important}
}

/* El desplegable tiene exactamente el mismo azul que el navbar. */
body[data-page="inicio"] .site-head .mega,
body[data-page="inicio"] .site-head .mega.open{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Flechas de Historia y Asesoramiento: mismo trazo SVG que Contáctenos. */
.n6-wipe > b > i{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
}
.n6-wipe > b > i svg{
  display:block;
  width:18px;
  height:18px;
}
.n6-wipe > b > i svg path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* CTA: texto y flecha como grupo compacto centrado. */
.n6-outline.n6-wipe > b,
.n6-cta-btn.n6-wipe > b{
  justify-content:center!important;
  gap:9px!important;
}
.n6-outline.n6-wipe > b > i,
.n6-cta-btn.n6-wipe > b > i{
  margin-left:0!important;
}

/* Ajuste optico individual: historia con aire izquierdo; asesoramiento alineado natural. */
.n6-outline.n6-wipe > b{
  justify-content:flex-start!important;
  gap:10px!important;
  padding-left:23px!important;
  padding-right:22px!important;
}
.n6-cta-btn.n6-wipe > b{
  justify-content:space-between!important;
  gap:15px!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
.n6-cta-btn.n6-wipe{
  min-width:292px;
}

/* Ajuste final de espaciado de los dos CTA del inicio. */
.n6-outline.n6-wipe > b{
  padding-left:30px!important;
  padding-right:27px!important;
  gap:11px!important;
}
.n6-cta-btn.n6-wipe > b{
  justify-content:flex-start!important;
  padding-left:31px!important;
  padding-right:27px!important;
  gap:11px!important;
}
.n6-cta-btn.n6-wipe{
  min-width:0!important;
}

/* Asesoramiento: ancho suficiente para texto y flecha; Historia sin cambios. */
.n6-cta-btn.n6-wipe{
  width:min(350px,100%)!important;
  min-width:0!important;
}

/* Asesoramiento: ancho ajustado al contenido; sin hueco extra tras la flecha. */
.n6-cta-btn.n6-wipe{
  width:max-content!important;
  max-width:100%!important;
  flex:0 0 auto!important;
}

/* V14 mobile refinement: single morphing menu control, quiet drawer. */
@media (max-width:1080px){
  .site-head .burger{
    width:44px!important;
    height:44px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
  }
  .site-head .burger i{
    left:9px!important;
    right:9px!important;
    height:2px!important;
    border-radius:2px;
    background:#fff!important;
    transform-origin:center;
    transition:top .28s ease,transform .28s ease,opacity .18s ease!important;
  }
  .site-head .burger i:nth-child(1){top:14px!important}
  .site-head .burger i:nth-child(2){top:21px!important}
  .site-head .burger i:nth-child(3){top:28px!important}
  body.nav-open .site-head{
    z-index:135!important;
    background:transparent!important;
    box-shadow:none!important;
    pointer-events:none;
  }
  body.nav-open .site-head::before{opacity:0!important}
  body.nav-open .site-head .head-in .brand{visibility:hidden!important}
  body.nav-open .site-head .burger{
    position:fixed!important;
    top:calc((var(--head) - 44px)/2);
    right:var(--gut);
    z-index:140!important;
    pointer-events:auto;
  }
  body.nav-open .site-head .burger i:nth-child(1){
    top:21px!important;
    transform:rotate(45deg)!important;
  }
  body.nav-open .site-head .burger i:nth-child(2){
    opacity:0!important;
    transform:scaleX(0)!important;
  }
  body.nav-open .site-head .burger i:nth-child(3){
    top:21px!important;
    transform:rotate(-45deg)!important;
  }
  .drawer{background:#0f1620!important}
  .drawer-top{
    height:var(--head)!important;
    border:0!important;
  }
  .drawer-x{display:none!important}
  .drawer-nav{
    padding-top:16px!important;
    padding-bottom:18px!important;
  }
  .drawer-nav > a,
  .drawer-nav summary{
    border:0!important;
    margin:0!important;
    padding:15px 0!important;
    min-height:55px;
    line-height:1.25;
    font-size:clamp(19px,3.7vw,23px);
    font-weight:600;
    letter-spacing:-.025em;
  }
  .drawer-nav details,
  .drawer-sub,
  .drawer-foot{border:0!important}
  .drawer-nav summary::after{
    color:#8995a8!important;
    font-size:23px!important;
    line-height:1;
    font-weight:400;
  }
  .drawer-nav details[open] summary::after{content:"−"}
  .drawer-sub{
    padding:0 0 18px 17px!important;
    margin:0!important;
  }
  .drawer-sub a{
    padding:9px 0!important;
    font-size:15px!important;
    line-height:1.4;
  }
  .drawer-foot{
    padding:23px 0 calc(26px + env(safe-area-inset-bottom,0px))!important;
    gap:12px!important;
  }
}
@media (max-width:760px){
  .hero-v12 .hero-v12__footer{
    bottom:clamp(18px,3.5svh,34px)!important;
    width:min(410px,calc(100% - var(--gut)*2))!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:23px!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:16px!important;
    row-gap:22px!important;
    width:100%!important;
    justify-items:center!important;
    align-items:start!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats>div,
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(odd),
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(even){
    width:100%!important;
    min-height:51px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:0 2px!important;
    text-align:center!important;
    border:0!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats strong{
    max-width:100%;
    font-size:clamp(16px,3.3vw,21px)!important;
    white-space:normal!important;
    line-height:1.13!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats span{
    max-width:100%;
    font-size:clamp(10px,2vw,12px)!important;
    line-height:1.38!important;
    margin-top:5px!important;
    text-wrap:balance;
  }
  .hero-v12__scroll{
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    gap:7px!important;
    margin-inline:auto!important;
    text-align:center!important;
    font-size:12px!important;
    font-weight:600!important;
  }
  .hero-v12__scroll-circle{
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:0!important;
    width:32px!important;
    height:29px!important;
    background:transparent!important;
  }
  .hero-v12__scroll-circle svg{
    width:23px!important;
    height:23px!important;
    animation:hero-scroll-nudge 1.9s ease-in-out infinite;
  }
  .hero-v12__scroll:hover .hero-v12__scroll-circle,
  .hero-v12__scroll:focus-visible .hero-v12__scroll-circle{
    background:transparent!important;
    transform:none!important;
  }
}
@media (max-width:390px){
  .hero-v12 .hero-v12__footer{gap:19px!important}
  .hero-v12 .hero-v12__footer .hero-v12-stats{
    column-gap:10px!important;
    row-gap:17px!important;
  }
}
@keyframes hero-scroll-nudge{
  0%,100%{transform:translateY(-3px);opacity:.67}
  50%{transform:translateY(6px);opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .hero-v12__scroll-circle svg{animation:none!important}
  .site-head .burger i{transition:none!important}
}

/* Logo del menu abierto: mismo tamano que en el encabezado movil. */
@media (max-width:1080px){
  .drawer-top .brand img{
    height:22px!important;
    width:auto!important;
  }
}

/* Hero editorial: titular breve y bloque equilibrado antes de publicar. */
@media (min-width:761px){
  .hero-v12__copy{
    width:min(580px,46vw)!important;
    max-width:580px!important;
    margin-top:16px!important;
  }
  .hero-v12__copy h1{
    font-size:clamp(48px,3.9vw,62px)!important;
    line-height:1.03!important;
    letter-spacing:-.045em!important;
    max-width:14ch!important;
  }
  .hero-v12__copy p{
    margin-top:22px!important;
    max-width:50ch!important;
    font-size:16.5px!important;
    line-height:1.58!important;
  }
  .hero-v12__actions{margin-top:27px!important}
}
@media (max-width:760px){
  .hero-v12__copy h1{
    font-size:clamp(35px,8.2vw,44px)!important;
    line-height:1.035!important;
    max-width:14ch!important;
  }
  .hero-v12__copy p{
    margin-top:19px!important;
    font-size:clamp(15px,3.65vw,17px)!important;
    line-height:1.56!important;
  }
  .hero-v12__actions{margin-top:25px!important}
}

/* Navegacion entre paginas: transicion discreta y respetuosa con accesibilidad. */
@view-transition { navigation:auto; }
::view-transition-old(root){animation:asPageOut .18s ease-in both}
::view-transition-new(root){animation:asPageIn .26s ease-out both}
@keyframes asPageOut{to{opacity:0;transform:translateY(-5px)}}
@keyframes asPageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
html.as-page-leaving body{opacity:.72;transform:translateY(-3px);transition:opacity .17s ease,transform .17s ease}
@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  html.as-page-leaving body{opacity:1;transform:none;transition:none}
}

/* Consistencia global del navbar: panel continuo sin indicador rojo. */
.site-head .nav-bar,
.site-head .nav-bar.on{display:none!important}
@media (min-width:1081px){
  body:not([data-page="inicio"]) .site-head{
    position:sticky;
    background:#0f1620!important;
    border:0!important;
    box-shadow:none!important;
  }
  body:not([data-page="inicio"]) .site-head .head-in{position:relative;z-index:2}
  body:not([data-page="inicio"]) .site-head .mega{
    background:#0f1620!important;
    border:0!important;
    box-shadow:0 26px 44px -30px rgba(0,0,0,.82)!important;
  }
  body:not([data-page="inicio"]) .site-head .mega-panel{
    background:transparent!important;
  }
  .nav-list>li.is-current>a,
  .nav-list>li.is-current>.nav-trig{font-weight:600}
}
/* Formularios: esquinas suaves en vez de cajas rectas. */
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-clean select,
.form-clean textarea,
.form-clean .file-upload-ui,
.form-clean .file-upload .file-upload-ui{
  border-radius:9px!important;
}
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]):focus-visible,
.form-clean select:focus-visible,
.form-clean textarea:focus-visible{
  outline:2px solid rgba(24,49,75,.30)!important;
  outline-offset:2px;
}

/* Refinamiento de formularios: bordes simples, tarjetas suaves, ritmo compacto. */
.contact-redesign,
.quote-redesign,
.application-redesign{
  padding-top:46px!important;
}
.contact-form-direct,
.quote-form-direct,
.application-form-direct{
  border-radius:14px!important;
}
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
.form-clean input:not([type=checkbox]):not([type=radio]):not([type=file]):focus-visible,
.form-clean select:focus,
.form-clean select:focus-visible,
.form-clean textarea:focus,
.form-clean textarea:focus-visible{
  outline:0!important;
  border:0!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1.5px #55799a,0 4px 14px rgba(14,38,59,.07)!important;
}
.form-clean .file-upload:focus-within .file-upload-ui{
  outline:0!important;
  box-shadow:inset 0 0 0 1.5px #55799a,0 4px 14px rgba(14,38,59,.07)!important;
}
.form-clean .file-upload-ui{border-radius:9px!important}
.choice-grid label,
.choice-row label{border-radius:8px}
.contact-quote-cta{border-radius:12px}
@media(max-width:760px){
  .contact-redesign,
  .quote-redesign,
  .application-redesign{padding-top:34px!important}
  .contact-form-direct,
  .quote-form-direct,
  .application-form-direct{border-radius:12px!important}
}
/* Select propio, con el select real conservado para envío y validación. */
.form-clean .as-select{position:relative;width:100%;isolation:isolate}
.form-clean .as-select.is-open{z-index:40}
.form-clean .as-select select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  border:0!important;
  overflow:hidden!important;
}
.form-clean .as-select-trigger{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  min-height:50px;
  padding:12px 15px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#172536!important;
  font:inherit!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(15,22,32,.10)!important;
  transform:none!important;
  transition:box-shadow .2s ease,background-color .2s ease!important;
}
.form-clean .as-select-trigger:hover{
  box-shadow:inset 0 0 0 1px rgba(35,68,96,.30)!important;
}
.form-clean .as-select-trigger:focus,
.form-clean .as-select-trigger:focus-visible,
.form-clean .as-select.is-open .as-select-trigger{
  outline:0!important;
  box-shadow:inset 0 0 0 1.5px #55799a,0 4px 14px rgba(14,38,59,.07)!important;
}
.form-clean .as-select-empty .as-select-value{color:#75808c!important;font-weight:400!important}
.form-clean .as-select-arrow{
  width:9px;height:9px;
  border-right:1.8px solid #536275;
  border-bottom:1.8px solid #536275;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .22s ease;
  flex:none;
  margin-right:3px;
}
.form-clean .as-select.is-open .as-select-arrow{transform:translateY(3px) rotate(225deg)}
.form-clean .as-select-list{
  position:absolute;
  left:0;right:0;top:calc(100% + 7px);
  padding:6px;
  max-height:260px;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid #e2e7ec;
  border-radius:11px;
  background:#fff;
  box-shadow:0 13px 32px rgba(17,34,55,.15);
  z-index:90;
}
.form-clean .as-select-list[hidden]{display:none!important}
.form-clean .as-select-option{
  display:block;
  padding:11px 12px;
  border-radius:7px;
  font-size:14.5px;
  line-height:1.35;
  color:#2f3c4c;
  cursor:pointer;
  transition:background-color .13s ease;
}
.form-clean .as-select-option.is-active,
.form-clean .as-select-option:hover{background:#eff3f7;color:#132b46}
.form-clean .as-select-option.is-selected{font-weight:600;color:#173651}
.form-clean .as-select-option[aria-disabled=true]{opacity:.5;cursor:default}
.application-form-direct .profile-group .f>.as-select{margin-top:7px!important}
@media(prefers-reduced-motion:reduce){
  .form-clean .as-select-trigger,
  .form-clean .as-select-arrow,
  .form-clean .as-select-option{transition:none!important}
}

/* Corrección de selectores: ninguna regla de botón de envío debe pintarlos de rojo. */
.form.form-clean button.as-select-trigger,
.form.form-clean button.as-select-trigger:hover,
.form.form-clean button.as-select-trigger:active,
.form.form-clean button.as-select-trigger:focus,
.form.form-clean button.as-select-trigger:focus-visible,
.form.form-clean .as-select.is-open button.as-select-trigger{
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:9px!important;
  color:#172536!important;
  transform:none!important;
  filter:none!important;
  text-shadow:none!important;
}
.form.form-clean button.as-select-trigger::before,
.form.form-clean button.as-select-trigger::after{display:none!important;content:none!important}
.form.form-clean button.as-select-trigger:hover{box-shadow:inset 0 0 0 1px rgba(35,68,96,.3)!important}
.form.form-clean button.as-select-trigger:focus-visible,
.form.form-clean .as-select.is-open button.as-select-trigger{box-shadow:inset 0 0 0 1.5px #55799a,0 4px 14px rgba(14,38,59,.07)!important}
.form.form-clean .as-select-list{
  max-height:none;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.form.form-clean .as-select-list::-webkit-scrollbar{width:0;height:0}
.form.form-clean .as-select-list.is-scrollable{scrollbar-width:thin;scrollbar-color:#bdc7d1 transparent}
.form.form-clean .as-select-list.is-scrollable::-webkit-scrollbar{width:5px}
.form.form-clean .as-select-list.is-scrollable::-webkit-scrollbar-thumb{background:#bdc7d1;border-radius:10px}
.form.form-clean .as-select-list.is-scrollable::-webkit-scrollbar-track{background:transparent}
/* Hero móvil: imagen y mensaje arriba, métricas y scroll debajo, fuera del visor recortado. */
@media(max-width:760px){
  body[data-page="inicio"] .hero-v12,
  .hero-v12{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:column!important;
    background:#0c1828!important;
  }
  .hero-v12__media{
    position:absolute!important;
    inset:0 0 auto 0!important;
    height:clamp(650px,98svh,840px)!important;
    overflow:hidden!important;
  }
  .hero-v12__media>img{
    object-position:61% center!important;
  }
  .hero-v12__overlay{
    background:linear-gradient(180deg,
      rgba(5,17,32,.77) 0%,
      rgba(5,17,32,.69) 24%,
      rgba(5,17,32,.44) 46%,
      rgba(5,17,32,.25) 69%,
      #0c1828 99%)!important;
  }
  .hero-v12__inner{
    position:relative!important;
    z-index:4!important;
    width:calc(100% - 40px)!important;
    height:auto!important;
    min-height:clamp(650px,98svh,840px)!important;
    display:flex!important;
    align-items:flex-start!important;
    padding:clamp(150px,24svh,215px) 0 55px!important;
    box-sizing:border-box!important;
  }
  .hero-v12__copy{
    width:100%!important;
    max-width:470px!important;
    margin:0!important;
    padding:0!important;
  }
  .hero-v12__copy h1{
    max-width:16ch!important;
    font-size:clamp(34px,8vw,45px)!important;
    line-height:1.06!important;
    letter-spacing:-.047em!important;
    text-wrap:balance;
  }
  .hero-v12__copy p{
    max-width:36ch!important;
    margin-top:22px!important;
    font-size:clamp(15px,3.7vw,17px)!important;
    line-height:1.54!important;
  }
  .hero-v12__actions{margin-top:27px!important}
  .hero-v12 .hero-v12__footer{
    position:relative!important;
    inset:auto!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    width:calc(100% - 40px)!important;
    max-width:470px!important;
    z-index:5!important;
    transform:none!important;
    margin:0 auto!important;
    padding:24px 0 max(35px,env(safe-area-inset-bottom))!important;
    flex-direction:column!important;
    gap:22px!important;
    align-items:stretch!important;
    background:transparent!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats{
    display:grid!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:18px!important;
    row-gap:23px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    overflow:visible!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats>div,
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(odd),
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(even){
    min-height:55px!important;
    padding:0 4px!important;
    border:0!important;
    text-align:center!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats strong{font-size:clamp(18px,4.4vw,22px)!important}
  .hero-v12 .hero-v12__footer .hero-v12-stats span{font-size:clamp(11px,2.8vw,13px)!important}
  .hero-v12__scroll{
    display:inline-flex!important;
    align-self:center!important;
    flex-direction:row!important;
    gap:12px!important;
    padding:5px 3px!important;
    margin:0 auto!important;
    color:#fff!important;
  }
  .hero-v12__scroll-circle{
    width:34px!important;
    height:34px!important;
    border:1px solid rgba(255,255,255,.65)!important;
    border-radius:50%!important;
  }
}

/* Inicio móvil v2: portada íntegra, texto más bajo, scroll visible y cifras sobre blanco. */
.hero-v12__scroll--mobile{display:none!important}
.form-clean .as-select-option + .as-select-option{margin-top:5px!important}
@media(max-width:760px){
  body[data-page="inicio"] .hero-v12{
    display:block!important;
    height:auto!important;
    overflow:visible!important;
    background:#fff!important;
  }
  .hero-v12__media{
    height:clamp(690px,100svh,860px)!important;
  }
  .hero-v12__media>img{object-position:61% center!important}
  .hero-v12__overlay{
    background:linear-gradient(180deg,
      rgba(5,17,32,.64) 0%,
      rgba(5,17,32,.48) 28%,
      rgba(5,17,32,.54) 48%,
      rgba(5,17,32,.31) 75%,
      rgba(5,17,32,.76) 100%)!important;
  }
  .hero-v12__inner{
    min-height:clamp(690px,100svh,860px)!important;
    padding:clamp(192px,29svh,256px) 0 106px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
  }
  .hero-v12__copy{flex:0 0 auto!important}
  .hero-v12__copy h1{font-size:clamp(33px,7.8vw,43px)!important;max-width:16ch!important}
  .hero-v12__scroll--mobile{
    position:relative!important;
    display:inline-flex!important;
    margin:auto 0 0 auto!important;
    align-self:flex-end!important;
    flex-direction:row!important;
    gap:10px!important;
    font-size:12px!important;
    font-weight:500!important;
    text-align:right!important;
    z-index:9!important;
    width:max-content!important;
    color:#fff!important;
  }
  .hero-v12__scroll--mobile .hero-v12__scroll-circle{
    width:32px!important;height:32px!important;
    border:1px solid rgba(255,255,255,.75)!important;
    border-radius:50%!important;
  }
  .hero-v12 .hero-v12__footer{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:30px max(20px,var(--gut)) 38px!important;
    background:#fff!important;
    box-sizing:border-box!important;
    gap:0!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats{
    width:min(440px,100%)!important;
    max-width:440px!important;
    margin:0 auto!important;
    padding:0!important;
    gap:22px 12px!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats strong{
    color:#152638!important;
    text-shadow:none!important;
    font-size:clamp(18px,4.4vw,22px)!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats span{
    color:#536273!important;
    text-shadow:none!important;
    font-size:clamp(11px,2.8vw,13px)!important;
  }
  .hero-v12 .hero-v12__footer>.hero-v12__scroll{display:none!important}
}
@media(max-width:390px){
  .hero-v12__inner{
    padding-top:clamp(168px,27svh,230px)!important;
  }
  .hero-v12__copy h1{font-size:clamp(31px,8.1vw,36px)!important}
}

/* Afinación final de ritmo en la portada móvil. */
@media(max-width:760px){
  .hero-v12__inner{
    padding-top:clamp(224px,33svh,290px)!important;
    padding-bottom:83px!important;
  }
  .hero-v12__scroll--mobile{
    margin:-24px auto 0!important;
    align-self:center!important;
    text-align:center!important;
    justify-content:center!important;
    position:relative!important;
    top:40px!important;
  }
  .hero-v12 .hero-v12__footer{
    padding-top:17px!important;
    padding-bottom:21px!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats{
    row-gap:12px!important;
    column-gap:12px!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats>div,
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(odd),
  .hero-v12 .hero-v12__footer .hero-v12-stats>div:nth-child(even){
    min-height:43px!important;
  }
}
@media(max-width:390px){
  .hero-v12__inner{padding-top:clamp(198px,31svh,265px)!important}
}

/* Señal móvil: solo chevrón animado, sin texto ni círculo. */
@media(max-width:760px){
  .hero-v12 .hero-v12__scroll--mobile{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    width:62px!important;
    height:42px!important;
    margin:-15px auto 0!important;
    padding:5px!important;
    top:50px!important;
    border:0!important;
    background:transparent!important;
    text-decoration:none!important;
    color:#fff!important;
  }
  .hero-v12__swipe-chevron{
    display:block;
    width:34px;
    height:21px;
    animation:asSwipeHint 1.95s ease-in-out infinite;
    filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));
  }
}
@keyframes asSwipeHint{
  0%,100%{transform:translateY(-3px);opacity:.68}
  50%{transform:translateY(5px);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .hero-v12__swipe-chevron{animation:none!important}
}

/* Mobile: triple chevron en cascada y métricas con ritmo más equilibrado. */
@media(max-width:760px){
  .hero-v12 .hero-v12__scroll--mobile{
    width:62px!important;
    height:52px!important;
    top:56px!important;
  }
  .hero-v12__swipe-chevron{
    display:block!important;
    width:34px!important;
    height:46px!important;
    overflow:visible!important;
    animation:none!important;
    filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));
  }
  .hero-v12__swipe-chevron path{animation:asSwipeTrail 1.9s ease-in-out infinite}
  .hero-v12__swipe-chevron path:nth-child(2){animation-delay:.18s}
  .hero-v12__swipe-chevron path:nth-child(3){animation-delay:.36s}
  .hero-v12 .hero-v12__footer{
    padding-top:10px!important;
    padding-bottom:13px!important;
  }
  .hero-v12 .hero-v12__footer .hero-v12-stats{
    row-gap:24px!important;
    column-gap:12px!important;
  }
}
@keyframes asSwipeTrail{
  0%,12%,100%{opacity:.22;transform:translateY(-2px)}
  38%,58%{opacity:1;transform:translateY(3px)}
  82%{opacity:.22;transform:translateY(5px)}
}
@media(prefers-reduced-motion:reduce){
  .hero-v12__swipe-chevron path{animation:none!important;opacity:1!important;transform:none!important}
}

/* Navegacion estable: el navbar nunca participa en una transición global. */
@view-transition{navigation:none}
::view-transition-old(root),::view-transition-new(root){animation:none!important}
html.as-page-leaving body{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:no-preference){
  main{animation:asContentArrive .24s ease-out both}
}
@keyframes asContentArrive{from{opacity:.82}to{opacity:1}}
/* Confirmación visible y coherente para los tres formularios. */
.as-success{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  padding:20px;background:rgba(8,17,29,.62);backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);animation:asSuccessFade .2s ease both;
}
.as-success[hidden]{display:none!important}
.as-success__panel{
  width:min(430px,100%);padding:38px 32px 34px;text-align:center;
  background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.22);
  animation:asSuccessRise .32s cubic-bezier(.2,.8,.2,1) both;
}
.as-success__check{
  margin:0 auto 19px;display:grid;place-items:center;width:62px;height:62px;
  border-radius:50%;background:#eaf4ee;color:#1f8052;
}
.as-success__check svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.as-success__panel h2{font-size:clamp(24px,5vw,30px);line-height:1.2;color:#142335;margin:0}
.as-success__panel p{margin:14px 0 28px;color:#526274;font-size:15.5px;line-height:1.58}
.as-success__close{
  background:#e63434;border:0;border-radius:999px;color:#fff;padding:13px 32px;
  font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;min-width:148px;
}
.as-success__close:hover{background:#c92d2d}
.as-success__close:focus-visible{outline:2px solid #55799a;outline-offset:4px}
@keyframes asSuccessFade{from{opacity:0}to{opacity:1}}
@keyframes asSuccessRise{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.as-success,.as-success__panel,main{animation:none!important}}

/* Safari: tema navy, mismo color que el encabezado. */
html{background:#0f1620!important}
body{background:#fff}

/* Color real de la primera superficie, para Safari al calcular su tinte. */
@media(max-width:1080px){
  body[data-page="inicio"] .site-head{
    background:#0f1620!important;
  }
  body[data-page="inicio"] .site-head::before{
    opacity:0!important;
  }
}

/* Identidad en menu movil abierto: conservar el logo principal visible. */
@media (max-width:1080px){
  body.nav-open .site-head .head-in .brand{
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:141!important;
    pointer-events:auto!important;
  }
  /* Evita dos marcas superpuestas: el logotipo visible es el del encabezado. */
  body.nav-open .drawer .drawer-top .brand{
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
