/* ==========================================================================
   pages.css — Nosotros · Prinect · Servicio técnico · Repuestos · Contacto · Legal
   ========================================================================== */

/* ---- hero con foto a sangre (Nosotros, Servicio) ---- */
.ph-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;color:#fff;background:var(--dark);overflow:hidden;isolation:isolate;padding:calc(var(--hdr-h) + 60px) 0 48px}
.ph-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ph-hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,30,60,.35) 0%,rgba(0,30,60,.1) 35%,rgba(0,30,60,.9) 100%)}
.ph-hero__in{display:flex;flex-direction:column;gap:28px}
.ph-hero__tx{display:flex;flex-direction:column;gap:18px;max-width:845px}
.ph-hero__h1{font-size:clamp(38px,10vw,48px);line-height:1.02;letter-spacing:-.03em;color:#fff}
.ph-hero .btns{align-items:center}
.ph-hero__meta{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:22px;border-left:1px solid rgba(255,255,255,.4)}
.ph-hero__meta dt{font-size:11px;letter-spacing:.12em;color:var(--sky)}
.ph-hero__meta dd{margin:2px 0 0;font-size:16px}
@media (min-width:768px){.ph-hero{min-height:700px}.ph-hero__h1{font-size:64px}}
@media (min-width:1024px){.ph-hero{min-height:780px;padding-bottom:72px}.ph-hero__in{flex-direction:row;align-items:flex-end;justify-content:space-between}.ph-hero__h1{font-size:72px}.ph-hero--meta{min-height:720px}}
@media (min-width:1280px){.ph-hero__h1{font-size:80px}}

/* ---- nosotros ---- */
.stmt{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.stmt__l{display:flex;flex-direction:column;gap:14px}
.stmt__co{font-size:12px;letter-spacing:.1em;color:var(--ink-4)}
.stmt__r{display:flex;flex-direction:column;gap:26px}
.stmt__big{font-family:var(--f-disp);font-weight:400;font-size:clamp(24px,6vw,28px);line-height:1.22;letter-spacing:-.02em;color:var(--ink)}
.stmt__stats{display:grid;grid-template-columns:1fr;gap:20px;margin:6px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.stmt__stats dt{font-size:40px;color:var(--navy);letter-spacing:-.03em;line-height:1}
.stmt__stats dd{margin:8px 0 0;font-size:14px;color:var(--ink-3)}
@media (min-width:768px){.stmt__stats{grid-template-columns:repeat(3,1fr);gap:24px}.stmt__big{font-size:34px}}
@media (min-width:1024px){.stmt{grid-template-columns:302fr 845fr;gap:133px}.stmt__big{font-size:40px;line-height:1.2}.stmt__stats dt{font-size:44px}}
/* línea de tiempo (se dibuja con el scroll) */
.tline__track{margin-top:48px;overflow-x:auto;scrollbar-width:none}
.tline__track::-webkit-scrollbar{display:none}
.tline__track .container{position:relative;min-width:980px}
.tline__bar{position:absolute;left:var(--gx);right:var(--gx);top:11px;height:2px;background:#C9D1DB;display:block}
.tline__bar b{position:absolute;inset:0;background:var(--navy);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.tline__list{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.tline__list li{display:flex;flex-direction:column;gap:12px}
.tline__dot{width:23px;height:23px;border-radius:999px;border:2px solid var(--gray);background:var(--bg-2);display:grid;place-items:center;transition:border-color .4s,transform .5s var(--expo)}
.tline__dot::after{content:'';width:9px;height:9px;border-radius:999px;background:var(--navy);transform:scale(0);transition:transform .5s var(--expo)}
.tline__list li.on .tline__dot{border-color:var(--navy);transform:scale(1.1)}
.tline__list li.on .tline__dot::after{transform:scale(1)}
.tline__list .mono{font-size:13px;color:var(--navy);margin-top:6px}
.tline__list b{font-family:var(--f-disp);font-weight:600;font-size:20px;letter-spacing:-.02em;line-height:1.2}
.tline__list p{font-size:14px;line-height:1.55;color:var(--ink-3)}
.rm .tline__list li .tline__dot{border-color:var(--navy)}.rm .tline__list li .tline__dot::after{transform:scale(1)}.rm .tline__bar b{transform:none}
@media (min-width:1024px){.tline__track .container{min-width:0}.tline__list b{font-size:22px}}
/* alianza */
.ali__ph{position:relative;margin:0;padding-bottom:40px}
.ali__ph .photo{display:block;height:440px;border-radius:24px}
.ali__card{position:absolute;left:-12px;bottom:0;display:flex;flex-direction:column;gap:6px;padding:22px 24px;max-width:343px;box-shadow:0 24px 64px rgba(10,26,48,.16)}
.ali__card .mono{font-size:11px;letter-spacing:.14em;color:var(--navy)}
.ali__card b{font-weight:600;font-size:16px}.ali__card small{font-size:13px;color:var(--ink-3)}
@media (min-width:1024px){.ali{grid-template-columns:628fr 519fr;gap:133px}.ali__ph .photo{height:620px}.ali__card{left:-80px;bottom:48px}}
/* equipo */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.team__c{display:flex;flex-direction:column}
.team__ph{display:block;aspect-ratio:1;background:var(--bg-3)}
.team__ph img{filter:grayscale(1);transition:filter .6s var(--ease),transform .6s var(--ease)}
.team__c:hover .team__ph img{filter:none}
.team__tx{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px}
.team__tx b{font-weight:600;font-size:16px}.team__tx small{font-size:13px;color:var(--ink-3)}
@media (min-width:768px){.team{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.team__tx{padding:20px 22px}.team__tx b{font-size:17px}.team__tx small{font-size:14px}}
/* cobertura */
.cov{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:28px 22px}
.cov .chips{gap:8px}
.chip--on{border-color:var(--navy);color:var(--navy)}
.cov__box{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:linear-gradient(180deg,#F3F5F8,#fff)}
.cov__map{width:100%;height:auto;max-height:440px;overflow:visible}
.cov__land{fill:#E6EEF6;stroke:#C9D6E5;stroke-width:.4}
.cov__arc{fill:none;stroke:var(--navy);stroke-width:.45;stroke-dasharray:120;stroke-dashoffset:120;opacity:.55}
.cov__box.in .cov__arc{animation:arc 1.6s var(--expo) forwards;animation-delay:calc(.3s + var(--i) * .12s)}
@keyframes arc{to{stroke-dashoffset:0}}
.cov__c circle{fill:#3B4A60}
.cov__c text{font-family:var(--f-body);font-weight:700;font-size:3.2px;fill:#3B4A60}
.cov__c--of circle{fill:var(--navy)}.cov__c--of text{fill:var(--navy)}
.cov__c--hq circle{fill:var(--navy);stroke:#fff;stroke-width:.6}
.cov__c--hq text{fill:var(--navy);font-size:3.6px}
.cov__pulse{transform-origin:43px 66px;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.4);opacity:0}}
.rm .cov__arc{stroke-dashoffset:0}
@media (min-width:1024px){.cov{grid-template-columns:555fr 459fr;gap:120px;align-items:center;padding:64px 72px}}

/* ---- prinect ---- */
.pr-hero,.ct-hero,.lg-hero{padding:calc(var(--hdr-h) + 20px) 0 0}
.pr-hero .container,.ct-hero .container{display:flex;flex-direction:column;gap:24px}
.pr-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:end}
.pr-hero__side{display:flex;flex-direction:column;gap:20px}
@media (min-width:1024px){.pr-hero,.ct-hero,.lg-hero{padding-top:calc(var(--hdr-h) + 40px)}.pr-hero .container,.ct-hero .container{gap:40px}.pr-hero__grid{grid-template-columns:845fr 411fr}.pr-hero .h1{font-size:72px}}
@media (min-width:1280px){.pr-hero .h1{font-size:88px}}
.pr-shots{position:relative;height:clamp(300px,52vw,722px);border-radius:var(--r-lg);border:1px solid var(--line)}
.pr-shots__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .9s var(--ease),transform 1.6s var(--expo)}
.pr-shots__img.on{opacity:1;transform:none}
.pr-shots::after{content:'';position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(180deg,rgba(0,30,60,0),rgba(0,30,60,.55));pointer-events:none}
.pr-shots__chips{position:absolute;left:20px;bottom:20px;z-index:2}
.pr-shots__chips .chip{background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.pr-shots__chips .chip.on{background:var(--navy);color:#fff}
.pr-shots__bar{position:absolute;left:20px;right:20px;top:20px;z-index:2;height:3px;border-radius:999px;background:rgba(255,255,255,.35);overflow:hidden;display:block}
.pr-shots__bar b{display:block;height:100%;width:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
.pr-shots__bar b.run{animation:prog 5.5s linear forwards}
@keyframes prog{to{transform:scaleX(1)}}
.pr-hero .h1{max-width:560px}
@media (min-width:1024px){.pr-shots__chips{left:40px;bottom:36px}.pr-shots__bar{left:40px;right:40px;top:36px}}
/* flujo */
.flow{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.flow__c{display:flex;flex-direction:column;gap:12px;padding:26px 24px;min-height:220px;opacity:.35;transform:translateY(16px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),border-color .5s;transition-delay:calc(var(--i) * .22s)}
.flow.in .flow__c{opacity:1;transform:none}
.flow__c .mono{font-size:12px;letter-spacing:.1em;color:var(--navy)}
.flow__c b{font-weight:600;font-size:19px;line-height:1.3}
.flow__c p{font-size:14px;line-height:1.55;color:var(--ink-3)}
.flow__ar{display:grid;place-items:center;color:var(--navy);transform:rotate(90deg);opacity:0;transition:opacity .5s;transition-delay:calc(var(--i) * .22s + .15s)}
.flow.in .flow__ar{opacity:1}
.flow__ar svg{width:24px;height:24px}
.rm .flow__c,.rm .flow__ar{opacity:1;transform:none}.rm .flow__ar{transform:rotate(90deg)}
@media (min-width:1024px){.flow{grid-template-columns:1fr 32px 1fr 32px 1fr 32px 1fr;gap:12px;align-items:center}.flow__ar{transform:none}.rm .flow__ar{transform:none}.flow__c{min-height:250px}}
/* press center + tablet */
.pc{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.pc__main,.pc__tab{position:relative;margin:0;border-radius:var(--r);overflow:hidden}
.pc__main{height:360px}
.pc__main figcaption,.pc__tab figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,rgba(0,30,60,0),rgba(0,30,60,.85));color:#fff}
.pc__main figcaption .disp{font-size:26px;color:#fff;letter-spacing:-.03em}
.pc__tab{height:240px}
.pc__tab b{font-weight:600;font-size:17px}
.pc__side{display:flex;flex-direction:column;gap:20px}
.pc__card{padding:26px 24px;display:flex;flex-direction:column;gap:10px}
.pc__card .disp{font-size:22px;letter-spacing:-.02em}
.pc__card p{font-size:14px;line-height:1.55;color:var(--ink-3)}
@media (min-width:1024px){.pc{grid-template-columns:737fr 519fr;gap:24px}.pc__main{height:520px}.pc__main figcaption{padding:32px 36px}.pc__main figcaption .disp{font-size:34px}.pc__tab{height:300px}}
/* módulos */
.mods__list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--line);transition:padding .35s var(--ease)}
.mods__list li:last-child{border-bottom:1px solid var(--line)}
.mods__list li:hover{padding-left:10px}
.mods__list b{display:block;font-weight:600;font-size:18px}
.mods__list p{font-size:14px;color:var(--ink-3);margin-top:4px}
.mods__list .chip{flex:0 0 auto}
@media (min-width:1024px){.mods{grid-template-columns:411fr 737fr;gap:132px}}
/* implementación */
.impl{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:32px 24px;border-radius:var(--r);background:var(--bg-2);border:1px solid var(--line)}
.impl .stack{gap:16px}
.impl__steps{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.impl__steps li{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:2px solid var(--navy)}
.impl__steps .mono{font-size:12px;color:var(--navy)}
.impl__steps b{font-weight:600;font-size:17px}
.impl__steps p{font-size:14px;line-height:1.5;color:var(--ink-3)}
@media (min-width:768px){.impl__steps{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.impl{grid-template-columns:362fr 652fr;gap:120px;padding:64px 72px}}

/* ---- servicio técnico ---- */
.pils{display:grid;grid-template-columns:minmax(0,1fr);gap:0 24px}
.pils li{display:flex;flex-direction:column;gap:8px;padding:22px 0;border-top:1px solid var(--line)}
.pils .mono{font-size:12px;color:var(--navy)}
.pils b{font-weight:600;font-size:19px}
.pils p{font-size:14px;line-height:1.55;color:var(--ink-3)}
@media (min-width:640px){.pils{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.pils{grid-template-columns:repeat(4,1fr)}}
.srvs{align-items:start}
@media (min-width:1024px){.srvs{grid-template-columns:411fr 737fr;gap:132px}.srvs__head{position:sticky;top:calc(var(--hdr-h) + 40px);display:flex;flex-direction:column;gap:18px}}
.srvs__head{display:flex;flex-direction:column;gap:16px}
.srv{display:block;border-top:1px solid var(--line)}
.srv:last-child{border-bottom:1px solid var(--line)}
.srv summary,.srv--link{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px 1fr 40px;align-items:center;gap:12px;padding:26px 0}
.srv summary::-webkit-details-marker{display:none}
.srv .mono{font-size:13px;color:var(--navy)}
.srv__t{font-family:var(--f-disp);font-weight:600;font-size:21px;letter-spacing:-.02em;transition:color .25s}
.srv:hover .srv__t{color:var(--navy)}
.srv .pm{width:36px;height:36px;border-radius:999px;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--navy);font-size:18px;justify-self:end;transition:transform .45s var(--expo),background .3s,color .3s,border-color .3s}
.srv[open] .pm{transform:rotate(45deg);background:var(--navy);color:#fff;border-color:var(--navy)}
.srv--link:hover .pm{background:var(--navy);color:#fff;border-color:var(--navy)}
.srv__b{padding:0 52px 26px 64px}
.srv__b p{font-size:15px;line-height:1.6;color:var(--ink-3);max-width:560px}
.srv[open] .srv__b{animation:srvIn .6s var(--expo)}
@keyframes srvIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (min-width:1024px){.srv__t{font-size:26px}}
.rep{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}
.rep__l{display:flex;flex-direction:column;gap:28px}
.rep__ph{height:300px;border-radius:var(--r);margin:0}
@media (min-width:1024px){.rep{grid-template-columns:628fr 519fr;gap:133px}.rep__form{position:sticky;top:calc(var(--hdr-h) + 24px)}.rep__ph{height:360px}}
.cc__card{display:flex;flex-direction:column;gap:18px;padding:32px 28px;justify-content:center;background:var(--bg-2);border-color:transparent;box-shadow:none}
.cc__card .disp{font-size:28px;letter-spacing:-.03em;line-height:1.1}
.checks{display:flex;flex-direction:column;gap:12px}
.checks li{display:flex;gap:12px;font-size:15px;line-height:1.5}
.checks li span{color:var(--navy);font-weight:700}
.cc__card .btn{align-self:flex-start}
@media (min-width:1024px){.cc{grid-template-columns:585fr 671fr}.cc__card{padding:45px}.cc__card .disp{font-size:34px}.cc .app{min-height:420px}}

/* ---- formularios ---- */
.form{display:flex;flex-direction:column;gap:18px;padding:26px 22px}
.form__head{display:flex;flex-direction:column;gap:6px}
.form__head .disp{font-size:24px;letter-spacing:-.02em}
.form__2{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.form .btn{align-self:stretch}
.form__note{font-size:12px;color:var(--ink-4)}
.form__foot{display:flex;flex-direction:column;gap:12px}
.form-ok{padding:14px 16px;border-radius:12px;background:#E6F4EA;color:#14532D;font-weight:600;font-size:14px}
.form__chips{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.form__chips legend{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px;padding:0}
.chip--check{cursor:pointer;position:relative}
.chip--check input{position:absolute;opacity:0;width:1px;height:1px}
.chip--check:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}
.chip--check:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:2px}
@media (min-width:600px){.form__2{grid-template-columns:1fr 1fr}.form__foot{flex-direction:row;align-items:center}.form .btn{align-self:flex-start}}
@media (min-width:1024px){.form{padding:37px}}

/* ---- repuestos ---- */
.rp-hero{position:relative;background:var(--bg-2);overflow:hidden;isolation:isolate;padding:calc(var(--hdr-h) + 20px) 0 56px}
.rp-hero__img{position:absolute;inset:0;z-index:-1;opacity:.3;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 70%);mask-image:linear-gradient(90deg,transparent 0%,#000 70%)}
.rp-hero__img img{width:100%;height:100%;object-fit:cover}
.rp-hero__in{display:flex;flex-direction:column;gap:20px}
.rp-hero .h1{max-width:880px}
@media (min-width:1024px){.rp-hero{min-height:870px;display:flex;align-items:center;padding:calc(var(--hdr-h) + 40px) 0 80px}.rp-hero__img{left:auto;width:58%;opacity:1}.rp-hero .h1{font-size:72px}}
@media (min-width:1280px){.rp-hero .h1{font-size:84px}}
.rpz__ph{height:340px;border-radius:var(--r);margin:0}
.rpz .stack{gap:20px}
.rpz__form{padding:24px;gap:14px}
.rpz__form>b{font-weight:600;font-size:17px}
@media (min-width:1024px){.rpz{grid-template-columns:628fr 519fr;gap:133px}.rpz__ph{height:600px;order:0}}
.sph__side{max-width:411px;gap:18px}
.sph__ph{height:280px;border-radius:var(--r);margin:0}
.sph__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.sph__c{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 22px 26px;min-height:171px}
.sph__c .mono{font-size:12px;color:var(--navy)}
.sph__c b{font-weight:600;font-size:17px}
.sph__c p{font-size:14px;line-height:1.5;color:var(--ink-3);padding-right:20px}
.sph__c .ar{position:absolute;right:20px;bottom:20px;color:var(--navy);transition:transform .35s var(--ease)}
.sph__c:hover .ar{transform:translateX(4px)}
@media (min-width:640px){.sph__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.sph__grid{grid-template-columns:repeat(4,1fr);gap:20px}.sph__ph{height:422px}}

/* ---- contacto ---- */
.ct-ph{position:relative;height:300px;border-radius:var(--r);margin:0}
.ct-ph figcaption{position:absolute;inset:auto 0 0;padding:24px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,rgba(0,30,60,0),rgba(0,30,60,.85));color:#fff}
.ct-ph .mono{font-size:11px;letter-spacing:.14em;color:var(--sky)}
.ct-ph .disp{font-size:22px;color:#fff;letter-spacing:-.02em}
.ct-ch{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.ct-ch__c{display:flex;flex-direction:column;gap:8px;padding:24px 28px}
.ct-ch__c b{font-weight:600;font-size:20px}
.ct-ch__c .mono{font-size:13px;color:var(--navy)}.ct-ch__c .mono.g{color:var(--ink-3)}
@media (min-width:768px){.ct-ch{grid-template-columns:repeat(3,1fr);gap:20px}}
@media (min-width:1024px){.ct-ph{height:420px}.ct-ph figcaption{padding:36px 40px}.ct-ph .disp{font-size:30px}}
.ct{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.ct__side{display:flex;flex-direction:column;gap:20px}
@media (min-width:1024px){.ct{grid-template-columns:737fr 411fr;gap:132px}}
.sede{display:flex;flex-direction:column;gap:10px;padding:28px}
.sede .disp{font-size:26px;letter-spacing:-.02em}
.sede .mono{font-size:12px;color:var(--ink-4);line-height:1.6}
.sede dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 6px}
.sede dt{font-size:11px;color:var(--ink-4)}.sede dd{margin:3px 0 0;font-size:14px;font-weight:600}
.citymap{position:relative;height:300px;overflow:hidden}
.citymap svg{width:100%;height:100%;display:block}
.citymap__blocks rect{fill:#DDE3EA}
.citymap__park{fill:#D6E9DA}
.citymap__road{stroke:#fff;stroke-width:14;fill:none}
.citymap text{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;fill:#6B7A8C}
.citymap__route{fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round;stroke-dasharray:6 8;stroke-dashoffset:400;opacity:.8}
.citymap.in .citymap__route{animation:route 2.4s var(--expo) forwards}
@keyframes route{to{stroke-dashoffset:0}}
.citymap__pin circle:first-child{fill:rgba(0,62,110,.15);transform-origin:216px 182px;animation:pulse 2.4s ease-out infinite}
.citymap__pin circle:last-child{fill:var(--navy);stroke:#fff;stroke-width:3}
.citymap__lbl{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:12px;background:var(--navy);color:#fff}
.citymap__lbl .mono{font-size:10px;letter-spacing:.12em;color:var(--sky)}
.citymap__lbl b{font-size:13px}
.rm .citymap__route{stroke-dashoffset:0}
.trab{display:flex;flex-direction:column;gap:10px;padding:26px 28px}
.trab p{font-size:15px;line-height:1.5;color:var(--ink-2)}

/* ---- legal ---- */
.lg-hero .container{display:flex;flex-direction:column;gap:20px;padding-bottom:var(--sec)}
.lg-hero .h1{max-width:900px}
@media (min-width:1024px){.lg-hero .h1{font-size:72px}}
@media (min-width:1280px){.lg-hero .h1{font-size:88px}}
.legal{border-top:1px solid var(--line)}
.legal__in{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.legal__head{display:flex;flex-direction:column;gap:14px}
.legal__head .mono{font-size:12px;color:var(--ink-4)}
.legal__body{display:flex;flex-direction:column;gap:20px}
.legal__body p{font-size:16px;line-height:1.7;color:var(--ink-2)}
.legal__body p b{color:var(--ink)}
.legal__body .form{margin-top:8px}
@media (min-width:1024px){.legal__in{grid-template-columns:411fr 737fr;gap:132px}.legal__head{position:sticky;top:calc(var(--hdr-h) + 40px);align-self:start}.legal__body p{font-size:17px}}
.lg-end{display:flex;flex-direction:column;gap:20px;padding:32px 28px;border-radius:var(--r);background:var(--bg-2);border:1px solid var(--line)}
.lg-end p{margin-top:8px;color:var(--ink-3)}
@media (min-width:1024px){.lg-end{flex-direction:row;align-items:center;justify-content:space-between;padding:56px 64px}}
.cov__grid{opacity:.8;-webkit-mask-image:radial-gradient(closest-side,#000 60%,transparent);mask-image:radial-gradient(closest-side,#000 60%,transparent)}

/* Figma: título de la línea de tiempo en una sola línea (56 px) */
.tline .sec-head{max-width:none}
@media (min-width:1280px){.tline .sec-head .h2{font-size:56px}}

/* Nosotros en móvil según Figma */
@media (max-width:767px){
  .stmt__big{font-size:24px !important;line-height:1.2}
  .stmt .lead{font-size:15px}
  .stmt__stats{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .stmt__stats>div{border:0 !important;padding:0 !important}
  .stmt__stats dt{font-size:30px !important}
  .stmt__stats dd{font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;line-height:1.4;color:var(--ink-4);text-transform:lowercase}
  .tline__track{overflow:visible !important}
  .tline__bar,.tline__dot{display:none !important}
  .tline__list{display:flex !important;flex-direction:column;gap:0;width:auto !important;transform:none !important;padding:0 !important}
  .tline__list li{display:grid !important;grid-template-columns:52px 1fr;gap:4px 0;width:auto !important;padding:16px 0 !important;border-top:1px solid var(--line);opacity:1 !important;transform:none !important}
  .tline__list li:last-child{border-bottom:1px solid var(--line)}
  .tline__list .mono{grid-row:1 / 3;font-size:11px;color:var(--navy);padding-top:2px}
  .tline__list b{font-size:15px}
  .tline__list p{font-size:12px;color:var(--ink-3)}
  .cov__box{background:#0b3a66;border-radius:16px}
  .cov__grid{opacity:.2}
  .cov__c text{fill:#d6e6f8}
  .cov__arc{stroke:#bfdcff}
}
@media (max-width:767px){.tline__track .container{min-width:0 !important}.stmt__big{font-weight:600}.tline__list .mono{margin-top:0}}
@media (max-width:767px){.flow{gap:0;padding-left:20px;border-left:2px solid var(--line);margin-left:4px}.flow__ar{display:none}.flow__c{position:relative;border:0 !important;border-radius:0;background:none;box-shadow:none;padding:0 0 22px;min-height:0;gap:6px}.flow__c::before{content:'';position:absolute;left:-26px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--navy)}.flow__c .mono{font-size:10px}.flow__c b{font-size:15px}.flow__c p{font-size:12px}}
@media (max-width:767px){.pc__main{height:210px}.pc__tab{height:150px}.pc__main figcaption .disp{font-size:20px}.pc__card{padding:18px}.pc__card .disp{font-size:16px}.pc__card p{font-size:13px}.mods__list{display:flex;flex-direction:column;gap:12px}.mods__list li,.mods__list li:last-child{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.mods__list li:hover{padding-left:18px}.mods__list .chip{order:-1;height:22px;font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:0 8px}.mods__list b{font-size:15px}.mods__list p{font-size:12px}.impl{padding:0;border:0;background:none;gap:20px}.impl__steps{gap:0}.impl__steps li{display:grid;grid-template-columns:30px 1fr;gap:4px 0;padding:14px 0;border-top:1px solid var(--line)}.impl__steps .mono{grid-row:1 / 3}.impl__steps b{font-size:15px}.impl__steps p{font-size:12px}}
@media (max-width:767px){.pils{gap:12px}.pils li{padding:16px 18px;border:1px solid var(--line);border-radius:14px;gap:6px}.pils b{font-size:15px}.pils p{font-size:12px}.srv summary,.srv--link{grid-template-columns:30px 1fr 20px;gap:8px;padding:14px 0}.srv .mono{font-size:11px}.srv__t{font-family:var(--f-body);font-size:14px;letter-spacing:0}.srv .pm{width:auto;height:auto;border:0;font-size:15px;background:none !important;color:var(--ink) !important}.srv[open] .pm{transform:rotate(45deg)}.srv__b{padding:0 0 16px 38px}.srv__b p{font-size:12px}.rep__ph{display:none}}

/* Repuestos y Contacto en móvil según Figma */
@media (max-width:767px){
  .rp-hero{background:#0a1a30;color:#fff;padding:calc(var(--hdr-h) + 150px) 0 32px}
  .rp-hero__img{opacity:1;-webkit-mask-image:none;mask-image:none}
  .rp-hero__img img{filter:brightness(.5)}
  .rp-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,26,48,0) 0%,rgba(10,26,48,.85) 100%)}
  .rp-hero .eyebrow{color:rgba(255,255,255,.7)}
  .rp-hero .h1{color:#fff;font-size:36px}
  .rp-hero .lead{color:rgba(255,255,255,.85);font-size:14px}
  .rp-hero .btn-primary{background:#fff;color:var(--ink);border-color:#fff}
  .rp-hero .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
  .rp-hero .btns{flex-direction:column}.rp-hero .btns .btn{width:100%}
  .sph__grid{gap:10px}
  .sph__c{padding:14px 16px;gap:4px;min-height:0}
  .sph__c b{font-size:14px}.sph__c p{font-size:11px}.sph__c .ar{display:none}
  .ct-ph{height:200px}
  .ct-ph figcaption{padding:12px;background:none;justify-content:flex-end}
  .ct-ph figcaption .disp{display:none}
  .ct-ph figcaption .mono{align-self:flex-start;background:rgba(10,26,48,.6);padding:6px 10px;border-radius:999px;font-size:10px;color:#fff}
  .ct-ch{gap:10px}
  .ct-ch__c{padding:14px 16px;gap:4px}
  .ct-ch__c b{font-size:14px}.ct-ch__c .mono{font-size:10px}
}
.ct-ctry{display:none}
@media (max-width:1023px){.ct-ctry{display:inline-flex}}
.ct-ctry button[aria-pressed="true"]{background:var(--navy);color:#fff}
@media (max-width:767px){.lg-hero .crumb{display:none}.lg-hero .btns{flex-direction:row;flex-wrap:wrap;gap:8px}.lg-hero .btns .btn{width:auto;height:32px;padding:0 14px;font-size:12px}.lg-hero .container{padding-bottom:32px}.legal__head{gap:8px}.legal__head .mono{font-size:10px}.legal__body p{font-size:12.5px;line-height:1.6;margin-top:10px}}
@media (min-width:768px) and (max-width:1023px){
  .pr-hero .h1{max-width:none;font-size:44px}
  .flow{gap:0;padding-left:20px;border-left:2px solid var(--line);margin-left:4px;grid-template-columns:minmax(0,1fr)}
  .flow__ar{display:none}
  .flow__c{position:relative;border:0 !important;border-radius:0;background:none;box-shadow:none;padding:0 0 22px;min-height:0;gap:6px;opacity:1 !important;transform:none !important}
  .flow__c::before{content:'';position:absolute;left:-26px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--navy)}
  .flow__c b{font-size:16px}.flow__c p{font-size:13px}
  .pc{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pc__main{height:300px}.pc__side{display:contents}.pc__tab{height:300px}.pc__card{grid-column:1}
  .mods__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mods__list li,.mods__list li:last-child{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
  .mods__list .chip{order:-1;height:22px;font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:0 8px}
  .mods__list b{font-size:15px}.mods__list p{font-size:12px}
  .impl{padding:0;border:0;background:none;gap:20px}
  .impl__steps{grid-template-columns:minmax(0,1fr);gap:0}
  .impl__steps li{display:grid;grid-template-columns:40px 1fr;gap:4px 0;padding:14px 0;border-top:1px solid var(--line)}
  .impl__steps .mono{grid-row:1 / 3}
}

/* ==========================================================================
   Páginas internas en desktop: medidas exactas de Figma (1440 px)
   ========================================================================== */
@media (min-width:1024px){
  /* en las páginas "pal-a" los botones primarios de Figma son #0066B3 */
  .pal-a main .btn-primary{background:#0066B3}
  .pal-a main .cta{background:#0066B3}
  /* nosotros */
  .ph-hero--meta .ph-hero__tx{gap:21px}
  .ph-hero--meta .eyebrow{color:#0066B3}
  .ph-hero--meta .eyebrow--dot::before{display:none}
  .ph-hero__meta{width:302px;padding-left:25px;gap:18px;margin-bottom:0}
  .ph-hero__meta div{display:flex;flex-direction:column;gap:8px}
  .ph-hero__meta dt{font-size:12px;line-height:16px}
  .ph-hero__meta dd{line-height:22px}
  .stmt{grid-template-columns:minmax(0,302fr) minmax(0,845fr);gap:24px}
  .pr-shots{overflow:hidden}
  .stmt__r{gap:0}
  section:has(>.stmt){padding-top:140px}
  .stmt__big{color:var(--hd)}
  .stmt .lead{margin-top:39px;max-width:720px;font-size:18px;line-height:29px;color:var(--ink-3)}
  .stmt__stats{margin-top:40px;padding-top:33px}
  .stmt__stats dt{line-height:45px}
  .stmt__stats dd{margin-top:6px;line-height:19px}
  .stmt__stats>div{padding-bottom:19px}
  .tline__list li{min-height:218px}
  .ali__card{width:354px;max-width:none}
  .cov .body{max-width:632px;margin-right:-77px}
  .tline .sec-head{gap:17px}
  .tline .h2,.ali .h2,section:has(.team) .h2{font-size:56px;line-height:57.5px}
  .ali .stack{gap:25px}
  .ali .rows{margin-top:1px}
  .ali .rows li{grid-template-columns:48px 1fr;padding:21px 0 20px}
  .ali .rows b{line-height:25px}
  .ali .rows p{line-height:23.5px}
  .ali__ph{padding-bottom:0;height:620px}
  .ali__card{left:-48px;bottom:39px;width:354px;padding:22px 24px}
  section:has(.team) .sec-head .stack{gap:17px}
  section:has(.team) .sec-head .linkarrow{color:#0066B3;max-width:166px;white-space:normal;line-height:20px}
  .team.mt-l{margin-top:48px}
  .team__tx{padding:20px 22px;gap:4px}
  .cov{align-items:center}
  .cov .stack{gap:0}
  .cov .stack .eyebrow{margin-bottom:22px}
  .cov .h2--sm{font-size:44px;line-height:45px}
  .cov .body{margin-top:21px;font-size:16px;line-height:26px;max-width:555px}
  .cov .chips{margin-top:53px}
  .cov__box{width:459px;height:440px;padding:24px}
  /* legal */
  .lg-hero{padding-bottom:80px}
  .lg-hero .stack{gap:21px}
  .lg-hero h1{line-height:86.2px}
  .lg-hero .lead{max-width:720px;line-height:31px}
  .lg-hero .btns{margin-top:19px}
  .legal{padding:110px 0}
  .legal__head .h2--sm{font-size:44px;line-height:45px}
  .legal__head .mono{line-height:16px}
  .legal__body{gap:21px}
  .legal__body p{line-height:28px}
  .legal .form{padding:40px}
  .legal .form label{gap:6px;font-weight:400;color:var(--ink-3)}
  .legal .form label.check{gap:13px;padding-left:4px}
  .legal .form input,.legal .form select,.legal .form textarea{font-size:13px}
  .lg-form__t{font-weight:600;font-size:20px;line-height:27px;color:var(--ink)}
  .lg-form__foot{justify-content:space-between;align-items:center}
  .legal .lg-form__foot .btn{font-family:var(--f-body)}
  .lg-hero .container{gap:21px;padding-bottom:0}
  .lg-hero .crumb{margin-bottom:19px}
  .lg-end{padding:56px 64px;border-radius:28px}
  .lg-end .h3{font-size:36px;line-height:37px}
  .lg-end p{font-size:17px;line-height:23px;color:var(--ink-2)}
  /* contacto */
  .ct-ctry{display:none}
  .ct-hero{padding:198px 0 72px}
  .ct-hero .container{gap:48px}
  .ct-hero .stack{gap:20px}
  .ct-hero .stack .eyebrow{color:#0066B3}
  .ct-hero .pr-hero__side{max-width:370px;font-size:17px;line-height:26.4px;color:var(--ink-3)}
  .ct-ph{border-radius:24px}
  .ct-ph figcaption{padding:0 40px 35px;gap:8px}
  .ct-ph .mono{line-height:15px}
  .ct-ph figcaption b.disp{font-size:28px;line-height:35px}
  .ct__form .form__head .disp{letter-spacing:0}
  .ct__form .chip span{font-size:13px}
  .ct__form label.check{gap:13px;padding-left:4px}
  .sede b.disp{font-size:22px;line-height:28px;letter-spacing:0;color:var(--ink)}
  .sede dt{font-size:11px;letter-spacing:0;line-height:15px}
  .sede dd{font-size:15px;line-height:20px;font-weight:400;color:var(--ink-2)}
  .ct-ch__c{padding:26px 28px;gap:10px}
  .ct-ch__c b{font-family:var(--f-disp);font-size:22px;line-height:28px;letter-spacing:-.02em}
  .ct-ch__c .mono{font-size:14px;line-height:18px;color:var(--ink-2)}
  .ct-ch__c .mono.g{color:var(--navy)}
  section:has(>.ct){padding:96px 0 120px}
  .ct__form{padding:44px;gap:22px}
  .ct__form .form__head .disp{font-size:28px;line-height:35px}
  .ct__form .form__2{gap:16px}
  .ct__form input,.ct__form select{height:52px}
  .ct__form textarea{height:140px;min-height:140px}
  .ct__form .chip{height:34px;padding:0 14px}
  .ct__form .form__chips legend{line-height:18px}
  .ct__form .form__foot{justify-content:space-between}
  .sede{padding:30px;gap:14px}
  .sede b{font-size:22px;line-height:28px}
  .sede>.mono{font-family:var(--f-body);font-size:15px;line-height:24px;color:var(--ink-2)}
  .sede dl{padding-top:15px;border-top:1px solid var(--line);gap:4px}
  .sede .linkarrow{font-size:14px;line-height:19px}
  .citymap{height:362px}
  .trab{padding:26px 30px;gap:8px}
  .trab p{line-height:23.5px}
  /* repuestos y consumibles */
  .rp-hero{padding:198px 0 72px}
  .rp-hero__in{gap:0;justify-content:flex-start}
  .rp-hero .h1{margin-top:24px}
  .rp-hero .lead{margin-top:23px;max-width:560px;font-size:18px;line-height:28px;color:var(--ink-3)}
  .rp-hero .btns{margin-top:29px;gap:14px}
  .rpz .stack{gap:25px}
  .rpz .h2{font-size:48px;line-height:49px}
  .rpz .body{font-size:16px;line-height:25.6px}
  .rpz__form{margin-top:1px;padding:24px;gap:14px;background:var(--bg-2)}
  .rpz__form b{font-size:16px;line-height:22px}
  .rpz__form .form__2{gap:12px}
  .rpz__form label{gap:6px}
  .rpz__form .btn{align-self:flex-start;font-size:14.8px}
  .rpz__ph{height:600px;border-radius:24px}
  #saphira .sec-head--row{align-items:flex-end}
  #saphira .sec-head .stack{gap:18px}
  .sph__side{flex:0 0 411px;width:411px;gap:14px;align-items:flex-end}
  .sph__side .body{padding-left:31px;line-height:23.5px;color:var(--ink-3)}
  .sph__side .btn{align-self:flex-end;width:auto}
  .sph__ph{border-radius:24px}
  .sph__ph.mt-l{margin-top:44px}
  .sph__c .ar{display:none}
  .sph__c p{padding-right:0}
  .sph__grid.mt-m{margin-top:44px}
  .sph__c{padding:24px 24px 42px;gap:10px}
  .sph__c .mono{line-height:16px}
  .sph__c b{font-size:18px;line-height:25px}
  .sph__c p{line-height:21px}
  .rp-why{grid-template-columns:519fr 628fr;gap:133px}
  .rp-why .stack{gap:17px}
  .rp-why .h2{font-size:44px;line-height:45px}
  .rp-why .rows li{padding:23px 0 22px}
  .rp-why .rows b{line-height:25px}
  .rp-why .rows p{line-height:23.5px}
  main .cta:not(.cta--big) .cta__img{left:51.5625%;right:auto;top:-40px;bottom:auto;width:640px;height:312px}
  /* prinect */
  .pr-hero--sw{padding-top:184px}
  .pr-hero--sw .container{gap:48px}
  .pr-hero--sw .stack{gap:21px}
  .pr-hero--sw .pr-hero__side{gap:18px}
  .pr-hero--sw .pr-hero__side .body{font-size:17px;line-height:26.4px;color:var(--ink-3)}
  .pr-hero--sw .pr-shots{background:#163A55}
  .pr-shots__chips{gap:10px}
  .pr-shots__chips .chip{background:rgba(6,10,18,.45);border-color:rgba(255,255,255,.3);color:#fff}
  .pr-shots__chips .chip.on{background:rgba(6,10,18,.7);border-color:#fff}
  #flujo{padding-top:140px}
  #flujo .sec-head{gap:16px}
  #flujo .flow{margin-top:44px}
  .flow__c .mono{letter-spacing:0;line-height:16px}
  .flow__c b{font-size:20px;line-height:27px}
  .flow__c p{margin-top:-1px;line-height:22px}
  .flow__ar{color:var(--gray)}
  .pc__main{border-radius:24px}
  .pc__main figcaption{padding:28px 32px;gap:6px}
  .pc__main figcaption .disp{font-size:24px;line-height:30px;letter-spacing:0}
  .pc__tab{border-radius:24px}
  .pc__tab figcaption{padding:22px 26px;gap:4px}
  .pc__tab b{font-family:var(--f-disp);font-size:20px;line-height:25px}
  .pc__card{padding:41px 28px;gap:0}
  .pc__card .disp{margin-top:14px;font-family:var(--f-body);font-size:18px;line-height:25px;letter-spacing:0;color:var(--ink)}
  .pc__card p{margin-top:13px;line-height:22px}
  .mods .stack{gap:17px}
  .mods .h2{font-size:44px;line-height:45px}
  .mods .note{line-height:20px}
  .mods__list li{padding:23px 0 22px}
  .mods__list b{line-height:25px}
  .mods__list p{line-height:19px}
  .impl .stack{gap:15px}
  .impl h2{line-height:41px}
  .impl__steps li{padding-top:19px;gap:10px;border-top:2px solid #C9D1DB}
  .impl__steps b{line-height:23px}
  .impl__steps p{line-height:21px}
  /* servicio técnico: hero */
  .ph-hero--srv .ph-hero__tx{gap:0}
  .ph-hero--srv .eyebrow{color:#4A7FA5}
  .ph-hero--srv .eyebrow--dot::before{display:none}
  .ph-hero--srv .ph-hero__h1{margin-top:23px;font-size:84px;line-height:85.7px}
  .ph-hero--srv .lead{margin-top:25px;max-width:600px;font-size:19px;line-height:28.5px}
  .ph-hero--srv .btns{margin-top:1px;gap:14px}
  /* pilares */
  .srv-pils{padding-bottom:100px}
  .srv-pils .pils li{gap:0;padding:23px 0 0}
  .srv-pils .pils .mono{line-height:16px}
  .srv-pils .pils b{margin-top:12px;line-height:26px}
  .srv-pils .pils p{margin-top:11px;line-height:22px}
  /* lista de servicios */
  #servicios{padding-top:40px !important}
  .srvs__head{gap:17px}
  .srvs__head .h2{font-size:48px;line-height:49px}
  .srv summary,.srv--link{grid-template-columns:64px 1fr 40px;gap:20px;padding:27px 0 26px;align-items:start}
  .srv--link{padding-bottom:27px}
  .srv .mono{padding-top:4px;line-height:17px}
  .srv__t{line-height:33px;letter-spacing:0}
  .srv__b{padding:0 60px 26px 84px;margin-top:-16px}
  .srv__b p{line-height:23.5px;max-width:593px}
  .srv .pm{width:40px;height:30px;border:0;border-radius:0;background:none !important;font-size:0;place-items:start end}
  .srv .pm::before{content:'+';font-size:22px;line-height:30px;color:var(--gray)}
  .srv[open] .pm{transform:none}
  .srv[open] .pm::before{content:'−';color:var(--navy)}
  .srv--link .pm::before{content:'→';color:var(--navy)}
  /* proceso + reportar */
  #reportar{padding-top:120px !important}
  .form__head .eyebrow{color:var(--navy)}
  .form__head .disp{color:var(--ink)}
  .rep__l{gap:36px}
  .rep__l .stack{gap:15px}
  .rep__l .rows li{grid-template-columns:56px 1fr;padding:25px 0 24px}
  .rep__l .rows .n{padding-top:5px;line-height:16px}
  .rep__l .rows b{font-size:20px;line-height:27px}
  .rep__l .rows p{line-height:23.5px}
  .rep__form{padding:36px}
  .form__head .disp{line-height:30px}
  .form label{line-height:18px}
  .form input,.form select{height:48px}
  .form textarea{min-height:110px;height:110px}
  .form label.check{font-weight:400;color:var(--ink-3);line-height:19.5px}
  .form .btn-primary{font-family:'Inter',var(--f-body)}
  .rep__form .btn{align-self:stretch}
  .rep__form .form__note{text-align:center;line-height:16px}
  /* contratos + capacitación */
  .srv-cc{padding-top:36px}
  .cc__card{gap:0;justify-content:flex-start}
  .cc__card .disp{margin-top:21px;line-height:35px}
  .cc__card .checks{margin-top:22px}
  .cc__card .checks li{line-height:20px;color:var(--ink-2)}
  .cc__card .btn{margin-top:26px}
  .cc .app{padding:44px}
  .cc .app>div{gap:0;max-width:583px}
  .cc .app .eyebrow{margin-bottom:10px}
  .cc .app h3{line-height:35px}
  .cc .app p{margin-top:12px;max-width:460px}
  .cc .app .linkarrow{margin-top:18px}
}
@media (min-width:1280px){.ph-hero--srv .ph-hero__h1{white-space:nowrap}}
/* Evita encoger los botones al compartir fila con notas largas. */
.form__foot{flex-wrap:wrap}
.form__foot .btn{flex-shrink:0}
.form__foot .form__note{flex:1 1 180px}
@media (min-width:768px) and (max-width:1023px){.tline__track .container{min-width:0}.tline__list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px}.tline__bar{display:none}}
.ph-hero__veil{background:linear-gradient(180deg,rgba(0,30,60,.45),rgba(0,30,60,.5) 35%,rgba(0,30,60,.94) 100%)}
