/* ==========================================================================
   Grupo Anditech — Web 2026 · base.css  ("Claro industrial", Figma ANDITECH)
   Tokens, reset, tipografía, componentes compartidos, cabecera, menú, buscador, footer, motion.
   Mobile-first: base = móvil (≥320) · tablet ≥768 · laptop ≥1024 · desktop ≥1280 (retícula 1440 / 1280).
   ========================================================================== */
:root{
  --navy:#003E6E; --navy-h:#0B55A0; --ink:#0A1A30; --ink-2:#3B4A60; --ink-3:#5B6B80; --ink-4:#6B7A8C; --ink-5:#1F2D42;
  --line:#E1E6ED; --line-2:#D3DAE3; --bg:#FFFFFF; --bg-2:#F3F5F8; --bg-3:#EEF1F5; --sky:#BFDCFF; --sky-2:#D6E6F8; --sky-3:#DCE7F3;
  --dark:#061A33; --gray:#BFBFBF; --amber:#8A4B00; --amber-bg:rgba(217,119,6,.12); --navy-bg:rgba(0,62,110,.1);
  --f-disp:'Sora',system-ui,sans-serif; --f-body:'Manrope',system-ui,sans-serif; --f-mono:'JetBrains Mono',ui-monospace,monospace;
  --gx:20px; --maxw:1440px; --sec:56px; --r:20px; --r-lg:28px; --r-sm:12px;
  --ease:cubic-bezier(.2,.8,.2,1); --ease-out:cubic-bezier(.215,.61,.355,1); --expo:cubic-bezier(.16,1,.3,1);
  --hdr-h:64px; --shadow:0 1px 2px rgba(10,26,48,.04); --shadow-h:0 12px 32px rgba(10,26,48,.08);
}
@media (min-width:768px){:root{--gx:48px;--hdr-h:76px;--sec:80px}}
@media (min-width:1024px){:root{--gx:56px;--sec:104px}}@media (min-width:1290px){:root{--hdr-h:88px}}
@media (min-width:1280px){:root{--gx:80px;--sec:120px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:calc(var(--hdr-h) + 64px)}
html:not(.lenis){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure{margin:0}
input,select,textarea{width:100%;height:52px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:0 16px;font:inherit;font-size:15px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
textarea{height:auto;min-height:120px;padding:14px 16px;resize:vertical}
input::placeholder,textarea::placeholder{color:#8A97A8}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgba(0,62,110,.1)}
label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2)}
label.check{flex-direction:row;gap:10px;align-items:flex-start;line-height:1.5;font-weight:500}
label.check input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;accent-color:var(--navy)}
[hidden]{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

/* ---- layout ---- */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding-left:var(--gx);padding-right:var(--gx)}
.section{padding:var(--sec) 0}
.section--tight{padding:calc(var(--sec) * .66) 0}
.pt0{padding-top:0 !important}.pb0{padding-bottom:0 !important}
.band{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stack{display:flex;flex-direction:column;gap:14px}
.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.grid>*{min-width:0}
@media (min-width:768px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media (min-width:1024px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.grid--2{gap:24px}}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
.split>*{min-width:0}
@media (min-width:1024px){.split{grid-template-columns:5fr 7fr;gap:64px}.split--even{grid-template-columns:1fr 1fr}.split--rev{grid-template-columns:7fr 5fr}.split--c{align-items:center}}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:760px}
.sec-head--row{max-width:none}
@media (min-width:1024px){.sec-head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:40px}.sec-head--row>.stack{max-width:800px}}
.mt-s{margin-top:16px}.mt-m{margin-top:28px}.mt-l{margin-top:44px}

/* ---- tipografía ---- */
/* Figma usa dos tonos según la página: "pal-a" (inicio, equipos, offset, CX 104, nosotros, Prinect, servicio, repuestos)
   lleva etiquetas #0066B3 y titulares #163A55; "pal-h" sólo cambia los titulares (contacto). */
:root{--hd:var(--ink);--ey:var(--navy)}
@media (min-width:1024px){.pal-a{--hd:#163A55;--ey:#0066B3}.pal-h{--hd:#163A55}}
.eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ey);line-height:1.4}
@media (min-width:1024px){.eyebrow{font-size:12px;line-height:16px}.crumb{line-height:16px}}
.eyebrow--light{color:var(--sky)}
.eyebrow--dot{display:inline-flex;align-items:center;gap:12px}
.eyebrow--dot::before{content:'';width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 14px currentColor}
.disp{font-family:var(--f-disp);font-weight:600;letter-spacing:-.03em;line-height:1.02;color:var(--hd)}
.disp--light{color:#fff}
.h1{font-size:clamp(40px,10.5vw,48px)}.h2{font-size:clamp(30px,7.6vw,34px)}.h3{font-size:26px}.h4{font-size:20px}
@media (min-width:768px){.h1{font-size:64px}.h2{font-size:42px}.h3{font-size:32px}.h4{font-size:22px}}
@media (min-width:1024px){.h1{font-size:76px}.h2{font-size:48px}.h3{font-size:36px}}
@media (min-width:1280px){.h1{font-size:88px}.h2{font-size:52px}.h3{font-size:40px}}
.h2--sm{font-size:clamp(28px,7vw,32px)}
@media (min-width:768px){.h2--sm{font-size:38px}}@media (min-width:1280px){.h2--sm{font-size:48px}}
.lead{font-size:17px;line-height:1.5;color:var(--ink-2);max-width:640px}
@media (min-width:768px){.lead{font-size:19px}}
@media (min-width:1280px){.lead{font-size:22px;line-height:1.4}}
.lead--light{color:var(--sky-3)}
.body{font-size:15px;line-height:1.55;color:var(--ink-3)}
.mono{font-family:var(--f-mono)} .muted{color:var(--ink-3)} .small{font-size:14px;line-height:1.55}
.text-balance{text-wrap:balance}
.note{font-family:var(--f-mono);font-size:12px;line-height:1.6;color:var(--ink-4)}

/* ---- botones, chips, tags, enlaces ---- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:999px;font-weight:600;font-size:15px;line-height:1;border:1px solid transparent;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),background-color .3s,border-color .3s,color .3s,box-shadow .35s}
.btn svg{width:16px;height:16px;flex:0 0 auto;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn:hover{transform:translateY(-2px)} .btn:active{transform:translateY(0) scale(.98)}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-h);box-shadow:0 10px 24px rgba(0,62,110,.25)}
.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:#E8F1FB}
.btn-ghost{border-color:rgba(10,26,48,.25);color:var(--ink);background:transparent}.btn-ghost:hover{border-color:var(--navy);color:var(--navy)}
.btn-ghost-light{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-sm{height:44px;padding:0 20px;font-size:14px}
.btns{display:flex;flex-direction:column;gap:12px}
.btns .btn{width:100%}
@media (min-width:600px){.btns{flex-direction:row;flex-wrap:wrap}.btns .btn{width:auto}}
.chip{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);font-size:12px;font-weight:600;color:var(--ink-2);background:#fff;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
button.chip:hover{border-color:var(--navy);color:var(--navy)}
.chip.on,.chip[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.chip-dark{border-color:rgba(255,255,255,.3);color:#fff;background:rgba(6,26,51,.45);backdrop-filter:blur(8px)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.seg{display:inline-flex;align-self:flex-start;padding:5px;border-radius:999px;border:1px solid var(--line-2);background:#fff;gap:2px}
.seg button{height:36px;padding:0 16px;border-radius:999px;font-weight:600;font-size:13px;color:var(--ink-2);white-space:nowrap;transition:background .3s,color .3s}
.seg button:hover{color:var(--navy)}
.seg button[aria-selected="true"]{background:var(--navy);color:#fff}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:6px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.tag-com{background:var(--navy-bg);color:var(--navy)}.tag-pack{background:var(--amber-bg);color:var(--amber)}.tag-neu{background:var(--bg-3);color:var(--ink-2)}.tag-light{background:rgba(255,255,255,.14);color:#fff}
.tag-new{background:var(--navy);color:#fff}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.linkarrow{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:600;font-size:15px}
.linkarrow .ar{display:inline-block;transition:transform .35s var(--ease)}
.linkarrow:hover .ar,a:hover>.linkarrow .ar,a:hover .linkarrow .ar{transform:translateX(4px)}
.linkarrow--light{color:#fff}

/* ---- tarjetas, imágenes ---- */
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;transition:transform .35s var(--ease-out),border-color .35s var(--ease-out),box-shadow .35s var(--ease-out)}
a.card:hover,.card--hover:hover{transform:translateY(-8px);border-color:var(--navy);box-shadow:var(--shadow-h)}
.zoom{overflow:hidden}
.zoom img{transition:transform .6s var(--ease)}
a:hover .zoom img,.zoom:hover img{transform:scale(1.04)}
.tile{background:linear-gradient(180deg,#F3F5F8 0%,#DCE2EA 100%);overflow:hidden}
.tile img{width:100%;height:100%;object-fit:cover}
.tile img.render{object-fit:cover;object-position:50% 58%;mix-blend-mode:multiply}
.tile img.contain{object-fit:contain;mix-blend-mode:multiply;padding:6%}
.photo{overflow:hidden;background:var(--dark)}
.photo img{width:100%;height:100%;object-fit:cover}
.rounded{border-radius:var(--r)}.rounded-lg{border-radius:var(--r-lg)}
[data-parallax]{will-change:transform}
.badge{position:absolute;z-index:2;top:14px;left:14px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;background:var(--navy);color:#fff;padding:6px 10px;border-radius:8px}

/* ---- cifras ---- */
.kv{display:flex;flex-direction:column;gap:4px}
.kv span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}
.kv b{font-family:var(--f-disp);font-weight:600;letter-spacing:-.03em;color:var(--navy);font-size:24px;line-height:1.05}
@media (min-width:1024px){.kv b{font-size:26px}}

/* ---- lista numerada (filas) ---- */
.rows li{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows .n{font-family:var(--f-mono);font-size:12px;color:var(--navy);padding-top:4px}
.rows b{display:block;font-weight:600;font-size:18px;line-height:1.35}
.rows p{font-size:15px;line-height:1.55;color:var(--ink-3);margin-top:6px}

/* ---- acordeón ---- */
.acc{border-top:1px solid var(--line)}
.acc:last-child{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:40px 1fr 24px;align-items:center;gap:12px;padding:20px 0;font-weight:600;font-size:17px}
.acc summary::-webkit-details-marker{display:none}
.acc summary .n{font-family:var(--f-mono);font-size:12px;color:var(--navy)}
.acc summary .pm{text-align:right;color:var(--navy);font-size:22px;line-height:1;transition:transform .35s var(--ease)}
.acc[open] summary .pm{transform:rotate(45deg)}
.acc .acc__b{margin:0 0 20px 52px;font-size:15px;line-height:1.6;color:var(--ink-3)}

/* ---- carrusel horizontal ---- */
.hs{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--gx);padding:4px var(--gx) 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.hs::-webkit-scrollbar{display:none}
.hs>*{scroll-snap-align:start;flex:0 0 auto}
.hs.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.hs.is-drag *{pointer-events:none;user-select:none}
@media (min-width:768px){.hs{gap:20px}}
@media (min-width:1024px){.hs{gap:24px}}
.hs-ctl{display:flex;align-items:center;gap:20px;margin-top:10px}
.prog{position:relative;flex:1;height:3px;background:var(--line);border-radius:999px;overflow:hidden}
.prog b{position:absolute;left:0;top:0;height:100%;width:30%;background:var(--navy);border-radius:999px;will-change:transform}
.hs-btns{display:none;gap:8px}
@media (min-width:768px){.hs-btns{display:flex}}
.hs-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);transition:background .25s,color .25s,border-color .25s,opacity .25s,transform .25s var(--ease)}
.hs-btn:hover:not(:disabled){background:var(--navy);border-color:var(--navy);color:#fff}
.hs-btn:active:not(:disabled){transform:scale(.94)}
.hs-btn:disabled{opacity:.35;cursor:default}
.hs-btn svg{width:18px;height:18px}
.hs-count{font-family:var(--f-mono);font-size:12px;color:var(--ink-4);white-space:nowrap}

/* ---- cabecera (Figma: móvil 390 · tablet 834 · desktop 1440) ---- */
.hdr{position:fixed;left:0;top:0;width:100%;height:var(--hdr-h);z-index:50;color:#1F2D42;transition:transform .45s var(--ease),color .3s}
.hdr::before{content:'';position:absolute;inset:0 0 auto;height:calc(var(--hdr-h) + 72px);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,0));pointer-events:none;transition:opacity .3s}
.hdr::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.88);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 var(--line);opacity:0;transition:opacity .3s;pointer-events:none}
.hdr.is-solid::after{opacity:1}.hdr.is-solid::before{opacity:0}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__in{position:relative;z-index:1;height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.hdr__logo{display:block;flex:0 0 auto}
.hdr__logo img{height:34px;width:auto}
.hdr__logo .lg-w{display:none}
.hdr__nav{display:none}
.hdr__right{display:flex;align-items:center;gap:8px}
.hdr .hdr__cta,.hdr .hdr__search,.hdr .ctry{display:none}
.icon-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:background .25s,border-color .25s,color .25s}
.icon-btn:hover{border-color:var(--navy);color:var(--navy)}
.icon-btn svg{width:18px;height:18px}
.ctry{align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);font-family:var(--f-mono);font-size:12px;letter-spacing:.1em}
.ctry button{color:#8A97A8;transition:color .2s;line-height:16px}
.ctry button:hover{color:var(--navy)}
.ctry button[aria-pressed="true"]{color:var(--navy);font-weight:700}
.ctry i{font-style:normal;color:var(--gray)}
/* Figma "Home - Desktop": selector de idioma "ES / EN" en lugar del de país */
.hdr__lang{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(10,26,48,.25);font-size:11px;font-weight:700;letter-spacing:.1em;line-height:16px;color:var(--ink-4);white-space:nowrap}
.hdr__lang b{font-weight:700;color:var(--navy)}
.hdr__lang button,.menu__cc button{appearance:none;background:none;border:0;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;padding:8px 3px;min-height:36px}
.hdr__lang button[aria-pressed="true"]{color:var(--navy);font-weight:800}
.hdr__lang button:focus-visible,.menu__cc button:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:4px}
.hdr--dark:not(.is-solid) .hdr__lang button[aria-pressed="true"]{color:#fff}
.hdr--dark:not(.is-solid) .hdr__lang,.hdr--dark:not(.is-solid) .hdr__lang b{color:#CFE0F2}
.hdr--dark:not(.is-solid) .hdr__lang{border-color:rgba(255,255,255,.4)}
.menu__cc b{font-weight:700;color:#fff}
/* píldora compacta "PE ▾" (móvil y tablet) */
.ctry-m{position:relative}
.ctry-m__b{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(10,26,48,.25);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:#1F2D42}
.ctry-m__ar{opacity:.5}
.ctry-m__pop{position:absolute;right:0;top:calc(100% + 8px);min-width:160px;padding:6px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(10,26,48,.14);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s var(--ease),visibility 0s .25s}
.ctry-m.open .ctry-m__pop{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s var(--ease)}
.ctry-m__pop button{text-align:left;padding:10px 12px;border-radius:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-2)}
.ctry-m__pop button:hover{background:var(--bg-2)}
.ctry-m__pop button[aria-pressed="true"]{color:var(--navy);font-weight:700}
.burger{width:40px;height:40px;border-radius:999px;border:1px solid rgba(10,26,48,.25);display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.burger i{display:block;width:16px;height:2px;background:currentColor;border-radius:2px}
.l-short{display:none}
/* sobre hero oscuro */
.hdr--dark:not(.is-solid){color:#fff}
.hdr--dark:not(.is-solid)::before{background:linear-gradient(180deg,rgba(2,18,40,.55),rgba(2,18,40,0))}
.hdr--dark:not(.is-solid) .lg-c{display:none}.hdr--dark:not(.is-solid) .lg-w{display:block}
.hdr--dark:not(.is-solid) .icon-btn,.hdr--dark:not(.is-solid) .ctry,.hdr--dark:not(.is-solid) .ctry-m__b,.hdr--dark:not(.is-solid) .burger{border-color:rgba(255,255,255,.4)}
.hdr--dark:not(.is-solid) .ctry-m__b{color:#fff}
.hdr--dark:not(.is-solid) .ctry button{color:var(--sky)}
.hdr--dark:not(.is-solid) .ctry button[aria-pressed="true"]{color:#fff}
.hdr--dark:not(.is-solid) .ctry i{color:rgba(255,255,255,.45)}
.hdr--dark:not(.is-solid) .hdr__nav a.on{color:#fff}
.hdr--dark:not(.is-solid) .hdr__cta{background:#fff;color:var(--ink)}
/* tablet (834): logo 103 × 38 · menú 14 px · PE ▾ + hamburguesa */
@media (min-width:768px){
  .hdr__logo img{height:38px}
  .hdr__nav{display:flex;align-items:center;gap:22px;font-weight:600;font-size:14px;margin-left:28px;margin-right:auto}
  .hdr__nav a{position:relative;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  .l-full{display:none}.l-short{display:inline}
  .dd__chev,.dd__t,.dd__panel{display:none}
}
/* La navegación debe caber también en tablets de 768 px. */
@media (min-width:768px) and (max-width:900px){
  .hdr__in{gap:12px}
  .hdr__nav{gap:12px;margin-left:0;font-size:13px}
}
/* desktop (1440): logo 130 × 48 · menú 15 px · buscador 44 · PE · CO · EC · cotización 171 × 44 */
@media (min-width:1290px){
  .burger,.ctry-m{display:none}
  .hdr .hdr__cta{display:inline-flex;height:44px;padding:0 20px;font-size:14px}
  .hdr .hdr__search{display:inline-flex}
  .hdr .ctry{display:inline-flex}
  .hdr__lang{display:inline;height:auto;padding:0;border:0;font-size:12px}
  .hdr__right{gap:18px}
  .hdr__logo img{height:48px}
  .hdr__nav{gap:32px;font-weight:500;font-size:15px;margin:0}
  .l-full{display:inline}.l-short{display:none}
  .hdr__nav>a,.dd__a{position:relative;padding:8px 0}
  .hdr__nav>a::after,.dd__a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
  .hdr__nav>a:hover::after,.dd__a:hover::after{transform:scaleX(1);transform-origin:left}
  .hdr__nav a.on{color:var(--navy)}
  .dd__chev{display:inline-flex}
}
/* desplegable de Equipos (mismas píldoras que el submenú de Figma) */
.dd{position:relative;display:inline-flex;align-items:center}
.dd__chev svg{width:12px;height:12px;transition:transform .3s var(--ease)}
.dd.open .dd__chev svg{transform:rotate(180deg)}
.dd__t{position:absolute;inset:0;opacity:0;pointer-events:none}
.dd__t:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--navy);border-radius:6px}
@media (min-width:1290px){
  .dd__panel{display:flex;position:absolute;left:-20px;top:calc(100% + 22px);width:460px;flex-direction:column;gap:14px;padding:20px;border-radius:var(--r);background:var(--navy);color:#fff;box-shadow:0 24px 60px rgba(0,30,60,.25);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
  .dd.open .dd__panel{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
}
.dd__head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14)}
.dd__head .mono{font-size:11px;letter-spacing:.14em;color:var(--sky)}
.dd__head .linkarrow{color:#fff;font-size:14px}
.dd__sub{display:flex;flex-wrap:wrap;gap:8px}
.dd__sub a{font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3);color:#fff;transition:background .2s,color .2s}
.dd__sub a:hover{background:#fff;color:var(--navy)}

/* ---- menú (Figma: móvil 390 y tablet 834) ---- */
.menu{position:fixed;inset:0;z-index:60;background:var(--navy);color:#fff;padding:84px 24px 32px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;clip-path:circle(0% at calc(100% - 40px) 32px);visibility:hidden;transition:clip-path .7s var(--expo),visibility 0s .7s}
.menu.open{clip-path:circle(150% at calc(100% - 40px) 32px);visibility:visible;transition:clip-path .7s var(--expo)}
.menu__logo{position:absolute;left:20px;top:15px;height:34px;width:auto}
.menu__close{position:absolute;right:20px;top:12px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.menu .big{font-family:var(--f-disp);font-weight:600;font-size:34px;letter-spacing:-.03em;line-height:1.1;padding:9.5px 0 10px;border-bottom:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.menu .big__n{font-size:18px;opacity:.6}
.menu.open .big{opacity:1;transform:none}
.menu .sub{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 14px;border-bottom:1px solid rgba(255,255,255,.14)}
.menu .sub a{font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3)}
.menu .sub a:hover{background:#fff;color:var(--navy)}
.menu__foot{display:flex;flex-direction:column;gap:14px;margin-top:auto;padding-top:28px}
.menu__foot .btn{height:50px;width:100%}
.menu__ctry{display:flex;justify-content:space-between;align-items:center}
.menu__ctry>.mono:first-child{font-size:11px;letter-spacing:.14em;color:var(--sky)}
.menu__cc{font-size:12px;color:#fff}
.menu__cc button{color:#fff;opacity:.75}
.menu__cc button[aria-pressed="true"]{font-weight:700;opacity:1}
.menu__tel{font-size:11px;color:var(--sky)}
@media (min-width:768px){.menu{padding:110px 48px 44px}.menu .big{font-size:44px}.menu__logo{left:48px;top:19px;height:38px}.menu__close{right:48px;top:18px}}
@media (min-width:1290px){.menu{display:none}}

/* ---- buscador ---- */
.srch{position:fixed;inset:0;z-index:70;background:rgba(6,26,51,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:calc(var(--hdr-h) + 8px) var(--gx) 24px;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.srch.open{opacity:1;visibility:visible;transition:opacity .3s}
.srch__box{width:min(760px,100%);background:#fff;border-radius:var(--r);box-shadow:0 30px 80px rgba(6,26,51,.3);overflow:hidden;transform:translateY(-12px) scale(.98);transition:transform .45s var(--expo)}
.srch.open .srch__box{transform:none}
.srch__f{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 20px;border-bottom:1px solid var(--line)}
.srch__f svg{width:20px;height:20px;color:var(--ink-4);flex:0 0 auto}
.srch__f input{border:0;height:56px;padding:0;font-size:18px;box-shadow:none}
.srch__f input:focus{box-shadow:none}
.srch__res{max-height:min(60vh,520px);overflow:auto;padding:8px}
.srch__res a{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:10px 12px;border-radius:14px}
.srch__res a:hover,.srch__res a.sel{background:var(--bg-2)}
.srch__res .ph{width:56px;height:42px;border-radius:8px}
.srch__res b{display:block;font-weight:600;font-size:15px}
.srch__res small{display:block;font-size:13px;color:var(--ink-3)}
.srch__res .ln{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;color:var(--ink-4);text-transform:uppercase}
.srch__empty{padding:28px 20px;text-align:center;color:var(--ink-3);font-size:15px}
.srch__hint{padding:12px 20px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11px;color:var(--ink-4);display:flex;gap:16px;flex-wrap:wrap}

/* ---- migas ---- */
.crumb{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;display:flex;gap:10px;flex-wrap:wrap;color:var(--ink-3)}
.crumb a:hover{color:var(--navy)}
.crumb .sep{color:var(--ink-4)}
.crumb [aria-current]{color:var(--ink)}
@media (min-width:1024px){.crumb{font-size:12px}}

/* ---- subnav de página (fija) ---- */
.subnav{position:sticky;top:var(--hdr-h);z-index:30;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:top .45s var(--ease)}
.hdr.is-hidden~main .subnav,.subnav.is-top{top:0}
.subnav__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:56px}
.subnav__links{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;height:100%;mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}
.subnav__links::-webkit-scrollbar{display:none}
.subnav__links a{position:relative;display:flex;align-items:center;font-weight:600;font-size:14px;color:var(--ink-2);white-space:nowrap;transition:color .2s}
.subnav__links a::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--navy);transform:scaleX(0);transition:transform .35s var(--ease)}
.subnav__links a:hover{color:var(--navy)}
.subnav__links a.on{color:var(--navy)}.subnav__links a.on::after{transform:scaleX(1)}
.subnav__tag{font-family:var(--f-mono);font-size:12px;color:var(--ink-4);white-space:nowrap;display:none}
@media (min-width:768px){.subnav__tag{display:block}.subnav__links{mask-image:none;-webkit-mask-image:none;gap:28px}}

/* ---- CTA navy ---- */
.cta{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--navy);padding:40px 24px;display:flex;flex-direction:column;gap:24px;color:#fff;isolation:isolate}
.cta::before{content:'';position:absolute;z-index:-1;width:620px;height:620px;right:-220px;top:-260px;border-radius:50%;background:radial-gradient(closest-side,rgba(191,220,255,.22),rgba(191,220,255,0));transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .8s var(--ease)}
.cta .h2,.cta .disp{color:#fff}
.cta p{font-size:16px;line-height:1.55;color:var(--sky-2);margin-top:14px;max-width:680px}
.cta .eyebrow{color:var(--sky);margin-bottom:14px;display:block}
@media (min-width:768px){.cta{padding:56px 48px}}
@media (min-width:1024px){.cta{padding:72px 80px;flex-direction:row;align-items:center;justify-content:space-between;gap:40px}.cta>div:first-child{max-width:760px}.cta .btns{flex-shrink:0;flex-wrap:nowrap}.cta p{font-size:17px}}

/* ---- footer (Figma: desktop 4 columnas · tablet/móvil con acordeones) ---- */
.ft{background:var(--navy);color:#fff;padding:48px 0 28px}
.ft a{color:#fff;transition:opacity .2s}
.ft a:hover{opacity:.75}
.ft__grid{display:flex;flex-direction:column;gap:22px}
.ft__brand{display:flex;flex-direction:column;gap:22px}
.ft__brand img{height:40px;width:auto;align-self:flex-start}
.ft__brand p{font-size:14px;line-height:1.6;color:var(--sky-2);max-width:560px}
.ft__brand .ft__addr{display:none}
.ft__cols{display:flex;flex-direction:column}
.ft__col{border-top:1px solid rgba(255,255,255,.18)}
.ft__col summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:11px;letter-spacing:.14em;color:var(--sky)}
.ft__col summary::-webkit-details-marker{display:none}
.ft__col summary::after{content:'+';font-size:18px;color:#fff}
.ft__col[open] summary::after{content:'−'}
.ft__col div{display:flex;flex-direction:column;gap:10px;padding:0 0 18px;font-size:15px}
.ft__addr--m{font-size:11px;line-height:1.9;color:#BFD3E6;border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.ft__legal{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;color:#BFD3E6}
.ft__legal>span{width:100%}
.ft__legal nav{display:flex;flex-wrap:wrap;gap:14px}
.ft__legal a{color:#BFD3E6}
.ft__all{display:none}
.ft .l-full{display:none}.ft .l-short{display:inline}
@media (min-width:768px){
  .ft{padding:64px 0 36px}
  .ft__cols{display:grid;grid-template-columns:repeat(3,1fr);column-gap:28px}
  .ft__brand p{max-width:560px}
}
@media (min-width:1024px){
  .ft{padding:72px 0 40px}
  .ft__grid{display:grid;grid-template-columns:411fr 869fr;gap:40px}
  .ft__brand{gap:18px}
  .ft__brand img{height:56px}
  .ft__brand p{max-width:320px;color:#BFD3E6;line-height:1.6}
  .ft__brand .ft__addr{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#E3EDF8}
  .ft__addr--m{display:none}
  .ft__cols{grid-template-columns:193fr 193fr 302fr;column-gap:24px;padding-left:min(10vw,132px)}
  .ft__col{border-top:0}
  .ft__col summary{pointer-events:none;cursor:default;padding:0 0 18px;font-size:11px;letter-spacing:.14em;color:#8FB3D6}
  .ft__col summary::after{display:none}
  .ft__col div{display:flex !important;gap:12px;padding:0;font-size:14px}
  .ft__legal{justify-content:space-between;align-items:center;margin-top:40px;padding-top:25px;font-size:13px}
  .ft__legal>span{width:auto}
  .ft__legal nav{gap:24px}
  .ft__all{display:inline}
  .ft .l-full{display:inline}.ft .l-short{display:none}
}

/* ==========================================================================
   Motion (sistema Figma: GSAP 3 + ScrollTrigger + Lenis; aquí, estados iniciales y fallback CSS)
   [data-r] reveal · [data-r="up|left|right|scale|clip|img"] · [data-stagger] reparte el retardo entre hijos
   Sin JS o con movimiento reducido: todo visible.
   ========================================================================== */
.js [data-r]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--d,0s)}
.js [data-r="left"]{transform:translate3d(-32px,0,0)}
.js [data-r="right"]{transform:translate3d(32px,0,0)}
.js [data-r="scale"]{transform:scale(.94)}
.js [data-r="fade"]{transform:none}
.js [data-r="clip"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--expo);transition-delay:var(--d,0s)}
.js [data-r="img"]{opacity:1;transform:none;clip-path:inset(14% 8% 14% 8% round var(--r));transition:clip-path 1.2s var(--expo);transition-delay:var(--d,0s)}
.js [data-r="img"] img{transform:scale(1.18);transition:transform 1.4s var(--expo);transition-delay:var(--d,0s)}
.js [data-r].in{opacity:1;transform:none}
.js [data-r="clip"].in{clip-path:inset(0 0 0 0)}
.js [data-r="img"].in{clip-path:inset(0 0 0 0 round 0)}
.js [data-r="img"].in img{transform:none}
.js .gsap [data-r]{transition:none}
/* stagger: el contenedor queda fijo y sus hijos entran uno tras otro */
.js [data-r][data-stagger]{opacity:1;transform:none;clip-path:none}
.js [data-stagger]>*{opacity:0;transform:translate3d(0,24px,0);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(var(--d,0s) + var(--i,0) * .08s)}
.js [data-stagger].in>*{opacity:1;transform:none}
.js [data-stagger].in>*:hover{transition-delay:0s}
@media (prefers-reduced-motion:no-preference){.js .lines:not(.is-split){opacity:0}}
/* titulares por líneas / palabras */
.split-l{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.split-l>span{display:block;will-change:transform}
.js .lines:not(.in) .split-l>span{transform:translate3d(0,108%,0)}
.js .lines .split-l>span{transition:transform 1s var(--expo);transition-delay:calc(var(--d,0s) + var(--i,0) * .08s)}
.js .gsap .lines .split-l>span{transition:none}
/* barra de progreso de lectura */
.readbar{position:fixed;left:0;top:0;height:2px;width:100%;z-index:80;background:var(--navy);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
@media (prefers-reduced-motion:reduce){
  .js [data-r],.js [data-r="clip"],.js [data-r="img"],.js [data-r="img"] img{opacity:1 !important;transform:none !important;clip-path:none !important;transition:none !important}
  .js .lines .split-l>span{transform:none !important;transition:none !important}
  .js [data-stagger]>*{opacity:1 !important;transform:none !important;transition:none !important}
  .readbar{display:none}
}

/* modo ?static (revisión) = movimiento reducido */
.rm.js [data-r],.rm.js [data-r="clip"],.rm.js [data-r="img"],.rm.js [data-r="img"] img:not(.pr-shots__img){opacity:1 !important;transform:none !important;clip-path:none !important;transition:none !important}
.rm.js .lines .split-l>span{transform:none !important;transition:none !important}
.rm.js [data-stagger]>*{opacity:1 !important;transform:none !important;transition:none !important}
  .readbar{display:none}
.rm .lines{opacity:1 !important}

/* imagen de fondo en CTA (Figma: Home y Repuestos) */
.cta__img{position:absolute;right:0;top:0;bottom:0;width:60%;z-index:0;opacity:.35;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000)}
.cta__img img{width:100%;height:100%;object-fit:cover}
.cta>div,.cta>.btns{position:relative;z-index:1}
@media (min-width:1024px){.cta__img{width:50%}}

/* filtro segmentado: cabe en móviles de 360-375 px */
@media (max-width:479px){.seg--lg{max-width:100%;overflow-x:auto;scrollbar-width:none}.seg--lg::-webkit-scrollbar{display:none}.seg.seg--lg>button{padding-left:12px;padding-right:12px;white-space:nowrap;font-size:13px}}

/* Figma móvil: filas numeradas y textos más compactos */
@media (max-width:767px){.rows li{padding:18px 0;gap:14px;grid-template-columns:30px 1fr}.rows b{font-size:17px}.rows p{font-size:14px;margin-top:4px}.lead{font-size:16px}}

.m-only{display:none}
@media (min-width:768px){.btn .d-only{display:inline-flex;align-items:center;gap:10px}}
@media (max-width:1279px){br.d-br{display:none}}
@media (max-width:767px){.m-only{display:inline}.d-only{display:none}}

/* Escala fluida para monitores grandes y TV sin estirar el texto a todo el ancho. */
@media (min-width:1600px){
  :root{--maxw:clamp(1440px,90vw,2560px);--gx:clamp(80px,4vw,144px)}
}
/* CTA de dos columnas: los botones pueden pasar a otra línea. */
.cta .btns,.cta--big .btns{flex-wrap:wrap;min-width:0}
.cta .btn,.cta--big .btn{max-width:100%;white-space:normal;height:auto;min-height:52px;padding-block:14px;text-align:center}
