/* Páginas detalladas de servicios — Ing Calibraciones */
:root{
  --sp-navy:#082b59;
  --sp-deep:#003b73;
  --sp-blue:#0077c8;
  --sp-cyan:#05a9ea;
  --sp-orange:#f28c00;
  --sp-ink:#10233d;
  --sp-text:#50627a;
  --sp-line:#cfe0ee;
  --sp-soft:#f3f8fc;
}

.sp-page{background:#fff;color:var(--sp-ink)}
.sp-page .site-header{box-shadow:0 1px 0 rgba(8,43,89,.08)}
.sp-page .nav-link.active{color:var(--sp-blue)}
.sp-page .nav-actions .quote-btn{background:var(--sp-navy);box-shadow:0 4px 0 var(--sp-orange)}
.sp-page .nav-actions .quote-btn:hover{background:var(--sp-orange);box-shadow:0 6px 0 #c66f00}
.sp-page .nav-actions .portal-btn{background:var(--sp-navy);box-shadow:0 4px 0 var(--sp-cyan)}

.sp-hero{position:relative;min-height:470px;display:flex;align-items:center;overflow:hidden;color:#fff;background-color:var(--sp-deep)}
.sp-hero:before,.sp-hero:after{content:"";position:absolute;inset:0;pointer-events:none}
.sp-hero:after{background:linear-gradient(90deg,rgba(0,31,67,.98),rgba(0,54,105,.82) 48%,rgba(0,34,67,.13) 80%)}
.sp-hero-content{position:relative;z-index:2;width:min(660px,100%);padding:72px 0}
.sp-kicker{display:block;color:var(--sp-cyan);font-size:13px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.sp-hero h1{margin:14px 0 14px;font-size:clamp(42px,5vw,62px);line-height:1.04;letter-spacing:-1.5px;color:#fff}
.sp-hero p{max-width:585px;margin:0 0 26px;color:#eaf5fb;font-size:18px;line-height:1.6}
.sp-btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:0;border-radius:8px;padding:0 22px;background:var(--sp-navy);color:#fff;font-weight:850;text-decoration:none;cursor:pointer;box-shadow:0 4px 0 var(--sp-orange);transition:transform .2s,background .2s,box-shadow .2s}
.sp-btn:hover,.sp-btn:focus-visible{transform:translateY(-2px);background:#064b88;box-shadow:0 6px 0 var(--sp-orange);color:#fff}
.sp-btn-orange{background:var(--sp-orange);box-shadow:0 4px 0 #bc6400}
.sp-btn-orange:hover,.sp-btn-orange:focus-visible{background:#db7800;box-shadow:0 6px 0 #a95700}
.sp-hero-note{display:flex;align-items:center;gap:12px;margin-top:25px;color:#dcecf7;font-size:14px;font-weight:650}
.sp-hero-note:before{content:"";width:38px;height:2px;background:var(--sp-cyan)}

.sp-cal-hero{background-image:linear-gradient(rgba(8,72,134,.33) 1px,transparent 1px),linear-gradient(90deg,rgba(8,72,134,.33) 1px,transparent 1px),radial-gradient(circle at 80% 45%,transparent 0 70px,rgba(5,169,234,.35) 72px 74px,transparent 76px 110px,rgba(5,169,234,.22) 112px 114px,transparent 116px);background-size:32px 32px,32px 32px,auto}
.sp-cal-hero:before{background:linear-gradient(135deg,transparent 50%,rgba(5,169,234,.08))}
.sp-maint-hero:before{background:url('assets/mantenimiento-portada.webp') center/cover no-repeat}
.sp-fab-hero:before{background:url('assets/fabricacion-portada.webp') center/cover no-repeat}

.sp-intro{text-align:center;padding:55px 0 31px}
.sp-intro h2{margin:8px 0 10px;color:var(--sp-navy);font-size:clamp(30px,3.6vw,43px);line-height:1.14}
.sp-intro p{max-width:760px;margin:0 auto;color:var(--sp-text);font-size:16px}

.sp-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-bottom:62px;align-items:start}
.sp-cal-card{overflow:hidden;border:1px solid var(--sp-line);border-radius:15px;background:#fff;box-shadow:0 10px 26px rgba(0,48,94,.07);transition:transform .25s,border-color .25s,box-shadow .25s}
.sp-cal-card:hover,.sp-cal-card:focus-within,.sp-cal-card.is-open{transform:translateY(-5px);border-color:var(--sp-orange);box-shadow:0 18px 38px rgba(0,48,94,.14)}
.sp-card-image{height:218px;padding:15px;background:linear-gradient(145deg,#fff,#edf6fb);display:grid;place-items:center}
.sp-card-image img{width:100%;height:100%;object-fit:contain}
.sp-card-main{padding:19px 20px 18px}
.sp-card-main h3{margin:0;color:var(--sp-navy);font-size:22px}
.sp-card-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:0 0 8px;border:0;border-bottom:1px solid #dbe7ef;background:none;color:var(--sp-blue);font-weight:800;cursor:pointer;text-align:left}
.sp-card-toggle:after{content:"+";width:24px;height:24px;border:1px solid var(--sp-orange);border-radius:50%;display:grid;place-items:center;color:var(--sp-orange);font-size:16px;line-height:1;transition:transform .2s,background .2s,color .2s}
.sp-cal-card.is-open .sp-card-toggle:after{content:"−";background:var(--sp-orange);color:#fff;transform:rotate(180deg)}
.sp-card-details{max-height:0;overflow:hidden;opacity:0;transition:max-height .32s ease,opacity .22s ease,padding .32s ease;padding:0 20px}
.sp-cal-card.is-open .sp-card-details{max-height:460px;opacity:1;padding:0 20px 20px}
.sp-card-details ul{list-style:none;margin:0 0 17px;padding:13px 0 0;display:grid;gap:7px}
.sp-card-details li a{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#39516f;font-size:13px;line-height:1.35}
.sp-card-details li a:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--sp-orange)}
.sp-card-details li a:after{content:"↗";margin-left:auto;color:var(--sp-blue);font-weight:900}
.sp-card-details li a:hover{color:var(--sp-blue)}
.sp-card-details .sp-btn{width:100%;min-height:42px;padding:0 12px;font-size:13px;box-shadow:0 3px 0 var(--sp-orange)}

.sp-special{margin-bottom:24px;padding:27px 30px;border:1px solid #cfe4f2;border-radius:15px;background:linear-gradient(115deg,#eaf6fd,#f9fcfe);display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center}
.sp-special-heading{display:flex;align-items:center;gap:16px}
.sp-special-icon{width:62px;height:62px;flex:0 0 62px;border:2px solid var(--sp-cyan);border-radius:15px;display:grid;place-items:center;color:var(--sp-blue);font-size:30px}
.sp-special h2{margin:0 0 5px;color:var(--sp-navy);font-size:23px}
.sp-special p{margin:0;color:var(--sp-text);font-size:14px}
.sp-special-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sp-special-list a{padding:8px 10px;border:1px solid #9fcae9;border-radius:7px;background:#fff;color:var(--sp-navy);text-align:center;font-size:12px;font-weight:750;transition:.2s}
.sp-special-list a:hover{border-color:var(--sp-orange);color:#c66f00;transform:translateY(-2px)}
.sp-accredit{margin-bottom:20px;padding:18px 24px;border:1px solid #c8e0ef;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--sp-navy);text-align:center}
.sp-accredit b{color:var(--sp-blue)}
.sp-shield{width:38px;height:44px;display:grid;place-items:center;border:2px solid var(--sp-blue);border-radius:18px 18px 22px 22px;color:var(--sp-blue);font-weight:900}

.sp-cta{padding:0 0 34px}
.sp-cta-inner{min-height:105px;padding:23px 34px;border-radius:14px;background:linear-gradient(115deg,#003b73,#07599d);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}
.sp-cta h2{margin:0 0 3px;font-size:26px;color:#fff}.sp-cta p{margin:0;color:#dcebf6}
.sp-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.sp-btn-outline{border:1px solid rgba(255,255,255,.75);background:transparent;box-shadow:none}
.sp-btn-outline:hover{background:#fff;color:var(--sp-navy);box-shadow:none}

.sp-switcher{position:relative;z-index:3;margin-top:-27px}
.sp-switcher-inner{max-width:800px;margin:auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid #d9e5ef;border-radius:13px;background:#fff;box-shadow:0 14px 30px rgba(0,42,83,.12);overflow:hidden}
.sp-switcher a{min-height:62px;display:flex;align-items:center;justify-content:center;gap:11px;color:var(--sp-navy);font-weight:850}
.sp-switcher a+a{border-left:1px solid #dce6ee}.sp-switcher a:hover{background:#eef8fe;color:var(--sp-blue)}
.sp-switcher span{font-size:25px;color:var(--sp-blue)}

.sp-solutions{padding:68px 0;background:#fff}
.sp-two-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.sp-solution-card{padding:34px;border:1px solid var(--sp-line);border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(0,48,91,.07)}
.sp-solution-card:first-child{background:linear-gradient(135deg,#edf8ff,#fff)}
.sp-solution-card.is-accent{border-color:var(--sp-orange)}
.sp-solution-head{display:flex;align-items:center;gap:18px}.sp-solution-symbol{width:72px;height:72px;display:grid;place-items:center;border:2px solid var(--sp-blue);border-radius:18px;color:var(--sp-blue);font-size:36px}.sp-solution-card.is-accent .sp-solution-symbol{border-color:var(--sp-orange);color:var(--sp-orange)}
.sp-solution-card h2{margin:0;color:var(--sp-navy);font-size:30px;line-height:1.12}.sp-solution-card>p{color:var(--sp-text)}
.sp-checks{list-style:none;margin:22px 0 28px;padding:0;display:grid;gap:11px;color:#36506f}.sp-checks li{position:relative;padding-left:29px}.sp-checks li:before{content:"✓";position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#e7f6fe;color:var(--sp-blue);font-size:12px;font-weight:900}.sp-solution-card.is-accent .sp-checks li:before{background:#fff1df;color:var(--sp-orange)}
.sp-solution-card .sp-btn{width:100%}

.sp-process{padding:62px 0;background:var(--sp-soft)}
.sp-process h2,.sp-equipment h2,.sp-custom h2,.sp-operations h2{text-align:center;color:var(--sp-navy);font-size:32px;margin:0 0 34px}
.sp-process-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:18px}.sp-process-grid:before{content:"";position:absolute;left:10%;right:10%;top:28px;height:2px;background:linear-gradient(90deg,var(--sp-cyan),var(--sp-orange));z-index:0}
.sp-process-step{position:relative;z-index:1;text-align:center;padding:0 18px}.sp-process-step b{width:58px;height:58px;margin:0 auto 18px;border:2px solid var(--sp-blue);border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--sp-blue);font-size:18px}.sp-process-step:nth-child(n+3) b{border-color:var(--sp-orange);color:var(--sp-orange)}.sp-process-step h3{margin:0 0 8px;color:var(--sp-navy);font-size:17px}.sp-process-step p{margin:0;color:var(--sp-text);font-size:14px}
.sp-note{margin-top:32px;padding:18px 24px;border:1px solid #c9e1f0;border-radius:12px;background:#eaf6fd;color:#294969;display:flex;gap:15px;align-items:flex-start}.sp-note b{color:var(--sp-navy)}.sp-note i{width:31px;height:31px;flex:0 0 31px;border-radius:50%;background:var(--sp-blue);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900}

.sp-equipment{padding:58px 0;background:#fff}.sp-equipment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.sp-equipment-card{padding:25px 18px;border:1px solid #dce6ed;border-radius:13px;text-align:center;background:#fff}.sp-equipment-card span{width:68px;height:68px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;background:#eaf6fd;color:var(--sp-blue);font-size:32px}.sp-equipment-card h3{margin:0;color:var(--sp-navy);font-size:17px}

.sp-materials{padding:68px 0}.sp-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.sp-material-card{overflow:hidden;border:1px solid var(--sp-line);border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(0,48,91,.07)}.sp-material-card.is-carbon{border-color:#e8d6be}.sp-material-image{height:310px;background:#edf6fb}.sp-material-image img{width:100%;height:100%;object-fit:cover}.sp-material-card.is-carbon .sp-material-image img{filter:saturate(.65) brightness(.84)}.sp-material-copy{padding:29px}.sp-material-copy h2{margin:0 0 11px;color:var(--sp-navy);font-size:29px}.sp-material-copy>p{color:var(--sp-text)}.sp-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.sp-tags span{padding:6px 10px;border:1px solid #9ac8e7;border-radius:6px;color:var(--sp-blue);font-size:12px;font-weight:800}.sp-material-card.is-carbon .sp-tags span{border-color:#f1b468;color:#c76a00}

.sp-custom{padding:58px 0;background:var(--sp-soft)}.sp-custom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.sp-custom-card{padding:26px 20px;border:1px solid #dce6ee;border-radius:13px;background:#fff;text-align:center}.sp-custom-card b{width:62px;height:62px;margin:0 auto 16px;border-radius:14px;background:#eaf6fd;color:var(--sp-blue);display:grid;place-items:center;font-size:24px}.sp-custom-card h3{margin:0 0 8px;color:var(--sp-navy);font-size:17px}.sp-custom-card p{margin:0;color:var(--sp-text);font-size:14px}

.sp-operations{padding:65px 0;background:#fff}.sp-operations-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center}.sp-blueprint{min-height:360px;border:1px solid #c9deec;border-radius:15px;background:linear-gradient(rgba(0,119,200,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,119,200,.1) 1px,transparent 1px),linear-gradient(145deg,#f8fcff,#eaf6fd);background-size:25px 25px;display:grid;place-items:center;color:var(--sp-blue);font-size:95px}.sp-operation-list{display:grid;gap:15px}.sp-operation-item{padding:18px 20px;border-bottom:1px solid #dce6ed}.sp-operation-item h3{margin:0 0 5px;color:var(--sp-navy)}.sp-operation-item p{margin:0;color:var(--sp-text)}

.sp-form-section{padding:64px 0;background:var(--sp-soft)}.sp-quote-shell{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--sp-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 15px 38px rgba(0,49,94,.08)}.sp-quote-copy{padding:38px;background:linear-gradient(145deg,#003b73,#07599d);color:#fff}.sp-quote-copy h2{margin:0 0 12px;color:#fff;font-size:34px}.sp-quote-copy p{color:#dcecf7}.sp-quote-copy .sp-blueprint-mini{height:160px;margin-top:25px;border:1px solid rgba(255,255,255,.25);border-radius:12px;display:grid;place-items:center;font-size:70px}.sp-quote-form{padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.sp-field{display:grid;gap:7px}.sp-field-full{grid-column:1/-1}.sp-field label{color:#284766;font-size:13px;font-weight:800}.sp-field input,.sp-field select,.sp-field textarea{width:100%;border:1px solid #cddce7;border-radius:8px;background:#fff;padding:12px;color:#173a5e;font:inherit}.sp-field textarea{min-height:95px;resize:vertical}.sp-quote-form .sp-btn{grid-column:1/-1;width:100%}

@media(hover:hover) and (pointer:fine){.sp-cal-card:hover .sp-card-details{max-height:460px;opacity:1;padding:0 20px 20px}.sp-cal-card:hover .sp-card-toggle:after{content:"−";background:var(--sp-orange);color:#fff}}
@media(max-width:1050px){.sp-card-grid{grid-template-columns:repeat(2,1fr)}.sp-special{grid-template-columns:1fr}.sp-special-list{grid-template-columns:repeat(3,1fr)}.sp-hero{min-height:430px}.sp-material-image{height:260px}}
@media(max-width:820px){.sp-two-cards,.sp-material-grid,.sp-operations-grid,.sp-quote-shell{grid-template-columns:1fr}.sp-process-grid,.sp-equipment-grid,.sp-custom-grid{grid-template-columns:repeat(2,1fr)}.sp-process-grid:before{display:none}.sp-quote-copy .sp-blueprint-mini{display:none}.sp-quote-form{padding:28px}}
@media(max-width:680px){.sp-hero{min-height:500px}.sp-hero:after{background:linear-gradient(90deg,rgba(0,34,69,.96),rgba(0,54,101,.66))}.sp-hero-content{padding:60px 0}.sp-hero h1{font-size:40px}.sp-hero p{font-size:16px}.sp-card-grid{grid-template-columns:1fr}.sp-card-image{height:245px}.sp-special{padding:22px}.sp-special-list{grid-template-columns:1fr 1fr}.sp-accredit{align-items:flex-start;text-align:left}.sp-cta-inner{align-items:flex-start;flex-direction:column}.sp-cta-actions,.sp-cta-actions .sp-btn{width:100%}.sp-switcher{margin-top:0}.sp-switcher-inner{border-radius:0}.sp-switcher a{font-size:14px}.sp-solution-card{padding:25px 21px}.sp-solution-head{align-items:flex-start}.sp-solution-symbol{width:58px;height:58px;flex:0 0 58px}.sp-solution-card h2{font-size:25px}.sp-process-grid,.sp-equipment-grid,.sp-custom-grid{grid-template-columns:1fr}.sp-material-image{height:230px}.sp-quote-form{grid-template-columns:1fr;padding:24px}.sp-field-full,.sp-quote-form .sp-btn{grid-column:auto}.sp-footer .footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sp-page *{scroll-behavior:auto!important;transition:none!important}}

/* =========================================================
   Integración de los recursos finales de las tres maquetas
   ========================================================= */
.sp-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.sp-page .nav-shell,
.sp-page .nav{height:72px}
.sp-page .brand-logo{min-width:205px}
.sp-page .brand-logo img{width:205px}
.sp-page .nav-link{color:#182234;font-size:13px}
.sp-page .dark-btn{height:40px;border-radius:5px;background:#052f63}
.sp-page .nav-actions .portal-btn{box-shadow:0 4px 0 var(--sp-cyan)}
.sp-page .portal-btn{gap:7px}
.sp-nav-whatsapp{width:17px;height:17px;object-fit:contain}

.sp-hero{min-height:455px}
.sp-hero-content{width:min(620px,100%);padding:62px 0}
.sp-hero h1{font-size:clamp(40px,4.7vw,57px)}
.sp-hero p{font-size:17px;line-height:1.55}
.sp-intro h2{font-size:clamp(28px,3vw,36px)}
.sp-switcher-label{display:block;width:auto;max-width:min(92%,330px);height:31px;object-fit:contain}

/* Calibración */
.sp-cal-hero{
  min-height:430px;
  isolation:isolate;
  background-color:#042c5c;
  background-image:
    linear-gradient(rgba(12,109,184,.24) 1px,transparent 1px),
    linear-gradient(90deg,rgba(12,109,184,.24) 1px,transparent 1px),
    linear-gradient(115deg,#052d60 0%,#063b77 62%,#032857 100%);
  background-size:32px 32px,32px 32px,auto;
}
.sp-cal-hero:before{background:radial-gradient(circle at 84% 46%,rgba(3,20,48,.12),rgba(3,20,48,.32) 68%)}
.sp-cal-hero:after{background:linear-gradient(90deg,rgba(0,31,67,.97) 0%,rgba(0,48,94,.86) 48%,rgba(0,37,77,.15) 78%)}
.sp-cal-hero-art{position:absolute;z-index:1;right:0;top:0;width:min(58%,835px);height:100%;object-fit:contain;object-position:right center;filter:grayscale(1) sepia(1) hue-rotate(158deg) saturate(4) brightness(.92);mix-blend-mode:screen;opacity:.28;pointer-events:none}
.sp-cal-proof{gap:10px;flex-wrap:wrap}
.sp-cal-proof:before{display:none}
.sp-cal-proof img{width:20px;height:23px;object-fit:contain}
.sp-cal-proof b{color:var(--sp-cyan);font-weight:900}
.sp-cal-page .sp-card-grid{gap:18px;padding-bottom:28px}
.sp-cal-page .sp-intro{padding-top:52px}
.sp-cal-page .sp-card-image{height:205px;padding:12px 14px 6px}
.sp-cal-page .sp-card-main{padding:14px 18px 16px}
.sp-cal-page .sp-cal-card{border-radius:11px;box-shadow:0 7px 20px rgba(0,48,94,.06)}
.sp-cal-page .sp-special{margin-top:0}
.sp-special-icon{border:0;background:transparent}
.sp-special-icon img{width:58px;height:58px;object-fit:contain}
.sp-shield-image{width:45px;height:54px;flex:0 0 45px;object-fit:contain}
.sp-cal-page .sp-accredit{font-size:14px;line-height:1.45}
.sp-cal-page .sp-cta-inner{border-radius:7px}

/* Mantenimiento */
.sp-maint-page .sp-switcher{margin-top:0;border-bottom:1px solid #dce6ee;background:#fff}
.sp-maint-page .sp-hero-note:before{width:3px;height:28px;background:var(--sp-orange)}
.sp-maint-page .sp-switcher .container{width:100%}
.sp-maint-page .sp-switcher-inner{max-width:1180px;border:0;border-radius:0;box-shadow:none}
.sp-maint-page .sp-switcher a{position:relative;min-height:58px}
.sp-maint-page .sp-switcher a:first-child:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--sp-orange)}
.sp-maint-page .sp-solutions{padding-top:35px}
.sp-maint-page .sp-intro{padding-top:0}
.sp-solution-symbol{border:0!important;background:transparent}
.sp-solution-symbol img{width:100%;height:100%;object-fit:contain}
.sp-maint-page .sp-solution-card{border-radius:10px;padding:32px 34px}
.sp-maint-page .sp-solution-card:first-child{background:linear-gradient(110deg,#eef8ff,#fff 80%)}
.sp-maint-page .sp-solution-card h2{font-size:28px}
.sp-maint-page .sp-process{padding:42px 0 34px;background:linear-gradient(180deg,#f8fbfd,#fff)}
.sp-maint-page .sp-process h2{margin-bottom:20px}
.sp-maint-page .sp-process-grid{gap:12px}
.sp-maint-page .sp-process-step{padding:0 14px}
.sp-process-icon{display:block;width:74px;height:74px;margin:0 auto 12px;object-fit:contain}
.sp-maint-page .sp-process-step:nth-child(2) .sp-process-icon{width:69px}
.sp-maint-page .sp-note{max-width:1000px;margin:26px auto 0}
.sp-note{position:relative;align-items:center;min-height:73px}
.sp-note-icon{width:43px;height:43px;flex:0 0 43px;object-fit:contain}
.sp-note-drawing{margin-left:auto;width:145px;height:70px;object-fit:cover;object-position:center;opacity:.55;mix-blend-mode:multiply}
.sp-maint-page .sp-equipment{padding:36px 0 40px}
.sp-maint-page .sp-equipment h2{margin-bottom:20px}
.sp-equipment-card{padding:14px 14px 18px;border-radius:10px;box-shadow:0 5px 14px rgba(0,48,91,.04)}
.sp-equipment-card>img{display:block;width:100%;height:105px;margin:0 auto 10px;object-fit:contain}
.sp-maint-cta{padding:0;background:#063b72}
.sp-maint-cta .sp-cta-inner{min-height:128px;padding:20px 28px;border-radius:0;background:transparent}
.sp-maint-cta-copy{display:flex;align-items:center;gap:28px}
.sp-maint-cta-copy>img{width:96px;height:96px;object-fit:contain}

/* Fabricación */
.sp-fab-page .sp-switcher-label{height:29px}
.sp-fab-page .sp-materials{padding:45px 0 42px}
.sp-fab-page .sp-intro{padding-top:0;padding-bottom:24px}
.sp-material-grid{gap:20px}
.sp-material-card{border-radius:10px;box-shadow:0 7px 18px rgba(0,48,91,.055)}
.sp-material-card.is-carbon .sp-material-image img{filter:none}
.sp-material-main{display:grid;grid-template-columns:40% 60%;min-height:300px;padding:22px 19px 4px}
.sp-material-image{height:276px;background:transparent;display:grid;place-items:center;padding:0 6px}
.sp-material-image img{width:100%;height:100%;object-fit:contain}
.sp-material-copy{padding:6px 7px 0 14px}
.sp-material-copy h2{font-size:25px;line-height:1.13;margin-bottom:8px}
.sp-material-copy>p{font-size:14px;line-height:1.45;margin:0 0 13px}
.sp-material-copy .sp-checks{margin:13px 0 0;gap:8px;font-size:13px}
.sp-material-copy .sp-checks li{padding-left:24px}
.sp-material-copy .sp-checks li:before{width:16px;height:16px;font-size:10px}
.sp-material-foot{padding:0 20px 20px}
.sp-material-foot>b{display:block;color:var(--sp-navy);font-size:13px}
.sp-material-foot .sp-tags{margin:7px 0 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.sp-material-foot .sp-tags span{padding:5px 4px;text-align:center;font-size:10px}
.sp-material-foot .sp-btn{width:100%;min-height:43px}
.sp-fab-page .sp-custom{padding:32px 0 38px;background:#fff}
.sp-fab-page .sp-custom h2{margin-bottom:18px}
.sp-custom-card{padding:18px 14px;border-radius:8px}
.sp-custom-card>img{display:block;width:67px;height:58px;margin:0 auto 12px;object-fit:contain}
.sp-custom-card h3{font-size:15px}
.sp-custom-card p{font-size:12px;line-height:1.45}
.sp-fab-page .sp-operations{padding:36px 0 42px}
.sp-fab-page .sp-operations h2{margin-bottom:18px}
.sp-operations-grid{grid-template-columns:.92fr 1.08fr;gap:32px;max-width:880px;margin:auto}
.sp-blueprint{min-height:310px;border:0;border-radius:0;background:#fff;font-size:0}
.sp-blueprint img{width:100%;height:310px;object-fit:contain}
.sp-operation-list{gap:0}
.sp-operation-item{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:16px;padding:11px 8px;border-bottom:1px solid #dce6ed}
.sp-operation-item img{width:49px;height:49px;object-fit:contain}
.sp-operation-item h3{font-size:15px;margin-bottom:2px}
.sp-operation-item p{font-size:12px;line-height:1.35}
.sp-fab-page .sp-process{padding:38px 0 25px;background:#fff}
.sp-fab-page .sp-process h2{margin-bottom:25px}
.sp-fab-page .sp-process-step b{margin-bottom:13px}
.sp-fab-page .sp-note{margin-top:27px;padding:13px 20px;background:linear-gradient(90deg,#edf8ff,#e7f5fd)}
.sp-fab-page .sp-form-section{padding:0 0 26px;background:#fff}
.sp-quote-shell{grid-template-columns:.78fr 1.22fr;border-radius:9px;box-shadow:0 8px 20px rgba(0,49,94,.07)}
.sp-quote-copy{padding:0;background:#06376d;overflow:hidden}
.sp-quote-copy>img{width:100%;height:100%;min-height:312px;object-fit:cover;object-position:center}
.sp-quote-form{padding:24px 32px;grid-template-columns:1fr;gap:9px;align-content:center}
.sp-field-full,.sp-quote-form .sp-btn{grid-column:auto}
.sp-field{gap:4px}
.sp-field input,.sp-field select,.sp-field textarea{padding:8px 11px;border-radius:4px;font-size:13px}
.sp-quote-form .sp-btn{min-height:42px;margin-top:2px}

/* Pie de página y utilidades gráficas */
.sp-footer{padding-top:38px}
.sp-footer .footer-grid{gap:30px}
.sp-footer-line{display:flex!important;align-items:center;gap:10px}
.sp-footer-line-top{align-items:flex-start}
.sp-footer-line img{width:17px;height:17px;flex:0 0 17px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}
.sp-footer-line br{display:none}
.sp-socials{display:flex;gap:9px;margin-top:16px}
.sp-socials a{width:27px;height:27px;margin:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center}
.sp-socials img{width:16px;height:16px;object-fit:contain;filter:brightness(0) invert(1)}

@media(max-width:1050px){
  .sp-page .brand-logo{min-width:180px}
  .sp-page .brand-logo img{width:180px}
  .sp-material-main{grid-template-columns:38% 62%;padding-inline:14px}
  .sp-material-copy{padding-left:8px}
  .sp-material-copy h2{font-size:22px}
  .sp-material-foot .sp-tags{grid-template-columns:1fr 1fr}
}

@media(max-width:820px){
  .sp-material-main{grid-template-columns:40% 60%;min-height:280px}
  .sp-material-image{height:260px}
  .sp-operations-grid{max-width:680px}
  .sp-maint-cta-copy>img{width:76px;height:76px}
  .sp-note-drawing{display:none}
}

@media(max-width:680px){
  .sp-page .nav-shell,.sp-page .nav{height:70px}
  .sp-page .brand-logo{min-width:0}
  .sp-page .brand-logo img{width:158px}
  .sp-cal-hero-art{right:-36%;width:125%;opacity:.35}
  .sp-cal-proof{font-size:12px;gap:7px}
  .sp-cal-proof b{display:none}
  .sp-cal-proof span{width:calc(100% - 30px)}
  .sp-switcher-label{height:24px;max-width:94%}
  .sp-material-main{grid-template-columns:1fr;padding:20px 18px 0}
  .sp-material-image{height:250px}
  .sp-material-copy{padding:8px 3px 0}
  .sp-material-foot{padding:0 18px 18px}
  .sp-material-foot .sp-tags{grid-template-columns:1fr 1fr}
  .sp-operations-grid{grid-template-columns:1fr}
  .sp-blueprint,.sp-blueprint img{min-height:0;height:250px}
  .sp-operation-item{grid-template-columns:48px 1fr}
  .sp-operation-item img{width:43px;height:43px}
  .sp-process-icon{width:68px;height:68px}
  .sp-maint-cta .sp-cta-inner{padding:22px 0}
  .sp-maint-cta-copy{gap:14px}
  .sp-maint-cta-copy>img{width:65px;height:65px}
  .sp-quote-copy>img{min-height:0;aspect-ratio:4/3}
  .sp-quote-form{padding:23px 19px}
  .sp-footer-line br{display:initial}
}
.sp-cal-hero{
    min-height:485px;
    background:#002f5d;
    background-image:none;
}

.sp-cal-hero:before{
    background:none;
}

.sp-cal-hero-art{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    filter:none;
    mix-blend-mode:normal;
    opacity:1;
    z-index:0;
}

.sp-cal-hero:after{
    z-index:1;
    background:linear-gradient(
        90deg,
        rgba(0,47,92,.96) 0%,
        rgba(0,59,115,.78) 43%,
        rgba(0,59,115,.10) 78%
    );
}

.sp-cal-hero .container{
    position:relative;
    z-index:2;
}
@media (min-width:821px){
    .sp-card-grid{
        grid-template-columns:repeat(4, minmax(0,1fr));
    }
}

/* ==========================================
   CORRECCIONES FINALES PARA CELULAR
   CALIBRACIÓN, MANTENIMIENTO Y FABRICACIÓN
========================================== */

@media (max-width: 680px) {

  /* Seguridad contra desbordamientos */
  .sp-page main,
  .sp-page section,
  .sp-page .container,
  .sp-page article {
    min-width: 0;
  }

  /* Portada de calibración: lectura clara */
  .sp-cal-hero-art {
    inset: 0;
    width: 100%;
    height: 100%;
    object-position: 68% center;
    opacity: 1;
  }

  .sp-cal-hero::after {
    background: linear-gradient(
      90deg,
      rgba(0, 47, 92, 0.98) 0%,
      rgba(0, 59, 115, 0.88) 58%,
      rgba(0, 47, 92, 0.48) 100%
    );
  }

  /* Selector preventivo y correctivo */
  .sp-switcher-inner {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sp-switcher a {
    min-width: 0;
    padding: 8px 6px;
    text-align: center;
  }

  .sp-switcher-label {
    max-width: 94%;
  }

  /* Tarjetas y contenido */
  .sp-card-grid,
  .sp-two-cards,
  .sp-material-grid,
  .sp-process-grid,
  .sp-equipment-grid,
  .sp-custom-grid,
  .sp-operations-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sp-solution-card,
  .sp-material-card,
  .sp-material-main,
  .sp-operation-item,
  .sp-note {
    min-width: 0;
  }

  .sp-material-main {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Cotización de fabricación: una sola columna */
  .sp-quote-shell {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .sp-quote-copy,
  .sp-quote-form {
    grid-column: 1;
    width: 100%;
    min-width: 0;
  }

  .sp-quote-copy > img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .sp-quote-form {
    grid-template-columns: minmax(0, 1fr);
    padding: 23px 19px;
  }

  .sp-field,
  .sp-field input,
  .sp-field select,
  .sp-field textarea {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .sp-field-full,
  .sp-quote-form .sp-btn {
    grid-column: auto;
  }

  /* Llamados a la acción */
  .sp-cta-actions,
  .sp-cta-actions .sp-btn,
  .sp-quote-form .sp-btn {
    width: 100%;
  }

  .sp-maint-cta-copy {
    min-width: 0;
    align-items: flex-start;
  }

  /* Pie de página de servicios */
  .sp-footer .footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sp-footer-line,
  .sp-footer-line span,
  .sp-footer a {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* Celulares pequeños */
@media (max-width: 420px) {
  .sp-page .brand-logo img {
    width: 140px;
  }

  .sp-special-list,
  .sp-material-foot .sp-tags {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==========================================
   NAVEGACIÓN MÓVIL: VOLVER A SERVICIOS
   VISIBLE SOLO EN PÁGINAS INTERNAS
========================================== */

.sp-back-link {
  display: none;
}

@media (max-width: 680px) {

  .sp-back-link {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    min-height: 42px;
    margin-bottom: 22px;
    padding: 0 14px;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 8px;
    background: rgba(0, 34, 69, 0.62);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    backdrop-filter: blur(3px);
  }

  .sp-back-link svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* Separación correcta entre balanza y descripción */
  .sp-material-main {
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 18px 16px 0;
  }

  .sp-material-image {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 300px;
    padding: 6px 0 16px;
    overflow: hidden;
    border-bottom: 1px solid #dce8f1;
    background: #ffffff;
  }

  .sp-material-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }

  .sp-material-copy {
    position: relative;
    z-index: 2;
    padding: 20px 3px 0;
    background: #ffffff;
  }

  .sp-material-copy h2 {
    margin-top: 0;
  }
}

/* ==========================================
   AJUSTE MÓVIL: BALANZAS MÁS COMPACTAS
   EQUIPO COMPLETO Y CONTENIDO VISIBLE
========================================== */

@media (max-width: 680px) {

  .sp-material-image {
    height: 235px;
    padding: 4px 0 12px;
  }

  .sp-material-image img {
    width: auto;
    max-width: 85%;
    height: 100%;
    margin: 0 auto;
    object-fit: contain;
  }

  .sp-material-copy {
    padding-top: 16px;
  }

  .sp-material-copy h2 {
    margin-bottom: 7px;
    font-size: 20px;
  }

  .sp-material-copy > p {
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.4;
  }

  .sp-material-copy .sp-checks {
    margin-top: 10px;
    gap: 7px;
    font-size: 12px;
  }

  .sp-material-foot {
    padding: 0 18px 18px;
  }

  .sp-material-foot .sp-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
}

/* ==========================================
   CORRECCIÓN DEFINITIVA MÓVIL: IMAGEN COMPLETA
   INDICADOR, POSTE Y PLATAFORMA SIN RECORTES
========================================== */

@media (max-width: 680px) {

  .sp-fab-page .sp-material-image {
    display: flex;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 12px 0 14px;
    align-items: center;
    justify-content: center;
    overflow: visible;
  }

  .sp-fab-page .sp-material-image img {
    display: block;
    width: min(48vw, 165px);
    max-width: 165px;
    height: auto;
    max-height: none;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
  }
}
