/* =========================================================
   VIDITEC — PÁGINAS INTERNAS (rediseño 2026)
   Reutiliza el sistema del home (home.css debe cargarse ANTES).
   Aporta: color por vertical, layouts de secciones internas,
   tarjetas glass + glow, marquees, formularios.
   ========================================================= */

/* ---------- Color por vertical ---------- */
:root{--acc1:var(--pink);--acc2:var(--blue);--acc-grad:var(--grad-heading);--acc-soft:rgba(232,92,160,.14)}
body.v-avp      {--acc1:#2FD9E0;--acc2:#2F7DF0;--acc-grad:linear-gradient(120deg,#9BF3FF,#2FD9E0 62%,#2F8FE8);--acc-soft:rgba(47,217,224,.18)}
body.v-broadcast{--acc1:#F5352B;--acc2:#FF9A3D;--acc-grad:linear-gradient(120deg,#FF5A4D,#D71C14 55%,#A50E0E);--acc-soft:rgba(245,53,43,.18)}
body.v-imp      {--acc1:#FFC21F;--acc2:#FF7A2F;--acc-grad:linear-gradient(120deg,#FFE79A,#FFC21F 62%,#FF9A2F);--acc-soft:rgba(246,178,75,.18)}
body.v-it       {--acc1:#4F86F5;--acc2:#7B5BE6;--acc-grad:linear-gradient(120deg,#A9BEF8,#4F86F5 62%,#7B5BE6);--acc-soft:rgba(79,134,245,.2)}

/* Recoloreo de acentos según el tema de la página */
.gradient-text{background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow::before{background:linear-gradient(90deg,var(--acc1),var(--acc2))}

/* ---------- Layout base ---------- */
.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
main{position:relative;z-index:1}

/* ---------- Banner full-bleed (video / imagen intro) ---------- */
.banner{position:relative;width:100%;height:clamp(360px,58vh,660px);overflow:hidden}
.banner__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,7,11,.35) 0%,transparent 26%,rgba(7,7,11,.55) 78%,var(--black) 100%)}
.banner .scroll-cue{bottom:1.4rem}

/* ---------- Page hero (Nosotros / Casos) + hero de vertical ---------- */
.page-hero{position:relative;padding-block:clamp(2.6rem,6vw,5rem) clamp(.5rem,2vw,1.5rem)}
.avp-hero{position:relative;padding-block:clamp(2.4rem,6vw,4.5rem) clamp(1rem,2.5vw,2rem)}
.about-hero__eyebrow,.cases-hero__eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem;
  font-size:var(--fs-small);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--acc1)}
.about-hero__eyebrow::before,.cases-hero__eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--acc1),var(--acc2))}
.page-hero h1,.avp-hero h1,.about-hero h1,.cases-hero h1{font-weight:900;font-size:var(--fs-xl);line-height:.98;letter-spacing:-.02em;max-width:20ch;color:#fff}
.about-hero__lead,.cases-hero__lead,.avp-hero__sub{margin-top:1.2rem;font-size:var(--fs-lead);color:var(--muted);max-width:62ch;font-weight:300}
.cases-lines,.footer__lines{display:none}
/* Casos — juego tipográfico del título */
.cases-hero h1.cases-title{max-width:none;line-height:.94}
.cases-title__l1{display:block;color:#fff;font-style:normal}
.cases-title__l2{display:block;text-align:left;font-style:italic}
.cases-hero .cases-hero__lead{font-size:clamp(1.12rem,1.6vw,1.5rem);max-width:56ch;color:rgba(255,255,255,.85);font-weight:300}
/* Glow lila en las tarjetas de casos */
body.page-cases{--acc1:#8E74E6;--acc-soft:rgba(142,116,230,.16)}

/* ---------- Tarjeta glass base ---------- */
.exp-panel,.avp-closing__panel,.contact__panel,.it-steps-panel,.mv-card,.sector,.arista-card,
.med-cap,.prod-card,.space-card,.case,.bc-cat,.gallery-item,.it-visual,.cv-panel{
  position:relative;border-radius:20px;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

/* Spotlight que sigue el cursor (JS setea --mx/--my) */
.mv-card::before,.sector::before,.arista-card::before,.exp-panel::before{content:"";position:absolute;inset:0;z-index:-1;
  pointer-events:none;opacity:0;transition:opacity .4s var(--ease);
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),var(--acc-soft),transparent 60%)}
.mv-card:hover::before,.sector:hover::before,.arista-card:hover::before,.exp-panel:hover::before{opacity:1}

/* Tarjetas interactivas: elevación + glow del color de la vertical */
.mv-card,.sector,.arista-card,.med-cap,.prod-card,.space-card,.case,.bc-cat{
  transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.mv-card:hover,.sector:hover,.arista-card:hover,.med-cap:hover,.prod-card:hover,.space-card:hover,.case:hover,.bc-cat:hover{
  transform:translateY(-6px);border-color:color-mix(in srgb,var(--acc1) 50%,transparent);
  box-shadow:0 26px 56px -32px #000,0 0 34px -18px var(--acc1)}

/* Íconos de tarjeta */
.mv-card__icon,.sector__icon,.arista-card__icon,.med-cap__ic,.bc-cat__icon{display:grid;place-items:center;flex:none;
  width:54px;height:54px;border-radius:15px;color:var(--acc1);background:var(--acc-soft);
  border:1px solid color-mix(in srgb,var(--acc1) 32%,transparent);margin-bottom:1.1rem}
.mv-card__icon svg,.sector__icon svg,.arista-card__icon svg,.bc-cat__icon svg{width:28px;height:28px}
.med-cap__ic{width:44px;height:44px;margin:0 auto .7rem}
.med-cap__ic svg{width:22px;height:22px}

/* Numeración */
.sector__num{display:inline-block;margin-bottom:.6rem;font-size:clamp(1.05rem,1.4vw,1.35rem);font-weight:800;letter-spacing:.02em;
  background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Títulos y textos dentro de tarjetas */
.mv-card h2{font-weight:800;font-size:clamp(1.5rem,2.4vw,2rem);color:#fff;margin-bottom:.6rem}
.sector h3,.arista-card h3,.bc-cat__name,.case__body h3{font-weight:700;font-size:clamp(1.15rem,1.7vw,1.4rem);color:#fff;line-height:1.15}
.med-cap h3{font-weight:600;font-size:.98rem;color:#fff}
.mv-card p,.sector p,.arista-card p,.case__body p{color:var(--muted);margin-top:.6rem;line-height:1.55}

/* ---------- Grids ---------- */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.6rem)}
.sector-grid,.arista-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,1.8vw,1.5rem)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.7rem,1.2vw,1rem)}
.space-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-top:1.6rem}
.prod-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,1.4vw,1.2rem)}
.med-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-block:1.6rem}
.bc-clients__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem}
.cases__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2rem)}

.mv-card,.sector,.arista-card{padding:clamp(1.6rem,2.6vw,2.2rem)}
.med-cap{padding:1.3rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.2rem}

/* ---------- Galería / cards con imagen ---------- */
.gallery-item{margin:0;aspect-ratio:4/3;border-radius:16px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gallery-item:hover img{transform:scale(1.06)}

.space-card,.prod-card{aspect-ratio:4/3;display:flex;align-items:flex-end;border-radius:16px}
.space-card img,.prod-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .6s var(--ease)}
.space-card::after,.prod-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 40%,rgba(7,7,11,.85))}
.space-card:hover img,.prod-card:hover img{transform:scale(1.06)}
.space-card__label,.prod-card__label{position:relative;z-index:2;padding:.9rem 1rem;font-weight:700;color:#fff;font-size:.95rem;line-height:1.2}

/* ---------- Copy / lead ---------- */
.avp-copy__lead,.exp-lead{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:300;color:#fff;max-width:62ch;line-height:1.4}
.avp-copy p,.med-lab p,.med-lab__pre,.med-lab__note,.med-lines__lead{color:var(--muted);max-width:64ch;margin-top:1rem;line-height:1.6}

/* ---------- Pills / tags ---------- */
.avp-float-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;margin-bottom:1rem;
  background:var(--acc-soft);border:1px solid color-mix(in srgb,var(--acc1) 34%,transparent);color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.02em}
.avp-float-tag svg{width:18px;height:18px;color:var(--acc1)}
.med-chip,.exp-feat{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.05rem;border-radius:999px;list-style:none;
  background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.9rem}
.med-chips,.exp-feats{display:flex;flex-wrap:wrap;gap:.7rem;padding:0}
.med-chip svg,.exp-feat svg{width:18px;height:18px;color:var(--acc1);flex:none}
.med-attrs{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.2rem}
.med-attrs span{position:relative;padding-left:1rem;color:#fff;font-weight:700;font-size:.95rem}
.med-attrs span::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--acc1);box-shadow:0 0 8px var(--acc1)}

/* ---------- Experiencia (Nosotros) ---------- */
.exp-panel{padding:clamp(1.8rem,3.5vw,3rem)}
.exp-panel__inner{position:relative;z-index:1;display:grid;gap:1.4rem}
.about-exp__stat{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.about-exp__num{font-size:clamp(3rem,8vw,6rem);font-weight:900;line-height:1;
  background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.about-exp__unit{font-size:var(--fs-lead);color:var(--muted);font-weight:300}
.exp-radar{position:absolute;right:-10%;top:-30%;width:60%;aspect-ratio:1;z-index:0;pointer-events:none;opacity:.5;
  background:radial-gradient(circle,color-mix(in srgb,var(--acc1) 30%,transparent),transparent 60%)}

/* ---------- Casos ---------- */
.case{display:flex;flex-direction:column}
.case__media{display:block;aspect-ratio:16/10;overflow:hidden}
.case__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.case:hover .case__media img{transform:scale(1.05)}
.case__body{padding:clamp(1.2rem,2vw,1.6rem)}
.case__body p{margin-top:.6rem}
.case__plus{position:absolute;top:1rem;right:1rem;z-index:3;display:grid;place-items:center;width:38px;height:38px;border-radius:999px;
  color:#fff;background:var(--grad-brand);border:1px solid rgba(255,255,255,.35);
  box-shadow:0 0 22px -2px color-mix(in srgb,var(--acc1) 92%,transparent),0 8px 20px -8px #000;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.case__plus svg{width:16px;height:16px}
.case__plus svg path{stroke:#fff;stroke-width:2.4}
.case:hover .case__plus{transform:rotate(90deg) scale(1.08);
  box-shadow:0 0 30px 0 color-mix(in srgb,var(--acc1) 95%,transparent),0 10px 24px -8px #000}

/* Bandas de cierre / CTA de texto */
.cta-band{text-align:center}
.cta-band h2,.avp-sectors h2,.avp-contact h2{font-weight:800}
.cta-band h2{font-weight:900;font-size:var(--fs-xl);line-height:1;max-width:22ch;margin:0 auto clamp(1.5rem,3vw,2rem)}
.avp-sectors__cta,.cta-band{display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.avp-sectors__cta{margin-top:clamp(2rem,4vw,3rem)}

/* ---------- Productos (head) ---------- */
.avp-products__head,.it-arista__head{max-width:56ch;margin-bottom:clamp(1.8rem,3.5vw,2.6rem)}
.avp-products__head h2,.it-arista__head h2{font-weight:800;font-size:var(--fs-h2);line-height:1.05;margin-top:.5rem}
.avp-products__sub,.it-arista__sub{color:var(--muted);margin-top:.8rem;font-size:var(--fs-lead);font-weight:300;max-width:60ch}

/* ---------- Cierre + partners (AVP / Broadcast) ---------- */
.avp-closing__panel{padding:clamp(1.8rem,3.5vw,3rem)}
.avp-closing__panel p{color:var(--ink);max-width:70ch;margin-bottom:1rem;line-height:1.6}
.avp-closing__panel .gradient-text,.it-cert__title{font-weight:800;font-size:var(--fs-h2);line-height:1.1;display:block;margin-bottom:.4rem}
.cert__subtitle{color:var(--muted);margin-bottom:1.2rem}
.it-cert__logo{opacity:.9;margin-bottom:1.2rem;height:30px;width:auto}

.avp-partners{margin-top:2rem}
.avp-partners__label{font-size:.98rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc1);margin-bottom:1.1rem;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--acc1) 45%,transparent))}
.avp-partners__viewport{display:flex;flex-direction:column;gap:1.1rem;
  -webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.avp-partners__track{display:flex;gap:clamp(2.4rem,4.5vw,4rem);width:max-content;align-items:center;animation:marq 42s linear infinite}
.avp-partners__track--r{animation-direction:reverse;animation-duration:50s}
.avp-partners:hover .avp-partners__track{animation-play-state:paused}
.avp-partners__logo{flex:none}
.avp-partners__logo img{height:clamp(36px,4vw,50px);width:auto;filter:brightness(0) invert(1);opacity:.68;transition:opacity .3s}
.avp-partners__logo:hover img{opacity:1}

/* ---------- IT: pasos + visual ---------- */
.it-visual{border-radius:22px}
.it-visual img{width:100%;height:auto;display:block}
.it-steps-panel{padding:clamp(1.4rem,2.6vw,2rem) clamp(1.6rem,3vw,2.4rem);margin-top:1.6rem}
.it-steps__intro{font-weight:700;color:#fff;margin-bottom:1.1rem}
.it-steps{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;justify-content:space-between}
.it-step{display:flex;align-items:center;gap:.6rem}
.it-step__num{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;flex:none;font-weight:800;color:var(--acc1);
  background:var(--acc-soft);border:1px solid color-mix(in srgb,var(--acc1) 40%,transparent)}
.it-step__label{font-weight:600;color:#fff}

/* ---------- Confían en Arista ---------- */
.arista-trust{text-align:center}
.arista-trust__title{font-weight:800;font-size:var(--fs-h2)}
.arista-trust__logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.6rem,4vw,3.5rem);margin-top:clamp(1.8rem,3.5vw,2.6rem)}
.arista-trust__logo img{height:clamp(28px,3.4vw,40px);width:auto;filter:brightness(0) invert(1);opacity:.65;transition:opacity .3s}
.arista-trust__logo:hover img{opacity:1}
.arista-trust__word{color:rgba(255,255,255,.72);font-weight:700;font-size:clamp(1.1rem,1.8vw,1.5rem)}

/* ---------- Medición: foto hero + laboratorio ---------- */
.med-hero-photo{margin-top:1.6rem;border-radius:18px;aspect-ratio:16/7;
  background:linear-gradient(120deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--line)}
.med-subtitle{font-weight:800;font-size:var(--fs-h2);line-height:1.1;margin:.4rem 0 1rem}

/* ---------- Broadcast: clientes por categoría ---------- */
.bc-cat{padding:1.6rem;display:flex;flex-direction:column;gap:1rem}
.bc-cat__marquee{overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.bc-cat__track{display:flex;gap:2rem;width:max-content;align-items:center;padding:0;animation:marq 30s linear infinite}
.bc-cat:hover .bc-cat__track{animation-play-state:paused}
.bc-cat__track li{flex:none;list-style:none}
.bc-cat__track img{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.66}
.bc-cat__track--ph li{width:64px;height:24px;background:rgba(255,255,255,.06);border-radius:6px}

/* ---------- Banda de marcas (logo-marquee) ---------- */
.brand-wall__title{text-align:center;font-weight:900;font-size:var(--fs-h2);line-height:1}
.logo-carousel{margin-top:clamp(1.8rem,3.5vw,2.6rem)}
.logo-marquee{overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-marquee__track{display:flex;gap:clamp(2rem,4vw,4rem);width:max-content;align-items:center;padding:0;animation:marq 46s linear infinite}
.logo-carousel:hover .logo-marquee__track{animation-play-state:paused}

/* ---------- Sectores: logos internos (mini marquee) ---------- */
.sector__logos{overflow:hidden;margin-top:1.1rem;
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.sector__logos-row{display:flex;gap:1.6rem;width:max-content;align-items:center;animation:marq 32s linear infinite}
.sector__logo{flex:none}
.sector__logo img{height:30px;width:auto;filter:brightness(0) invert(1);opacity:.55}

/* ---------- CTA final (QSLtec / catálogo) ---------- */
.avp-cta__wrap{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);isolation:isolate}
.avp-cta__neon{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(1.05) saturate(1.05)}
.avp-cta__wrap::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,7,11,.55),rgba(7,7,11,.72))}
.avp-cta__card{position:relative;z-index:2;padding:clamp(2.4rem,5vw,4rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.avp-cta__card h2{font-weight:800;font-size:var(--fs-h2);line-height:1.1;max-width:24ch;color:#fff}

/* ---------- Contacto (panel + form) ---------- */
.avp-contact h2,.avp-contact p{position:relative}
.contact__panel{padding:clamp(1.6rem,3vw,2.6rem);max-width:56rem;margin-inline:auto}
.contact__form .field input:focus,.contact__form .field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--acc1) 70%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--acc1) 16%,transparent)}
.contact__status{margin-top:.6rem;color:var(--acc1);font-weight:600}
.contact__status.is-error{color:#ff6b6b}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .sector-grid,.arista-cards,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .prod-cards{grid-template-columns:repeat(2,1fr)}
  .cases__grid{grid-template-columns:repeat(2,1fr)}
  .mv-grid{grid-template-columns:1fr}
  .it-steps{gap:.9rem 1.2rem}
}
@media (max-width:560px){
  .sector-grid,.arista-cards,.gallery-grid,.prod-cards,.bc-clients__grid,.cases__grid{grid-template-columns:1fr}
}

/* =========================================================
   VERTICALES — fondo teñido, recortes de color, efectos tech
   ========================================================= */

/* Fondo general teñido con el color de la vertical */
body.v-avp,body.v-broadcast,body.v-imp,body.v-it{
  background:
    radial-gradient(105% 70% at 84% -6%, color-mix(in srgb,var(--acc1) 34%,transparent), transparent 58%),
    radial-gradient(90% 60% at 8% 14%, color-mix(in srgb,var(--acc1) 26%,transparent), transparent 56%),
    radial-gradient(85% 58% at 32% 112%, color-mix(in srgb,var(--acc1) 24%,transparent), transparent 60%),
    radial-gradient(55% 42% at 2% 64%, color-mix(in srgb,var(--acc2) 22%,transparent), transparent 55%),
    var(--black)}
/* Auroras teñidas con el color de la vertical */
body.v-avp .aurora__blob--1,body.v-broadcast .aurora__blob--1,body.v-imp .aurora__blob--1,body.v-it .aurora__blob--1{background:radial-gradient(circle at 30% 30%,var(--acc1),transparent 66%)}
body.v-avp .aurora__blob--2,body.v-broadcast .aurora__blob--2,body.v-imp .aurora__blob--2,body.v-it .aurora__blob--2{background:radial-gradient(circle at 60% 40%,var(--acc1),transparent 66%)}
body.v-avp .aurora__blob--3,body.v-broadcast .aurora__blob--3,body.v-imp .aurora__blob--3,body.v-it .aurora__blob--3{background:radial-gradient(circle at 50% 50%,var(--acc2),transparent 66%);opacity:.4}
body.v-avp .aurora__blob--4,body.v-broadcast .aurora__blob--4,body.v-imp .aurora__blob--4,body.v-it .aurora__blob--4{background:radial-gradient(circle at 50% 50%,var(--acc1),transparent 66%);opacity:.44}

/* (formas flotantes del hero eliminadas) */
.avp-hero .container{position:relative;z-index:2}

/* ---------- Recorte de color (bandas) ---------- */
.avp-closing,.med-lab{position:relative;isolation:isolate;overflow:hidden;
  border-block:1px solid color-mix(in srgb,var(--acc2) 34%,transparent);
  background:linear-gradient(150deg, color-mix(in srgb,var(--acc2) 44%,#0a0910) 0%, color-mix(in srgb,var(--acc2) 18%,#0a0910) 48%, #0a0910 92%)}
.avp-closing::before,.med-lab::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.85;
  background:radial-gradient(55% 120% at 86% -14%, color-mix(in srgb,var(--acc2) 60%,transparent), transparent 55%),
             radial-gradient(48% 110% at 4% 118%, color-mix(in srgb,var(--acc1) 48%,transparent), transparent 55%)}
/* Scanlines tech sobre la banda */
.avp-closing::after,.med-lab::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 5px);
  -webkit-mask:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent);mask:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent)}
/* El panel de la banda usa contorno de color + halo giratorio en hover */
.avp-closing__panel{isolation:isolate}
.avp-closing__panel::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1px;pointer-events:none;
  background:conic-gradient(from var(--bd-angle),transparent 0deg,var(--acc1) 60deg,transparent 140deg,transparent 240deg,var(--acc2) 310deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35}
.avp-closing__panel:hover::after{opacity:1;animation:bd-spin 4s linear infinite}

/* ---------- Alineación alternada de secciones ---------- */
.align-right{text-align:right}
.align-right .avp-copy__lead,.align-right .avp-hero__sub,.align-right .avp-products__sub,.align-right .it-arista__sub,
.align-right p,.align-right h1,.align-right h2{margin-left:auto}
.align-right .avp-products__head,.align-right .it-arista__head{margin-left:auto;margin-right:0}
.align-right .eyebrow,.align-right .avp-float-tag,.align-right .cases-hero__eyebrow,.align-right .about-hero__eyebrow{flex-direction:row-reverse}
.align-right .med-chips,.align-right .exp-feats,.align-right .med-attrs{justify-content:flex-end}

/* Efecto de luz en títulos de sección con degradado (subrayado glow) */
.avp-products__head h2::after,.it-arista__head h2::after{content:"";display:block;width:64px;height:3px;border-radius:2px;margin-top:1rem;
  background:linear-gradient(90deg,var(--acc1),var(--acc2));box-shadow:0 0 14px color-mix(in srgb,var(--acc1) 60%,transparent)}
.align-right .avp-products__head h2::after,.align-right .it-arista__head h2::after{margin-left:auto}
/* align-right aplicado directamente sobre un head */
.align-right.it-arista__head,.align-right.avp-products__head{margin-left:auto;margin-right:0;text-align:right}
.align-right.it-arista__head .it-arista__sub,.align-right.avp-products__head .avp-products__sub{margin-left:auto}

/* =========================================================
   INTENSIDAD — brillos / iluminaciones tech reforzadas
   ========================================================= */
body.v-avp .aurora__blob,body.v-broadcast .aurora__blob,body.v-imp .aurora__blob,body.v-it .aurora__blob{opacity:.72}
body.v-avp .aurora__blob--3,body.v-broadcast .aurora__blob--3,body.v-imp .aurora__blob--3,body.v-it .aurora__blob--3{opacity:.4}

/* Íconos con halo de color */
.mv-card__icon,.sector__icon,.arista-card__icon,.med-cap__ic,.bc-cat__icon{
  box-shadow:0 0 24px -6px color-mix(in srgb,var(--acc1) 68%,transparent),inset 0 0 14px -8px color-mix(in srgb,var(--acc1) 80%,transparent)}
.mv-card__icon svg,.sector__icon svg,.arista-card__icon svg,.bc-cat__icon svg,.med-cap__ic svg{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--acc1) 65%,transparent))}

/* Números, pills y pasos con glow */
.sector__num{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--acc1) 50%,transparent))}
.avp-float-tag{box-shadow:0 0 26px -8px color-mix(in srgb,var(--acc1) 75%,transparent)}
.it-step__num{box-shadow:0 0 20px -6px color-mix(in srgb,var(--acc1) 70%,transparent)}
.med-attrs span::before{box-shadow:0 0 10px var(--acc1),0 0 4px var(--acc1)}

/* Hover de tarjetas: glow más intenso */
.mv-card:hover,.sector:hover,.arista-card:hover,.med-cap:hover,.prod-card:hover,.space-card:hover,.case:hover,.bc-cat:hover{
  border-color:color-mix(in srgb,var(--acc1) 62%,transparent);
  box-shadow:0 26px 62px -30px #000,0 0 56px -12px var(--acc1)}

/* Subrayado de heads y líneas de eyebrow con brillo animado */
.avp-products__head h2::after,.it-arista__head h2::after{height:3px;
  box-shadow:0 0 20px color-mix(in srgb,var(--acc1) 80%,transparent),0 0 7px var(--acc1);animation:accpulse 3.2s ease-in-out infinite}
.eyebrow::before,.about-hero__eyebrow::before,.cases-hero__eyebrow::before{box-shadow:0 0 10px color-mix(in srgb,var(--acc1) 60%,transparent)}
@keyframes accpulse{0%,100%{opacity:.75}50%{opacity:1}}

/* Recorte de color: glows más intensos */
.avp-closing::before,.med-lab::before{opacity:1}
.avp-closing__panel::after{opacity:.5}

/* Banda de marcas (brand-wall): logos más grandes */
.logo-marquee__track .logo-chip img{height:clamp(44px,4.6vw,60px)}
.brand-wall__title{filter:drop-shadow(0 0 16px color-mix(in srgb,var(--acc1) 30%,transparent))}

/* =========================================================
   AJUSTES 2026 · tags home, sin línea, sin centrado, contraste,
   banner a corte, form con glow, tarjetas más grandes
   ========================================================= */

/* Tags/eyebrows con el estilo del home (píldora + punto glow) */
.eyebrow,.about-hero__eyebrow,.cases-hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;
  padding:.42rem .95rem .42rem .8rem;border-radius:999px;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.eyebrow::before,.about-hero__eyebrow::before,.cases-hero__eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;
  background:linear-gradient(120deg,var(--acc1),var(--acc2));box-shadow:0 0 10px 1px var(--acc1)}

/* Eliminar el recurso de la línea bajo los títulos */
.avp-products__head h2::after,.it-arista__head h2::after,
.align-right.avp-products__head h2::after,.align-right.it-arista__head h2::after{content:none;display:none}

/* Ningún texto centrado */
.cta-band,.avp-cta__card,.arista-trust,.brand-wall__title{text-align:left}
.avp-sectors__cta,.cta-band{align-items:flex-start}
.avp-cta__card{align-items:flex-start}
.arista-trust__logos{justify-content:flex-start}

/* Títulos: em/gradient-text queda italic para destacar; el resto no-italic y blanco */
.avp-products__head h2,.it-arista__head h2,.avp-sectors h2,.avp-contact h2,.avp-cta__card h2,
.brand-wall__title,.arista-trust__title,.med-subtitle,.cta-band h2{color:#fff;font-style:normal}
.gradient-text{font-style:italic}

/* Contraste / legibilidad del cuerpo de texto */
.avp-copy p,.med-lab p,.med-lab__pre,.med-lab__note,.med-lines__lead,
.mv-card p,.sector p,.arista-card p,.case__body p,.about-hero__lead,.cases-hero__lead,.avp-hero__sub,
.avp-products__sub,.it-arista__sub,.about-exp__unit,.avp-closing__panel p{color:rgba(255,255,255,.84)}

/* Tarjetas de espacios (AVP) más grandes */
.space-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-top:1.8rem}
.space-card{aspect-ratio:5/4}
.space-card__label{font-size:1.08rem;padding:1rem 1.15rem}

/* Banner "Catálogo online" a corte (como el QSL del home) */
.avp-cta{padding-block:0}
.avp-cta .container{max-width:none;padding-inline:0}
.avp-cta__wrap{border:0;border-radius:0;min-height:clamp(320px,42vw,540px);display:flex;align-items:center}
.avp-cta__neon{filter:brightness(1.15) saturate(1.05)}
.avp-cta__wrap::after{background:
  linear-gradient(180deg,var(--black) 0%,rgba(7,7,11,.45) 24%,rgba(7,7,11,.45) 72%,var(--black) 100%),
  linear-gradient(90deg,rgba(7,7,11,.62),rgba(7,7,11,.32) 55%,rgba(7,7,11,.55))}
.avp-cta__card{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);width:100%;align-items:flex-start;gap:1.6rem}

/* Contacto: panel con glow (borde) + anillo de color en el hover/focus de los campos */
.avp-contact .contact__panel{--glow-line:linear-gradient(120deg,var(--acc1),var(--acc2))}
.avp-contact .field__ctrl::after{background:linear-gradient(120deg,var(--acc1),var(--acc2))}
.avp-contact .contact__form .field input:focus,.avp-contact .contact__form .field textarea:focus{
  border-color:color-mix(in srgb,var(--acc1) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc1) 18%,transparent)}

/* Contacto en 2 columnas (como el home): panel llena su columna */
.avp-contact .contact__wrap .contact__panel{max-width:none;margin-inline:0;width:100%}
.avp-contact .contact__intro h2{color:#fff}

/* =========================================================
   GALERÍA · paneles expandibles (acordeón)
   Fotos apagadas (desaturadas + oscuras leve) → color en hover
   ========================================================= */
.avp-gallery .gallery-grid{display:flex;gap:.55rem;height:clamp(340px,44vw,520px);
  grid-template-columns:none;counter-reset:g}
.avp-gallery .gallery-item{position:relative;flex:1 1 0;min-width:0;height:100%;margin:0;
  border:0;border-radius:16px;overflow:hidden;isolation:isolate;cursor:pointer;counter-increment:g;
  background:#0b0a12;aspect-ratio:auto;transition:flex-grow .55s var(--ease)}
.avp-gallery .gallery-item img{width:100%;height:100%;object-fit:cover;
  filter:grayscale(.7) brightness(.64) contrast(1.02);transition:filter .55s var(--ease),transform .7s var(--ease)}
/* velo oscuro sutil */
.avp-gallery .gallery-item::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,7,11,.2),rgba(7,7,11,.5));transition:opacity .55s var(--ease)}
/* índice 0X */
.avp-gallery .gallery-item::before{content:"0" counter(g);position:absolute;top:.85rem;left:1rem;z-index:3;
  font-size:.72rem;letter-spacing:.14em;font-weight:700;color:rgba(255,255,255,.85)}
/* caption (se genera desde el alt por JS) */
.avp-gallery .gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:1rem 1.1rem;
  color:#fff;font-weight:700;font-size:1rem;line-height:1.22;
  background:linear-gradient(180deg,transparent,rgba(7,7,11,.85));
  opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
/* HOVER: se expande y aparecen los colores */
.avp-gallery .gallery-item:hover{flex-grow:3.6}
.avp-gallery .gallery-item:hover img{filter:none;transform:scale(1.04)}
.avp-gallery .gallery-item:hover::after{opacity:.12}
.avp-gallery .gallery-item:hover figcaption{opacity:1;transform:none}
/* línea de acento del panel activo */
.avp-gallery .gallery-item::marker{content:""}
.avp-gallery .gallery-item:hover{box-shadow:inset 0 -3px 0 0 var(--acc1),0 20px 50px -26px #000}

@media (max-width:760px){
  .avp-gallery .gallery-grid{flex-direction:column;height:auto;gap:.7rem}
  .avp-gallery .gallery-item{flex:none;height:190px}
  .avp-gallery .gallery-item img{filter:grayscale(.35) brightness(.82)}
  .avp-gallery .gallery-item figcaption{opacity:1;transform:none}
}

/* =========================================================
   AJUSTES · espaciado, galería (sin números + glow), intro
   ========================================================= */
/* Menos espacio entre secciones (solo páginas internas) */
.section{padding-block:clamp(2.4rem,5vw,4.6rem)}

/* Galería: sin numeritos + efecto de luz en el panel activo */
.avp-gallery .gallery-item::before{content:none;display:none}
.avp-gallery .gallery-item:hover{
  box-shadow:0 0 0 1px color-mix(in srgb,var(--acc1) 60%,transparent),
             0 0 52px -4px var(--acc1),
             0 26px 64px -28px #000}

/* Intro "Nuestras soluciones..." al tamaño del lead */
.avp-copy__cue{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:300;color:#fff;line-height:1.4;max-width:62ch;margin-top:1.2rem}

/* =========================================================
   AJUSTES · sectores (sin iconos, número sutil a la derecha)
   + panel de cierre (texto y logos más grandes)
   ========================================================= */
/* Sectores: sacar iconos, número sutil arriba a la derecha */
.avp-sectors .sector__icon{display:none}
.avp-sectors .sector__num{position:absolute;top:clamp(1.1rem,1.8vw,1.5rem);right:clamp(1.2rem,2vw,1.7rem);z-index:2;margin:0;
  font-size:1rem;font-weight:700;letter-spacing:.1em;filter:none;
  background:none;-webkit-background-clip:border-box;background-clip:border-box;
  -webkit-text-fill-color:rgba(255,255,255,.42);color:rgba(255,255,255,.42)}
.avp-sectors .sector h3{padding-right:2.4rem}

/* Panel de cierre: texto más grande */
.avp-closing__panel p{font-size:clamp(1.05rem,1.4vw,1.24rem);line-height:1.62}

/* Partners (Trabajamos con): logos más grandes */
.avp-partners__logo img{height:clamp(44px,4.8vw,62px)}
.avp-partners__label{font-size:1.02rem}

/* =========================================================
   AJUSTES · banner "Catálogo online" (avp-cta)
   ========================================================= */
/* Sin padding (más específico que .section) → corta directo al footer */
.section.avp-cta{padding-block:0}
/* Imagen menos oscura */
.avp-cta__neon{filter:brightness(1.42) saturate(1.08)}
/* Velo más suave + leve oscurecido central para legibilidad del texto */
.avp-cta__wrap::after{background:
  linear-gradient(180deg,rgba(7,7,11,.82) 0%,rgba(7,7,11,.3) 20%,rgba(7,7,11,.3) 66%,rgba(7,7,11,.5) 100%),
  radial-gradient(62% 82% at 50% 50%,rgba(7,7,11,.36),transparent 72%)}
/* Contenido al medio */
.avp-cta__card{align-items:center;text-align:center;gap:1.6rem}
.avp-cta__card h2{margin-inline:auto}

/* Hero de vertical: título/bajada más cerca de lo que sigue (galería) */
.avp-hero{padding-block:clamp(2.2rem,5.5vw,4.2rem) clamp(.4rem,1.2vw,1rem)}
.avp-gallery{padding-top:clamp(.5rem,1.5vw,1.4rem)}

/* ================= ABOUT US — todo wide ================= */
body.page-about .container{max-width:none}

/* ================= PANORAMA: lead + mapa arriba · misión/visión + datos abajo ================= */
.about-panorama{position:relative;overflow:hidden}
.about-pano{position:relative;z-index:1;display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  grid-template-areas:"lead map" "mv nums";
  gap:clamp(1.8rem,3.6vw,3.4rem) clamp(2rem,4vw,4.5rem);align-items:start}
.about-pano__lead{grid-area:lead;display:grid;gap:clamp(1.6rem,2.8vw,2.6rem);align-content:start}
.about-pano__map{grid-area:map;align-self:center;pointer-events:none;transform:translateY(clamp(-3rem,-3.4vw,-1.4rem))}
.about-pano__mv{grid-area:mv;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,1.8vw,1.5rem);align-content:start}
.about-pano__nums{grid-area:nums;align-self:stretch;display:flex;flex-direction:column;gap:clamp(.6rem,1vw,.85rem)}
@media (max-width:960px){
  .about-pano{grid-template-columns:1fr;grid-template-areas:"lead" "map" "mv" "nums"}
  .about-pano__map{transform:none}
}
@media (max-width:560px){.about-pano__mv{grid-template-columns:1fr}}

/* mapa completo, sin recortar */
.about-pano__map .awards__scene{position:static;width:100%;height:auto;display:block}
.about-pano__map .awards__mapimg{opacity:.3}
.about-pano__map .lnk{opacity:.18}
.about-pano__map .about-zone{transform-box:fill-box;transform-origin:center;opacity:0}
.about-pano__map .about-zone--ar{animation:az-ar 5.2s ease-in-out infinite}
@keyframes az-ar{0%{opacity:0;transform:scale(.55)}15%{opacity:1;transform:scale(1)}45%{opacity:.72;transform:scale(1)}78%,100%{opacity:0;transform:scale(1.12)}}
.about-pano__map .about-zone--w{animation:az-w 8.5s ease-in-out infinite}
@keyframes az-w{0%,100%{opacity:0;transform:scale(.7)}50%{opacity:.5;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.about-pano__map .about-zone{animation:none;opacity:.32}}

/* +40 */
.about-exp__stat{display:flex;align-items:center;gap:clamp(1rem,1.8vw,1.5rem)}
.about-exp__num{font-size:clamp(3.4rem,7vw,6.2rem);font-weight:900;line-height:.85;letter-spacing:-.03em;
  background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 28px color-mix(in srgb,var(--acc1) 42%,transparent))}
.about-exp__unit{padding-left:clamp(1.1rem,1.7vw,1.5rem);border-left:2px solid color-mix(in srgb,var(--acc1) 55%,transparent);
  font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:800;text-transform:uppercase;letter-spacing:.12em;line-height:1.2;
  background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* pilares (globos con más jerarquía) */
.exp-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.2vw,1.1rem);list-style:none;padding:0;margin:0}
.exp-pillar{position:relative;display:flex;align-items:center;gap:clamp(.7rem,1.1vw,1rem);padding:clamp(1rem,1.6vw,1.35rem);
  border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 18px 40px -30px #000;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.exp-pillar:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--acc1) 55%,transparent);
  box-shadow:0 0 30px -12px color-mix(in srgb,var(--acc1) 75%,transparent)}
.exp-pillar__ic{display:grid;place-items:center;width:clamp(44px,4vw,52px);aspect-ratio:1;border-radius:13px;flex:none;
  color:var(--acc1);background:var(--acc-soft);border:1px solid color-mix(in srgb,var(--acc1) 40%,transparent);
  box-shadow:0 0 20px -7px color-mix(in srgb,var(--acc1) 80%,transparent)}
.exp-pillar__ic svg{width:25px;height:25px}
.exp-pillar__tx{font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.18;color:#fff;font-size:clamp(.72rem,.9vw,.86rem)}
@media (max-width:1120px){.exp-pillars{grid-template-columns:1fr}}
@media (max-width:960px){.exp-pillars{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.exp-pillars{grid-template-columns:1fr}}

/* misión / visión (más grandes, con glow) */
.about-pano__mv .mv-card{padding:clamp(1.6rem,2.6vw,2.6rem);border-color:color-mix(in srgb,var(--acc1) 30%,transparent);
  box-shadow:0 0 48px -24px color-mix(in srgb,var(--acc1) 66%,transparent),0 30px 70px -44px #000}
.about-pano__mv .mv-card:hover{box-shadow:0 0 60px -20px color-mix(in srgb,var(--acc1) 80%,transparent),0 34px 80px -44px #000}
.about-pano__mv .mv-card h2{font-size:clamp(1.9rem,3vw,2.7rem);margin-bottom:.85rem}
.about-pano__mv .mv-card p{font-size:clamp(1.08rem,1.5vw,1.35rem);color:rgba(255,255,255,.85);line-height:1.55}
.about-pano__mv .mv-card__icon{width:clamp(54px,4.4vw,64px);height:clamp(54px,4.4vw,64px);border-radius:16px;margin-bottom:1.2rem;
  box-shadow:0 0 26px -8px color-mix(in srgb,var(--acc1) 75%,transparent)}
.about-pano__mv .mv-card__icon svg{width:clamp(28px,2.6vw,34px);height:clamp(28px,2.6vw,34px)}

/* datos numéricos: panel vertical bajo el mapa */
.about-pano__nums .fstat{position:relative;flex:1 1 0;min-height:74px;flex-direction:row;align-items:center;text-align:left;gap:1.2rem;
  padding:clamp(.95rem,1.7vw,1.4rem) clamp(1.2rem,1.9vw,1.7rem);border:1px solid rgba(255,255,255,.1);border-radius:13px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  box-shadow:0 0 30px -20px color-mix(in srgb,var(--acc1) 60%,transparent);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.about-pano__nums .fstat:hover{border-color:color-mix(in srgb,var(--acc1) 42%,transparent);
  box-shadow:0 0 34px -14px color-mix(in srgb,var(--acc1) 75%,transparent)}
.about-pano__nums .fstat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--acc1),transparent 78%);opacity:.85}
.about-pano__nums .fstat__num{flex:none;min-width:5.4ch;font-size:clamp(2rem,3vw,2.8rem);font-weight:800;line-height:1;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum";
  background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.about-pano__nums .fstat__label{font-size:clamp(1.02rem,1.4vw,1.28rem);color:#fff;font-weight:600;line-height:1.28;letter-spacing:.005em;max-width:none}

/* ================= ANIMACIÓN de borde: dos puntos glow que recorren el contorno ================= */
@property --gb-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.glow-border,.exp-pillar{position:relative}
.glow-border::after,.exp-pillar::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;pointer-events:none;z-index:3;
  background:conic-gradient(from var(--gb-ang),transparent 0deg,#CDBBFF 16deg,transparent 52deg,transparent 180deg,#8FB0FF 196deg,transparent 232deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:gb-rot 5.5s linear infinite}
@keyframes gb-rot{to{--gb-ang:360deg}}
@media (prefers-reduced-motion:reduce){.glow-border::after{animation:none;opacity:0}}

/* ================= CIERRE — manifiesto (derecha) ================= */
.about-closing{padding-block:clamp(3.4rem,7vw,6.5rem)}
.about-closing__text{max-width:40ch;margin-left:0;margin-right:auto;text-align:left;font-weight:800;letter-spacing:-.01em;line-height:1.24;
  font-size:clamp(1.65rem,3.4vw,2.9rem);color:#fff}
.about-closing__text em{font-style:italic;background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px color-mix(in srgb,var(--acc1) 45%,transparent))}
@media (max-width:640px){.about-closing__text{max-width:none;text-align:left;margin-left:0}}

/* CTA band: centrado consistente (corrige el botón "corrido" respecto del título) */
.cta-band{text-align:center;align-items:center}
.cta-band h2{margin-left:auto;margin-right:auto}
/* CTA de About Us: mismo estilo que Casos de éxito, con el texto un toque más chico */
.about-cta h2{font-size:clamp(1.85rem,4.2vw,3.3rem);max-width:24ch}
/* About Us — CTA alineado a la izquierda y botón un poco más grande */
.about-cta{text-align:left;align-items:flex-start;padding-top:0}
.about-closing{padding-bottom:clamp(1rem,2.4vw,1.8rem)}
.about-cta .container{display:flex;justify-content:flex-start}
.about-cta .btn,.about-cta .btn--gradient{padding:1rem 2.5rem;font-size:1.02rem}

/* ============================================================
   CLIENTES & PARTNERS — componentes portados al sistema nuevo
   (grillas de logos, índice de áreas y filtros de partners)
   ============================================================ */
:root{
  --grad-card-1: linear-gradient(160deg, #16B598, #1F6C80);
  --grad-card-3: linear-gradient(160deg, #DAC150, #74542A);
  --grad-card-4: linear-gradient(160deg, #8FAAF2, #4050DF);
}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* El fondo lo aporta la aurora del sistema nuevo */
.page-clients main{ position:relative; background:transparent; }
.page-clients .page-hero{ background:transparent; }
/* Hero alineado a la izquierda (como el resto del sitio) */
.page-clients .cases-hero{ text-align:left; }
.page-clients .page-hero h1{ line-height:1.08; max-width:20ch; }
.page-partners .page-hero h1{ max-width:24ch; }

/* Índice de áreas — recuadro flotante (mismo estilo que los filtros de alianzas) */
.client-index-bar{
  position:sticky; top:calc(var(--nav-h) + .55rem); z-index:40;
  width:fit-content; max-width:calc(100% - 2*var(--gutter));
  margin:0 auto clamp(1.4rem,2.6vw,2.2rem);
  padding:.5rem;
  border-radius:18px;
  background:rgba(16,13,26,.62);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:saturate(150%) blur(16px);
  -webkit-backdrop-filter:saturate(150%) blur(16px);
  box-shadow:0 16px 40px -24px rgba(0,0,0,.9);
}
/* Chips en una sola línea (con scroll horizontal si no entran) */
.client-index{
  display:flex; flex-wrap:nowrap; align-items:center;
  gap:.5rem clamp(.4rem,.9vw,.6rem);
  max-width:100%; overflow-x:auto; scrollbar-width:none;
}
.client-index::-webkit-scrollbar{ display:none; }
.client-index a{ white-space:nowrap; flex:0 0 auto; }
.client-index a{
  font-size:.82rem; font-weight:600; color:rgba(255,255,255,.72);
  padding:.5rem .95rem; border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);
}
.client-index a:hover{
  color:#fff; transform:translateY(-2px);
  border-color:rgba(232,92,160,.55);
  background:rgba(255,255,255,.07);
}

/* Grupo por área */
.client-group{ padding-block:clamp(2.4rem,5vw,3.6rem); position:relative; z-index:1; }
.client-group:first-of-type{ padding-top:clamp(1rem,3vw,2rem); }
.client-group__head{
  display:flex; align-items:center; gap:.95rem; flex-wrap:wrap;
  padding-bottom:1.05rem; margin-bottom:clamp(1.6rem,3vw,2.4rem);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.client-group__idx{
  flex:0 0 auto; width:clamp(44px,5vw,54px); aspect-ratio:1;
  display:grid; place-items:center; position:relative; isolation:isolate;
  border-radius:14px; color:#F6DCEC;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 0 20px -6px rgba(232,92,160,.3), inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.client-group__idx svg{
  position:relative; z-index:1; width:50%; height:auto;
  filter:drop-shadow(0 0 5px rgba(232,92,160,.45));
}
.client-group__head:hover .client-group__idx{
  transform:translateY(-3px);
  border-color:rgba(232,92,160,.5);
  box-shadow:0 0 26px -4px rgba(232,92,160,.5), inset 0 1px 0 rgba(255,255,255,.14);
}
@media (prefers-reduced-motion: reduce){
  .client-group__head:hover .client-group__idx{ transform:none; }
}
.client-group__title{
  font-size:clamp(1.35rem,2.4vw,1.9rem); font-weight:800; line-height:1.1;
  letter-spacing:-.01em; color:#fff; margin:0;
}
.client-group__count{
  margin-left:auto; font-size:.74rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); align-self:center;
}

/* Grilla de celdas de logo */
.client-grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:clamp(.9rem,1.6vw,1.2rem);
  grid-template-columns:repeat(auto-fill, minmax(clamp(140px,15vw,188px), 1fr));
}
.client-cell{
  display:grid; place-items:center; aspect-ratio:16 / 9;
  padding:clamp(1rem,2vw,1.5rem); border-radius:var(--radius);
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  --cell-glow:123,79,212; --cell-ring:232,92,160;
  transition:transform .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
}
.client-cell img{
  height:clamp(38px,4.6vw,60px); width:auto; max-width:86%; object-fit:contain;
  filter:brightness(0) invert(1); opacity:.72;
  transition:opacity .4s var(--ease);
}
.client-cell:hover{
  transform:translateY(-5px);
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  box-shadow:0 18px 40px -22px rgba(var(--cell-glow),.85), inset 0 0 0 1px rgba(var(--cell-ring),.14);
}
.client-cell:hover img{ opacity:1; }
.client-cell[hidden]{ display:none; }

@media (max-width: 480px){
  .client-grid{ grid-template-columns:repeat(2,1fr); }
  .client-group__count{ width:100%; margin-left:0; }
}

/* Partners — barra de filtros sobre grilla única */
.partners-dir{ padding-top:clamp(1.6rem,3.5vw,3rem); }
.client-filters{
  position:sticky; top:calc(var(--nav-h) + .55rem); z-index:50;
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:.5rem clamp(.4rem,.9vw,.6rem);
  width:fit-content; max-width:100%; margin:0 auto clamp(1.1rem,2vw,1.5rem);
  padding:.5rem; border-radius:18px;
  background:rgba(16,13,26,.62);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:saturate(150%) blur(16px);
  -webkit-backdrop-filter:saturate(150%) blur(16px);
  box-shadow:0 16px 40px -24px rgba(0,0,0,.9);
}
.client-filter{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.84rem; font-weight:600; color:rgba(255,255,255,.74);
  padding:.55rem 1.05rem; border-radius:999px; cursor:pointer;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);
}
.client-filter:hover{ color:#fff; transform:translateY(-2px); border-color:rgba(232,92,160,.5); background:rgba(255,255,255,.07); }
.client-filter__n{
  font-size:.72rem; font-weight:700; font-variant-numeric:tabular-nums;
  padding:.1rem .5rem; border-radius:999px; color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.09); transition:background .3s var(--ease), color .3s var(--ease);
}
.client-filter.is-active{
  color:#fff; border-color:transparent; background:var(--grad-brand);
  box-shadow:0 10px 26px -14px rgba(123,79,212,.9);
}
.client-filter.is-active .client-filter__n{ background:rgba(255,255,255,.22); color:#fff; }
.client-filter[data-filter="avp"].is-active       { background:var(--grad-card-1); box-shadow:0 10px 26px -14px rgba(22,181,152,.9); }
.client-filter[data-filter="broadcast"].is-active  { background:linear-gradient(160deg, #FF4B54, #8E101B); box-shadow:0 10px 26px -14px rgba(224,36,44,.95); }
.client-filter[data-filter="imp"].is-active        { background:var(--grad-card-3); box-shadow:0 10px 26px -14px rgba(218,193,80,.9); }
.client-filter[data-filter="it"].is-active         { background:var(--grad-card-4); box-shadow:0 10px 26px -14px rgba(64,80,223,.9); }
#partnersGrid[data-active="avp"]       .client-cell{ --cell-glow:22,181,152;  --cell-ring:79,209,181; }
#partnersGrid[data-active="broadcast"] .client-cell{ --cell-glow:224,36,44;   --cell-ring:255,90,96; }
#partnersGrid[data-active="imp"]       .client-cell{ --cell-glow:218,193,80;  --cell-ring:228,205,110; }
#partnersGrid[data-active="it"]        .client-cell{ --cell-glow:64,80,223;   --cell-ring:143,170,242; }
.client-filters__status{
  text-align:center; color:var(--muted); font-size:.82rem; letter-spacing:.02em;
  margin:0 auto clamp(1.8rem,3.5vw,2.6rem);
}

/* ---- Realce óptico de logos puntuales ---- */
/* Clientes: Olga (marca cuadrada, quedaba chica) */
.page-clients .client-cell img[src*="olga"]{ height:clamp(52px,6.2vw,80px); }

/* Partners: wordmarks anchos poco legibles — usan más ancho de celda */
.client-cell img[src*="browninnovations"],
.client-cell img[src*="blackmagicdesign"],
.client-cell img[src*="legamaster"],
.client-cell img[src*="komamuracorpo"],
.client-cell img[src*="flukenetworks"]{ max-width:100%; height:clamp(48px,5.8vw,76px); }


/* =========================================================
   PRODUCTOS — dos verticales (AVP + Instrumentos de Medición)
   Color de resaltado por vertical a nivel de sección.
   ========================================================= */
.v-avp{--acc1:#2FD9E0;--acc2:#2F7DF0;--acc-grad:linear-gradient(120deg,#9BF3FF,#2FD9E0 62%,#2F8FE8);--acc-soft:rgba(47,217,224,.18)}
.v-imp{--acc1:#FFC21F;--acc2:#FF7A2F;--acc-grad:linear-gradient(120deg,#FFE79A,#FFC21F 62%,#FF9A2F);--acc-soft:rgba(246,178,75,.18)}

/* Vertical */
.prod-vertical{ padding-block:clamp(2.6rem,5vw,4.2rem); position:relative; scroll-margin-top:calc(var(--nav-h) + 1rem); }
.prod-vhead{ margin-bottom:clamp(1.8rem,3.6vw,2.6rem); max-width:var(--wrap); }
.prod-vhead h2{ font-size:var(--fs-h2); font-weight:900; line-height:1.05; letter-spacing:-.02em; color:#fff; max-width:22ch; }
.prod-vhead p{ color:var(--muted); max-width:72ch; margin-top:1rem; font-weight:300; font-size:var(--fs-lead); }

/* Categorías — menú interno (izq.) + panel de contenido (der.) */
.prod-tabs{ display:grid; grid-template-columns:clamp(230px,28%,340px) 1fr; gap:clamp(1rem,2vw,2rem); align-items:start; }

.prod-tabs__menu{ display:flex; flex-direction:column; gap:.45rem; position:sticky; top:calc(var(--nav-h) + 1rem); }
.prod-tab{ position:relative; text-align:left; cursor:pointer; font-family:inherit;
  padding:1.1rem 1.3rem; border-radius:13px; line-height:1.3;
  font-size:clamp(1.02rem,1.25vw,1.2rem); font-weight:700; color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-left:3px solid transparent;
  transition:color .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease); }
.prod-tab:hover{ color:#fff; background:rgba(255,255,255,.07); transform:translateX(2px); }
.prod-tab.is-active{ color:#fff; background:color-mix(in srgb,var(--acc1) 14%,transparent);
  border-color:color-mix(in srgb,var(--acc1) 42%,transparent); border-left-color:var(--acc1);
  box-shadow:0 0 26px -14px var(--acc1); }

/* Panel */
.prod-panel{ display:none; }
.prod-panel.is-active{ display:block; animation:prodFade .45s var(--ease) both; }
@keyframes prodFade{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none; } }
.prod-panel__card{ position:relative; border-radius:22px; overflow:hidden; isolation:isolate;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--line); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.prod-panel__media{ position:relative; aspect-ratio:21/9; overflow:hidden; }
.prod-panel__media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.02); }
.prod-panel__media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(8,7,12,.15) 0%,rgba(8,7,12,.55) 70%,rgba(8,7,12,.9) 100%),
    linear-gradient(90deg,color-mix(in srgb,var(--acc1) 30%,transparent),transparent 55%); }
.prod-panel__title{ position:absolute; left:clamp(1.3rem,2.4vw,2rem); bottom:clamp(1rem,2vw,1.4rem); right:1.3rem; z-index:1;
  font-size:clamp(1.4rem,2.4vw,2.1rem); font-weight:900; letter-spacing:-.01em; color:#fff; line-height:1.05; }
.prod-panel__body{ padding:clamp(1.4rem,2.6vw,2.2rem); }
.prod-panel__desc{ color:rgba(255,255,255,.86); margin-bottom:1.2rem; line-height:1.6; font-size:var(--fs-lead); font-weight:300; }
.prod-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:clamp(.7rem,1.4vw,1rem); }
.prod-list li{ position:relative; padding:1rem 1.15rem; border-radius:14px; line-height:1.5; color:var(--muted);
  background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-left:3px solid color-mix(in srgb,var(--acc1) 60%,transparent);
  transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease); }
.prod-list li:hover{ background:rgba(255,255,255,.06); border-left-color:var(--acc1); transform:translateY(-2px); }
.prod-list li strong{ display:block; color:#fff; font-weight:800; font-size:1.02em; letter-spacing:-.01em; margin-bottom:.3rem; }

@media (max-width:820px){
  .prod-tabs{ grid-template-columns:1fr; gap:1rem; }
  .prod-tabs__menu{ flex-direction:row; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; position:static;
    margin:0 calc(-1*var(--gutter)); padding-inline:var(--gutter); }
  .prod-tabs__menu::-webkit-scrollbar{ display:none; }
  .prod-tab{ flex:0 0 auto; white-space:nowrap; border-left-width:1px; }
  .prod-tab.is-active{ border-left-color:color-mix(in srgb,var(--acc1) 42%,transparent); border-bottom:3px solid var(--acc1); }
  .prod-list{ grid-template-columns:1fr; }
}

/* Banner QSL: logo + acento */
.prod-qsl .qsl-logo{ height:clamp(46px,5vw,64px); width:auto; }
.prod-qsl .qsl-sub{ color:rgba(255,255,255,.85); max-width:60ch; font-weight:300; font-size:var(--fs-lead); }

/* ============================================================
   CASO DE ÉXITO — página de detalle (portada + nota)
   ============================================================ */
.caso-main{position:relative;z-index:1}
.caso-top{display:flex;justify-content:flex-start;margin-bottom:clamp(1rem,2vw,1.6rem)}
.caso-back{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.92rem;color:rgba(255,255,255,.8);
  padding:.6rem 1.1rem;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);
  transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}
.caso-back:hover{color:#fff;transform:translateX(-3px);border-color:color-mix(in srgb,var(--acc1) 50%,transparent);background:rgba(255,255,255,.07)}
.caso-back svg{width:16px;height:16px}

/* Portada (imagen con poco filtro) */
.caso-cover{position:relative;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:21/9;min-height:240px;border:1px solid var(--line)}
@media(max-width:640px){.caso-cover{aspect-ratio:16/10}}
.caso-cover img{width:100%;height:100%;object-fit:cover;display:block}
.caso-cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 62%,rgba(8,7,12,.30))}
/* Título ancho, debajo de la imagen */
.caso-title{max-width:none;margin:clamp(1.2rem,2.6vw,2rem) 0 0;font-weight:900;font-size:clamp(2rem,4.4vw,3.6rem);
  line-height:1.05;letter-spacing:-.02em;color:#fff;text-wrap:balance}
/* ===== Portada full-width + layout dos columnas (título izq / nota der) ===== */
.caso-cover{margin-bottom:clamp(1.6rem,3.2vw,2.6rem)}
.caso-layout{display:grid;grid-template-columns:minmax(320px,46%) 1fr;gap:clamp(2rem,4.5vw,4.5rem);align-items:start}
/* Aside sticky: botón volver + título viajan juntos */
.caso-aside{position:sticky;top:96px;align-self:start}
.caso-aside .caso-back{margin-bottom:clamp(1rem,2vw,1.5rem)}
.caso-aside .caso-title{margin:0;font-size:clamp(2.4rem,4.4vw,4rem);line-height:1.02}
/* el texto de la nota arranca a la altura del título (baja el alto del botón Volver) */
.caso-content{min-width:0;margin-top:calc(44px + clamp(1rem,2vw,1.5rem))}
.caso-content .caso-article{margin-top:0}
.caso-content .caso-article .caso-lead:first-child,.caso-content .caso-article>p:first-child{margin-top:0}
@media(max-width:860px){
  .caso-layout{grid-template-columns:1fr;gap:clamp(1rem,3vw,1.4rem)}
  .caso-aside{position:static}
  .caso-aside .caso-title{font-size:clamp(2.1rem,6.5vw,2.8rem)}
  .caso-content{margin-top:0}
}
/* Fuente + fecha: sutil pero tecnológico — fecha a la izq, fuente a la derecha */
.caso-source{margin-top:clamp(1.8rem,3.4vw,2.6rem);padding-top:.9rem;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem 1.5rem}
.caso-source__item{display:inline-flex;align-items:baseline;gap:.55rem;
  font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Roboto Mono",monospace}
.caso-source__item--src{margin-left:auto;text-align:right}
.caso-source__k{font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--acc1);opacity:.85}
.caso-source__k::before{content:"// "}
.caso-source__v{font-size:.78rem;letter-spacing:.02em;color:rgba(255,255,255,.72)}
a.caso-source__v{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:1px;transition:color .2s,border-color .2s}
a.caso-source__v:hover{color:#fff;border-color:var(--acc1)}
@media(max-width:520px){.caso-source{flex-direction:column}.caso-source__item--src{margin-left:0;text-align:left}}
/* Animación sutil de entrada */
.caso-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.caso-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.caso-reveal{opacity:1!important;transform:none!important;transition:none}}

/* Caja de texto más angosta, tipografía blanca */
.caso-article{max-width:46rem;margin:clamp(1.6rem,3vw,2.4rem) 0 clamp(1rem,2vw,1.6rem);}
.caso-article h2{font-weight:800;font-size:clamp(1.3rem,2.2vw,1.9rem);color:#fff;line-height:1.15;margin:clamp(1.8rem,3vw,2.6rem) 0 .8rem;
  padding-left:.9rem;border-left:3px solid var(--acc1)}
.caso-article h2:first-child{margin-top:0}
.caso-article p{color:rgba(255,255,255,.94);font-size:clamp(1.02rem,1.35vw,1.18rem);line-height:1.7;margin:0 0 1.1rem;font-weight:300}
.caso-article strong{color:#fff;font-weight:700}
.caso-article ul{list-style:none;margin:0 0 1.2rem;padding:0;display:flex;flex-direction:column;gap:.6rem}
.caso-article li{position:relative;padding-left:1.5rem;color:rgba(255,255,255,.94);line-height:1.6;font-weight:300}
.caso-article li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--acc1),var(--acc2));box-shadow:0 0 10px color-mix(in srgb,var(--acc1) 60%,transparent)}
.caso-article blockquote{margin:1.6rem 0;padding:1.1rem 1.4rem;border-left:3px solid var(--acc1);border-radius:0 14px 14px 0;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));color:#fff;font-style:italic;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.5}
.caso-source{margin:.4rem 0 0}

.caso-recos{border-top:1px solid rgba(255,255,255,.1);padding-top:clamp(2rem,4vw,3rem);margin-top:clamp(1.4rem,3vw,2.4rem)}
.caso-recos__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:clamp(1.4rem,2.6vw,2rem)}
.caso-recos__title{font-weight:800;font-size:clamp(1.3rem,2.2vw,1.9rem);color:#fff;margin:0}
.caso-recos__nav{display:flex;gap:.5rem;flex:none}
.caso-recos__btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;
  display:grid;place-items:center;cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.caso-recos__btn svg{width:20px;height:20px}
.caso-recos__btn:hover{background:rgba(255,255,255,.09);border-color:color-mix(in srgb,var(--acc1) 50%,transparent);transform:translateY(-1px)}
.caso-recos__track{display:flex;gap:clamp(1.1rem,2vw,1.8rem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-bottom:.9rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.caso-recos__track::-webkit-scrollbar{display:none}
.caso-recos__track .case{flex:0 0 clamp(240px,28%,300px);scroll-snap-align:start}
@media(max-width:600px){.caso-recos__track .case{flex-basis:78%}}
/* CTA de contacto (debajo de las notas recomendadas) */
.caso-contact{margin-top:clamp(2.4rem,4.5vw,3.6rem);padding:clamp(1.8rem,3.4vw,2.8rem);border-radius:22px;text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;gap:.7rem}
.caso-contact h2{font-weight:800;font-size:clamp(1.5rem,2.6vw,2.2rem);color:#fff;line-height:1.1}
.caso-contact p{color:rgba(255,255,255,.82);font-weight:300;font-size:var(--fs-lead);max-width:52ch}
.caso-contact .btn{margin-top:.6rem}
.caso-foot{display:flex;justify-content:center;margin-top:clamp(1.6rem,3vw,2.4rem)}

/* Casos — paginación */
.cases__pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:clamp(2rem,4vw,3.2rem)}
.cases__pager button{min-width:44px;height:44px;padding:0 .95rem;border-radius:12px;font-family:inherit;font-weight:700;font-size:.98rem;cursor:pointer;
  color:rgba(255,255,255,.8);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);
  transition:color .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}
.cases__pager button:hover:not(:disabled){color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}
.cases__pager button.is-active{color:#fff;border-color:transparent;background:var(--grad-brand);box-shadow:0 10px 26px -14px rgba(123,79,212,.9)}
.cases__pager button:disabled{opacity:.38;cursor:default}

/* Caso — bajada, figuras internas, logos y citas con autor */
.caso-article .caso-lead{color:#fff;font-weight:400;font-size:clamp(1.14rem,1.7vw,1.4rem);line-height:1.5;margin-bottom:1.4rem}
.caso-fig{margin:1.6rem 0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.caso-fig img{display:block;width:100%;height:auto}
.caso-fig figcaption{padding:.55rem .9rem;font-size:.85rem;color:var(--muted);text-align:center}
.caso-logo{margin:1.4rem 0;display:flex;justify-content:center;align-items:center;padding:1.1rem 1.4rem;border-radius:14px;
  background:rgba(255,255,255,.08);border:1px solid var(--line)}
.caso-logo img{max-height:60px;width:auto;max-width:100%}
.caso-article blockquote.caso-quote{margin:1.8rem 0;padding:1.2rem 1.4rem;border-left:3px solid var(--acc1);border-radius:0 14px 14px 0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));font-style:normal}
.caso-quote>p{color:#fff;font-style:italic;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.55;margin:0 0 1rem}
.caso-quote__by{display:flex;align-items:center;gap:.85rem}
.caso-quote__by img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;border:1px solid rgba(255,255,255,.22)}
.caso-quote__by span{display:flex;flex-direction:column;line-height:1.25}
.caso-quote__by strong{color:#fff;font-weight:700;font-size:.98rem}
.caso-quote__by em{color:var(--muted);font-style:normal;font-size:.85rem}

/* ============================================================
   PRODUCTOS — ajustes: wide, textos blancos, títulos lila/rosa,
   Instrumentos a la derecha, logos de marca, alianzas y QSL a corte
   ============================================================ */
/* Diseño equilibrado: un poco más ancho que el estándar, contenido (no full-bleed) */
.page-productos .container{ max-width:1680px; margin-inline:auto; }
.page-productos .prod-vhead{ max-width:none; }

/* Descripciones / bajadas en blanco */
.page-productos .cases-hero__lead{ color:#fff; }
.page-productos .prod-vhead p{ color:#fff; }
.page-productos .prod-panel__desc{ color:#fff; }
.page-productos .prod-list li{ color:rgba(255,255,255,.9); font-size:clamp(1rem,1.2vw,1.16rem); line-height:1.6; padding:1.1rem 1.3rem; }
.page-productos .prod-list li strong{ font-size:1.08em; margin-bottom:.35rem; }
.page-productos .prod-panel__desc{ font-size:clamp(1.08rem,1.5vw,1.28rem); }

/* Títulos de vertical: todo en blanco, sin color de vertical, sin itálica */
.page-productos .prod-vhead h2,
.page-productos .prod-vhead h2 .gradient-text{
  background:none;color:#fff;-webkit-text-fill-color:#fff;font-style:normal;
}

/* Instrumentos de Medición — alineado a la derecha (menú a la derecha, contenido a la izquierda) */
.v-imp .prod-vhead{ margin-left:auto; text-align:right; }
.v-imp .prod-vhead h2{ margin-left:auto; }
.v-imp .prod-vhead p{ margin-left:auto; }
.v-imp .prod-tabs{ grid-template-columns:1fr clamp(230px,28%,340px); }
.v-imp .prod-tabs__menu{ grid-column:2; grid-row:1; }
.v-imp .prod-tabs__panels{ grid-column:1; grid-row:1; }
.v-imp .prod-tab{ text-align:right; border-left:1px solid rgba(255,255,255,.08); border-right:3px solid transparent; }
.v-imp .prod-tab:hover{ transform:translateX(-2px); }
.v-imp .prod-tab.is-active{ border-left-color:rgba(255,255,255,.08); border-right-color:var(--acc1); }
@media (max-width:820px){
  .v-imp .prod-tabs{ grid-template-columns:1fr; }
  .v-imp .prod-tabs__menu,.v-imp .prod-tabs__panels{ grid-column:auto; grid-row:auto; }
  .v-imp .prod-vhead,.v-imp .prod-vhead h2,.v-imp .prod-vhead p{ text-align:left; margin-left:0; }
  .v-imp .prod-tab{ text-align:left; }
}

/* Logos de marca dentro de las tarjetas internas */
.prod-logos{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(1rem,2.2vw,2rem);
  margin-top:1.3rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.1); }
.prod-logos img{ height:26px; width:auto; max-width:112px; object-fit:contain; filter:brightness(0) invert(1); opacity:.72; }

/* Alianzas comerciales (CTA) */
.prod-allies__inner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:1.1rem;
  max-width:70rem; margin-inline:auto; padding:clamp(1.9rem,3.6vw,3rem);
  border-radius:22px; background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:1px solid var(--line); }
.prod-allies__inner p{ color:#fff; font-weight:300; font-size:var(--fs-lead); max-width:60ch; margin:0; }

/* Banner QSL a corte (imagen full-bleed) */
.page-productos .prod-qsl .container{ max-width:none; padding-inline:0; }
.prod-qsl .avp-cta__wrap{ border-radius:0; border-left:0; border-right:0; }
.prod-qsl .avp-cta__card{ align-items:center; text-align:center; max-width:64rem; margin-inline:auto; padding:clamp(2.4rem,5vw,4rem) var(--gutter); }
.prod-qsl .qsl-sub{ color:#fff; }

/* ============================================================
   INFORMACIÓN ADMINISTRATIVA — acordeón de trámites y descargas
   ============================================================ */
.admin-dept__head{ max-width:60ch; margin-bottom:clamp(1.8rem,3.5vw,2.6rem); }
.admin-dept__head h2{ font-weight:800; font-size:var(--fs-h2); line-height:1.05; margin-top:.5rem; }

.admin-acc{ display:flex; flex-direction:column; gap:1rem; }
.admin-item{ border-radius:var(--radius); border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); overflow:hidden; }
.admin-item__summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:1rem;
  padding:clamp(1.1rem,2vw,1.5rem) clamp(1.2rem,2.4vw,1.8rem); user-select:none; }
.admin-item__summary::-webkit-details-marker{ display:none; }
.admin-item__num{ display:grid; place-items:center; width:2.4rem; height:2.4rem; flex:none; border-radius:999px;
  font-weight:800; color:var(--acc1); background:rgba(255,255,255,.06); border:1px solid var(--line); }
.admin-item__title{ flex:1; font-weight:700; font-size:clamp(1.05rem,1.6vw,1.25rem); color:#fff; }
.admin-item__chev{ flex:none; width:20px; height:20px; color:var(--muted); transition:transform .3s var(--ease); }
.admin-item[open] .admin-item__chev{ transform:rotate(180deg); color:var(--acc1); }
.admin-item__body{ padding:0 clamp(1.2rem,2.4vw,1.8rem) clamp(1.4rem,2.4vw,1.9rem);
  padding-left:calc(2.4rem + 1rem + clamp(1.2rem,2.4vw,1.8rem)); }
.admin-item p{ color:var(--muted); line-height:1.6; max-width:70ch; }
.admin-item p + p{ margin-top:.6rem; }
.admin-link{ color:#fff; font-weight:700; text-decoration:underline; text-decoration-color:var(--acc1); text-underline-offset:2px; }
.admin-sub{ font-weight:700; font-size:1.02rem; color:#fff; margin:1.5rem 0 .3rem; }
.admin-sub--first{ margin-top:0; }
.admin-note{ color:var(--muted-2); font-size:.9rem; font-style:italic; margin-top:.5rem; max-width:70ch; }

.dl-grid{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:.9rem; }
.dl-btn{ display:inline-flex; align-items:center; gap:.6rem; padding:.7rem 1.1rem; border-radius:999px;
  background:rgba(255,255,255,.05); border:1px solid var(--line); color:#fff; font-weight:600; font-size:.88rem;
  line-height:1.25; transition:background .25s,border-color .25s,transform .25s var(--ease); }
.dl-btn svg{ width:18px; height:18px; color:var(--acc1); flex:none; }
.dl-btn:hover{ background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.22); transform:translateY(-2px); }
.dl-btn--mail svg{ color:var(--acc2); }

.cuit-copy{ display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin:.9rem 0 1.2rem; color:var(--muted); }
.cuit-copy__code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:700; color:#fff;
  padding:.5rem .85rem; border-radius:10px; background:rgba(255,255,255,.06); border:1px solid var(--line); letter-spacing:.02em; }
.cuit-copy__btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .95rem; border-radius:999px;
  background:rgba(255,255,255,.05); border:1px solid var(--line); color:#fff; font-weight:600; font-size:.85rem;
  transition:background .25s,border-color .25s; }
.cuit-copy__btn svg{ width:16px; height:16px; color:var(--acc1); }
.cuit-copy__btn:hover{ background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.22); }
.cuit-copy__status{ font-size:.85rem; color:var(--acc1); font-weight:600; min-height:1.2em; }

@media (max-width:640px){
  .admin-item__body{ padding-left:clamp(1.2rem,2.4vw,1.8rem); }
}

/* ============================================================
   SEGURIDAD ELÉCTRICA — nota importante (resaltado amarillo sutil)
   ============================================================ */
.note-section{ padding-bottom:0; }
.note-card{ display:flex; align-items:flex-start; gap:1rem; max-width:60ch; padding:1rem 1.3rem; border-radius:var(--radius);
  border:1px solid rgba(255,194,31,.32); background:rgba(255,194,31,.07); }
.note-card__icon{ flex:none; display:grid; place-items:center; width:2.1rem; height:2.1rem; border-radius:999px;
  color:#FFC21F; background:rgba(255,194,31,.14); border:1px solid rgba(255,194,31,.3); }
.note-card__icon svg{ width:17px; height:17px; }
.note-card__label{ display:block; font-weight:700; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:#FFC21F; margin-bottom:.3rem; }
.note-card__body p{ color:var(--muted); line-height:1.55; font-size:.95rem; margin:0; max-width:56ch; }
.note-card__body p + p{ margin-top:.35rem; }
.note-card__sign{ font-weight:700; color:#fff; }

/* ============================================================
   RRHH — CTA de CV
   ============================================================ */
.page-rrhh .page-hero h1{ max-width:46rem; }
.page-rrhh .cases-hero__lead{ max-width:46rem; }

.cv-panel{ padding:clamp(1.6rem,3vw,2.6rem); max-width:56rem; }
.rrhh-cv .admin-dept__head{ margin-bottom:0; }
.rrhh-cv .admin-dept__head h2{ font-weight:600; font-size:clamp(.98rem,1.3vw,1.12rem); line-height:1.4; color:var(--muted); max-width:52ch; margin-top:0; }
.rrhh-cv__actions{ margin:1.4rem 0 1.8rem; }
.rrhh-cv .note-card{ margin:0; }
.rrhh-cv{ padding-top:clamp(.8rem,2vw,1.6rem); }
.rrhh-compliance{ padding-top:0; }
.rrhh-compliance .admin-dept__head h2{ color:#fff; }
.rrhh-compliance .about-closing__text{ font-size:clamp(1.2rem,1.8vw,1.6rem); font-weight:300; color:#fff; }
.rrhh-compliance .about-closing__text em{ font-style:normal; background:none; -webkit-background-clip:initial; background-clip:initial; color:#fff; filter:none; }
.rrhh-compliance .dl-grid{ flex-direction:column; align-items:flex-start; }
.rrhh-compliance .dl-btn{ padding:.95rem 1.5rem; font-size:1rem; text-transform:uppercase; }
.rrhh-compliance .dl-btn svg{ width:21px; height:21px; }
