/* ============================================================
   Multimedia Perspectives — sistema base (tokens del Figma)
   ============================================================ */
@font-face{font-family:Montserrat;font-weight:300;font-style:normal;font-display:swap;src:url("fonts/montserrat-300.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-weight:400;font-style:normal;font-display:swap;src:url("fonts/montserrat-400.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-weight:500;font-style:normal;font-display:swap;src:url("fonts/montserrat-500.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-weight:600;font-style:normal;font-display:swap;src:url("fonts/montserrat-600.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-weight:700;font-style:normal;font-display:swap;src:url("fonts/montserrat-700.woff2") format("woff2")}

:root{
  --maxw:1512px;
  --gutter:clamp(24px,9.13vw,138px);   /* 138px sobre 1512 */
  --hero-indent:29%;                    /* contenido hero arranca en x≈453 */
  --top-h:104px;                        /* alto real barra superior (lo sincroniza el JS) */

  --red:#ff1b22;
  --dark:#09202e;
  --ink:#111;
  --ink-60:rgba(0,0,0,.6);
  --grey:#f1f1f1;
  --hairline:rgba(0,0,0,.15);
  --radius:25px;
  --radius-card:15px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:Montserrat,system-ui,sans-serif;color:var(--ink);
  background:#fff;font-weight:400;line-height:1.4;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}

/* Ancho de contenido estándar (gutter 138) */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- PÁGINA: contexto sticky que abarca toda la web ---------- */
.page{position:relative}

/* ================= CABECERA (dos partes sticky) ================= */
.bar{position:relative;background:#fff;z-index:2}
.bar-top{top:auto;z-index:31}
.bar-nav{top:auto;z-index:30}
.bar.stuck{box-shadow:0 2px 16px rgba(0,0,0,.06)}
.bar-inner{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.bar-top .bar-inner{padding-block:20px}
.bar-nav .bar-inner{padding-block:15px}

.menu-top{display:grid;grid-template-columns:var(--hero-indent) 1fr;align-items:center}
.brand{align-self:center;line-height:1;font-weight:700;font-size:24px;letter-spacing:-.01em}
.brand b{display:block;color:var(--ink);font-weight:700}
.brand span{display:block;color:var(--red);font-weight:700}
.top-utils{display:grid;grid-template-columns:auto auto auto 1fr auto auto;align-items:center;gap:clamp(14px,2vw,38px)}
.top-utils a.util{color:var(--red);font-weight:400;font-size:12px;white-space:nowrap}
.top-utils a.util:hover{opacity:.7}
.search{display:flex;align-items:center;gap:8px;justify-self:start;border:.5px solid var(--hairline);border-radius:20px;height:28px;padding:0 12px;width:197px;max-width:100%;color:var(--ink-60);background:#fff}
.search input{border:0;outline:0;background:transparent;font-family:inherit;font-size:12px;width:100%;color:var(--ink)}
.search svg{width:13px;height:13px;flex:none;opacity:.6}
.lang{display:flex;align-items:center;gap:6px;color:var(--dark);font-weight:300;font-size:12px;white-space:nowrap}
.lang .caret{width:6px;height:6px;border-right:1px solid var(--dark);border-bottom:1px solid var(--dark);transform:rotate(45deg);margin-bottom:3px}
.fagor{justify-self:end;display:flex;align-items:center;gap:6px;color:#000;font-weight:700;font-size:15px;letter-spacing:.02em}
.fagor small{font-weight:500;font-size:7px;letter-spacing:.08em;display:block;line-height:1}
.fagor .dot{width:26px;height:26px;border-radius:50%;background:#000;position:relative;overflow:hidden}
.fagor .dot::after{content:"";position:absolute;right:-2px;top:50%;width:16px;height:3px;background:#fff;transform:translateY(-50%) rotate(-20deg)}

.menu-bottom{display:grid;grid-template-columns:var(--hero-indent) 1fr}
.menu-bottom nav{grid-column:2;display:grid;grid-template-columns:auto auto auto auto auto 1fr;justify-items:start;gap:clamp(18px,3vw,54px);font-weight:500;font-size:15px}
.menu-bottom nav a{white-space:nowrap}
.menu-bottom nav a:last-child{justify-self:end}
.menu-bottom nav a:hover,.menu-bottom nav a.is-active{color:var(--red)}

/* nav = pie de la tarjeta en reposo; barra completa al anclarse */
.bar-nav:not(.stuck){background:transparent}
.bar-nav:not(.stuck) .bar-inner{background:#fff;width:95%;max-width:var(--maxw);border-radius:0 0 var(--radius) var(--radius);padding-inline:var(--gutter)}
.bar-nav.stuck .bar-inner{border-radius:0}

/* ================= HERO (tarjeta flotante) ================= */
.hero{position:relative;background:#1a1a1a center/cover no-repeat;padding:38px 38px 0}
.hero.hero--plain{background:#fff;padding:0}
.hero-wrap{max-width:var(--maxw);margin-inline:auto}
.hero-card{background:#fff;border-radius:var(--radius) var(--radius) 0 0;padding:34px clamp(24px,4vw,90px) 40px var(--gutter);min-height:640px;display:flex;flex-direction:column;position:relative}
.hero-body{display:grid;grid-template-columns:var(--hero-indent) 1fr;flex:1;padding-top:70px}
.hero-content{grid-column:2}
.eyebrow{font-weight:500;font-size:18px;margin:0 0 22px}
.h1{font-weight:500;font-size:clamp(40px,4.4vw,65px);line-height:1.02;letter-spacing:-.01em;margin:0 0 26px}
.lead{font-weight:300;font-size:clamp(18px,1.65vw,25px);line-height:1.42;margin:0 0 40px;max-width:60ch}

/* ================= BOTONES ================= */
.btn{display:inline-flex;align-items:center;gap:14px;border:1px solid currentColor;border-radius:10px;
  padding:16px 22px;font-weight:500;font-size:18px;line-height:1;background:transparent;cursor:pointer;transition:.15s}
.btn .arrow{width:24px;height:24px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex:none}
.btn .arrow::before{content:"→";font-size:13px;line-height:1}
.btn--ink{color:var(--ink)}
.btn--ink:hover{background:var(--ink);color:#fff}
.btn--red{color:var(--red)}
.btn--red:hover{background:var(--red);color:#fff}
.btn--white{color:#fff}
.btn--white:hover{background:#fff;color:var(--ink)}
.btn--sm{padding:12px 18px;font-size:16px}

/* ================= SECCIONES ================= */
.section{padding-block:clamp(56px,7vw,96px)}
.section .label{font-weight:500;font-size:18px;margin:0 0 clamp(56px,7vw,92px)}
.section .heading{font-weight:500;font-size:clamp(22px,2.2vw,32px);line-height:1.18;margin:0 0 22px;max-width:22ch}
.section p{font-weight:300;font-size:clamp(16px,1.35vw,20px);line-height:1.5;max-width:52ch;margin:0 0 16px}
.section--dark{background:#1a1a1a center/cover no-repeat;color:#fff;position:relative;isolation:isolate}
.section--dark::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.42) 65%);z-index:-1}
.section--dark>.wrap{position:relative;z-index:1}
.section--red{background:var(--red);color:#fff}
.section--grey{background:var(--grey)}
.section--dark .heading,.section--red .heading{font-weight:500}

/* rejilla contenido a la izquierda (como en la home: label + texto en columna izq) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}

/* tarjetas categoría CORE / NEXUS / SERVICE */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.cat-card{position:relative;border-radius:var(--radius-card);overflow:hidden;background:var(--grey);min-height:463px;padding:52px 34px;display:flex;flex-direction:column;color:#fff;isolation:isolate}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.28) 42%,rgba(0,0,0,.62));z-index:-1}
.cat-card .cat-media{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;z-index:-2}
.cat-card .cat-name{font-weight:500;font-size:30px;color:var(--red);margin:0 0 10px}
.cat-card .cat-sub{font-weight:300;font-size:20px;color:#fff}
.cat-card .cat-cta{margin-top:auto}

/* ================= FOOTER (PIE) ================= */
.footer{background:var(--grey);color:var(--ink)}
.footer .wrap{padding-block:54px 40px}
.footer .foot-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:26px;border-bottom:1px solid var(--hairline)}
.footer .foot-brand{font-weight:700;font-size:22px;line-height:1}
.footer .foot-brand b{color:var(--ink)}.footer .foot-brand span{color:var(--red)}
.footer .foot-fagor{color:#000}
.footer .foot-cols{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:40px;padding:38px 0 44px}
.footer .flabel{font-weight:500;font-size:13px;color:var(--ink-60);margin:0 0 8px}
.footer .fphone{font-weight:500;font-size:22px;margin:0}
.footer .fline{font-weight:500;font-size:17px;margin:0 0 2px}
.footer .fred{font-weight:400;font-size:17px;color:var(--red)}
.footer .socials{display:flex;gap:12px;margin-top:12px}
.footer .socials a{width:32px;height:32px;border:1px solid var(--hairline);border-radius:50%;display:grid;place-items:center;color:var(--ink)}
.footer .socials svg{width:15px;height:15px}
.footer .foot-legal{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--hairline);padding-top:24px;font-weight:500;font-size:13px;flex-wrap:wrap}
.footer .foot-legal .spacer-r{display:flex;gap:28px}
.footer .foot-legal a:hover{color:var(--red)}

/* ================= UTILIDADES ================= */
.muted{color:var(--ink-60)}
.text-red{color:var(--red)}
.mt-auto{margin-top:auto}

@media (max-width:980px){
  :root{--hero-indent:0px}
  .menu-top{grid-template-columns:1fr;gap:16px}
  .top-utils{grid-template-columns:1fr;gap:12px;justify-items:start}
  .fagor{justify-self:start}
  .menu-bottom{grid-template-columns:1fr}
  .menu-bottom nav{grid-column:1;grid-template-columns:1fr;gap:12px}
  .menu-bottom nav a:last-child{justify-self:start}
  .bar{position:static}
  .bar-nav:not(.stuck) .bar-inner{width:auto;border-radius:0}
  .hero{padding:16px 16px 0}
  .hero-card{padding-left:24px;padding-right:24px}
  .hero-body{grid-template-columns:1fr;padding-top:32px}
  .hero-content{grid-column:1}
  .split,.cat-grid{grid-template-columns:1fr}
  .footer .foot-top{grid-template-columns:1fr}
}

/* ============================================================
   COMPONENTES DE PÁGINA (hero, statement, tarjetas, form, docs)
   ============================================================ */
/* --- Hero de página (panel + media) --- */
.phero{background:#fff;padding:44px 0 56px}
.phero--dark{background:#0e0e10}
.phero>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.phero .col-left{display:flex;flex-direction:column}
.phero-eyebrow{font-weight:500;font-size:18px;max-width:34ch;margin:0 0 26px;line-height:1.35;color:var(--ink)}
.phero--dark .phero-eyebrow{color:#fff}
.phero-panel{border-radius:21px;padding:56px 52px;display:flex;flex-direction:column;flex:1}
.phero-panel--red{background:var(--red);color:#fff}
.phero-panel--grey{background:var(--grey);color:var(--ink)}
.phero-panel h1{font-weight:600;font-size:clamp(32px,3.5vw,50px);line-height:1.05;letter-spacing:-.01em;margin:0 0 28px}
.phero-panel .sub{font-weight:400;font-size:clamp(20px,2vw,30px);line-height:1.18;margin:0;max-width:17ch}
.phero-media{border-radius:21px;background:#1a1a1a center/cover;min-height:560px;position:relative;padding:40px 42px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.phero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.12) 40%,rgba(0,0,0,.55))}
.phero-media>*{position:relative;z-index:1}
.phero-media .t{font-weight:500;font-size:18px;max-width:20ch;margin:0}
.phero-media .b{font-weight:400;font-size:18px;max-width:34ch;margin:0;line-height:1.4}
/* Hero full-bleed (Downloads) */
.phero--full{padding:0}
.phero--full .fbleed{position:relative;min-height:520px;border-radius:0;background:#111 center/cover;color:#fff;display:flex;align-items:center;overflow:hidden}
.phero--full .fbleed::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.35))}
.phero--full .fbleed .inner{position:relative;z-index:1}
.phero--full .fbleed .eye{font-weight:500;font-size:18px;margin:0 0 26px}
.phero--full .fbleed h1{font-weight:600;font-size:clamp(34px,3.6vw,50px);line-height:1.06;margin:0 0 26px}
.phero--full .fbleed p{font-weight:400;font-size:clamp(20px,1.9vw,30px);line-height:1.25;max-width:26ch;margin:0}

/* --- Statement centrado --- */
.statement{text-align:center;padding:clamp(70px,9vw,128px) var(--gutter)}
.statement h2{font-weight:400;font-size:clamp(36px,4vw,60px);letter-spacing:-.01em;margin:0 0 24px;line-height:1.05}
.statement p{font-weight:300;font-size:clamp(16px,1.4vw,20px);max-width:76ch;margin:0 auto;line-height:1.5}

/* --- Tarjeta de imagen genérica --- */
.imgcard{position:relative;border-radius:35px;overflow:hidden;background:#1a1a1a center/cover;color:#fff;padding:60px 58px;isolation:isolate}
.imgcard::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.42));z-index:-1}
.imgcard .clabel{font-weight:500;font-size:18px;margin:0 0 40px}
.card2{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1130px}
.card2 p{font-size:clamp(18px,1.6vw,25px);line-height:1.3;margin:0}
.card2 .strong{font-weight:500}.card2 .light{font-weight:300}

/* --- Dúo de tarjetas centradas (INSTALA/DISTRIBUYE) --- */
.duo{display:grid;grid-template-columns:395px 395px;gap:60px;justify-content:center}
.duo .tile{border-radius:20px;min-height:399px;background:#1a1a1a center/cover;position:relative;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;isolation:isolate}
.duo .tile::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42);z-index:-1}
.duo .tile b{font-weight:500;font-size:25px;line-height:1.2;max-width:12ch}

/* --- Formulario --- */
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.field{display:flex;flex-direction:column}
.field.full{grid-column:1/-1}
.field label{font-weight:500;font-size:14px;color:var(--ink-60);margin:0 0 8px}
.field input,.field textarea,.field select{border:1px solid var(--hairline);border-radius:10px;padding:15px 18px;font-family:inherit;font-size:16px;background:#fff;color:var(--ink);outline:0;width:100%}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red)}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;flex-wrap:wrap}
.consent{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ink)}
.consent input{width:20px;height:20px;accent-color:var(--red)}

/* --- Directorio de contactos --- */
.dir{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 60px}
.dir h4{font-weight:600;font-size:18px;color:var(--red);margin:0 0 14px}
.dir .row{font-size:16px;line-height:1.5;margin:0 0 4px}
.dir .k{color:var(--red);font-weight:500}
.seg{display:inline-flex;background:#e6e6e6;border-radius:12px;padding:5px;gap:4px;margin-bottom:40px}
.seg button{border:0;background:transparent;font-family:inherit;font-weight:600;font-size:16px;color:var(--ink-60);padding:9px 26px;border-radius:9px;cursor:pointer}
.seg button.on{background:#fff;color:var(--red);box-shadow:0 1px 4px rgba(0,0,0,.08)}

/* --- Listado de documentos (Downloads) --- */
.doc-cols{display:grid;grid-template-columns:1fr 1fr;gap:60px 90px}
.doc-group h3{font-weight:500;font-size:18px;color:var(--dark);margin:0 0 22px}
.doc-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--hairline);font-weight:500;font-size:18px}
.doc-item .ico{width:22px;height:22px;flex:none;color:var(--red)}
.doc-item a{margin-left:auto;color:var(--ink-60);display:inline-flex}
.tabs-center{display:flex;justify-content:center;margin-bottom:44px}

@media(max-width:980px){
  .phero>.wrap{grid-template-columns:1fr}
  .phero-media{min-height:340px}
  .form-grid{grid-template-columns:1fr}
  .dir,.doc-cols,.card2{grid-template-columns:1fr}
  .duo{grid-template-columns:1fr;justify-content:stretch}
}

/* ============ SECTORES ============ */
.crumb{font-weight:500;font-size:12px;color:var(--ink-60);padding-top:8px}
.shero .col-right{display:flex;flex-direction:column;gap:16px}
.shero-img{border-radius:21px;height:280px;background:#afafaf center/cover;flex:none}
.shero-note{border-radius:21px;background:#1a1a1a center/cover;color:#fff;padding:34px 36px;flex:1;position:relative;isolation:isolate;overflow:hidden}
.shero-note--img::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.5));z-index:-1}
.shero-note h3{font-weight:500;font-size:24px;margin:0 0 16px;line-height:1.15}
.shero-note p{font-weight:400;font-size:18px;line-height:1.4;margin:0}
.stair{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.stair .tile{border-radius:20px;min-height:398px;background:#1a1a1a center/cover;position:relative;display:flex;align-items:flex-start;padding:34px;color:#fff;isolation:isolate}
.stair .tile::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38);z-index:-1}
.stair .tile b{font-weight:500;font-size:25px;line-height:1.15;max-width:12ch}
.stair .t1{grid-column:1;grid-row:1}.stair .t2{grid-column:2;grid-row:1}
.stair .t3{grid-column:2;grid-row:2}.stair .t4{grid-column:3;grid-row:2}
.sectorlist{background:var(--red);color:#fff}
.sectorlist .lead{font-weight:500;font-size:18px;margin:0 0 40px}
.sectorlist .lead b{font-weight:600}
.sectorlist ul{list-style:none;margin:0;padding:0;max-width:100%}
.sectorlist li a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.35);font-weight:500;font-size:clamp(15px,1.5vw,18px);color:#fff;text-transform:uppercase;letter-spacing:.02em}
.sectorlist li a .arw{width:26px;height:26px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:12px;flex:none}
.sectorlist li a:hover{padding-left:6px;transition:.15s}
/* staircase + icon */
.stair .tile .plus{position:absolute;left:26px;bottom:22px;width:28px;height:28px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:15px}
.ctacard{position:relative;border-radius:47px;overflow:hidden;padding:clamp(48px,6vw,80px) clamp(32px,5vw,70px);background:#f1f1f1 center/cover;isolation:isolate}
.ctacard::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(241,241,241,.85),rgba(241,241,241,.2) 55%,transparent);z-index:-1}
.ctacard>*{position:relative;z-index:1}
.ctacard h2{font-weight:500;font-size:clamp(26px,3vw,40px);line-height:1.12;margin:0 0 30px;max-width:22ch}
@media(max-width:980px){.stair{grid-template-columns:1fr}.stair .tile{grid-column:1!important;grid-row:auto!important;min-height:240px}.sectorlist ul{max-width:100%}}

/* def-list "¿Por qué…?" / "Beneficios clave" */
.deflist .drow{display:grid;grid-template-columns:1fr 1.35fr;gap:40px;padding:22px 0;border-bottom:1px solid var(--hairline);align-items:start}
.deflist .term{font-weight:500;font-size:20px;margin:0}
.deflist .desc{font-weight:300;font-size:18px;color:var(--dark);margin:0;line-height:1.45}
/* sector landing cards */
.seccards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.seccard{position:relative;border-radius:20px;overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:36px;color:#fff;isolation:isolate;background:#1a1a1a center/cover}
.seccard::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.7));z-index:-1}
.seccard h3{font-weight:600;font-size:28px;margin:0 0 8px}
.seccard p{font-weight:300;font-size:16px;margin:0 0 18px;max-width:26ch}
@media(max-width:980px){.deflist .drow{grid-template-columns:1fr;gap:6px}.seccards{grid-template-columns:1fr}}

/* ============ SOLUCIONES (catálogo/landing) ============ */
.searchbar{display:flex;gap:14px;margin:0 0 60px}
.searchbar input{flex:1;border:1px solid var(--hairline);border-radius:12px;padding:16px 20px;font-family:inherit;font-size:18px;color:var(--ink);background:#fff}
.searchbar input::placeholder{color:rgba(9,32,46,.35)}
.searchbar input:focus{outline:0;border-color:var(--red)}
.solgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px}
.solcell{display:flex;flex-direction:column}
.solcell .thumb{border-radius:15px;height:300px;background:#e9e9e9 center/cover;margin-bottom:22px;transition:.2s}
.solcell:hover .thumb{transform:translateY(-4px)}
.solcell h3{font-weight:500;font-size:clamp(24px,2.4vw,30px);color:var(--red);margin:0 0 10px}
.solcell p{font-weight:300;font-size:clamp(17px,1.6vw,20px);color:var(--dark);line-height:1.35;margin:0}
@media(max-width:980px){.solgrid{grid-template-columns:1fr}.searchbar{flex-wrap:wrap}}

/* ============ SUBSECTOR (Terciario) ============ */
.subintro{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.subintro .k{font-weight:500;font-size:18px;margin:0 0 20px}
.subintro .body{font-weight:500;font-size:clamp(18px,1.7vw,20px);line-height:1.55;max-width:52ch}
.subintro .media{border-radius:20px;min-height:360px;background:#1a1a1a center/cover}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.case .ph{border-radius:20px;height:300px;background:#1a1a1a center/cover;margin-bottom:20px}
.case h3{font-weight:500;font-size:clamp(22px,2.2vw,30px);color:var(--red);margin:0 0 10px;line-height:1.1}
.case p{font-weight:300;font-size:18px;color:var(--dark);line-height:1.45;margin:0;max-width:46ch}
.cta-btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
@media(max-width:980px){.subintro,.cases{grid-template-columns:1fr}}

/* ============ LISTADOS (Case Studies / Actualidad) ============ */
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}
.chip{border:1px solid var(--hairline);border-radius:22px;padding:9px 18px;font-weight:500;font-size:15px;color:var(--red);background:#fff;cursor:pointer;transition:.15s}
.chip.on,.chip:hover{background:var(--red);color:#fff;border-color:var(--red)}
.cardgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.ncard{display:flex;flex-direction:column}
.ncard .ph{border-radius:20px;height:320px;background:#1a1a1a center/cover;margin-bottom:20px}
.ncard .date{font-weight:500;font-size:16px;color:var(--red);margin:0 0 10px}
.ncard h3{font-weight:500;font-size:clamp(19px,1.9vw,28px);line-height:1.18;margin:0 0 8px}
.ncard p{font-weight:300;font-size:17px;color:var(--dark);margin:0;max-width:46ch;line-height:1.45}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:20px}
.pillar h3{font-weight:500;font-size:clamp(20px,2vw,25px);margin:0 0 10px}
.pillar p{font-weight:300;font-size:18px;color:var(--dark);margin:0;line-height:1.45}
@media(max-width:980px){.cardgrid,.pillars{grid-template-columns:1fr}}

/* ============ DETALLE (artículo / caso) ============ */
.article-hero{border-radius:25px;height:clamp(280px,38vw,470px);background:#1a1a1a center/cover;margin:22px 0 50px}
.article-title{font-weight:600;font-size:clamp(30px,4vw,45px);line-height:1.05;margin:0 0 12px;max-width:26ch}
.article-title.red{color:var(--red)}
.case-location{font-weight:600;font-size:clamp(22px,2.4vw,30px);line-height:1.1;color:var(--ink);margin:0 0 30px}
.article-meta{font-weight:500;font-size:16px;color:var(--red);margin:0 0 8px}
.article-2col{column-count:2;column-gap:60px;max-width:none}
.article-2col p{font-weight:400;font-size:18px;line-height:1.6;margin:0 0 14px;break-inside:avoid}
@media(max-width:980px){.article-2col{grid-template-columns:1fr}}

/* ============ CATÁLOGO CORE (productos / ficha) ============ */
.catalog{display:grid;grid-template-columns:250px 1fr;gap:48px;align-items:start}
.cat-nav .cat{font-weight:600;font-size:18px;padding:13px 0;border-bottom:1px solid var(--hairline);color:var(--ink)}
.cat-nav .cat.on{color:var(--red)}
.cat-nav .sub{display:flex;flex-direction:column;padding:8px 0 16px}
.cat-nav .sub a{font-weight:500;font-size:16px;padding:8px 0;color:var(--ink)}
.cat-nav .sub a.on,.cat-nav .sub a:hover{color:var(--red)}
.prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.prod{display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:16px;overflow:hidden;transition:.15s;background:#fff}
.prod:hover{box-shadow:0 10px 32px rgba(0,0,0,.08);transform:translateY(-3px)}
.prod .pimg{height:220px;background:#f6f6f6 center/cover}
.prod .pbody{padding:18px 20px 22px}
.prod .pseries{font-weight:500;font-size:12px;color:var(--red);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}
.prod h3{font-weight:600;font-size:20px;margin:0 0 4px}
.prod p{font-weight:300;font-size:14px;color:var(--dark);margin:0}
.pd{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.pd-img{border-radius:20px;background:#f6f6f6 center/cover;min-height:460px}
.pd-label{font-weight:600;font-size:18px;color:var(--red);margin:0}
.pd-model{font-weight:200;font-size:clamp(48px,7vw,80px);line-height:1;margin:6px 0}
.pd-rows{display:flex;gap:70px;margin:18px 0 6px}
.pd-rows .k{font-weight:600;color:var(--red);font-size:16px;margin:0 0 4px}
.pd-rows .v{font-weight:300;font-size:20px;margin:0}
.pd-desc{font-weight:600;font-size:16px;margin:18px 0 34px}
.pd-docs h4{font-weight:600;font-size:18px;color:var(--red);margin:0 0 8px}
.pd-doc{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--hairline);font-weight:500;font-size:16px}
.pd-doc .ico{color:var(--red)}
.pd-doc a{margin-left:auto;color:var(--ink-60)}
@media(max-width:980px){.catalog,.pd{grid-template-columns:1fr}.prodgrid{grid-template-columns:1fr 1fr}}

/* ============ CATÁLOGO generado (Excel) ============ */
.cat-h{font-weight:600;font-size:clamp(22px,2.4vw,30px);margin:44px 0 22px;color:var(--ink)}
.cat-h:first-child{margin-top:0}
.prodgrid{margin-bottom:20px}
.prod .pimg.ph,.pd-img.ph{background:#f2f2f2;display:grid;place-items:center;color:#9aa;font-size:13px}
.pbadge{position:absolute;top:12px;left:12px;z-index:2;background:#111;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px}
.langsw{display:inline-flex;gap:4px;border:1px solid var(--hairline);border-radius:20px;padding:4px}
.langsw .lsw{font-weight:600;font-size:13px;color:var(--ink-60);padding:5px 11px;border-radius:16px}
.langsw .lsw.on{background:var(--red);color:#fff}
.langsw .lsw:hover{color:var(--red)}
.langsw .lsw.on:hover{color:#fff}

/* Directorio internacional (países por región) */
.dir--countries .row{font-size:16px;line-height:1.7;color:var(--ink)}
/* Core Productos-2: árbol expandido + rejilla de miniaturas */
.cat-nav .ser{display:flex;flex-direction:column;padding:2px 0 12px 10px}
.cat-nav .ser a{font-size:12px;color:var(--ink-60);padding:6px 0;text-transform:uppercase;letter-spacing:.03em}
.cat-nav .ser a.on,.cat-nav .ser a:hover{color:var(--red)}
.thumbgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.thumb-tile{aspect-ratio:1;background:#f6f6f6;border:1px solid var(--hairline);border-radius:12px;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;color:var(--ink);font-size:13px;font-weight:600;transition:.15s}
.thumb-tile:hover{box-shadow:0 8px 26px rgba(0,0,0,.08);transform:translateY(-3px)}
.thumb-tile span{font-weight:400;font-size:11px;color:var(--ink-60)}
@media(max-width:980px){.thumbgrid{grid-template-columns:repeat(2,1fr)}}

/* ============ HOME (fiel a referencia) ============ */
.home-equipo{position:relative;overflow:hidden}
.home-equipo .swirl{position:absolute;top:0;right:0;height:100%;width:52%;background:center right/cover no-repeat;pointer-events:none}
.home-equipo .wrap{position:relative;z-index:1}
/* banda expansión + tarjetas solapadas */
.home-exp{background:var(--red);color:#fff;padding-top:clamp(56px,7vw,90px);padding-bottom:clamp(120px,16vw,220px)}
.home-cards{max-width:var(--maxw);margin:clamp(-100px,-13vw,-180px) auto 0;padding-inline:var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative;z-index:2}
.hcard{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.12);display:flex;flex-direction:column}
.hcard .hcard-txt{padding:30px 28px 22px}
.hcard .hcard-title{font-weight:600;font-size:22px;line-height:1.1;margin:0 0 10px}
.hcard .hcard-title b{color:var(--red);font-weight:600;display:block}
.hcard .hcard-title span{color:var(--ink);font-weight:600;display:block}
.hcard .hcard-desc{font-weight:300;font-size:16px;color:var(--dark);margin:0;line-height:1.4}
.hcard .hcard-img{height:210px;background:#1a1a1a center/cover;margin:0 12px 12px;border-radius:12px;position:relative}
.hcard .hcard-img .play{position:absolute;left:16px;bottom:14px;width:26px;height:26px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px}
@media(max-width:980px){.home-cards{grid-template-columns:1fr;margin-top:-80px}}

/* Contacto: segmentado ancho + mapa España + Talento */
.seg--wide{display:grid;grid-template-columns:1fr 1fr;background:#e6e6e6;border-radius:12px;padding:6px;gap:6px;width:100%;margin-bottom:44px}
.seg--wide button{border:0;background:transparent;font-family:inherit;font-weight:600;font-size:16px;color:var(--ink-60);padding:12px;border-radius:9px;cursor:pointer}
.seg--wide button.on{background:#fff;color:var(--red);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.dir6{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 60px}
.spain-map{display:grid;place-items:center;margin:30px 0}
.spain-map img{width:100%;max-width:520px;height:auto}
.talento-card{position:relative;border-radius:35px;overflow:hidden;background:#1a1a1a center/cover;color:#fff;padding:60px 58px;min-height:360px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.talento-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.3));z-index:-1}
.talento-card h2{font-weight:500;font-size:clamp(26px,3vw,35px);margin:0 0 4px}
.talento-card h2 b{font-weight:700}
.talento-card .sub{font-weight:500;font-size:clamp(20px,2vw,25px);margin:0 0 16px}
.talento-card p{font-weight:400;font-size:18px;max-width:40ch;margin:0 0 24px}
@media(max-width:980px){.dir6{grid-template-columns:1fr}}

/* Descargas: icono descarga círculo rojo + headings centrados */
.doc-item a{margin-left:auto;width:26px;height:26px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:13px}
.doc-item .ico{color:var(--ink-60)}
.sec-head{text-align:center;font-weight:600;font-size:18px;color:var(--red);margin:0 0 44px}
.dl-cta{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.dl-cta h2{font-weight:500;font-size:clamp(26px,3vw,36px);line-height:1.1;margin:0 0 24px;max-width:20ch}
.dl-headset{justify-self:center;width:min(240px,80%);color:var(--red)}
@media(max-width:980px){.dl-cta{grid-template-columns:1fr}}

/* Soluciones landing: tarjeta de categoría (título arriba, imagen abajo) */
.solcards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.solcard{background:#f4f4f4;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.15s}
.solcard:hover{box-shadow:0 12px 34px rgba(0,0,0,.09);transform:translateY(-3px)}
.solcard .txt{padding:26px 26px 16px}
.solcard .t{font-weight:600;font-size:clamp(20px,2vw,24px);line-height:1.08;margin:0 0 10px}
.solcard .t b{color:var(--red);display:block;font-weight:600}
.solcard .t span{color:var(--ink);display:block;font-weight:600}
.solcard .d{font-weight:300;font-size:15px;color:var(--dark);margin:0;line-height:1.4}
.solcard .cimg{height:200px;background:#1a1a1a center/cover;margin:auto 12px 12px;border-radius:12px;position:relative}
.solcard .cimg .play{position:absolute;left:14px;bottom:12px;width:26px;height:26px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px}
@media(max-width:980px){.solcards{grid-template-columns:1fr}}

/* Case Studies: pilares con icono + tarjetas caso (título arriba, imagen abajo) */
.pillars-ic{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;text-align:center;margin-top:10px}
.pillars-ic .pic{width:70px;height:70px;margin:0 auto 18px;color:var(--ink)}
.pillars-ic h3{font-weight:500;font-size:20px;margin:0;line-height:1.2}
.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.cs-card{background:#f4f4f4;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.cs-card .txt{padding:26px 28px 16px}
.cs-card h3{font-weight:600;font-size:clamp(18px,1.8vw,22px);color:var(--red);line-height:1.1;margin:0 0 2px}
.cs-card .loc{font-weight:600;font-size:15px;color:var(--ink);margin:0 0 12px}
.cs-card p{font-weight:300;font-size:15px;color:var(--dark);margin:0;line-height:1.45}
.cs-card .cimg{height:170px;background:#1a1a1a center/cover;margin:auto 12px 12px;border-radius:12px;position:relative}
.cs-card .cimg .play{position:absolute;left:14px;bottom:12px;width:24px;height:24px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px}
@media(max-width:980px){.pillars-ic,.cs-grid{grid-template-columns:1fr}}

/* Actualidad: tarjeta noticia (fecha+título arriba, imagen abajo) + nota */
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.ncard2{background:#f4f4f4;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.15s}
.ncard2:hover{box-shadow:0 12px 34px rgba(0,0,0,.09);transform:translateY(-3px)}
.ncard2 .txt{padding:24px 28px 14px}
.ncard2 .date{font-weight:500;font-size:14px;color:var(--red);margin:0 0 10px}
.ncard2 h3{font-weight:500;font-size:clamp(16px,1.6vw,19px);line-height:1.22;margin:0;text-transform:uppercase;letter-spacing:.01em}
.ncard2 .cimg{height:170px;background:#1a1a1a center/cover;margin:auto 12px 12px;border-radius:12px;position:relative}
.ncard2 .cimg .play{position:absolute;left:14px;bottom:12px;width:24px;height:24px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px}
.filtro-note{width:120px;height:120px;border-radius:50%;background:#ffe600;color:#111;display:grid;place-items:center;text-align:center;font-weight:600;font-size:14px;padding:16px;line-height:1.15;flex:none}
@media(max-width:980px){.news-grid{grid-template-columns:1fr}}

/* Logo FAGOR oficial */
.fagor-logo{justify-self:end;height:26px;width:auto;display:block}
.footer .fagor-logo{height:36px}
.footer .fagor-link{display:block;line-height:0}

/* Logo Multimedia Perspectives oficial */
.brand-logo{height:40px;width:auto;display:block}
.footer .brand-logo{height:54px}
@media(max-width:980px){.brand-logo{height:34px}}

/* ============================================================
   PULIDO GLOBAL (detalle)
   ============================================================ */
html{scroll-behavior:smooth}
::selection{background:var(--red);color:#fff}
.shero-note{position:relative;isolation:isolate}
.shero-note h3,.shero-note p{text-shadow:0 1px 10px rgba(0,0,0,.12)}
.shero-note[style*="#fff"] h3,.shero-note[style*="#f1f1f1"] h3,.shero-note[style*="#fff"] p,.shero-note[style*="#f1f1f1"] p{text-shadow:none}

/* Foco accesible visible y consistente */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,.chip:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
a,button,.chip,.solcard,.hcard,.cs-card,.ncard2,.prod,.seccard,.tile,.duo .tile,.stair .tile{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .22s ease,transform .22s ease,opacity .18s ease}

/* Botones: micro-animación de la flecha al hover */
.btn{will-change:transform}
.btn .arrow{transition:transform .2s ease}
.btn:hover .arrow{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}

/* Enlaces de nav: subrayado animado bajo el activo/hover */
.menu-bottom nav a{position:relative;padding-bottom:2px}
.menu-bottom nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--red);transition:right .22s ease}
.menu-bottom nav a:hover::after,.menu-bottom nav a.is-active::after{right:0}

/* Tarjetas: sombra/elevación uniforme al hover */
.solcard:hover,.hcard:hover,.cs-card:hover,.ncard2:hover,.prod:hover,.seccard:hover{box-shadow:0 14px 40px rgba(9,32,46,.10);transform:translateY(-4px)}
.tile:hover,.stair .tile:hover,.duo .tile:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,.18)}
.tile,.stair .tile,.duo .tile{overflow:hidden}
.tile [style*="background-image"],.cimg,.ph,.pimg,.shero-img,.phero-media{will-change:transform}

/* Zoom sutil de imagen en tarjetas de imagen al hover */
.solcard .cimg,.hcard .hcard-img,.cs-card .cimg,.ncard2 .cimg{overflow:hidden}
.solcard .cimg,.hcard .hcard-img,.cs-card .cimg,.ncard2 .cimg{background-size:cover;transition:transform .4s ease}
.solcard:hover .cimg,.hcard:hover .hcard-img,.cs-card:hover .cimg,.ncard2:hover .cimg{transform:scale(1.03)}

/* Enlaces de texto rojos (utils, footer legal, list) hover suave */
.top-utils a.util:hover,.footer a:hover,.doc-item a:hover{opacity:.75}
.doc-item{transition:border-color .18s ease}
.doc-item:hover{border-color:var(--ink-60)}

/* Inputs/formulario: foco de marca */
.field input:focus,.field textarea:focus,.field select:focus,.search:focus-within,.searchbar input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,27,34,.12)}
.search:focus-within{outline:none}

/* Respeta reduce-motion */
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ============================================================
   HOME — cabecera dentro de la tarjeta flotante (fiel al XD)
   ============================================================ */
.home-aerial{position:absolute;top:0;left:0;right:0;height:min(1040px,104vh);background:center/cover no-repeat;z-index:0}
/* stack blanco flotante = bar-top + hero-card + bar-nav, misma anchura, sobre la aérea */
.bar--float{background:transparent;position:relative}
.bar--float .bar-inner{width:min(1512px,calc(100% - 100px));max-width:none;margin-inline:auto;background:#fff;padding-inline:clamp(30px,4.2vw,70px)}
.bar--float.bar-top{margin-top:44px;z-index:31}
.bar--float.bar-top:not(.stuck) .bar-inner{border-radius:25px 25px 0 0}
.bar--float.bar-nav:not(.stuck){background:transparent}
.bar--float.bar-nav:not(.stuck) .bar-inner{width:min(1512px,calc(100% - 100px));border-radius:0 0 25px 25px;padding-inline:clamp(30px,4.2vw,70px)}
/* al anclarse -> barra a todo el ancho */
.bar--float.stuck{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.bar--float.stuck .bar-inner{width:100%;max-width:var(--maxw);border-radius:0;background:transparent;padding-inline:var(--gutter)}
/* hero home: transparente, la aérea la pone .home-aerial; tarjeta sin radios (los ponen las barras) */
.hero--home{background:transparent;padding:0;position:relative;z-index:1}
.hero--home .hero-wrap{width:min(1512px,calc(100% - 100px));max-width:none;margin-inline:auto}
.hero--home .hero-card{border-radius:0;position:relative;z-index:1;padding:44px clamp(30px,4.2vw,70px) 48px clamp(30px,4.2vw,70px);min-height:560px}


/* ============ MENÚ EN BLOQUE (fijo, aparece tras el hero) ============ */
.menu-block{position:fixed;top:0;left:0;right:0;z-index:200;background:#fff;box-shadow:0 2px 18px rgba(0,0,0,.08);transform:translateY(-100%);transition:transform .3s ease;will-change:transform}
.menu-block.show{transform:translateY(0)}
.mb-inner{max-width:var(--maxw);margin-inline:auto;padding:14px var(--gutter);display:flex;align-items:center;gap:clamp(16px,2.4vw,40px)}
.mb-brand{flex:none;display:block}
.menu-block .brand-logo{height:30px}
.mb-nav{display:flex;gap:clamp(16px,2.4vw,40px);font-weight:500;font-size:15px;margin-left:clamp(10px,2vw,40px)}
.mb-nav a{position:relative;white-space:nowrap}
.mb-nav a:hover,.mb-nav a.is-active{color:var(--red)}
.mb-right{margin-left:auto;display:flex;align-items:center;gap:20px}
.menu-block .fagor-logo{height:22px}
@media(max-width:980px){.mb-nav{display:none}}

/* ============================================================
   HOME — tarjeta única centrada, imagen enmarcando por igual
   ============================================================ */
.home-aerial{display:none}
.hero--home{background:#1a1a1a center/cover no-repeat;padding:clamp(26px,3vw,48px);position:relative;z-index:1}
.hero--home .hero-wrap{max-width:var(--maxw);width:100%;margin-inline:auto}
.hero--home .hero-card{background:#fff;border-radius:28px;border:0;padding:clamp(30px,3vw,46px) clamp(36px,4.6vw,84px) clamp(34px,3.4vw,52px);min-height:min(80vh,780px);display:flex;flex-direction:column}
/* menú superior dentro de la tarjeta */
.hero--home .menu-top{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:40px}
.hero--home .top-utils{display:grid;grid-template-columns:auto auto auto 1fr auto auto;align-items:center;gap:clamp(14px,2vw,34px);justify-items:start}
.hero--home .fagor-logo{justify-self:end}
/* cuerpo hero centrado con indent */
.hero--home .hero-body{flex:1;display:grid;grid-template-columns:var(--hero-indent) 1fr;align-content:center;padding-block:clamp(24px,4vw,56px)}
.hero--home .hero-content{grid-column:2}
/* nav inferior dentro de la tarjeta, alineada bajo el contenido */
.hero--home .menu-bottom{display:grid;grid-template-columns:var(--hero-indent) 1fr;padding-top:clamp(10px,1.5vw,20px)}
.hero--home .menu-bottom nav{grid-column:2;display:grid;grid-template-columns:repeat(5,auto) 1fr;justify-items:start;gap:clamp(18px,3vw,54px);font-weight:500;font-size:15px}
.hero--home .menu-bottom nav a:last-child{justify-self:end}
@media(max-width:980px){
  .hero--home .menu-top{grid-template-columns:1fr;gap:16px}
  .hero--home .top-utils{grid-template-columns:1fr;gap:12px}
  .hero--home .hero-body,.hero--home .menu-bottom{grid-template-columns:1fr}
  .hero--home .menu-bottom nav{grid-column:1;grid-template-columns:1fr;gap:12px}
}

/* Botón texto oscuro + flecha roja (Conócenos) */
.btn--arrow-red .arrow{border-color:var(--red);color:var(--red)}
.btn--arrow-red:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--arrow-red:hover .arrow{border-color:#fff;color:#fff}
/* Buscador rectangular con lupa a la derecha (como el XD) */
.search{border-radius:8px;height:38px;padding:0 14px}
.search svg{order:2;margin-left:auto;margin-right:0}
.search input{order:1}

/* ============================================================
   HOME — ajustes finos (revisión crítica)
   ============================================================ */
/* 6) el hero ocupa toda la ventana; la tarjeta rellena dejando marco uniforme */
.hero--home{min-height:100vh;display:flex;align-items:stretch;padding:clamp(22px,2.3vw,40px)}
.hero--home .hero-wrap{flex:1;display:flex;max-width:var(--maxw);margin-inline:auto;width:100%}
.hero--home .hero-card{flex:1;min-height:auto;border-radius:26px;display:flex;flex-direction:column;padding:clamp(30px,3vw,48px) clamp(40px,4.6vw,88px)}
/* 1) Descargas alineado con el contenido (utils en la columna del indent) */
.hero--home .menu-top{grid-template-columns:var(--hero-indent) 1fr;gap:0;align-items:center}
.hero--home .top-utils{grid-column:2;grid-template-columns:auto auto auto minmax(160px,1fr) auto auto;align-items:center;gap:clamp(16px,1.8vw,30px)}
/* 7) logos más grandes en el hero */
.hero--home .brand-logo{height:54px}
.hero--home .fagor-logo{height:36px;justify-self:end}
/* 4) menú inferior: separación uniforme */
.hero--home .menu-bottom nav{display:flex;justify-content:space-between;gap:20px;grid-template-columns:none}
.hero--home .menu-bottom nav a:last-child{justify-self:auto}

/* 2) buscador en píldora (bordes laterales circulares), lupa a la derecha */
.search{border-radius:999px;height:42px;padding:0 20px;width:230px}
.search svg{order:2;margin-left:auto}
.search input{order:1}

/* 5) botón Conócenos: borde rojo, flecha roja; hover -> rojo */
.btn--hero-cta{color:var(--ink);border-color:var(--red)}
.btn--hero-cta .arrow{border-color:var(--red);color:var(--red)}
.btn--hero-cta:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn--hero-cta:hover .arrow{border-color:#fff;color:#fff}

/* 3) selector de idioma desplegable */
.lang{position:relative;display:inline-block}
.lang .lang-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;cursor:pointer;font-family:inherit;color:var(--dark);font-weight:300;font-size:12px}
.lang .lang-menu{position:absolute;top:calc(100% + 10px);right:0;background:#fff;border:1px solid var(--hairline);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:6px;min-width:78px;display:none;z-index:300}
.lang.open .lang-menu{display:block}
.lang .lang-menu a{display:block;padding:8px 14px;border-radius:6px;font-weight:500;font-size:13px;color:var(--ink)}
.lang .lang-menu a.on{color:var(--red)}
.lang .lang-menu a:hover{background:var(--grey)}

/* ============ MENÚ EN BLOQUE — dos filas (fiel a MENU.svg) ============ */
.menu-block .mb-inner{max-width:var(--maxw);margin-inline:auto;padding:16px var(--gutter) 14px;display:block}
.menu-block .menu-top{display:grid;grid-template-columns:var(--hero-indent) 1fr;align-items:center;margin-bottom:12px}
.menu-block .brand{display:block}
.menu-block .brand-logo{height:54px}
.menu-block .top-utils{grid-column:2;display:grid;grid-template-columns:auto auto auto minmax(150px,1fr) auto auto;align-items:center;gap:clamp(14px,1.6vw,28px)}
.menu-block .fagor-logo{height:36px;justify-self:end}
.menu-block .menu-bottom{display:grid;grid-template-columns:var(--hero-indent) 1fr}
.menu-block .menu-bottom nav{grid-column:2;display:flex;justify-content:space-between;gap:20px;font-weight:500;font-size:15px}
.menu-block .menu-bottom nav a:hover,.menu-block .menu-bottom nav a.is-active{color:var(--red)}
@media(max-width:980px){
  .menu-block .menu-top,.menu-block .menu-bottom{grid-template-columns:1fr}
  .menu-block .top-utils{grid-template-columns:1fr;gap:10px}
  .menu-block .menu-bottom nav{flex-wrap:wrap;gap:12px;justify-content:flex-start}
}

/* ============ MENÚ EN BLOQUE — desplegable (mega) ============ */
.menu-block .has-mega.is-active{color:var(--red)}
.mega-wrap{grid-column:1/-1;display:grid;grid-template-columns:var(--hero-indent) 1fr;max-height:0;overflow:hidden;transition:max-height .28s ease}
.menu-block.mega-open .mega-wrap{max-height:520px}
.mega{grid-column:2;display:none;padding:44px clamp(20px,3vw,44px) 44px 0}
.mega.show{display:grid}
#mega-sectores{grid-template-columns:1fr 1fr;column-gap:42px;row-gap:28px}
#mega-soluciones{grid-template-columns:1fr;row-gap:28px}
.mega-item{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--red)}
.mega-item.full{grid-column:1/-1}
.mi-txt{display:flex;flex-direction:column;gap:3px}
.mi-title{font-weight:500;font-size:15px;color:var(--red);line-height:1.2}
.mi-desc{font-weight:300;font-size:15px;color:var(--ink);line-height:1.3;max-width:32ch}
.mi-ico{flex:none;width:30px;height:30px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red)}
.mi-ico svg{width:14px;height:14px}
.mega-item:hover .mi-title{color:var(--ink)}
.mega-item:hover .mi-ico{background:var(--red);color:#fff}


/* ============================================================
   HOME — revisión de bloques (líneas, botones, tarjetas)
   ============================================================ */
/* Línea bajo las etiquetas de sección (roja; blanca en fondos oscuros/rojos) */
.lbl{position:relative;display:block;padding-bottom:12px}
.lbl::after{content:"";position:absolute;left:0;bottom:0;width:min(263px,100%);height:1px;background:var(--red)}
.lbl--w::after{background:#fff}

/* Icono de flecha de botón = mismo chevron que el menú */
.btn .arrow{width:26px;height:26px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex:none}
.btn .arrow::before{content:"";display:block;width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin-left:-3px}
.btn:hover .arrow{transform:none}

/* Botones blancos (Somos fabricantes): hover -> fondo blanco, texto oscuro, icono rojo */
.btn--white:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn--white:hover .arrow{border-color:var(--red);color:var(--red)}

/* Somos experiencia / equipo: espaciado */
.home-equipo .swirl{width:58%;background-position:right bottom;background-size:cover}
.home-equipo{min-height:0;margin-bottom:0;padding-block:clamp(56px,7vw,90px)}
.home-equipo .swirl{height:100%;bottom:0;top:0}
.home-equipo + .home-exp{margin-top:0}

/* Somos expansión: espaciado etiqueta -> párrafo */
.home-exp .label{margin-bottom:clamp(48px,6vw,72px)}

/* Tarjetas CORE / NEXUS / SERVICE (fondo gris, imagen a sangre, icono chevron blanco) */
.hcard{background:#f1f1f1;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(0,0,0,.10);min-height:430px}
.hcard .hcard-txt{padding:36px 32px 26px}
.hcard .hcard-title{font-weight:500;font-size:clamp(24px,2.1vw,30px);line-height:1.05;margin:0 0 16px}
.hcard .hcard-title b{color:var(--red);display:block;font-weight:500}
.hcard .hcard-title span{color:var(--ink);display:block;font-weight:500}
.hcard .hcard-desc{font-weight:300;font-size:clamp(17px,1.4vw,20px);color:var(--dark);margin:0;line-height:1.35;max-width:22ch}
.hcard .hcard-img{height:220px;margin:auto 0 0;border-radius:0;background:#1a1a1a center/cover;position:relative}
.hcard:hover .hcard-img{transform:none}
.hcard .hcard-img .play{position:absolute;left:24px;bottom:22px;width:30px;height:30px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:0}
.hcard .hcard-img .play svg{width:14px;height:14px}

/* Tu zona: botón fondo blanco, texto e icono rojos; hover se invierte */
.btn--zona{background:#fff;color:var(--red);border-color:#fff}
.btn--zona .arrow{border-color:var(--red);color:var(--red)}
.btn--zona:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn--zona:hover .arrow{border-color:#fff;color:#fff}
.home-exp .heading{font-weight:500;font-size:clamp(22px,1.7vw,25px);line-height:1.3;margin:0}

/* ============ FOOTER — hovers ============ */
.footer .socials a{transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.footer .socials a:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}
.footer .fred{position:relative;transition:color .18s ease}
.footer .fred::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:currentColor;transition:width .22s ease}
.footer .fred:hover{opacity:1;color:var(--red)}
.footer .fred:hover::after{width:100%}

/* ============ ANIMACIONES DE APARICIÓN AL SCROLL ============ */
.rv{opacity:0;translate:0 14px;transition:opacity .65s cubic-bezier(.22,.61,.36,1),translate .65s cubic-bezier(.22,.61,.36,1),transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s cubic-bezier(.22,.61,.36,1)}
.rv.in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;translate:0 0;transition:none}}


/* ============ TARJETAS — hover: se amplían con sombra ============ */
.hcard,.solcard,.cs-card,.ncard2,.prod,.seccard,.thumb-tile,.tile,.stair .tile,.duo .tile,.r-tile,.sv-tile,.case{position:relative;transition:transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s cubic-bezier(.22,.61,.36,1),opacity .65s cubic-bezier(.22,.61,.36,1),translate .65s cubic-bezier(.22,.61,.36,1)}
.hcard:hover,.solcard:hover,.cs-card:hover,.ncard2:hover,.prod:hover,.seccard:hover,.thumb-tile:hover,.case:hover{transform:scale(1.018) translateY(-2px);box-shadow:0 14px 36px rgba(9,32,46,.11);z-index:3}
.tile:hover,.stair .tile:hover,.duo .tile:hover,.r-tile:hover,.sv-tile:hover{transform:scale(1.015) translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.18);z-index:3}
/* la imagen interior no hace zoom aparte: escala la tarjeta entera */
.solcard:hover .cimg,.hcard:hover .hcard-img,.cs-card:hover .cimg,.ncard2:hover .cimg{transform:none}

/* ============ CABECERA ESTÁTICA (interiores) = mismo componente que home/bloque ============ */
.site-head{background:#fff;position:relative;z-index:2}
.site-head .mb-inner{max-width:var(--maxw);margin-inline:auto;padding:16px var(--gutter) 14px;display:block}
.site-head .menu-top{display:grid;grid-template-columns:var(--hero-indent) 1fr;align-items:center;margin-bottom:12px;gap:0}
.site-head .brand{display:block}
.site-head .brand-logo{height:54px}
.site-head .top-utils{grid-column:2;display:grid;grid-template-columns:auto auto auto minmax(150px,1fr) auto auto;align-items:center;gap:clamp(14px,1.6vw,28px);justify-items:start}
.site-head .fagor-logo{height:36px;justify-self:end}
.site-head .menu-bottom{display:grid;grid-template-columns:var(--hero-indent) 1fr}
.site-head .menu-bottom nav{grid-column:2;display:flex;justify-content:space-between;gap:20px;font-weight:500;font-size:15px}
.site-head .menu-bottom nav a:hover,.site-head .menu-bottom nav a.is-active{color:var(--red)}
@media(max-width:980px){
  .site-head .menu-top,.site-head .menu-bottom{grid-template-columns:1fr}
  .site-head .top-utils{grid-template-columns:1fr;gap:10px}
  .site-head .menu-bottom nav{flex-wrap:wrap;gap:12px;justify-content:flex-start}
}

/* ============ TRANSICIONES DE PÁGINA (entrada / salida) ============ */
html.js body main{opacity:0;transition:opacity .34s ease}
html.js body.is-loaded main{opacity:1}
body.is-leaving main{opacity:0!important;transition:opacity .22s ease}
.enter{opacity:0;translate:0 14px;transition:opacity .65s cubic-bezier(.22,.61,.36,1),translate .65s cubic-bezier(.22,.61,.36,1)}
.enter.in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){html.js body main{opacity:1;transition:none}.enter{opacity:1;translate:0 0;transition:none}body.is-leaving{opacity:1!important}}

/* ============ HERO de dos bloques: más ancho, texto alineado con el logo ============ */
.phero .wrap,.shero .wrap{padding-inline:clamp(20px,3.8vw,57px);gap:30px}
.phero-panel{padding-left:calc(var(--gutter) - clamp(20px,3.8vw,57px));padding-right:clamp(28px,3.4vw,52px)}
.phero-media{background-size:cover;background-position:center;padding-left:calc(var(--gutter) - clamp(20px,3.8vw,57px) - 24px)}
.shero .col-right .shero-note{padding-left:clamp(28px,3vw,44px)}
@media(max-width:980px){.phero-panel{padding-left:clamp(24px,5vw,40px)}.phero-media{padding-left:clamp(24px,5vw,40px)}}

/* ============ HERO DOS BLOQUES — sistema medido (1512) ============ */
.phero-panel{padding:clamp(40px,4.96vw,75px) clamp(24px,2.6vw,40px) clamp(60px,9.6vw,145px) calc(var(--gutter) - clamp(20px,3.8vw,57px));min-height:clamp(420px,39vw,591px);display:flex;flex-direction:column;justify-content:flex-start}
.phero-eyebrow{font-weight:500;font-size:14px;line-height:1.15;max-width:378px;margin:0 0 clamp(40px,5.55vw,84px)}
.phero-panel h1{font-weight:600;font-size:clamp(30px,3.04vw,46px);line-height:1.05;letter-spacing:-.01em;max-width:457px;margin:0 0 29px}
.phero-panel .sub{font-weight:400;font-size:clamp(17px,1.45vw,22px);line-height:1.2;max-width:476px;margin:0}
.phero-media{padding:clamp(40px,5.7vw,86px) clamp(40px,5.7vw,86px) clamp(40px,5.36vw,81px) clamp(50px,6.75vw,102px);min-height:clamp(420px,39vw,591px);display:flex;flex-direction:column;justify-content:space-between;background-size:cover;background-position:center}
.phero-media::before{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.08) 40%,rgba(0,0,0,.45))}
.phero-media .t{font-weight:500;font-size:15px;line-height:1.25;max-width:230px;margin:0;align-self:flex-start}
.phero-media .b{font-weight:400;font-size:15px;line-height:1.25;max-width:286px;margin:0;align-self:flex-end}
/* Contenedores que sobresalen de los márgenes hasta ~56px del borde (texto sigue en el gutter) */
.bleed{margin-inline:calc(clamp(20px,3.7vw,56px) - var(--gutter))}
.bleed-pad{padding-left:calc(var(--gutter) - clamp(20px,3.7vw,56px))}
/* Línea de etiqueta con longitud configurable */
.lbl::after{width:var(--ll,394px)}

/* ============ MEGA — común a cabecera estática y bloque fijo, con subniveles ============ */
.mega-wrap{max-height:0;overflow:hidden;transition:max-height .3s ease;grid-template-columns:none;display:block}
.mega-open .mega-wrap{max-height:1200px}
.mega-inner{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:var(--hero-indent) 1fr}
.mega{grid-column:2}
/* cabecera estática: el panel se superpone al contenido (no lo empuja) */
.site-head{position:relative;z-index:60}
.site-head .mega-wrap{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 22px 44px rgba(9,32,46,.10)}
/* ítems con subnivel */
.mega-item.has-sub{cursor:default}
.mega-item.has-sub .mi-txt{text-decoration:none;flex:1}
.mega-item.has-sub .mi-ico{background:transparent;cursor:pointer;font:inherit;transition:transform .25s ease,background-color .18s ease,color .18s ease}
.mega-item.has-sub.open .mi-ico{transform:rotate(180deg);background:var(--red);color:#fff}
.mega-sub{display:none;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 40px;padding:6px 0 26px}
.mega-sub.open{display:grid}
.mega-sub a{font-weight:500;font-size:15px;color:var(--ink);padding:6px 0;border-bottom:1px solid var(--hairline)}
.mega-sub a:hover{color:var(--red)}
@media(max-width:980px){.mega-inner{grid-template-columns:1fr}.mega{grid-column:1}.mega-sub{grid-template-columns:1fr}}
.mega[data-mega="sectores"]{grid-template-columns:1fr 1fr;column-gap:42px}
.mega[data-mega="soluciones"]{grid-template-columns:1fr}
.mega-item:hover .mi-title{color:var(--red)}
/* Subnivel desplegado — fiel al PDF (rojo Light, 3 col, sin líneas, cierre en rojo) */
.mega-sub{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 40px;padding:26px 0 40px;border-bottom:1px solid var(--red);margin-bottom:18px}
.mega-sub a{font-weight:300;font-size:16px;color:var(--red);padding:0;border-bottom:0;line-height:1.2}
.mega-sub a:hover{color:var(--ink)}
/* ===== MENÚ — ritmo unificado (referencia: Core desplegado) ===== */
.mega{row-gap:18px}                                  /* línea de un ítem -> título del siguiente: 18px (plegado y desplegado) */
.mega[data-mega="sectores"]{row-gap:18px;column-gap:42px}
.mega[data-mega="soluciones"]{row-gap:18px}
.mega-sub{margin-bottom:0;padding:22px 0 30px;row-gap:16px;column-gap:clamp(36px,4.5vw,64px);grid-template-columns:repeat(3,max-content);justify-content:start}
.mega-sub a{white-space:nowrap}
.mega-sub a br{display:inline}                       /* Administración pública/ Educación/… mantiene su salto de diseño */
.mega-sub a:has(br){white-space:normal}
@media(max-width:1100px){.mega-sub{grid-template-columns:repeat(2,max-content)}}
@media(max-width:980px){.mega-sub{grid-template-columns:1fr}.mega-sub a{white-space:normal}}
.mega-sub{padding:7px 0 16px}
@media(max-width:1400px){
  .mega-sub{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
  .mega-sub a{white-space:normal;font-size:15px}
}
@media(max-width:1100px){.mega-sub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1400px){
  .mega-sub a{font-size:16px}
  .mega[data-mega="soluciones"] .mega-sub{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mega[data-mega="soluciones"] .has-sub:nth-of-type(3) + .mega-sub{grid-template-columns:repeat(2,minmax(0,1fr))} /* Nexus */
  .mega[data-mega="sectores"] .mega-sub{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
}

/* Botón del mapa: pequeño salto al hover */
@keyframes cta-jump{0%{translate:0 0}35%{translate:0 -14px}70%{translate:0 2px}100%{translate:0 0}}
.ab-map-cta{transition:box-shadow .25s ease}
.ab-map-cta:hover{animation:cta-jump .55s cubic-bezier(.34,1.2,.5,1);box-shadow:0 18px 50px rgba(255,27,34,.45)}
.ab-map-cta:hover .cta-ico{background:#fff;color:var(--red)}
.ab-map-cta .cta-ico{transition:background-color .2s ease,color .2s ease}
@media (prefers-reduced-motion:reduce){.ab-map-cta:hover{animation:none}}

/* ============ SOLUCIONES (Core/Nexus) — tarjetas y buscador medidos ============ */
.solcards{grid-template-columns:repeat(3,1fr);column-gap:26px;row-gap:clamp(40px,5.7vw,86px)}
.solcard{background:#f1f1f1;border-radius:16px;min-height:462px;box-shadow:none}
.solcard .txt{padding:36px 30px 26px;min-height:217px}
.solcard .t{font-weight:500;font-size:22px;line-height:1.1;margin:0 0 16px}
.solcard .t b,.solcard .t span{font-weight:500}
.solcard .d{font-weight:300;font-size:15px;line-height:1.6;color:var(--dark)}
.solcard .cimg{height:244px;margin:auto 0 0;border-radius:0}
.solcard .cimg .play{position:absolute;left:24px;bottom:22px;width:30px;height:30px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:0}
.solcard .cimg .play svg{width:14px;height:14px}
/* buscador en píldora con borde rojo y lupa a la derecha */
.searchbar{gap:12px;margin-bottom:clamp(30px,3.5vw,52px)}
.searchbar input{border:1px solid var(--red);border-radius:999px;height:42px;padding:0 48px 0 20px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff1b22' stroke-width='2'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4.3-4.3'/></svg>") no-repeat right 18px center/16px}
.searchbar .btn{height:42px;padding:0 26px;border-radius:999px}
@media(max-width:980px){.solcards{grid-template-columns:1fr}}

/* ============ CAMINO DE HORMIGAS — franja gris a todo el ancho, texto en el gutter ============ */
.crumb{display:block;background:var(--grey);margin:0 calc(50% - 50vw) clamp(16px,2vw,28px);padding:13px calc(50vw - 50%);font-weight:400;font-size:12px;color:var(--ink-60);width:auto}
.phero.shero{padding-top:0}

/* ============ TARJETA (familia) — medida en Soluciones·Core: 390×453, título 28, texto 15/25, imagen 240 a sangre ============ */
:root{--chev:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 6l6 6-6 6'/></svg>")}
.solcards,.home-cards{column-gap:29px;row-gap:clamp(44px,6.2vw,94px)}
.solcard,.hcard{background:#f1f1f1;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-height:453px;box-shadow:none}
.solcard .txt,.hcard .hcard-txt{padding:25px 28px 24px;min-height:213px}
.solcard .t,.hcard .hcard-title{font-weight:500;font-size:clamp(22px,1.85vw,28px);line-height:1.1;margin:0 0 26px;letter-spacing:0}
.solcard .t b,.solcard .t span,.hcard .hcard-title b,.hcard .hcard-title span{font-weight:500}
.solcard .d,.hcard .hcard-desc{font-weight:300;font-size:15px;line-height:25px;color:var(--dark);max-width:none;margin:0}
.solcard .cimg,.hcard .hcard-img{height:240px;margin:auto 0 0;border-radius:0;background:#1a1a1a center/cover}
/* icono chevron de tarjeta = el del menú (30px, 14px) */
.solcard .cimg .play,.hcard .hcard-img .play,.cs-card .cimg .play,.ncard2 .cimg .play{position:absolute;left:24px;bottom:22px;width:30px;height:30px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:0;background:transparent}
.solcard .cimg .play svg,.hcard .hcard-img .play svg,.cs-card .cimg .play svg,.ncard2 .cimg .play svg{width:14px;height:14px}
/* tarjetas de casos y noticias: mismo fondo, radios, paddings e imagen a sangre */
.cs-card,.ncard2{background:#f1f1f1;border-radius:16px}
.cs-card .txt,.ncard2 .txt{padding:25px 28px 24px}
.cs-card p,.ncard2 .date{font-size:15px;line-height:25px}
.cs-card .cimg,.ncard2 .cimg{height:240px;margin:auto 0 0;border-radius:0}

/* ============ FLECHAS — un único chevron en toda la web (mismo trazo que el menú) ============ */
.btn .arrow{width:26px;height:26px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex:none}
.btn .arrow::before{content:"";width:13px;height:13px;border:0;transform:none;margin:0;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat}
.sectorlist li a .arw{font-size:0}
.sectorlist li a .arw::before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat}
.ab-map-cta .cta-ico{width:30px;height:30px}
.ab-map-cta .cta-ico svg{width:14px;height:14px}
@media(max-width:980px){.solcards,.home-cards{grid-template-columns:1fr}}
.tuzona{margin-top:clamp(56px,7vw,90px)}
/* Buscador del menú: un solo estado de foco (la píldora), sin rectángulo interior */
.search input:focus,.search input:focus-visible{outline:none;box-shadow:none;border:0}
.search:focus-within{border-color:var(--red);box-shadow:none;outline:none}
.search input{background:transparent}

/* Hover de tarjeta -> botón de flecha en rojo sólido */
.solcard .play,.hcard .play,.cs-card .play,.ncard2 .play,.tile .plus,.stair .tile .plus,.duo .tile .plus,.r-tile .plus,.sv-tile .plus,.prod .play{transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.solcard:hover .play,.hcard:hover .play,.cs-card:hover .play,.ncard2:hover .play,.tile:hover .plus,.stair .tile:hover .plus,.duo .tile:hover .plus,.r-tile:hover .plus,.sv-tile:hover .plus,.prod:hover .play{background:var(--red);border-color:var(--red);color:#fff}

/* ============================================================
   SECTORES — módulos medidos en Sectores·Residencial (1512)
   ============================================================ */
/* Tiles cuadradas 394×394, centradas con 59px, imagen a full; hover rojo + descripción */
.rtiles{display:grid;grid-template-columns:repeat(3,394px);justify-content:center;column-gap:59px;margin-bottom:-111px;position:relative;z-index:2}
.rtile{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#1a1a1a center/cover;color:#fff;padding:30px;display:block;isolation:isolate}
.rtile::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28);z-index:-1;transition:background-color .3s ease}
.rtile .rt-title{font-weight:500;font-size:22px;line-height:1.15;text-transform:uppercase;margin:0;max-width:16ch;position:relative}
.rtile .rt-desc{font-weight:300;font-size:15px;line-height:1.5;margin:14px 0 0;max-width:30ch;opacity:0;translate:0 8px;transition:opacity .3s ease,translate .3s ease}
.rtile .plus{position:absolute;left:35px;bottom:53px;width:30px;height:30px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1;font-weight:300;transition:background-color .2s ease,border-color .2s ease}
.rtile:hover::before{background:rgba(255,27,34,.9)}
.rtile:hover .rt-desc{opacity:1;translate:0 0}
.rtile:hover .plus{background:#fff;color:var(--red);border-color:#fff}
/* Beneficios clave: franja gris, lista con divisores oscuros */
.benef{background:var(--grey);padding:calc(111px + 124px) 0 180px}
.benef .lbl{margin-bottom:76px}
.benef .row{display:grid;grid-template-columns:1fr 1fr;column-gap:26px;align-items:start;padding:15px 0 14px;border-top:1px solid #333;min-height:58px}
.benef .row:last-child{border-bottom:0}
.benef .term{font-weight:500;font-size:18px;color:var(--ink);margin:0;line-height:1.3}
.benef .desc{font-weight:300;font-size:17px;color:#555;margin:0;line-height:1.35}
/* Audiencia: foto a sangre, etiqueta con línea, texto 22, botones; las tarjetas solapan 170 */
.aud{position:relative;min-height:691px;background:#111 center/cover;color:#fff;padding:119px 0 0}
.aud .lbl{color:#fff;margin-bottom:90px}
.aud .aud-text{font-weight:500;font-size:22px;line-height:1.45;max-width:680px;margin:0 0 74px}
.aud .aud-btns{display:flex;gap:40px}
.aud .aud-btns .btn{min-height:59px;padding:0 24px}
/* Tarjetas de caso: estilo Soluciones, 2 columnas, 604×459 */
.solcards--2{grid-template-columns:repeat(2,1fr);column-gap:26px;row-gap:26px;margin-top:-170px;position:relative;z-index:2}
.solcards--2 .solcard{min-height:459px}
.solcards--2 .solcard .txt{padding:36px 32px 24px;min-height:278px}
.solcards--2 .solcard .t{font-size:24px;text-transform:uppercase;margin:0 0 22px}
.solcards--2 .solcard .d{font-size:16px;line-height:1.45}
.solcards--2 .solcard .cimg{height:181px}
@media(max-width:1400px){.rtiles{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px;padding-inline:var(--gutter)}}
@media(max-width:980px){.rtiles{grid-template-columns:1fr;margin-bottom:0}.benef{padding-top:60px}.benef .row{grid-template-columns:1fr}.solcards--2{grid-template-columns:1fr;margin-top:24px}.aud{min-height:auto;padding:60px 0}}
.rtiles--2{grid-template-columns:repeat(2,394px)}
@media(max-width:1400px){.rtiles--2{grid-template-columns:repeat(2,minmax(0,394px))}}
@media(max-width:980px){.rtiles--2{grid-template-columns:1fr}}

/* ============ MÓDULO CTA (medido en Sectores·Residencial) ============ */
.cta-mod{padding-top:clamp(80px,11vw,169px);padding-bottom:150px}
.cta-mod h2{font-weight:500;font-size:clamp(24px,2.1vw,32px);line-height:1.18;letter-spacing:0;max-width:640px;margin:0 0 37px;color:var(--ink)}
.cta-mod p{font-weight:300;font-size:clamp(17px,1.32vw,20px);margin:0 0 69px;color:var(--ink)}
.cta-mod .btns{display:flex;gap:30px;flex-wrap:wrap}
/* Botón sólido rojo: hover -> se invierte (blanco con texto/icono rojos) */
.btn--solid{background:var(--red);color:#fff;border:1px solid var(--red);height:60px;padding:0 26px;border-radius:8px;font-size:16px}
.btn--solid .arrow{border-color:#fff;color:#fff}
.btn--solid:hover{background:#fff;color:var(--red);border-color:var(--red)}
.btn--solid:hover .arrow{border-color:var(--red);color:var(--red)}
/* Botón contorno rojo con texto negro: hover -> rojo sólido */
.btn--outline{background:#fff;color:var(--ink);border:1px solid var(--red);height:60px;padding:0 26px;border-radius:8px;font-size:16px}
.btn--outline .arrow{border-color:var(--red);color:var(--red)}
.btn--outline:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn--outline:hover .arrow{border-color:#fff;color:#fff}
/* Icono de descarga dentro del círculo (para "Descargar catálogo") */
:root{--dl:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4v11M7 11l5 5 5-5M6 20h12'/></svg>")}
.arrow--dl::before{-webkit-mask:var(--dl) center/contain no-repeat!important;mask:var(--dl) center/contain no-repeat!important;width:13px;height:13px}

/* ============ TERCIARIO — escalera de tiles + tarjeta CTA (medidas PDF) ============ */
.stair3{display:grid;grid-template-columns:repeat(3,394px);justify-content:center;column-gap:26px;row-gap:48px;margin-bottom:-119px;position:relative;z-index:2}
.stair3 .rtile:nth-child(1){grid-column:1}.stair3 .rtile:nth-child(2){grid-column:2}
.stair3 .rtile:nth-child(3){grid-column:2}.stair3 .rtile:nth-child(4){grid-column:3}
.sectorlist{padding-top:calc(119px + 110px);padding-bottom:calc(138px + 70px)}
.sectorlist .lbl{margin-bottom:56px}
.cta-card{position:relative;background:#e9e9e9;border-radius:22px;overflow:hidden;margin:-138px calc(clamp(20px,3.3vw,50px) - var(--gutter)) 0;padding:104px 46% 90px calc(var(--gutter) - clamp(20px,3.3vw,50px));isolation:isolate}
.cta-waves{position:absolute;top:0;right:0;bottom:0;width:48%;background:right top/cover no-repeat;z-index:-1}
.cta-card h2{font-weight:500;font-size:clamp(24px,2.1vw,32px);line-height:1.18;max-width:640px;margin:0 0 35px;color:var(--ink)}
.cta-card p{font-weight:300;font-size:clamp(17px,1.32vw,20px);margin:0 0 68px;color:var(--ink)}
.cta-card .btns{display:flex;gap:30px;flex-wrap:wrap}
@media(max-width:1400px){.stair3{grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:var(--gutter)}}
@media(max-width:980px){.stair3{grid-template-columns:1fr;margin-bottom:0}.stair3 .rtile{grid-column:1!important}.sectorlist{padding-top:60px;padding-bottom:60px}.cta-card{margin:24px 0 0;padding:48px 28px}.cta-waves{display:none}}
.cta-waves{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%);mask-image:linear-gradient(90deg,transparent,#000 28%);width:52%}

/* ============ SUBSECTORES — hero en tarjeta redondeada (medida PDF) ============ */
.hero-card-img{position:relative;border-radius:22px;overflow:hidden;min-height:clamp(420px,39vw,591px);background:#1a1a1a center/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(40px,4.96vw,75px) clamp(24px,2.6vw,40px) clamp(60px,9.6vw,145px) calc(var(--gutter) - clamp(20px,3.7vw,56px));margin-inline:calc(clamp(20px,3.7vw,56px) - var(--gutter));isolation:isolate}
.hero-card-img::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.15) 60%);z-index:-1}
.hero-card-img h1{font-weight:600;font-size:clamp(30px,3.04vw,46px);line-height:1.05;letter-spacing:-.01em;max-width:457px;margin:0 0 29px}
.hero-card-img .sub{font-weight:400;font-size:clamp(17px,1.45vw,22px);line-height:1.2;max-width:476px;margin:0}
.benef--plain{padding:90px 0 110px}
.aud .aud-btns .btn--white{min-height:52px}
@media(max-width:980px){.hero-card-img{margin-inline:0;padding:36px 28px}}

/* Botones "+" de las tiles: al hover pasan a "−" */
.plus{font-size:0!important}
.plus::before{content:"+";font-size:18px;line-height:1;font-weight:300}
.rtile:hover .plus::before,.tile:hover .plus::before,.stair .tile:hover .plus::before,.duo .tile:hover .plus::before,.r-tile:hover .plus::before,.sv-tile:hover .plus::before,a:hover>.plus::before{content:"\2212"}

/* ============ SERVICIOS — bloque "Contigo" (medido) ============ */
.sv-soporte{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
.sv-head{font-weight:500;font-size:clamp(28px,2.65vw,40px);line-height:1.27;margin:0 0 26px;max-width:34ch}
.sv-body{font-weight:400;font-size:clamp(16px,1.2vw,18px);line-height:1.65;max-width:52ch;margin:0 0 69px}
@media(max-width:980px){.sv-soporte{grid-template-columns:1fr}.sv-headset{justify-self:start;width:200px}}

/* ============ BOTÓN "+ / −" OFICIAL — círculo 28px, trazo fino ============ */
.plus{width:28px!important;height:28px!important;border:1px solid #fff;border-radius:50%;position:absolute;font-size:0!important;display:block}
.plus::before,.plus::after{content:""!important;position:absolute;left:50%;top:50%;background:currentColor;translate:-50% -50%;font-size:0}
.plus::before{width:11px;height:1px}
.plus::after{width:1px;height:11px;transition:opacity .2s ease}
.rtile:hover .plus::after,.tile:hover .plus::after,.stair .tile:hover .plus::after,.duo .tile:hover .plus::after,.r-tile:hover .plus::after,.sv-tile:hover .plus::after,a:hover>.plus::after{opacity:0}
.rtile .plus{left:35px;bottom:53px}
.sv-soporte .sv-body{margin:0 0 69px}
/* Tu zona pegado a la franja gris que le precede (Servicios) */
.sv-grey + .tuzona{margin-top:0}
/* Hero dos módulos — textos del bloque foto unificados a 18px en toda la web */
.phero-media .t{font-weight:500;font-size:18px;line-height:1.25;max-width:260px}
.phero-media .b{font-weight:400;font-size:18px;line-height:1.3;max-width:330px}
/* Hero dos módulos: texto del bloque foto alineado por arriba con el eyebrow del panel */
.phero-media{padding-top:clamp(40px,4.96vw,75px)}

/* ============ CASE STUDIES — pilares con iconos oficiales; tarjetas blancas sobre gris ============ */
.pillars-ic .pic{width:auto;height:80px;margin:0 auto 22px;display:block}
.pillars-ic h3{font-weight:500;font-size:20px;line-height:1.25}
.cs-grey .solcards--2{margin-top:56px;row-gap:90px}
.solcards--white .solcard{background:#fff}
.solcards--2 .solcard .cimg{height:183px}
.solcards--2 .solcard .txt{min-height:279px}
/* Case Studies: título centrado 15/500 y filtros funcionales */
.cs-grey .cs-title{text-align:center;display:block;font-weight:500;font-size:15px;color:var(--red);margin:0 0 30px}
.chip{cursor:pointer;font-family:inherit}
.chip:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cs-empty{grid-column:1/-1;text-align:center;font-weight:300;font-size:18px;color:var(--dark);padding:40px 0}
.solcard[hidden]{display:none}
.cs-grey .cs-title{width:100%;max-width:none}

/* ============ ACTUALIDAD — fichas de noticia (medidas PDF) ============ */
.solcards--news{row-gap:88px}
.solcards--news .solcard{background:#f1f1f1;min-height:463px}
.solcards--news .solcard .txt{position:relative;padding:45px 28px 60px;min-height:278px}
.solcards--news .solcard .date{font-weight:500;font-size:12px;color:var(--red);margin:0 0 26px;line-height:1}
.solcards--news .solcard .t{font-weight:500;font-size:18px;line-height:28px;text-transform:uppercase;letter-spacing:.01em;margin:0;color:var(--ink)}
.solcards--news .solcard .txt .play{position:absolute;left:28px;bottom:18px;width:26px;height:26px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:0;background:transparent}
.solcards--news .solcard .txt .play svg{width:12px;height:12px}
.solcards--news .solcard .cimg{height:185px;margin:auto 0 0;border-radius:0}
.solcards--news .solcard:hover .txt .play{background:var(--red);color:#fff}
.solcards--news{margin-top:0}
.article-link{margin-top:28px}
/* Detalle caso: línea divisoria (desde el borde izquierdo hasta x=962) y CTA de un botón */
.cta-divider{height:1px;background:#a5a5a5;margin-top:70px;width:100%;transform:none!important}
.cta-mod--case{padding-top:56px;padding-bottom:80px}
.cta-mod--case h2{max-width:740px;margin-bottom:27px}
.cta-mod--case p{max-width:615px;margin-bottom:51px;line-height:1.5}
/* Detalle de noticia: imagen de artículo, línea a ancho completo y relacionadas */
.article-img{width:100%;height:clamp(300px,45.9vw,694px);border-radius:22px;background:#eee center/cover no-repeat;margin-top:89px}
.article-divider{height:1px;background:#a5a5a5;margin-top:132px}
.related{padding-top:92px;padding-bottom:clamp(60px,7vw,96px)}
.related .cs-title{text-align:center;display:block;width:100%;font-weight:500;font-size:15px;color:var(--red);margin:0 0 60px}
.related .solcards--news{margin-top:0}
/* Lista de sectores (Terciario): mismo icono chevron que tarjetas y menú (30px, SVG trazo 2) */
.sectorlist li a{display:flex;align-items:center;justify-content:space-between;gap:16px}
.sectorlist li a .play{position:static;width:30px;height:30px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none;font-size:0;background:transparent;transition:background-color .2s ease,color .2s ease}
.sectorlist li a .play svg{width:14px;height:14px}
.sectorlist li a:hover .play{background:#fff;color:var(--red)}

/* ============ ICONO DE DESCARGA OFICIAL (círculo 28px + chevron abajo + línea), como máscara ============ */
:root{--dl-icon:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'> <g id='Grupo_2130' data-name='Grupo 2130' transform='translate(-776 -3568)'> <g id='Grupo_2112' data-name='Grupo 2112' transform='translate(-20052 20450) rotate(90)'> <g id='Grupo_1242' data-name='Grupo 1242'> <g id='Elipse_89' data-name='Elipse 89' transform='translate(-16882 -20856)' fill='none' stroke='black' stroke-width='0.8'> <circle cx='14' cy='14' r='14' stroke='none'/> <circle cx='14' cy='14' r='13.6' fill='none'/> </g> <path id='Rectangle_5' data-name='Rectangle 5' d='M0,0H5.019V5.019' transform='translate(-16868.951 -20845.5) rotate(45)' fill='none' stroke='black' stroke-linecap='round' stroke-width='0.8' style='isolation: isolate'/> </g> </g> <path id='Trazado_8480' data-name='Trazado 8480' d='M7549.5-8992.957h7.251' transform='translate(-6763 12580)' fill='none' stroke='black' stroke-width='0.8'/> </g> </svg> ")}
.arrow--dl{width:28px;height:28px;border:0!important;border-radius:0;background:currentColor;-webkit-mask:var(--dl-icon) center/28px 28px no-repeat;mask:var(--dl-icon) center/28px 28px no-repeat;display:inline-block;flex:none}
.arrow--dl::before{display:none!important;content:none!important}
.btn:hover .arrow--dl{transform:none}
/* Descargas: icono de cada documento */
.doc-item .dl{width:28px;height:28px;border:0;background:var(--red);-webkit-mask:var(--dl-icon) center/28px 28px no-repeat;mask:var(--dl-icon) center/28px 28px no-repeat;font-size:0;flex:none}
.doc-item:hover .dl{background:var(--ink)}
.btn .arrow--dl,.btn--solid .arrow--dl,.btn--outline .arrow--dl{width:28px!important;height:28px!important;border:0!important;border-radius:0!important;overflow:visible}
/* Subnivel del menú: 3 columnas de fracción que siempre caben en el panel (nunca se sale) */
.mega-sub{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:24px!important;justify-content:stretch;max-width:100%;min-width:0}
.mega-sub a{white-space:normal!important;min-width:0}
.mega[data-mega="soluciones"] .has-sub:nth-of-type(3) + .mega-sub{grid-template-columns:1fr 1.35fr 1fr!important}
@media(max-width:1100px){.mega-sub{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:980px){.mega-sub{grid-template-columns:1fr!important}}
@media(max-width:1400px){.mega[data-mega="sectores"] .mega-sub,.mega[data-mega="soluciones"] .has-sub:nth-of-type(3) + .mega-sub{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ============ CTA — tamaños medidos a 250dpi: título 40 / sub 24 / botones 20; huecos 35/63 ============ */
.cta-mod h2,.cta-card h2,.cta-mod--case h2{font-weight:500;font-size:40px;line-height:1.05;letter-spacing:0;max-width:720px;margin:0 0 35px}
.cta-mod p,.cta-card p,.cta-mod--case p{font-weight:300;font-size:24px;line-height:1.25;max-width:640px;margin:0 0 63px}
.btn--solid,.btn--outline{font-size:20px;font-weight:500;height:60px;padding:0 26px}
/* Tarjeta CTA de Terciario: fondo = color de la foto, ondas a altura completa ancladas arriba-derecha, sin fundido */
.cta-card{background:#e0dfdf}
.cta-waves{width:54%;background-size:auto 100%;background-position:right top;-webkit-mask-image:none;mask-image:none}
@media(max-width:1100px){.cta-mod h2,.cta-card h2,.cta-mod--case h2{font-size:clamp(26px,3.6vw,40px)}.cta-mod p,.cta-card p,.cta-mod--case p{font-size:clamp(18px,2.2vw,24px)}.btn--solid,.btn--outline{font-size:clamp(16px,1.8vw,20px)}}
.cta-waves{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%);mask-image:linear-gradient(90deg,transparent,#000 12%)}
.cta-mod h2,.cta-card h2,.cta-mod--case h2{max-width:760px}
/* Heros extraídos por su mitad derecha: anclar a la derecha */
.hero-card-img[style*="terc-empresas-hero"],.hero-card-img[style*="terc-movilidad-hero"]{background-position:right center}

/* ============ CATÁLOGO CORE/NEXUS — medido en Soluciones-Core-Productos (1512) ============ */
.catwrap{display:grid;grid-template-columns:300px 1fr;align-items:start;margin-top:28px}
.catnav{background:#f6f6f6;padding:26px 24px 40px 40px;min-height:600px;align-self:stretch}
.catnav .cn-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.catnav .cn1>.cn-row{font-weight:600;font-size:13px;padding:11px 0;border-bottom:1px solid #e3e3e3}
.catnav .cn1.on>.cn-row span{color:var(--red)}
.catnav .cn2>.cn-row{font-weight:500;font-size:13px;padding:10px 0;border-bottom:1px solid #e9e9e9}
.catnav .cn2.open>.cn-row span{color:var(--red)}
.catnav .cn-chev{width:9px;height:9px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);margin-right:4px;transition:transform .2s ease;flex:none;opacity:.75}
.catnav .open>.cn-row .cn-chev{transform:rotate(-135deg)}
.catnav .cn-sub{display:none}
.catnav .open>.cn-sub{display:block}
.catnav .cn3{display:block;width:100%;background:none;border:0;text-align:left;cursor:pointer;font:inherit;font-weight:400;font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:#7a7a7a;padding:8px 0}
.catnav .cn3.on,.catnav .cn3:hover{color:var(--red)}
.catmain{padding:26px 0 40px calc(var(--gutter) - 300px + 30px);padding-right:0}
.catpath{font-size:11px;color:#8a8a8a;margin:0 0 18px}
.pgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:24px;row-gap:40px}
.prod{display:block;color:var(--ink);text-decoration:none;background:none;border:0;padding:0;border-radius:0;box-shadow:none}
.prod .pimg{height:110px;background:#fff center/contain no-repeat;border-radius:0;margin:0 0 14px}
.prod .pimg.ph{background:#f6f6f6}
.prod h3{font-weight:600;font-size:15px;line-height:1.2;margin:0 0 4px;color:var(--ink)}
.prod .pref{font-weight:400;font-size:12px;color:#555;margin:0 0 10px}
.prod .pver{font-weight:400;font-size:12px;color:var(--red);display:inline-flex;align-items:center;gap:6px}
.prod .pver i{width:6px;height:6px;border-right:1.2px solid currentColor;border-bottom:1.2px solid currentColor;transform:rotate(-45deg)}
.prod:hover{transform:none;box-shadow:none}
.prod:hover h3{color:var(--red)}
.prod[hidden]{display:none}
.catempty{grid-column:1/-1;font-weight:300;font-size:16px;color:#555;padding:30px 0}
.catband{background:var(--red);color:#fff;padding:0;margin-top:60px}
.catband-in{display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:307px}
.catband p{font-weight:500;font-size:18px;line-height:1.45;max-width:52ch;margin:0}
.catband-btn{flex:none}
@media(max-width:1100px){.catwrap{grid-template-columns:1fr}.catnav{min-height:auto;padding:20px var(--gutter)}.catmain{padding:20px var(--gutter)}.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.pgrid{grid-template-columns:repeat(2,1fr)}.catband-in{flex-direction:column;align-items:flex-start}}
.prod .pimg{background-color:#f6f6f6}
.catmain{padding-left:30px}
/* Ficha de producto — misma estructura que el listado */
.pd{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:48px;align-items:start;margin-top:8px}
.pd-img{aspect-ratio:1/1;background:#f6f6f6 center/contain no-repeat;border-radius:14px}
.pd-label{font-weight:500;font-size:14px;color:var(--red);margin:0 0 6px}
.pd-model{font-weight:300;font-size:clamp(34px,3.2vw,48px);line-height:1.05;margin:0 0 22px;color:var(--ink)}
.pd-rows{display:flex;gap:56px;margin:0 0 18px}
.pd-rows .k{font-weight:600;font-size:14px;color:var(--red);margin:0 0 4px}
.pd-rows .v{font-weight:400;font-size:16px;margin:0}
.pd-desc{font-weight:500;font-size:15px;line-height:1.5;margin:0 0 28px;max-width:52ch}
.pd-docs{background:#f6f6f6;border-radius:14px;padding:22px 24px}
.pd-docs h4{font-weight:600;font-size:15px;color:var(--red);margin:0 0 6px}
.pd-doc{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e3e3e3;font-size:14px}
.pd-doc:last-child{border-bottom:0}
.pd-doc .ico{display:none}
.pd-related{margin-top:56px;border-top:1px solid #e5e5e5;padding-top:36px}
.pd-related .cs-title{text-align:center;display:block;width:100%;font-weight:500;font-size:15px;color:var(--red);margin:0 0 26px}
.pgrid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pgrid--4 .prod{border:1px solid #e5e5e5;border-radius:12px;padding:16px}
.pgrid--4 .prod .pimg{height:120px}
.catnav--static .cn-row,.catnav--static .cn3{cursor:pointer}
@media(max-width:900px){.pd{grid-template-columns:1fr}.pgrid--4{grid-template-columns:repeat(2,1fr)}}
.pd-doc .dl{width:28px;height:28px;border:0;margin-left:auto;background:var(--red);-webkit-mask:var(--dl-icon) center/28px 28px no-repeat;mask:var(--dl-icon) center/28px 28px no-repeat;font-size:0;flex:none;display:inline-block}
.pd-doc:hover .dl{background:var(--ink)}
.catmain{padding-right:var(--gutter)}
.pd-img{min-height:0;width:100%;max-width:100%}

/* ============ CATÁLOGO — ajuste fino al diseño (zoom XD) ============ */
.catwrap{grid-template-columns:300px minmax(0,1fr)}
.catnav{background:#f7f7f7;padding:0 0 60px;border-left:1px solid #e3e3e3;border-right:1px solid #e3e3e3;margin-left:calc(var(--gutter) - 76px)}
.catnav .cn-row,.catnav .cn3{padding-left:37px!important;padding-right:20px!important}
.catnav .cn1>.cn-row{font-weight:500;font-size:15px;min-height:45px;padding-top:0;padding-bottom:0;border-bottom:1px solid #e3e3e3;color:var(--ink)}
.catnav .cn1.on>.cn-row span,.catnav .cn1.open>.cn-row{color:var(--red)}
.catnav .cn2>.cn-row{font-weight:500;font-size:15px;min-height:45px;padding-top:0;padding-bottom:0;border-bottom:1px solid #e3e3e3;color:var(--ink)}
.catnav .cn2.open>.cn-row{color:var(--red)}
.catnav .cn2.open>.cn-row span{color:var(--red)}
.catnav .cn-chev{width:10px;height:10px;border-width:1.6px;opacity:1;margin-right:2px}
.catnav .cn3{font-weight:400;font-size:13px;letter-spacing:.01em;text-transform:uppercase;color:#222;min-height:35px;padding-top:0;padding-bottom:0;border-bottom:1px solid #e3e3e3;display:flex;align-items:center}
.catnav .cn3.on{color:var(--red)}
.catmain{padding:24px 0 40px 36px;padding-right:calc(50vw - 756px + 138px)}
@media(max-width:1512px){.catmain{padding-right:var(--gutter)}}
.catpath{font-size:13px;color:var(--ink);margin:0 0 26px}
.catpath{white-space:normal}
.pgrid{column-gap:24px;row-gap:44px}
.prod .pimg{height:150px;margin:0;border-bottom:1px solid rgba(255,27,34,.45);padding-bottom:0;background-color:#fff}
.prod .pimg.ph{background-color:#fafafa}
.prod h3{font-weight:700;font-size:16px;margin:18px 0 4px}
.prod .pref{font-size:14px;color:var(--ink);margin:0 0 16px}
.prod .pver{font-size:14px;color:#8a8a8a;gap:10px}
.prod .pver i{border-color:var(--red);width:7px;height:7px;border-right-width:1.5px;border-bottom-width:1.5px}
.prod:hover .pver{color:var(--ink)}
.catnav{margin-left:0}
/* Catálogo: línea superior del bloque y camino de hormigas del producto */
.catwrap{border-top:1px solid #e3e3e3}
.catnav{border-top:0}
.catmain{padding-top:26px}
.catpath{font-size:14px;font-weight:400;color:var(--ink);margin:0 0 30px;line-height:1.3}
.catpath .sl{color:var(--red);margin:0 4px}
/* Celda de producto — diseño elegido: nombre bold, REF en gris, Ver producto en rojo, sin línea */
.prod .pimg{border-bottom:0;background-color:#f6f6f6;height:150px;margin:0 0 18px;border-radius:0}
.prod .pimg.ph{background-color:#f6f6f6}
.prod h3{font-weight:700;font-size:16px;margin:0 0 4px;color:var(--ink)}
.prod .pref{font-weight:400;font-size:14px;color:#555;margin:0 0 16px}
.prod .pver{font-weight:400;font-size:14px;color:var(--red);gap:10px}
.prod .pver i{border-color:var(--red)}
.prod:hover .pver{color:var(--ink)}
.prod:hover .pver i{border-color:var(--ink)}
.prod .pimg{border-bottom:1px solid rgba(255,27,34,.45)}
/* Catálogo: máximo 4 columnas de producto */
.pgrid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px}
@media(max-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.pgrid{grid-template-columns:repeat(2,1fr)}}
.prod .pref{margin:0 0 6px}
.prod .pver{font-size:13px;gap:8px}
.prod .pver i{width:6px;height:6px}
/* Ficha de producto — proporciones y tamaños del PDF */
.pd{grid-template-columns:460px 360px;gap:20px;margin-top:6px}
.pd-img{aspect-ratio:auto;height:560px;min-height:0;background:#fff center/contain no-repeat;border-radius:0}
.pd-img.ph{background:#f6f6f6;border-radius:14px}
.pd-label{font-size:15px;font-weight:500;margin:0 0 4px}
.pd-model{font-weight:300;font-size:48px;line-height:1.05;margin:0 0 22px}
.pd-rows{gap:60px;margin:0 0 75px}
.pd-rows .k{font-weight:600;font-size:16px;color:var(--red);margin:0 0 6px}
.pd-rows .v{font-weight:400;font-size:16px}
.pd-desc{font-weight:700;font-size:15px;line-height:1.5;margin:0 0 60px;max-width:none}
.pd-docs{background:#f6f6f6;border-radius:16px;padding:22px 20px 8px}
.pd-docs h4{font-weight:600;font-size:17px;color:var(--red);margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid #e3e3e3}
.pd-doc{min-height:50px;padding:0;font-size:15px;font-weight:400;border-bottom:1px solid #e3e3e3}
.pd-doc:last-child{border-bottom:0}
.pd-doc .dl{width:26px;height:26px;-webkit-mask-size:26px 26px;mask-size:26px 26px}
@media(max-width:1100px){.pd{grid-template-columns:1fr}.pd-img{height:360px}}
.prod .pimg{background-color:#fff}
.prod .pimg.ph{background-color:#f6f6f6}
/* ===== Sidebar del catálogo — especificación tipográfica ===== */
.catnav{background:#fff}
.catnav .cn1>.cn-row{font-weight:600;font-size:18px;min-height:52px;background:#fff;color:var(--ink)}
.catnav .cn1>.cn-row .cn-chev{border-color:var(--red)}
.catnav .cn1.on>.cn-row span,.catnav .cn1.open>.cn-row{color:var(--red)}
.catnav .cn2>.cn-row{font-weight:500;font-size:16px;min-height:50px;background:#F1F1F199;color:var(--ink)}
.catnav .cn2>.cn-row .cn-chev{border-color:var(--ink)}
.catnav .cn2.open>.cn-row,.catnav .cn2.open>.cn-row span{color:var(--red)}
.catnav .cn2.open>.cn-row .cn-chev{border-color:var(--red)}
.catnav .cn3{font-weight:400;font-size:12px;min-height:38px;background:#F1F1F14D;color:var(--ink);letter-spacing:.02em}
.catnav .cn3.on{color:var(--red)}
.catnav .cn-chev{width:9px;height:9px;border-width:1.5px}
/* Catálogo: bloque centrado dentro del contenedor de 1512 (en pantallas anchas ya no se va a la izquierda) */
.catwrap{max-width:var(--maxw);margin-inline:auto}
.catmain{padding-right:var(--gutter)!important}

/* Talento (módulo compartido) */
.ab-imgcard{position:relative;border-radius:35px;overflow:hidden;background:#1a1a1a center/cover;color:#fff;padding:72px 60px;min-height:330px;isolation:isolate}
.ab-imgcard::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.42));z-index:-1}
.ab-talento::before{background:none}
.ab-talento{min-height:427px;display:flex;flex-direction:column;justify-content:center}
.ab-talento-h{font-weight:500;font-size:clamp(26px,3vw,35px);margin:0 0 6px}
.ab-talento-h2{font-weight:500;font-size:clamp(20px,2vw,25px);margin:0 0 18px}
.ab-talento-sub{font-weight:400;font-size:18px;max-width:40ch;margin:0 0 26px;line-height:1.4}

/* ============ CONTACTO — formulario, toggle y directorio (medidas PDF) ============ */
.cform-wrap{padding-top:123px;padding-bottom:98px}
.cform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px 40px}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform textarea{width:100%;height:50px;border:1px solid #d9d9d9;border-radius:6px;padding:0 16px;font:inherit;font-size:13px;color:var(--ink);background:#fff;outline:none}
.cform textarea{height:168px;padding:14px 16px;resize:vertical;margin-top:27px;display:block}
.cform input:focus,.cform textarea:focus{border-color:var(--red)}
.cform-foot{display:flex;justify-content:space-between;align-items:center;margin-top:41px}
.cform-check{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink)}
.cform-check input{width:14px;height:14px;accent-color:var(--red)}
.cform-check a{color:var(--ink);text-decoration:underline}
.cform-send{height:60px;padding:0 26px;font-size:20px}
.dir{background:#f1f1f1;padding-bottom:0}
.dir-toggle{display:grid;grid-template-columns:1fr 1fr}
.dir-toggle button{height:62px;border:0;font:inherit;font-weight:600;font-size:13px;cursor:pointer;background:#afafaf;color:#f6f6f2}
.dir-toggle button.on{background:#f1f1f1;color:var(--red)}
.dir-panel{padding:46px 0 0}
.dir-3{display:grid;grid-template-columns:repeat(3,381px);column-gap:40px;row-gap:40px}
.dir h4{font-weight:700;font-size:12px;color:var(--red);margin:0 0 12px}
.dir p{font-size:12px;line-height:1.6;margin:0;color:var(--ink)}
.dir p.k,.dir .k{font-weight:600;color:var(--red)}
.dir .k{margin-right:6px}
.dir p.k{margin-top:10px}
.dir p.k:first-of-type{margin-top:0}
.dir-sub{font-weight:600;font-size:12px;color:var(--ink);margin:56px 0 44px;padding-bottom:8px;border-bottom:1px solid var(--red);width:381px}
.dir-map{display:block;height:auto;margin:56px 0 0}
.dir-map--es{width:520px;padding-bottom:90px}
.dir-map--int{width:100%;max-width:1236px;padding-bottom:90px}
.dir-int{display:grid;grid-template-columns:repeat(3,381px);column-gap:40px}
.dir-int ul{list-style:none;margin:0;padding:0}
.dir-int li{font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);line-height:2.1}
.dir + .wrap,.dir + div{margin-top:clamp(56px,7vw,96px)}
@media(max-width:1100px){.cform-grid{grid-template-columns:1fr 1fr}.dir-3,.dir-int{grid-template-columns:1fr 1fr}.dir-sub{width:auto}}
@media(max-width:700px){.cform-grid,.dir-3,.dir-int{grid-template-columns:1fr}.dir-map--es{width:100%}}
.dir-3,.dir-int{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
.dir{display:block!important;grid-template-columns:none!important;gap:0!important}
.dir>.wrap{display:block;width:auto}
.dir h4{font-size:13px;margin:0 0 14px}
.dir p{font-size:13px;line-height:1.55}
.dir p.k{margin-top:14px}
.dir-3{row-gap:56px}
.dir-sub{font-size:13px;margin:60px 0 48px}
.dir-map{margin:70px auto 0}
.dir-map--es{width:520px;padding-bottom:100px}
.dir-int li{font-size:12px;line-height:2.2}
.dir-int h4{font-size:13px}
.dir-int li{font-size:13px;line-height:2}

/* ===== Directorio de Contacto — estilo medido 1:1 (todo 16px, interlínea 25) ===== */
.dir h4{font-weight:600;font-size:16px;line-height:25px;color:var(--red);margin:0 0 25px}
.dir p{font-weight:400;font-size:16px;line-height:25px;color:var(--ink);margin:0}
.dir p.k{font-weight:400;font-size:16px;color:var(--red);margin:25px 0 0}
.dir h4 + p.k{margin-top:0}
.dir .k{font-weight:400;color:var(--red);margin-right:4px}
.dir p:not(.et) + p.et{margin-top:25px}
.dir-3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:88px}
.dir-sub{font-weight:400;font-size:16px;line-height:25px;color:var(--ink);width:420px;padding-bottom:6px;border-bottom:1px solid var(--red);margin:100px 0 70px}
.dir-panel{padding-top:48px}
.dir-int h4{font-weight:600;font-size:16px;margin:0 0 25px}
.dir-int li{font-size:16px;text-transform:uppercase;letter-spacing:.01em;line-height:25px;padding:0 0 15px}
.dir p.dir-sub{margin:100px 0 70px;width:420px}
.dir h4,.dir p,.dir p.k,.dir p.dir-sub,.dir-int h4,.dir-int li{font-size:18px;line-height:25px}
.dir-int li{padding-bottom:12px}
.dir-toggle button{font-size:clamp(18px,1.6vw,24px)}
/* Talento — foto anclada arriba; título a dos renglones del mismo cuerpo; botón de 56 */
.ab-talento{background-position:right top!important;justify-content:center;padding-top:60px;padding-bottom:60px}
.ab-talento-h{font-weight:400;font-size:30px;line-height:1.2;margin:0}
.ab-talento-h b{font-weight:700}
.ab-talento-h2{font-weight:400;font-size:30px;line-height:1.2;margin:0 0 22px}
.ab-talento-sub{font-weight:400;font-size:18px;line-height:1.3;max-width:34ch;margin:0 0 40px}
.ab-talento .btn{height:56px;padding:0 20px;font-size:18px;border-radius:8px}
.ab-talento-h,.ab-talento-h2{font-size:35px;line-height:1.15}
.ab-talento-h2{margin-bottom:24px}
.ab-talento-sub{font-size:20px;line-height:1.25;margin-bottom:44px}
.ab-talento .btn{height:58px;font-size:20px;padding:0 22px}
/* Talento: foto como imagen real (sin artefactos de pintado) */
.ab-talento{background-image:none!important;background-color:#000;isolation:auto}
.ab-talento .tal-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right top;z-index:0;pointer-events:none}
.ab-talento>*:not(.tal-photo){position:relative;z-index:1}
.ab-talento::before{display:none}

/* ============ DESCARGAS — medido en MP-Downloads (1512) ============ */
.dl-hero{background:var(--red);color:#fff;min-height:691px;display:flex;align-items:center;margin-top:0}
.dl-hero-in{display:grid;grid-template-columns:minmax(0,640px) auto;justify-content:space-between;align-items:end;gap:40px;width:100%;padding-block:120px 152px}
.dl-eyebrow{font-weight:500;font-size:17px;line-height:1.3;margin:0 0 84px;max-width:60ch}
.dl-hero h1{font-weight:600;font-size:48px;line-height:1.0;letter-spacing:-.01em;margin:0 0 36px;color:#fff}
.dl-body{font-weight:400;font-size:24px;line-height:1.5;margin:0;max-width:640px}
.dl-hero-btn{height:48px;padding:0 20px;font-size:16px;margin-bottom:8px;flex:none}
.dl-hero .btn--white{color:#fff;border-color:#fff}
#docs{padding-top:88px}
.sec-head{font-weight:600;font-size:18px;color:var(--red);text-align:center;margin:0 0 70px}
.doc-cols{display:grid;grid-template-columns:524px 524px;column-gap:186px;justify-content:start;row-gap:80px}
.doc-group h3{font-weight:400;font-size:18px;color:var(--ink);margin:0 0 38px;padding-bottom:12px;position:relative}
.doc-group h3::after{content:"";position:absolute;left:0;bottom:0;width:394px;height:1px;background:var(--red)}
.doc-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:51px;padding:0;border-top:1px solid #ddd;font-weight:400;font-size:18px;color:var(--ink);text-decoration:none;transition:color .2s ease}
.doc-group .doc-item:last-child{border-bottom:1px solid #ddd}
.doc-item .doc-name{flex:1;min-width:0}
.doc-item .dl{width:26px;height:26px;flex:none;background:var(--red);-webkit-mask:var(--dl-icon) center/26px 26px no-repeat;mask:var(--dl-icon) center/26px 26px no-repeat;transition:background-color .2s ease}
.doc-item .dl--go{-webkit-mask:none;mask:none;border:1px solid var(--red);border-radius:50%;background:transparent;display:grid;place-items:center;color:var(--red)}
.doc-item .dl--go::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateX(-1px) rotate(-45deg)}
.doc-item:hover{color:var(--red)}
.doc-item:hover .dl{background:var(--ink)}
.doc-item:hover .dl--go{background:var(--red);color:#fff;border-color:var(--red)}
.doc-item:hover .dl:not(.dl--go){background:var(--red)}
/* banner final */
.dl-band{padding-block:110px 80px}
.dl-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}
.dl-cta h2{font-weight:500;font-size:30px;line-height:1.15;margin:0 0 30px;max-width:22ch;color:var(--ink)}
.dl-headset{width:200px;height:auto;justify-self:end;margin-right:80px}
@media(max-width:1300px){.doc-cols{grid-template-columns:1fr 1fr;column-gap:60px}}
@media(max-width:900px){.doc-cols{grid-template-columns:1fr}.dl-hero-in{grid-template-columns:1fr}.dl-cta{grid-template-columns:1fr}.dl-headset{justify-self:start;margin:0}}
.dl-hero h1{max-width:440px}
.dl-band{padding-block:110px 130px}
.dl-headset{margin-right:140px;width:230px}
/* Descargas: hover -> icono relleno en rojo con glifo blanco */
.doc-item .dl{position:relative}
.doc-item:hover .dl:not(.dl--go){-webkit-mask:none;mask:none;background:var(--red);border-radius:50%}
.doc-item:hover .dl:not(.dl--go)::after{content:"";position:absolute;inset:0;background:#fff;-webkit-mask:var(--dl-icon) center/26px 26px no-repeat;mask:var(--dl-icon) center/26px 26px no-repeat}
#docs .sec-head,.dl-corp .sec-head,.sec-head{font-weight:600!important;font-size:18px!important}
/* Descargas: un solo divisor entre filas; más aire antes del pie */
.doc-item{border-bottom:0!important;border-top:1px solid #ddd!important}
.doc-group .doc-item:last-child{border-bottom:1px solid #ddd!important}
.dl-band{padding-block:120px 160px}

/* ============ SUBPÁGINAS NEXUS — módulos según PDF ============ */
.nx-intro{display:grid;grid-template-columns:minmax(0,1fr) 394px;gap:60px;align-items:center;padding-top:80px;padding-bottom:80px}
.nx-intro-text{font-weight:500;font-size:clamp(16px,1.2vw,18px);line-height:1.5;max-width:62ch;margin:0}
.nx-intro-img{height:220px;border-radius:14px;background:#f6f6f6 center/cover no-repeat}
.nx-band{background:var(--red);color:#fff;padding:96px 0}
.nx-band--dark{background:#0e0e10}
.nx-band-in{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:60px}
.nx-band-text{font-weight:400;font-size:clamp(17px,1.32vw,20px);line-height:1.45;max-width:52ch;margin:0}
.nx-band-logo{height:auto;display:block;justify-self:end;margin-right:40px}
.nx-band-center{text-align:center}
.nx-band-center h2{font-weight:500;font-size:clamp(26px,2.4vw,36px);line-height:1.15;margin:0 auto 22px;max-width:24ch;color:#fff}
.nx-band-center p{font-weight:400;font-size:clamp(16px,1.2vw,18px);line-height:1.5;max-width:70ch;margin:0 auto}
.nx-iptv{padding-top:90px}
.nx-iptv .sec-head{margin-bottom:12px}
.nx-iptv-sub{text-align:center;font-weight:400;font-size:16px;color:var(--ink);margin:0 0 44px}
.nx-tiles{display:grid;grid-template-columns:repeat(5,223px);column-gap:30px;justify-content:space-between}
.nx-tiles img{width:223px;height:223px;border-radius:22px;display:block}
.nx-related{padding-top:90px}
.nx-related .sec-head{margin-bottom:44px}
.pgrid--5{grid-template-columns:repeat(5,minmax(0,1fr))!important;column-gap:24px!important}
.pgrid--5 .prod .pimg{height:150px}
@media(max-width:1100px){.nx-intro{grid-template-columns:1fr}.nx-band-in{grid-template-columns:1fr}.nx-band-logo{justify-self:start;margin:0}.nx-tiles{grid-template-columns:repeat(3,1fr)}.nx-tiles img{width:100%;height:auto}.pgrid--5{grid-template-columns:repeat(3,1fr)!important}}
.nx-intro-h{font-weight:400;font-size:clamp(26px,2.4vw,36px);line-height:1.15;margin:0 0 26px;color:var(--ink)}
/* Nexus — espaciados medidos (Plataforma) */
.nx-intro{padding-top:80px;padding-bottom:0;align-items:start}
.nx-intro:has(.nx-intro-img){align-items:center}
.nx-intro .lbl{margin-bottom:56px}
.nx-intro-text{font-weight:400;font-size:17px;line-height:24px;max-width:66ch}
.nx-band{padding:91px 0 128px;margin-top:80px}
.nx-band .lbl{margin-bottom:53px}
.nx-band-text{font-size:17px;line-height:25px;max-width:56ch}
.nx-band-logo{margin-right:86px;align-self:center}
.nx-divider{height:1px;background:#a5a5a5;margin:80px 0 0}
.cta-mod--nx{padding-top:135px}
.nx-iptv,.nx-related{padding-top:90px}
.nx-intro-text{font-weight:500}
.nx-intro .lbl b{font-weight:700}
.nx-intro{grid-template-columns:1fr}
.nx-intro-img{display:none}
.nx-band--plain{padding:0;min-height:418px;display:flex;align-items:center}
.nx-band--plain .nx-band-in{width:100%}
.nx-band--plain .nx-band-text b{font-weight:700}
.nx-intro-h--center{text-align:center;font-size:40px;line-height:1.15;margin:0;padding:10px 0 40px}
.nx-intro-h--center .text-red{color:var(--red)}
.nx-band-logo{width:205px}
.nx-band-icons{display:flex;gap:40px;justify-self:end;margin-right:40px}
.nx-band-logo svg{width:100%;height:auto;display:block}
/* Nexus — cuerpos de texto medidos 1:1 */
.nx-intro .lbl,.nx-intro .label{font-size:18px!important;font-weight:400!important;color:var(--ink)}
.nx-intro .lbl b{font-weight:700}
.nx-intro-text{font-size:20px!important;font-weight:400!important;line-height:24px!important;max-width:60ch}
.nx-band .lbl,.nx-band .label{font-size:18px!important;font-weight:600!important;color:#fff}
.nx-band-text{font-size:20px!important;font-weight:400!important;line-height:25px!important;max-width:48ch}
.nx-band-center h2{font-size:36px}
.nx-band-center p{font-size:20px;line-height:25px}
.nx-iptv .sec-head{font-size:18px!important}
.nx-iptv-sub{font-size:16px}
.nx-intro-text{max-width:790px}

/* ============ BUSCADOR GLOBAL ============ */
form.search{position:relative}
.search-sug{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #e3e3e3;border-radius:14px;box-shadow:0 18px 40px rgba(9,32,46,.12);padding:8px 0;z-index:80;max-height:360px;overflow:auto}
.search-sug a{display:block;padding:9px 16px;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.3}
.search-sug a small{display:block;color:#777;font-size:12px}
.search-sug a:hover,.search-sug a.on{background:#f6f6f6;color:var(--red)}
.search-sug .sug-all{border-top:1px solid #eee;margin-top:6px;padding-top:12px;color:var(--red);font-weight:500}
.srch-count{font-size:15px;color:#555;margin:28px 0 8px}
.srch-h{font-weight:600;font-size:18px;color:var(--red);margin:36px 0 10px}
.srch-h span{font-weight:400;color:#777;font-size:14px}
.srch-item{display:block;padding:14px 0;border-bottom:1px solid #e5e5e5;text-decoration:none;color:var(--ink)}
.srch-item .srch-t{display:block;font-weight:500;font-size:17px}
.srch-item .srch-s{display:block;font-size:14px;color:#555;margin-top:4px}
.srch-item:hover .srch-t{color:var(--red)}
.srch-item mark{background:transparent;color:var(--red);font-weight:600}

/* ============ ANIMACIONES DE APARICIÓN — variantes por tipo de bloque ============ */
.rv{--rv-ease:cubic-bezier(.22,.61,.36,1);transition:opacity .7s var(--rv-ease),translate .7s var(--rv-ease),scale .8s var(--rv-ease),clip-path .7s var(--rv-ease),transform .42s var(--rv-ease),box-shadow .42s var(--rv-ease)}
.rv--zoom{translate:0 0;scale:1.04;clip-path:inset(0 0 0 0 round 22px)}
.rv--zoom.in{scale:1}
.rv--right{translate:-18px 0}
.rv--right.in{translate:0 0}
.rv--left{translate:-14px 0}
.rv--left.in{translate:0 0}
.rv--pop{translate:0 18px;scale:.97}
.rv--pop.in{translate:0 0;scale:1}
.rv--fade{translate:0 0}
/* línea de etiqueta: se dibuja de izquierda a derecha al aparecer */
.lbl.rv::after{transform:scaleX(0);transform-origin:left;transition:transform .8s var(--rv-ease) .25s}
.lbl.rv.in::after{transform:scaleX(1)}
.nx-divider,.article-divider{transform-origin:left}
.nx-divider.rv,.article-divider.rv{opacity:1;translate:0 0;transform:scaleX(0);transition:transform 1s var(--rv-ease)}
.nx-divider.rv.in,.article-divider.rv.in{transform:scaleX(1)}
/* banda roja: entra con un barrido suave desde la izquierda */
.nx-band,.catband,.dl-hero{position:relative;overflow:hidden}
@media (prefers-reduced-motion:reduce){.rv,.rv--zoom,.rv--pop,.rv--left,.rv--right{opacity:1;translate:0 0;scale:1;transform:none;transition:none}.lbl.rv::after{transform:none}}

/* ======================================================================
   RESPONSIVE — móvil y tablet (≤ 980 px)
   ====================================================================== */
.mnav-btn{display:none}
.mdrawer{display:none}
@media (max-width:980px){
  :root{--gutter:clamp(20px,5.5vw,40px)}
  html,body{overflow-x:hidden}
  /* ---- cabecera estática: logo + lupa + hamburguesa ---- */
  .site-head .menu-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
  .site-head .top-utils,.site-head .lang,.site-head .menu-bottom,.site-head .brand-fagor,.site-head .menu-top>img:last-child,.hero--home .top-utils,.hero--home .lang,.hero--home .menu-bottom,.hero--home .brand-fagor,.hero--home .menu-top>img:last-child,.hero--home .menu-top .fagor,.site-head .menu-top .fagor{display:none!important}
  .site-head .brand-logo,.hero--home .brand-logo{height:34px}
  .site-head form.search,.hero--home form.search{display:none}
  .hero--home .menu-top,.site-head .menu-top{display:flex;align-items:center;justify-content:space-between}
  .mnav-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;padding:0;margin-left:auto;flex:none}
  .mnav-btn span{position:relative;width:18px;height:2px;background:var(--ink);display:block;transition:background .2s}
  .mnav-btn span::before,.mnav-btn span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .25s,top .25s}
  .mnav-btn span::before{top:-6px}.mnav-btn span::after{top:6px}
  body.mnav-open .mnav-btn span{background:transparent}
  body.mnav-open .mnav-btn span::before{top:0;transform:rotate(45deg)}
  body.mnav-open .mnav-btn span::after{top:0;transform:rotate(-45deg)}
  /* menú fijo en bloque: no en móvil */
  .menu-block{display:none!important}
  /* ---- cajón de menú ---- */
  .mdrawer{display:block;position:fixed;inset:0;z-index:200;background:#fff;transform:translateX(100%);transition:transform .35s cubic-bezier(.22,.61,.36,1);overflow:auto;padding:0 var(--gutter) 40px}
  body.mnav-open .mdrawer{transform:none}
  body.mnav-open{overflow:hidden}
  .mdrawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e5e5e5;margin-bottom:8px}
  .mdrawer-head .brand-logo{height:34px}
  .mdrawer form.search{display:flex;margin:14px 0 6px}
  .mdrawer .search input{width:100%}
  .mdrawer nav a,.mdrawer nav button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;border:0;border-bottom:1px solid #e5e5e5;background:none;font:inherit;font-weight:500;font-size:18px;color:var(--ink);text-align:left;cursor:pointer;text-decoration:none}
  .mdrawer nav button::after{content:"";width:10px;height:10px;border-right:1.5px solid var(--red);border-bottom:1.5px solid var(--red);transform:rotate(45deg);transition:transform .2s;margin-right:6px}
  .mdrawer nav .open>button::after{transform:rotate(-135deg)}
  .mdrawer nav .open>button{color:var(--red)}
  .mdrawer nav .msub{display:none;padding:4px 0 8px 14px}
  .mdrawer nav .open>.msub{display:block}
  .mdrawer nav .msub a,.mdrawer nav .msub button{font-weight:400;font-size:16px;padding:12px 0;border-bottom:1px solid #f0f0f0}
  .mdrawer nav .msub .msub a{font-size:14px;text-transform:uppercase;letter-spacing:.02em;color:#444;padding:10px 0}
  .mdrawer-utils{display:flex;flex-wrap:wrap;gap:10px 22px;padding:22px 0 0;font-size:14px}
  .mdrawer-utils a{color:var(--red);text-decoration:none}
  .mdrawer-lang{display:flex;gap:14px;padding-top:18px;font-size:13px}
  .mdrawer-lang a{color:#555;text-decoration:none}.mdrawer-lang a.on{color:var(--red);font-weight:600}
  /* ---- home: hero ---- */
  .hero--home{min-height:auto}
  .hero--home .hero-card{position:static;width:auto;max-width:none;margin:0 var(--gutter);padding:24px 0 28px}
  .hero--home .hero-body{padding:0}
  .hero--home .menu-top{padding:14px 0}
  .hero--home h1{font-size:clamp(34px,9vw,44px)}
  /* ---- heros de dos bloques y de tarjeta ---- */
  .phero .wrap{display:block}
  .phero .col-left,.phero-media{margin:0}
  .phero-panel{min-height:0;padding:34px var(--gutter) 40px;border-radius:22px}
  .phero-eyebrow{margin-bottom:28px}
  .phero-panel h1{font-size:clamp(30px,8vw,40px)}
  .phero-media{margin:14px 0 0;min-height:260px;padding:22px;border-radius:22px;background-position:center}
  .phero-media .t,.phero-media .b{position:static;max-width:none;margin:0 0 10px}
  .hero-card-img{min-height:380px;padding:30px var(--gutter);margin-inline:0;border-radius:22px}
  .hero-card-img h1{font-size:clamp(30px,8vw,40px)}
  .shero-img{min-height:300px}
  /* ---- rejillas genéricas ---- */
  .solcards,.solcards--2,.hcards,.pillars-ic,.dir-3,.dir-int,.doc-cols,.deflist,.cform-grid,.nx-tiles,.pgrid,.pgrid--4,.pgrid--5,.ab-hero-grid,.ab-statement,.subintro,.home-exp .wrap,.home-equipo .wrap,.article-2col,.aud .wrap,.benef .row,.stair,.duo,.rtiles,.tiles{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}
  .pgrid,.pgrid--4,.pgrid--5{grid-template-columns:1fr 1fr!important;column-gap:18px!important}
  .solcards--2{margin-top:0!important}
  .solcard,.hcard{max-width:none;width:100%}
  .rtile,.r-tile{aspect-ratio:1/1;width:100%;max-width:none}
  .nx-tiles{grid-template-columns:1fr 1fr!important}
  .nx-tiles img{width:100%;height:auto}
  .lbl::after,.lbl{--ll:100%}
  .lbl::after{max-width:100%}
  .dir p.dir-sub,.dir-sub{width:100%!important}
  .cta-mod h2,.cta-card h2,.cta-mod--case h2{font-size:clamp(26px,7vw,34px)}
  .cta-mod p,.cta-card p,.cta-mod--case p{font-size:clamp(17px,4.6vw,20px)}
  .btns,.cta-mod .btns,.cform-foot{display:flex;flex-wrap:wrap;gap:12px}
  .btn--solid,.btn--outline{font-size:16px;height:52px;padding:0 18px}
  .cta-card{padding:34px var(--gutter);margin-inline:0}
  .cta-waves{display:none}
  .cta-divider{width:100%;margin-left:0}
  /* ---- bandas ---- */
  .nx-band{padding:48px 0!important;min-height:0!important}
  .nx-band-in,.catband-in,.dl-cta{grid-template-columns:1fr!important;gap:26px!important}
  .nx-band-logo,.nx-band-icons{justify-self:start;margin:0!important}
  .nx-band-logo{width:150px!important}
  .nx-band-icons .nx-band-logo{width:140px!important}
  .catband-in{min-height:0;padding:44px 0}
  .dl-hero{min-height:0}
  .dl-hero-in{padding-block:56px 60px}
  .dl-hero h1{font-size:clamp(30px,8vw,40px)}
  .dl-body{font-size:18px}
  .dl-headset{width:150px;margin:0;justify-self:start}
  /* ---- catálogo ---- */
  .catwrap{grid-template-columns:1fr!important}
  .catnav{border:0;border-bottom:1px solid #e3e3e3;padding-bottom:10px;min-height:0}
  .catnav .cn-row,.catnav .cn3{padding-left:0!important}
  .catnav .cn2>.cn-row{padding-left:16px!important;padding-right:12px!important}
  .catnav .cn3{padding-left:30px!important;padding-right:12px!important}
  .catmain{padding:20px 0 30px!important}
  .searchbar{flex-direction:column;gap:10px}
  .searchbar .btn{width:100%}
  .pd{grid-template-columns:1fr!important;gap:26px!important}
  .pd-img{height:300px!important}
  .pd-model{font-size:36px}
  /* ---- Tu zona / Talento / audiencia ---- */
  .tuzona .wrap,.ab-talento{padding:34px var(--gutter)}
  .ab-talento{min-height:0!important;padding:34px var(--gutter)!important;margin-inline:0!important}
  .ab-talento .tal-photo{opacity:.35}
  .ab-talento-h,.ab-talento-h2{font-size:26px}
  .tuzona .btn--zona{align-self:flex-start;margin-top:18px}
  .aud{padding:40px 0}
  /* ---- contacto ---- */
  .dir-toggle button{font-size:14px}
  .dir-map--es{width:100%!important}
  .cform-foot{flex-direction:column;align-items:flex-start}
  /* ---- listas de sectores ---- */
  .sectorlist li a{font-size:15px;gap:10px}
  /* ---- pie ---- */
  .footer .fgrid,.footer .wrap>div{grid-template-columns:1fr!important;display:grid;gap:18px}
  .footer .fline{width:100%!important;max-width:100%!important}
  .footer .fbottom{flex-direction:column;align-items:flex-start;gap:10px}
  .footer .flegal{flex-wrap:wrap;gap:8px 18px}
  /* ---- tipografía general ---- */
  .statement h2{font-size:clamp(26px,7vw,34px)}
  .article-title{font-size:clamp(28px,7.5vw,38px)}
  .article-img{height:220px}
  .phero{padding-top:20px!important}
  .crumb{font-size:12px}
}
@media (max-width:640px){
  .pgrid,.pgrid--4,.pgrid--5{grid-template-columns:1fr 1fr!important}
  .nx-tiles{grid-template-columns:1fr 1fr!important}
  .chips{justify-content:flex-start!important}
  .dir-toggle button{height:46px}
}
@media (max-width:1100px){.pd-img{width:100%;max-width:100%;height:360px}}
@media (max-width:980px){.pd-img{height:300px!important}}
@media (min-width:641px) and (max-width:980px){
  .rtiles,.tiles,.stair,.duo,.solcards,.solcards--2,.hcards,.pillars-ic,.doc-cols,.cform-grid,.dir-3,.dir-int{grid-template-columns:1fr 1fr!important;gap:22px!important}
  .pgrid,.pgrid--4,.pgrid--5{grid-template-columns:repeat(3,1fr)!important}
  .nx-tiles{grid-template-columns:repeat(3,1fr)!important}
}
/* tiles IPTV: columnas fluidas por debajo de 1512 */
.nx-tiles{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:clamp(14px,2vw,30px)}
.nx-tiles img{width:100%;height:auto;aspect-ratio:1/1}

/* ============ AVISO DE COOKIES — minimal ============ */
.ck{position:fixed;left:50%;bottom:22px;translate:-50% 0;z-index:300;width:min(720px,calc(100% - 40px));background:#fff;color:var(--ink);border:1px solid #e3e3e3;border-radius:14px;box-shadow:0 18px 44px rgba(9,32,46,.14);padding:18px 22px;display:flex;align-items:center;gap:22px;opacity:0;translate:-50% 16px;transition:opacity .45s cubic-bezier(.22,.61,.36,1),translate .45s cubic-bezier(.22,.61,.36,1)}
.ck.show{opacity:1;translate:-50% 0}
.ck p{margin:0;font-size:14px;line-height:1.45;flex:1}
.ck p a{color:var(--red);text-decoration:underline}
.ck-btns{display:flex;gap:10px;flex:none}
.ck .btn{height:40px;padding:0 16px;font-size:14px;border-radius:8px;border:1px solid var(--red);cursor:pointer;font-family:inherit;font-weight:500;transition:background-color .2s,color .2s}
.ck .ck-ok{background:var(--red);color:#fff}
.ck .ck-ok:hover{background:#fff;color:var(--red)}
.ck .ck-no{background:#fff;color:var(--ink);border-color:#d9d9d9}
.ck .ck-no:hover{border-color:var(--ink)}
@media (max-width:640px){.ck{flex-direction:column;align-items:stretch;padding:16px 18px;bottom:12px}.ck-btns{justify-content:flex-end}}
/* páginas legales */
.legal{padding-top:40px;padding-bottom:clamp(60px,7vw,110px);max-width:820px}
.legal h1{font-weight:600;font-size:clamp(30px,3.2vw,40px);line-height:1.05;margin:0 0 36px}
.legal h2{font-weight:600;font-size:18px;color:var(--red);margin:30px 0 10px}
.legal p{font-size:16px;line-height:1.6;margin:0 0 12px}
.legal .muted{color:#888;font-size:14px;margin-top:30px}
/* Formulario de contacto: estados */
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform .is-err{border-color:var(--red)!important}
.cform-check.is-err span{color:var(--red)}
.cform-msg{margin:18px 0 0;font-size:15px}
.cform-msg.ok{color:#1a7f3c}.cform-msg.err{color:var(--red)}
.cform-send:disabled{opacity:.6;cursor:default}
/* Idiomas ocultos (opción A hasta Storyblok) */
.no-langs .lang,.no-langs .langsw,.no-langs .mdrawer-lang{display:none!important}
/* ===== Home responsive: Somos equipo y Tu zona ===== */
@media (max-width:980px){
  .home-equipo{min-height:0;padding-bottom:0}
  .home-equipo .swirl{position:static;width:100%;height:260px;margin-top:28px;background-position:center;background-size:cover;border-radius:0}
  .home-equipo .wrap{padding-bottom:0}
  .tuzona .wrap{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;align-items:start!important}
  .tuzona .wrap p{max-width:none!important}
  .tuzona .btn--zona{justify-self:start!important;align-self:start!important;margin-top:6px}
  .tuzona h2.heading{font-size:clamp(30px,8vw,40px)!important}
  .home-exp{padding-bottom:120px}
  .hero--home .hero-card p{font-size:16px;line-height:1.5}
}
@media (max-width:980px){.home-equipo{display:flex;flex-direction:column}.home-equipo .swirl{order:2;margin-top:24px}}
/* ===== Cabecera móvil: logo · ☰ · Fagor (como la web en pruebas) ===== */
@media (max-width:980px){
  .site-head .menu-top,.hero--home .menu-top{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}
  .site-head .brand-fagor,.hero--home .brand-fagor,.site-head .menu-top>img:last-child,.hero--home .menu-top>img:last-child,.site-head .menu-top .fagor,.hero--home .menu-top .fagor{display:block!important;height:30px;width:auto;order:3;margin:0}
  .site-head .brand-logo,.hero--home .brand-logo{order:1;height:34px}
  .mnav-btn{order:2;width:34px;height:30px;border:0;border-radius:0;background:transparent;margin:0 auto}
  .mnav-btn span,.mnav-btn span::before,.mnav-btn span::after{width:30px;height:3px;border-radius:2px;background:var(--ink)}
  .mnav-btn span::before{top:-9px}.mnav-btn span::after{top:9px}
  body.mnav-open .mnav-btn span{background:transparent}
  .mdrawer-head .mnav-btn{margin:0}
}
@media (max-width:980px){
  .site-head .fagor-logo,.hero--home .fagor-logo{display:block!important;height:30px;width:auto;order:3;margin:0}
  .site-head .lang,.hero--home .lang,.site-head .top-utils,.hero--home .top-utils,.site-head form.search,.hero--home form.search{display:none!important}
}
@media (max-width:980px){
  .site-head .top-utils,.hero--home .top-utils{display:flex!important;order:3;margin:0;padding:0;gap:0}
  .site-head .top-utils>*:not(.fagor-logo),.hero--home .top-utils>*:not(.fagor-logo){display:none!important}
  .site-head .top-utils .fagor-logo,.hero--home .top-utils .fagor-logo{display:block!important;height:30px}
  .mnav-btn{order:2;margin:0 auto}
}
/* Contacto: texto legal bajo el formulario */
.cform-legal{font-size:12px;line-height:1.5;color:#8a8a8a;margin:26px 0 0;max-width:820px}
.cform-legal a{color:#8a8a8a;text-decoration:underline}
.cform-legal a:hover{color:var(--red)}
.cform-foot{margin-top:22px}
.cform-check{font-size:12px;color:#8a8a8a}
.cform-check a{color:#8a8a8a;text-decoration:underline}
.cform-check a:hover{color:var(--red)}
/* Legales: ficha de datos, subapartados y fecha */
.legal h3{font-weight:600;font-size:16px;color:var(--ink);margin:22px 0 8px}
.legal ul{margin:0 0 14px;padding-left:20px}
.legal li{font-size:16px;line-height:1.6;margin:0 0 4px}
.legal a{color:var(--red)}
.legal-dl{display:grid;gap:8px;margin:0 0 18px;padding:18px 20px;background:#f6f6f6;border-radius:12px}
.legal-dl div{display:grid;grid-template-columns:180px 1fr;gap:12px;font-size:15px;line-height:1.5}
.legal-dl dt{font-weight:600;color:var(--ink)}
.legal-dl dd{margin:0}
.legal .pending{color:#b45f00;font-weight:600}
.legal-date{color:#888;font-size:14px;margin-top:30px}
@media (max-width:640px){.legal-dl div{grid-template-columns:1fr;gap:2px}}
.legal{max-width:none}
.legal>*{max-width:820px}


/* ============ HOME · hero cover + menú hacia arriba (v2) ============ */
/* 1) La imagen cubre TODO el hero (no la tarjeta): el fondo va en el section */
.hero--home{background-size:cover;background-position:center;background-repeat:no-repeat;background-origin:border-box;background-clip:border-box}
.hero--home > .hero-wrap{background:transparent}
/* 2) Menú de la home: panel hacia arriba, al ancho de la tarjeta, sin sombra fea */
.hero--home .hero-card{overflow:visible;position:relative}
.hero--home .menu-bottom{position:static}
.hero--home .mega-wrap{position:absolute;bottom:100%;top:auto;left:calc(-1*clamp(40px,4.6vw,88px));right:calc(-1*clamp(40px,4.6vw,88px));
  max-height:0;overflow:hidden;background:#fff;border-radius:26px 26px 0 0;box-shadow:none;transition:max-height .32s ease;display:block;z-index:5}
.hero--home .menu-bottom.mega-open .mega-wrap{max-height:640px;box-shadow:0 -18px 40px rgba(9,32,46,.06)}
.hero--home .mega-inner{max-width:none;margin:0;padding:44px clamp(40px,4.6vw,88px) 34px;display:grid;grid-template-columns:var(--hero-indent) 1fr}
.hero--home .mega{grid-column:2}
/* que el panel arranque desde el borde de la tarjeta */
.hero--home .mega-wrap{border-bottom:1px solid #f0f0f0}

/* ===== Home hero móvil: menos imagen visible + más aire en la tarjeta ===== */
@media (max-width:980px){
  .hero--home{min-height:auto;padding:16px 14px}          /* marco fino: menos franja de imagen */
  .hero--home .hero-wrap{width:100%;max-width:none;margin:0}
  .hero--home .hero-card{margin:0;padding:26px 22px 30px;border-radius:22px}  /* aire interior */
  .hero--home .hero-body{padding:0}
  .hero--home .menu-top{padding:6px 0 14px}
  .hero--home .hero-card .phero-eyebrow,
  .hero--home .hero-card .sub,
  .hero--home .hero-card h1{padding-right:4px}
  .hero--home h1{margin:18px 0 10px}
  .hero--home .hero-card .sub{margin-bottom:26px}
}

/* Documentos de producto: fila completa clicable (texto + icono) */
a.pd-doc{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:var(--ink);cursor:pointer;transition:color .18s ease}
a.pd-doc .pd-doc-name{flex:1}
a.pd-doc:hover{color:var(--red)}
a.pd-doc:hover .dl:not(.dl--go){background:var(--red);border-radius:50%}
a.pd-doc:hover .dl:not(.dl--go)::after{content:"";position:absolute;inset:0;background:#fff;-webkit-mask:var(--dl-icon) center/26px 26px no-repeat;mask:var(--dl-icon) center/26px 26px no-repeat}
a.pd-doc .dl{position:relative}

/* ====== Icono de descarga en fichas de producto (estado normal y hover) ====== */
/* Normal: círculo con borde rojo y flecha roja (contorno del propio icono). Hover: círculo rojo lleno, flecha blanca. */
a.pd-doc .dl{
  width:34px;height:34px;flex:none;margin-left:auto;display:inline-block;position:relative;
  border-radius:50%;background:transparent;border:0;
  -webkit-mask:none;mask:none;transition:background-color .2s ease;
}
a.pd-doc .dl::after{
  content:"";position:absolute;inset:0;background:var(--red);
  -webkit-mask:var(--dl-icon) center/34px 34px no-repeat;mask:var(--dl-icon) center/34px 34px no-repeat;
  transition:background-color .2s ease;
}
a.pd-doc:hover .dl{background:var(--red)}
a.pd-doc:hover .dl::after{background:#fff}

/* ====== Descargas: divisores y banner ====== */
.dl-divider{height:1px;background:var(--hairline);margin:clamp(40px,5vw,64px) 0}
.dl-divider--pre-cta{margin-top:clamp(48px,6vw,80px);margin-bottom:0}
.dl-sec + .dl-sec{margin-top:0}
.cta-mod--dl{padding-block:clamp(56px,7vw,90px)}
.dl-cta-in{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-mod--dl h2{font-weight:500;font-size:clamp(26px,2.6vw,38px);line-height:1.15;margin:0;color:var(--ink)}
.dl-cta-icon{width:clamp(150px,17vw,230px);height:auto;flex:none}
@media(max-width:820px){.dl-cta-in{flex-direction:column;align-items:flex-start}.dl-cta-icon{align-self:center}}

/* Descargas: título de sección centrado sobre el ancho completo */
#docs .dl-sec{width:100%}
#docs .sec-head, #docs .sec-head--center{display:block;width:100%;text-align:center !important;margin-left:auto;margin-right:auto}

/* Case study: ubicación y cuerpo a una columna */
.article-body{max-width:760px;margin-top:8px}
.article-body p{margin:0 0 18px;line-height:1.7}
.article-body h2,.article-body h3{margin:32px 0 12px;line-height:1.3}

/* Noticia: imagen de cabecera con ancho completo y alto proporcional */
.article-hero-img{display:block;width:100%;height:auto;border-radius:25px;margin:22px 0 50px}

/* Enlaces dentro del texto de noticias/casos: rojo */
.rich-link{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.rich-link:hover{text-decoration:none}

/* Footer: mención MONDRAGON */
.foot-mondragon{display:flex;align-items:center;gap:14px;margin-top:38px;color:var(--ink);font-weight:500;font-size:14px;text-align:left}
.foot-mondragon span{line-height:1.25}
.foot-mondragon img{height:40px;width:auto;display:block}
.foot-mondragon:hover span{color:var(--red)}

/* Directorio internacional con datos completos */
.dir-int-full{max-width:none}
.intl-cont{margin-bottom:44px}
.intl-cont .dir-sub{margin-bottom:22px}
.intl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 40px}
.intl-card{font-size:14px;line-height:1.5}
.dir p.intl-country{font-weight:600;color:var(--red);margin:0;font-size:18px;line-height:25px}
.dir p.intl-company{font-weight:400;color:var(--red);margin:0 0 10px;font-size:18px;line-height:25px}
.intl-addr{color:var(--muted);margin:0 0 8px}
.intl-line{margin:0 0 3px;color:var(--ink)}
.dir .intl-line .k{display:inline;width:auto;color:var(--red);font-weight:400;margin-right:4px}
.intl-line a{color:var(--ink)} .intl-line a:hover{color:var(--red)}
@media(max-width:900px){.intl-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.intl-grid{grid-template-columns:1fr}}

/* Noticia: vídeo YouTube/Vimeo 16:9 */
.article-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:25px;overflow:hidden;background:#000;margin:10px 0 40px}
.article-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Home móvil: al entrar solo se ve el hero (alto = pantalla visible) ===== */
@media (max-width:980px){
  .hero--home{min-height:100vh;min-height:100svh;display:flex;align-items:stretch}
  .hero--home .hero-wrap{flex:1;display:flex}
  .hero--home .hero-card{flex:1;display:flex;flex-direction:column}
  .hero--home .hero-body{flex:1;align-content:center}
}
@media (max-width:980px) and (max-height:700px){
  .hero--home{padding:12px}
  .hero--home .hero-card{padding:18px 20px 22px}
  .hero--home .menu-top{padding:2px 0 8px}
  .hero--home .hero-card .eyebrow{font-size:15px;line-height:1.35}
  .hero--home h1{font-size:34px;margin:12px 0 8px}
  .hero--home .hero-card p.lead{font-size:14.5px;line-height:1.45}
  .hero--home .btn--hero-cta{margin-top:4px}
}

/* Footer móvil: Contacto (teléfono + email) → Ubicación → Redes sociales → MONDRAGON */
@media (max-width:980px){
  .footer .foot-cols{display:flex!important;flex-direction:column;gap:0}
  .footer .foot-cols .f-c1{display:contents}
  .footer .f-ct{order:1}
  .footer .f-mail{order:2;margin-top:18px}
  .footer .f-loc{order:3;margin-top:28px}
  .footer .f-soc{order:4}
  .footer .foot-mondragon{order:5;margin-top:32px}
}

/* Noticias: citas del texto (richtext blockquote) */
.article-2col blockquote{margin:0 0 14px;padding-left:18px;border-left:2px solid var(--red);break-inside:avoid}
.article-2col blockquote p{font-style:italic}

/* ===== Móvil: márgenes y espaciados (sectores, catálogo, ficha de producto, footer) ===== */
@media (max-width:980px){
  /* Sectores: hero en bloques separados y con aire */
  .shero .wrap{display:flex!important;flex-direction:column;gap:16px!important}
  .shero .phero-panel{padding:36px 26px 38px}
  .shero .phero-panel .phero-eyebrow{margin-top:0}
  .hero-card-img{margin-inline:0!important;padding:36px 26px 44px!important}

  /* Catálogo: menú, cuadrícula y banda roja con margen lateral */
  .catwrap{margin-top:8px}
  .catnav{padding:6px var(--gutter) 14px!important;min-height:0!important}
  .catmain{padding:24px var(--gutter) 40px!important}
  .pgrid{column-gap:18px!important}
  .catband .catband-in{padding:48px var(--gutter)!important;min-height:0;gap:28px}
  .searchbar{flex-direction:column;align-items:stretch;gap:10px}
  .searchbar input,.searchbar .btn{height:48px;width:100%;font-family:inherit;font-size:16px}
  .searchbar .btn{justify-content:center}

  /* Ficha de producto */
  .pd{padding-inline:0}

  /* Footer: logo Fagor a la izquierda, bajo Multimedia */
  .footer .foot-head{display:flex!important;flex-direction:column;align-items:flex-start;gap:24px!important}
  .footer .foot-head .fagor-logo{align-self:flex-start;justify-self:start;margin:0!important}
  .footer .foot-head .fagor-link{align-self:flex-start}
  .searchbar input{height:48px!important;min-height:48px;padding:0 48px 0 20px!important;box-sizing:border-box}
  .catnav .cn-row{gap:14px}
}

/* Aviso "Portal del cliente" (próximamente) */
.soon-dlg{border:0;border-radius:22px;padding:40px 38px 34px;max-width:min(460px,calc(100vw - 32px));box-shadow:0 30px 80px rgba(9,32,46,.25);color:var(--ink)}
.soon-dlg::backdrop{background:rgba(9,32,46,.45)}
.soon-dlg .soon-k{color:var(--red);font-weight:500;font-size:14px;margin:0 0 10px}
.soon-dlg .soon-t{font-weight:500;font-size:20px;line-height:1.35;margin:0 0 26px}
.soon-dlg .soon-close{font-family:inherit;cursor:pointer}

/* Contacto · Internacional: Headquarters + desplegable por país */
.intl-acc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,5vw,80px);row-gap:44px;align-items:start}
.intl-acc .intl-cont{margin:0}
.intl-col{display:grid;gap:40px;align-content:start}
.intl-col .dir-sub{margin-top:0!important}
.intl-acc{margin-top:60px}
.intl-acc .dir-sub{margin-bottom:12px!important}
.intl-row{border-bottom:1px solid var(--hairline)}
.intl-row summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;cursor:pointer;font-weight:500;font-size:17px;color:var(--ink)}
.intl-row summary::-webkit-details-marker{display:none}
.intl-row summary:hover span{color:var(--red)}
.intl-ico{position:relative;flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--red);color:var(--red);background:transparent;transition:background-color .2s ease,color .2s ease}
.intl-ico::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s ease}
.intl-row summary:hover .intl-ico{background:rgba(255,27,34,.08)}
.intl-row[open] .intl-ico{background:var(--red);color:#fff}
.intl-row[open] .intl-ico::before{transform:translate(-50%,-30%) rotate(-135deg)}
.intl-row[open] summary span{color:var(--red)}
.intl-body{display:grid;gap:22px;padding:4px 0 22px}
.intl-body .intl-card p{margin:0 0 3px}
.intl-body .intl-company{font-size:16px!important;line-height:1.3!important;margin-bottom:6px!important}
@media(max-width:980px){.intl-acc{grid-template-columns:1fr}.dir>.wrap{padding-inline:var(--gutter)!important}.dir-hq .et{word-break:break-word}}

/* Accesibilidad / SEO: texto solo para lectores y buscadores */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Sugerencias del buscador siempre por encima del contenido del hero */
.menu-top{position:relative;z-index:30}
.search{position:relative}

/* Ficha de producto: el contenido ocupa hasta el borde derecho (alineado con "Buscar producto") y con más aire */
@media(min-width:1101px){
  .pd{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,96px)}
  .catwrap .catmain:has(> .pd){padding-left:clamp(40px,4vw,72px)}
}

/* ============================================================
   NEXUS 2026 — landing + Recepción TV / Media Gateway / Experiencia multimedia
   ============================================================ */
.nx2 .text-red,.nx2 em.r{color:var(--red);font-style:normal}
.nx2-sec{padding-block:clamp(70px,8.6vw,130px)}
.nx2-sec--grey{background:var(--grey)}
.nx2-h{font-weight:400;font-size:clamp(32px,3.97vw,60px);line-height:1.08;letter-spacing:-.01em;margin:0;color:var(--ink)}
.nx2-h--c{text-align:center}
.nx2-h--m{font-size:clamp(28px,2.65vw,40px);line-height:1.12}
.nx2-h--l{font-weight:500;font-size:clamp(28px,2.65vw,40px);line-height:1.1}
.nx2-lead{font-weight:400;font-size:clamp(16px,1.25vw,19px);line-height:1.3;color:var(--ink);margin:14px auto 0;max-width:820px;text-align:center}
.nx2-p{font-weight:300;font-size:clamp(18px,1.6vw,24px);line-height:1.25;color:var(--ink);margin:0}
.nx2-p b{font-weight:600}
/* tarjeta con borde */
.nx2-box{border:1px solid #c9c9c9;border-radius:25px;background:#fff;padding:clamp(26px,2.4vw,36px) clamp(22px,2vw,30px) 32px;display:flex;flex-direction:column}
.nx2-box h3,.nx2-tt{font-weight:500;font-size:clamp(22px,1.85vw,28px);line-height:1.04;letter-spacing:0;margin:0;text-transform:uppercase;color:var(--red)}
.nx2-box h3 span,.nx2-tt span{display:block;color:var(--ink)}
.nx2-box p{font-weight:300;font-size:clamp(16px,1.25vw,19px);line-height:1.3;color:var(--dark);margin:0}
/* ---------- landing: ecosistema ---------- */
.nx2-eco{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.nx2-eco .nx2-p{margin-top:56px;max-width:500px}
.nx2-orbit{position:relative;width:min(470px,100%);aspect-ratio:1/1;margin-left:auto;margin-right:clamp(0px,4vw,60px)}
.nx2-orbit::before{content:"";position:absolute;inset:13%;border:1.5px dotted #9a9a9a;border-radius:50%}
.nx2-orbit .nd{position:absolute;width:27%;aspect-ratio:1/1;translate:-50% -50%;background:#fff;border:1px solid #9a9a9a;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px;line-height:1.15}
.nx2-orbit .nd b{font-weight:500;font-size:clamp(11px,.9vw,14px);color:var(--red);text-transform:uppercase}
.nx2-orbit .nd span{font-weight:400;font-size:clamp(10px,.82vw,13px);color:var(--ink)}
.nx2-orbit .mp{position:absolute;left:50%;top:50%;translate:-50% -50%;width:18%;aspect-ratio:1/1;background:var(--red);border-radius:12px;color:#fff;display:grid;place-items:center;font-weight:500;font-size:clamp(22px,2.3vw,34px);letter-spacing:-.02em}
.nx2-orbit .mp b{font-weight:700}
/* ---------- landing: tarjetas soluciones ---------- */
.nx2-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.5vw,24px);margin-top:clamp(50px,5.5vw,80px)}
.nx2-sol{background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.nx2-sol .txt{padding:30px 30px 22px;min-height:260px}
.nx2-sol .nx2-tt{margin-bottom:28px}
.nx2-sol p{font-weight:300;font-size:clamp(16px,1.25vw,19px);line-height:1.3;color:var(--dark);margin:0}
.nx2-sol .cimg{height:204px;background:#1a1a1a center/cover;margin-top:auto;position:relative}
.nx2-sol .play,.nx2-sec3 .play{position:absolute;left:28px;bottom:22px;width:28px;height:28px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.35);color:var(--ink)}
.nx2-sol .play svg,.nx2-sec3 .play svg{width:14px;height:14px}
.nx2-sol:hover,.nx2-sec3:hover{box-shadow:0 12px 34px rgba(0,0,0,.09);transform:translateY(-3px)}
/* ---------- landing: por qué ---------- */
.nx2-why{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(50px,5vw,76px);text-align:center}
.nx2-why svg{width:clamp(110px,10vw,150px);height:clamp(90px,8vw,124px);color:var(--ink)}
.nx2-why h3{font-weight:500;font-size:clamp(20px,1.6vw,24px);margin:22px 0 14px}
.nx2-why p{font-weight:300;font-size:clamp(16px,1.25vw,19px);line-height:1.25;margin:0 auto;max-width:390px}
/* ---------- landing: banda roja sectores ---------- */
.nx2-red{background:linear-gradient(var(--red),var(--red)) top/100% calc(100% - 180px) no-repeat;padding-top:clamp(70px,6vw,96px);color:#fff}
.nx2-red .lbl{font-weight:500;font-size:clamp(16px,1.2vw,18px);color:#fff;--ll:395px;max-width:395px}
.nx2-red .nx2-redtext{font-weight:600;font-size:clamp(17px,1.32vw,20px);line-height:1.2;max-width:800px;margin:58px 0 0}
.nx2-red .nx2-cards3{margin-top:clamp(60px,6vw,96px)}
.nx2-sec3{background:#f1f1f1;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.nx2-sec3 .txt{padding:46px 32px 24px;min-height:222px}
.nx2-sec3 h3{font-weight:500;font-size:clamp(24px,2vw,30px);color:var(--red);margin:0 0 40px;text-transform:uppercase}
.nx2-sec3 p{font-weight:300;font-size:clamp(16px,1.25vw,19px);line-height:1.3;color:var(--ink);margin:0;max-width:300px}
.nx2-sec3 .cimg{height:240px;background:#333 center/cover;position:relative;margin-top:auto}
.nx2-sec3 .play{border-color:#fff;color:#fff;background:rgba(0,0,0,.15)}
/* ---------- subpáginas: dos fichas producto ---------- */
.nx2-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.6vw,24px);margin-top:clamp(50px,5.5vw,80px)}
.nx2-duo .nx2-box{padding-bottom:40px}
.nx2-duo .nx2-box p+p{margin-top:24px}
.nx2-duo .nx2-box h3{margin-bottom:34px}
.nx2-feat{margin-top:56px}
.nx2-feat .lbl{font-weight:500;font-size:clamp(16px,1.3vw,19px);color:var(--ink);--ll:325px;margin-bottom:24px}
.nx2-feat p.b{font-weight:600;font-size:clamp(16px,1.3vw,19px);line-height:1.3;color:var(--ink)}
.nx2-duo .btn{align-self:flex-start;margin-top:52px;height:60px;font-size:clamp(17px,1.32vw,20px);font-weight:500}
.nx2-prod{margin-top:46px;background:#f1f1f1;aspect-ratio:540/488;display:grid;place-items:center;overflow:hidden}
.nx2-prod img{width:100%;height:100%;object-fit:contain;display:block}
/* flujo de cajas */
.nx2-flow{display:flex;align-items:center;justify-content:center;margin:clamp(50px,5vw,70px) auto 0;max-width:1000px}
.nx2-flow .fb{flex:none;width:clamp(84px,8.4vw,127px);aspect-ratio:1/1;border:1px solid #9a9a9a;border-radius:14px;background:#fff;display:grid;place-items:center;text-align:center;color:var(--red);font-weight:500;font-size:clamp(14px,1.45vw,22px);line-height:1.05;padding:6px}
.nx2-flow .fb--sm{font-size:clamp(10px,.95vw,14px);text-transform:uppercase;line-height:1.2}
.nx2-flow .fb--red{background:var(--red);border-color:var(--red);color:#fff;text-transform:uppercase;font-size:clamp(16px,1.5vw,23px)}
.nx2-flow .ln{flex:1;min-width:20px;height:1px;background:#8a8a8a;position:relative}
.nx2-flow .ln::after{content:"";position:absolute;right:-1px;top:-2.5px;width:5px;height:5px;border-radius:50%;background:#8a8a8a}
.nx2-flow .xp{flex:none;padding:0 clamp(10px,1.2vw,18px);line-height:.92;color:var(--ink);font-size:clamp(17px,1.95vw,29px);letter-spacing:.01em}
.nx2-flow .xp b{display:block;font-weight:800;letter-spacing:.02em}
.nx2-flow .xp span{display:block;font-weight:400}
/* banda oscura final */
.nx2-dark{position:relative;isolation:isolate;color:#fff;background:#151515 center/cover no-repeat;padding-block:clamp(70px,6.2vw,94px) clamp(70px,6vw,90px);min-height:clamp(420px,38vw,580px);display:flex;align-items:flex-start}
.nx2-dark::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.2) 55%,rgba(0,0,0,0))}
.nx2-dark h2{font-weight:500;font-size:clamp(28px,2.65vw,40px);line-height:1.04;margin:0 0 40px;max-width:640px}
.nx2-dark p{font-weight:300;font-size:clamp(18px,1.6vw,24px);line-height:1.25;margin:0;max-width:700px}
.nx2-dark p+p{margin-top:28px}
.nx2-dark p b{font-weight:600}
.nx2-dark .btns{display:flex;gap:clamp(20px,3.2vw,58px);flex-wrap:wrap;margin-top:48px}
.nx2-dark .btn{height:60px;font-size:clamp(17px,1.32vw,20px);font-weight:400;border-radius:6px;padding:0 18px;gap:24px}
.nx2-dark .btn--light{background:#fff;color:var(--ink);border:1px solid #fff}
.nx2-dark .btn--light .arrow{color:var(--red);border-color:var(--red)}
.nx2-dark .btn--light:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.nx2-dark .btn--light:hover .arrow{color:#fff;border-color:#fff}
/* ---------- Media Gateway ---------- */
.nx2-band{background:var(--grey);padding-block:clamp(56px,5.3vw,80px)}
.nx2-osps{padding-top:clamp(40px,4vw,60px);background:linear-gradient(#fff,#fff) top/100% calc(100% - 225px) no-repeat,var(--grey);padding-bottom:clamp(70px,7vw,118px)}
.nx2-osps img{display:block;width:calc(100% + var(--gutter) - 56px);max-width:none;margin-left:calc(56px - var(--gutter));height:auto}
.nx2-osps .nx2-flow{margin-top:-60px;position:relative}
.nx2-cardimg{margin:46px 0 36px;aspect-ratio:337/217;background:#ddd center/cover}
.nx2-uses{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.4vw,24px);margin-top:clamp(50px,5vw,80px)}
.nx2-uses .nx2-box{border:0;padding:30px 28px 34px;min-height:336px}
.nx2-uses h3{font-size:clamp(18px,1.5vw,23px);line-height:1.02;min-height:4.1em;margin-bottom:6px}
.nx2-ver .nx2-box h3{margin-bottom:24px}
.nx2-ver .nx2-cardimg{aspect-ratio:540/320;background-size:contain;background-repeat:no-repeat;background-color:#fff;margin:0 0 34px}
/* ---------- Experiencia multimedia ---------- */
.nx2-adapt{background:#fff center top/100% auto no-repeat;padding-top:clamp(70px,6vw,90px);padding-bottom:clamp(60px,6vw,90px)}
.nx2-adapt .nx2-lead{max-width:860px}
.nx2-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.4vw,24px);margin-top:clamp(60px,7vw,108px)}
.nx2-feats .nx2-box{border-color:var(--red);padding:30px 28px;min-height:256px}
.nx2-feats .nx2-box h3{font-size:clamp(18px,1.6vw,24px);line-height:1.04;margin-bottom:22px}
.nx2-feats .nx2-box p{font-size:clamp(15px,1.1vw,16.5px);line-height:1.25}
.nx2-feats .gap{grid-column:2/4}
.nx2-env{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.6vw,24px);margin-top:clamp(50px,5.5vw,80px)}
.nx2-env .nx2-box{padding:32px 28px 26px}
.nx2-env h3{margin-bottom:16px}
.nx2-env .nx2-cardimg{margin:auto 0 0;aspect-ratio:546/243;padding-top:0}
.nx2-env .nx2-box p{margin-bottom:38px}
.nx2-tvs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,56px);margin-top:clamp(60px,6vw,96px);background:#fff;padding:18px clamp(0px,3vw,40px) 0}
.nx2-tvs img{width:100%;height:auto;display:block}
.nx2-cap{text-align:center;font-weight:400;font-size:clamp(15px,1.25vw,19px);margin:22px 0 0}
@media(max-width:980px){
  .nx2-eco,.nx2-duo,.nx2-env,.nx2-tvs{grid-template-columns:1fr}
  .nx2-orbit{margin:20px auto 0}
  .nx2-cards3,.nx2-why{grid-template-columns:1fr}
  .nx2-red{background-size:100% calc(100% - 140px)}
  .nx2-uses,.nx2-feats{grid-template-columns:1fr 1fr}
  .nx2-feats .gap{display:none}
  .nx2-osps img{width:100%;margin-left:0}
  .nx2-osps .nx2-flow{margin-top:24px}
}
@media(max-width:640px){
  .nx2-uses,.nx2-feats{grid-template-columns:1fr}
  .nx2-flow{flex-wrap:wrap;gap:12px}
  .nx2-flow .ln{display:none}
  .nx2-uses .nx2-box,.nx2-feats .nx2-box{min-height:0}
  .nx2-uses h3{min-height:0}
}
.nx2-prod{padding:4.5%}
.nx2-prod--mul{padding:0}
.nx2-prod--mul img{mix-blend-mode:multiply;object-fit:cover}
.nx2-dark>.wrap{width:100%}
.nx2-sol .nx2-tt{font-weight:500;font-size:clamp(22px,1.85vw,28px);line-height:1.04;color:var(--red);text-transform:uppercase;margin:0 0 28px}
.nx2-sol .nx2-tt span{color:var(--ink)}
.shero .phero-panel .sub.nx2-wide{max-width:30ch}
.nx2 .hero-card-img .sub{font-size:clamp(18px,1.98vw,30px);line-height:1.1;max-width:600px}
.nx2 .hero-card-img .phero-eyebrow{max-width:520px}

.nx2-uses h3{min-height:4.4em;margin-bottom:10px}
@media(max-width:640px){.nx2-orbit .nd b{font-size:9px}.nx2-orbit .nd span{font-size:9px}}
/* Xperience: dos TVs sin fondo, a todo el ancho del contenedor */
.nx2-tvs{background:none;padding:0;grid-template-columns:1fr 1fr;column-gap:5.6%;align-items:start;margin-top:clamp(70px,9vw,140px)}
.nx2-tvs img{width:122.4%;max-width:none;position:relative}
.nx2-tvs img+img{z-index:1}
.nx2-cap{margin-top:clamp(20px,2.4vw,36px)}
@media(max-width:980px){.nx2-tvs{grid-template-columns:1fr;row-gap:32px}.nx2-tvs img{width:100%}}
.nx2-osps{background:var(--grey)}
.nx2-osps{padding-top:0}
.nx2-prod--mul img{object-fit:contain}
.nx2-sol .play,.nx2-sec3 .play{transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}
.nx2-sol:hover .play,.nx2-sec3:hover .play,.nx2-sol:focus-visible .play,.nx2-sec3:focus-visible .play{background:var(--red);border-color:var(--red);color:#fff;transform:translateX(3px)}
.nx2-sol .nx2-tt span.r{display:inline;color:var(--red)}
.nx2-ptext p+p{margin-top:24px}.nx2-box h3 span.r{display:inline;color:var(--red)}.nx2-box h3 span:not(.r){display:block;color:var(--ink)}
.nx2-flow--md .fb{font-size:clamp(12px,1.25vw,18px)}
.dl-hero-btn{display:inline-flex;align-items:center;gap:16px;width:auto;justify-self:start;align-self:end}
.crumb a{color:inherit;text-decoration:none;transition:color .18s ease}.crumb a:hover,.crumb a:focus-visible{color:var(--red);text-decoration:underline;text-underline-offset:2px}
@media(max-width:980px){
  .mdrawer nav .msplit{display:grid;grid-template-columns:1fr 52px;align-items:stretch}
  .mdrawer nav .msplit>a{border-bottom:1px solid #f0f0f0}
  .mdrawer nav .msplit>button{justify-content:center;padding:12px 0;border-bottom:1px solid #f0f0f0}
  .mdrawer nav .msplit>button::after{margin:0}
  .mdrawer nav .msplit>.msub{grid-column:1/-1}
  .mdrawer nav .msplit.open>a{color:var(--red)}
}
/* Experiencia multimedia: en móvil, primero la foto y después el texto */
@media(max-width:980px){
  .nx2-adapt{background-size:100% auto;background-position:center top;padding-top:calc(100vw * 1227 / 1920 + 32px)}
}
.article-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}

/* Imágenes de producto como <img> (antes fondo CSS) */
.prod .pimg,.pd-img{display:flex;align-items:center;justify-content:center;overflow:hidden}
.prod .pimg img,.pd-img img{display:block;width:100%;height:100%;object-fit:contain}
/* Cabecera compacta fija en móvil (aparece al bajar) */
.mbar{display:none}
@media (max-width:980px){
  .mbar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:150;height:60px;gap:12px;padding:0 var(--gutter);background:#fff;box-shadow:0 6px 20px rgba(9,32,46,.08);transform:translateY(-100%);transition:transform .28s cubic-bezier(.22,.61,.36,1)}
  .mbar.show{transform:none}
  .mbar .brand-logo{height:28px}
  .mbar>a{order:1}.mbar .mnav-btn{margin:0;order:2}.mbar .fagor-logo{order:3}
  .mbar .fagor-logo{display:block;height:24px;width:auto;margin:0}
}

/* <img> con width/height: reservan hueco (sin saltos de maquetación) y mantienen proporción si el CSS solo fija el ancho */
:where(img[width][height]){height:auto}
