:root{--rojo:#E83038;--celeste:#00B0F8;--negro:#202020;--grafito:#40464D;--gris:#E9ECEF;--gris2:#DDE2E7;--txt:#202020;--muted:#40464D;--radius:20px;--shadow:0 18px 42px rgba(32,32,32,.14)}
*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:var(--gris);color:var(--txt)}button{font:inherit} .container{width:min(1200px,92%);margin:auto}.navbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--gris2);box-shadow:0 10px 30px rgba(0,0,0,.06)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-weight:900;color:var(--negro)}.brand img{width:176px;height:auto;display:block}.brand small{display:block;color:#374151;font-size:13.5px;font-weight:900;line-height:1;white-space:nowrap;max-width:none;letter-spacing:.1px}.menu{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.nav-btn{border:0;background:transparent;text-decoration:none;font-weight:900;font-size:14px;letter-spacing:.4px;cursor:pointer;color:#2b2b2b}.nav-btn:hover,.nav-btn.active{color:var(--rojo)}.nav-btn.contact{background:var(--rojo);color:#fff;padding:14px 20px;border-radius:999px;box-shadow:0 12px 28px rgba(237,28,36,.28)}.screen{display:none}.screen.active{display:block}.hero{min-height:680px;color:#fff;background:url('../images/ataci-03-0ca7f9ac.webp');background-size:cover;background-position:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-180px;top:0;width:500px;height:100%;background:rgba(237,28,36,.84);transform:skewX(-18deg)}.hero-content{position:relative;z-index:2;padding:120px 0;max-width:820px}.eyebrow{color:var(--rojo);font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.02;text-transform:uppercase;letter-spacing:-2px;margin-bottom:20px}.hero h1 span{color:var(--rojo)}.hero p{font-size:20px;color:#f3f4f6;max-width:680px;margin-bottom:28px;line-height:1.55}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:14px 22px;font-weight:900;cursor:pointer}.btn.primary{background:var(--rojo);color:#fff;box-shadow:0 12px 28px rgba(237,28,36,.3)}.btn.dark{background:#111827;color:#fff}.section{padding:58px 0}.section-head{margin-bottom:28px}.section-head .sup{font-weight:900;color:var(--rojo);letter-spacing:.8px;text-transform:uppercase;font-size:13px}.section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.05;color:var(--negro);margin:8px 0 10px;text-transform:uppercase}.section-head p{color:var(--muted);max-width:760px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:6px solid var(--celeste);border-radius:24px;overflow:hidden;box-shadow:0 0 0 5px rgba(0,176,248,.18),0 12px 30px rgba(0,0,0,.08);transition:.25s;cursor:pointer;text-align:left;position:relative}.card:hover,.card:focus-visible{transform:translateY(-5px);box-shadow:0 0 0 5px rgba(232,48,56,.18),0 18px 42px rgba(0,0,0,.12);border:6px solid var(--rojo);outline:none}.card.selected{border:6px solid var(--celeste)!important;box-shadow:0 0 0 5px rgba(0,176,248,.18),0 12px 30px rgba(0,0,0,.08)!important}.card .img-wrap{border-bottom:2px solid rgba(0,176,248,.28)}.card:hover .img-wrap,.card:focus-visible .img-wrap{border-bottom:2px solid rgba(232,48,56,.35)}.card.selected .img-wrap{border-bottom:2px solid rgba(0,176,248,.28)}.card.selected h3,.card:hover h3,.card:focus-visible h3{color:var(--negro)}.card img{width:100%;height:245px;object-fit:cover}.card h3{font-size:24px;line-height:1.1;padding:20px 22px 24px;color:#111}.detail{background:#fff;border-radius:22px;border:1px solid var(--gris2);box-shadow:0 14px 34px rgba(0,0,0,.08);overflow:hidden}.detail-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:0}.detail-text{padding:44px}.detail-text h2{font-size:clamp(32px,4vw,54px);line-height:1.05;margin-bottom:18px;color:#111}.detail-text p{color:var(--muted);font-size:18px;line-height:1.65;margin-bottom:20px}.detail-img{min-height:390px;background:#eef2f7;overflow:hidden}.detail-img img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}.independent-image{margin:0}.pill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}.pill{background:#f9fafb;border:1px solid var(--gris2);border-left:5px solid var(--rojo);border-radius:14px;padding:14px;font-weight:800}.detail-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info{background:#fff;border:1px solid var(--gris2);border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(0,0,0,.06)}.info h3{font-size:22px;margin-bottom:10px;color:#111}.info p{color:var(--muted);line-height:1.6}.dataci{background:#fff;border-radius:22px;padding:42px;border:1px solid var(--gris2);box-shadow:0 12px 32px rgba(0,0,0,.08)}.dataci h2{font-size:clamp(44px,7vw,86px);line-height:.95;color:#111}.dataci .red{font-size:clamp(28px,4vw,44px);color:var(--rojo);font-weight:900;margin:16px 0 22px}.pdf-box{margin-top:24px;border:2px dashed #cbd5e1;border-radius:18px;padding:22px;background:#f8fafc}
.contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
.contact-panel{background:#fff;border-radius:28px;padding:32px;border:1px solid var(--gris2);box-shadow:0 18px 42px rgba(0,0,0,.08)}
.contact-panel .label{color:var(--rojo);font-weight:900;text-transform:uppercase;letter-spacing:.7px;font-size:13px;margin-bottom:10px}
.contact-panel h3{font-size:clamp(30px,4vw,46px);line-height:1.04;margin-bottom:22px;color:#111}
.contact-item{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid var(--gris2);border-radius:18px;background:#fff;margin-bottom:14px}
.contact-icon{width:52px;height:52px;border-radius:16px;background:#fff3f3;color:var(--rojo);display:grid;place-items:center;font-size:24px;font-weight:900;flex:0 0 52px}
.contact-item strong{display:block;color:#111;font-size:18px;margin-bottom:4px}
.contact-item span,.contact-item a{color:#5b6472;font-weight:700;line-height:1.35}
.map-panel{background:#fff;border-radius:28px;padding:32px;border:1px solid var(--gris2);box-shadow:0 18px 42px rgba(0,0,0,.08)}
.map-panel .label{color:#6b7280;font-weight:900;text-transform:uppercase;letter-spacing:.7px;font-size:13px;margin-bottom:10px}
.map-panel h3{font-size:clamp(30px,4vw,46px);line-height:1.04;margin-bottom:10px;color:#111}
.map-panel p{color:#5b6472;font-size:17px;margin-bottom:20px}
.map-frame{border-radius:22px;overflow:hidden;border:1px solid var(--gris2);height:420px;background:#eef2f7}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
.quick-contact{position:fixed;right:24px;bottom:96px;z-index:35;display:grid;gap:14px}
.quick-contact a{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:900;text-decoration:none;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.quick-contact .mail{background:var(--rojo)}
.quick-contact .wa{background:var(--celeste)}
.contact-note{margin-top:18px;padding:18px;border-radius:18px;background:#f9fafb;border:1px solid var(--gris2);color:#4b5563;line-height:1.55}.contact-form-panel{margin-top:28px;background:#fff;border-radius:28px;padding:34px;border:1px solid var(--gris2);box-shadow:0 18px 42px rgba(0,0,0,.08)}.contact-form-panel .label{color:var(--rojo);font-weight:900;text-transform:uppercase;letter-spacing:.7px;font-size:13px;margin-bottom:8px}.contact-form-panel h3{font-size:clamp(30px,4vw,44px);line-height:1.04;margin-bottom:8px;color:#111}.contact-form-panel p{color:#5b6472;margin-bottom:22px}.contact-form{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field label{font-size:13px;font-weight:900;color:#111}.field input,.field textarea{width:100%;border:1px solid #d8dee8;border-radius:14px;padding:14px 16px;font:inherit;background:#fff;color:#111;outline:none}.field input:focus,.field textarea:focus{border-color:var(--rojo);box-shadow:0 0 0 4px rgba(237,28,36,.10)}.field textarea{min-height:140px;resize:vertical}.submit-contact{justify-self:start;background:var(--rojo);color:#fff;border:0;border-radius:999px;padding:14px 22px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(237,28,36,.25)}.submit-contact:hover{background:var(--rojo-oscuro)}
footer{padding:28px 0;background:#111;color:#fff;text-align:center}.hidden{display:none!important}
.scope-block{margin-top:26px;border-top:1px solid var(--gris2);padding-top:18px}
.scope-block h3{font-size:24px;margin-bottom:14px;color:#111}
.scope-list{display:grid;gap:0;border:1px solid var(--gris2);border-radius:16px;overflow:hidden;background:#fff}
.scope-row{display:grid;grid-template-columns:230px 1fr;gap:18px;padding:15px 18px;border-bottom:1px solid var(--gris2);align-items:start}
.scope-row:last-child{border-bottom:0}.scope-row b{color:#111}.scope-row span{color:#374151;line-height:1.45}.detail-text.wide{padding:40px 44px}.detail-text.wide p{font-size:17px}.detail-hero.row-detail{grid-template-columns:1fr .95fr}.detail-hero.row-detail .detail-img{min-height:680px}.detail-hero.row-detail .detail-img img{min-height:680px;object-fit:cover;object-position:center}
@media(max-width:900px){.scope-row{grid-template-columns:1fr;gap:6px}.detail-hero.row-detail .detail-img,.detail-hero.row-detail .detail-img img{min-height:300px}}
@media(max-width:900px){.nav{align-items:flex-start;flex-direction:column;padding:14px 0}.service-grid,.info-grid,.detail-hero,.contact-wrap,.form-row{grid-template-columns:1fr}.detail-img{min-height:260px}.hero-content{padding:90px 0}.card img{height:210px}}

/* UI/UX: imágenes proporcionales y galería por ficha */
.card .img-wrap{width:100%;aspect-ratio:16/9;background:#eef2f7;overflow:hidden}.card .img-wrap img{width:100%;height:100%;object-fit:cover;display:block}.detail-img{display:flex;align-items:center;justify-content:center;background:#f8fafc}.detail-img img{width:100%;height:auto;max-height:680px;object-fit:contain;display:block}.detail-hero.row-detail .detail-img,.detail-hero.row-detail .detail-img img{min-height:0}.gallery-block{padding:0 44px 44px}.gallery-block h3{font-size:24px;margin:0 0 16px;color:#111}.image-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{border:1px solid var(--gris2);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.06);cursor:pointer}.gallery-item figure{aspect-ratio:4/3;background:#eef2f7;display:flex;align-items:center;justify-content:center}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.gallery-item span{display:block;padding:10px 12px;font-size:13px;font-weight:800;color:#374151}.image-modal{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.86);display:none;align-items:center;justify-content:center;padding:30px}.image-modal.active{display:flex}.image-modal img{max-width:min(1100px,94vw);max-height:86vh;object-fit:contain;border-radius:18px;background:#fff}.image-modal button{position:absolute;top:20px;right:24px;border:0;background:#fff;color:#111;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}@media(max-width:900px){.image-gallery{grid-template-columns:repeat(2,1fr)}.gallery-block{padding:0 24px 30px}.detail-img img{max-height:420px}}@media(max-width:560px){.image-gallery{grid-template-columns:1fr}}

/* VERSIÓN UI/UX: imagen de presentación arriba en cada ficha interna */
.detail-hero.top-detail,
.detail-hero.row-detail.top-detail{display:block;grid-template-columns:none}
.detail-hero.top-detail .detail-img{width:100%;min-height:0;aspect-ratio:16/7;background:#f8fafc;border-bottom:1px solid var(--gris2);display:flex;align-items:center;justify-content:center}
.detail-hero.top-detail .detail-img img{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;object-position:center;display:block}
.detail-hero.top-detail .detail-text{padding:40px 44px}
.detail-hero.top-detail .detail-text.wide{padding:40px 44px}
@media(max-width:900px){.detail-hero.top-detail .detail-img{aspect-ratio:16/10}.detail-hero.top-detail .detail-text,.detail-hero.top-detail .detail-text.wide{padding:28px 24px}}


/* === ATACI WEB PRO V2.1 - Mejoras UI/UX === */
:root{--azul:#0f1b2d;--azul2:#14243a;--linea:#e5e7eb}
.navbar{backdrop-filter:saturate(140%) blur(10px)}
.nav-btn{padding:10px 4px;border-radius:8px;transition:.2s}
.nav-btn.active{border-bottom:3px solid var(--rojo)}
.service-grid{align-items:stretch}
.card{border-radius:18px;background:#fff}
.card .img-wrap,.card>img:first-child{aspect-ratio:16/10;height:auto!important}
.card h3{min-height:82px;display:flex;align-items:center}
.detail{border-radius:26px;box-shadow:0 18px 45px rgba(15,23,42,.10)}
.detail-hero.top-detail{display:grid!important;grid-template-columns:minmax(460px,1.05fr) .95fr!important;align-items:stretch;background:#fff}
.detail-hero.top-detail .detail-img{grid-column:1!important;grid-row:1!important;width:100%!important;margin:0!important;border-radius:0!important;border-right:1px solid var(--linea)!important;border-bottom:0!important;aspect-ratio:auto!important;min-height:620px!important;background:#f8fafc!important;overflow:hidden!important}
.detail-hero.top-detail .detail-img img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important;background:#f8fafc!important;display:block!important}
.detail-hero.top-detail .detail-text,.detail-hero.top-detail .detail-text.wide{grid-column:2!important;grid-row:1!important;padding:48px 46px!important}
.detail-text h2{letter-spacing:-.8px}.detail-text p{max-width:760px}
.scope-table{margin-top:8px;border-radius:18px;overflow:hidden;border:1px solid var(--linea)}
.scope-row{background:#fff}.scope-row:nth-child(even){background:#fafafa}
.gallery-block{padding-top:8px}.image-gallery{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.gallery-item figure{aspect-ratio:16/10}.gallery-item img{object-fit:cover}.gallery-item:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(15,23,42,.13)}
.detail-section{padding-top:10px!important}.deliverable-grid,.projects-grid,.service-meta{gap:16px}
.floating-cta{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;gap:10px;align-items:center}
.floating-cta button{border:0;border-radius:999px;padding:13px 18px;font-weight:900;cursor:pointer;box-shadow:0 16px 35px rgba(0,0,0,.20)}
.floating-cta .quote{background:var(--rojo);color:#fff}.floating-cta .top{background:#111827;color:#fff;width:48px;height:48px;padding:0}
@media(max-width:980px){.detail-hero.top-detail{grid-template-columns:1fr!important}.detail-hero.top-detail .detail-img{grid-column:1!important;grid-row:1!important;min-height:0!important;aspect-ratio:16/9!important;border-right:0!important;border-bottom:1px solid var(--linea)!important}.detail-hero.top-detail .detail-text,.detail-hero.top-detail .detail-text.wide{grid-column:1!important;grid-row:2!important;padding:28px 24px!important}.floating-cta{right:14px;bottom:14px}.floating-cta .quote{display:none}}
@media(max-width:560px){.menu{gap:8px}.nav-btn{font-size:12px}.brand img{width:150px}.brand small{font-size:11.5px}.hero h1{font-size:38px}.section{padding:42px 0}.card h3{font-size:20px;min-height:72px}.scope-row{grid-template-columns:1fr!important}.detail-hero.top-detail .detail-img{aspect-ratio:16/11!important}}



/* === ATACI V2.2: presentación arriba izquierda y galería técnica 3x3 === */
.detail-section{padding-top:24px;}
.detail-section .container{width:min(1240px,94%);}
.detail-hero.top-detail{align-items:start!important;}
.detail-hero.top-detail .detail-img{align-self:start!important;align-items:flex-start!important;justify-content:flex-start!important;aspect-ratio:16/9!important;min-height:0!important;max-height:420px!important;background:#f8fafc;}
.detail-hero.top-detail .detail-img img{object-fit:contain!important;object-position:left top!important;width:100%!important;height:100%!important;min-height:0!important;max-height:420px!important;}
.detail-hero.top-detail .detail-text{align-self:start!important;padding-top:32px!important;}
.gallery-block{padding:0 28px 44px!important;width:100%!important;}
.gallery-block h3{display:flex;align-items:center;gap:10px;margin-bottom:18px!important;}
.gallery-block h3:after{content:'9 imágenes referenciales';font-size:12px;font-weight:900;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;}
.image-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;width:100%!important;max-width:none!important;}
.gallery-item{border-radius:14px!important;transition:.22s;}
.gallery-item:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.12)!important;}
.gallery-item figure{aspect-ratio:16/9!important;}
.gallery-item span{font-size:14px!important;padding:12px 14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
@media(max-width:900px){.detail-section{padding-top:12px}.detail-hero.top-detail{grid-template-columns:1fr!important}.detail-hero.top-detail .detail-img{max-height:340px!important}.detail-hero.top-detail .detail-img img{max-height:340px!important}.image-gallery{grid-template-columns:repeat(2,1fr)!important;max-width:none}.gallery-block{padding:0 24px 30px!important}}
@media(max-width:560px){.image-gallery{grid-template-columns:1fr!important}}


/* ATACI V2.5 - Galería técnica 3 columnas en todo el ancho */
.detail .gallery-block{padding-left:28px!important;padding-right:28px!important;}
.detail .image-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;width:100%!important;max-width:none!important;}
.detail .gallery-item{width:100%!important;}
.detail .gallery-item figure{aspect-ratio:16/9!important;}
.detail .gallery-item img{width:100%!important;height:100%!important;object-fit:cover!important;}
.detail .gallery-item span{font-size:14px!important;padding:12px 14px!important;text-align:center!important;}
@media(max-width:900px){.detail .image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.detail .gallery-block{padding-left:22px!important;padding-right:22px!important;}}
@media(max-width:560px){.detail .image-gallery{grid-template-columns:1fr!important;}}

.industries-section{padding:74px 0;background:linear-gradient(180deg,#fff 0%,var(--gris) 100%)}
.industries-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:30px}
.industry-card{background:#fff;border:1px solid var(--gris2);border-top:4px solid var(--celeste);border-radius:18px;padding:22px 18px;min-height:132px;box-shadow:0 10px 24px rgba(32,32,32,.07);transition:.25s ease}
.industry-card:hover{transform:translateY(-4px);border-top-color:var(--rojo);box-shadow:var(--shadow)}
.industry-card .industry-icon{font-size:28px;margin-bottom:12px;display:block}
.industry-card h3{font-size:17px;margin:0 0 7px;color:var(--negro)}
.industry-card p{font-size:13px;line-height:1.45;color:var(--muted);margin:0}
@media(max-width:980px){.industries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.industries-grid{grid-template-columns:1fr}}

/* V2.4 · Imagen de presentación más amplia para todas las fichas de servicios y productos */
.detail-section{padding-top:18px!important;}
.detail-section .container{width:min(1320px,96%)!important;}
.detail-hero.top-detail{
  display:grid!important;
  grid-template-columns:minmax(560px,1.18fr) minmax(420px,.82fr)!important;
  gap:0!important;
  align-items:stretch!important;
}
.detail-hero.top-detail .detail-img{
  width:100%!important;
  min-height:560px!important;
  height:560px!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  background:#e5e7eb!important;
  border-right:1px solid var(--linea)!important;
  overflow:hidden!important;
}
.detail-hero.top-detail .detail-img img{
  width:100%!important;
  height:100%!important;
  min-height:560px!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.detail-hero.top-detail .detail-text,.detail-hero.top-detail .detail-text.wide{
  padding:46px 42px!important;
  align-self:center!important;
}
@media(max-width:1100px){
  .detail-hero.top-detail{grid-template-columns:1fr!important;}
  .detail-hero.top-detail .detail-img{height:auto!important;min-height:0!important;aspect-ratio:16/9!important;border-right:0!important;border-bottom:1px solid var(--linea)!important;}
  .detail-hero.top-detail .detail-img img{min-height:0!important;height:100%!important;}
}
@media(max-width:560px){
  .detail-section .container{width:100%!important;}
  .detail{border-radius:0!important;}
  .detail-hero.top-detail .detail-img{aspect-ratio:4/3!important;}
  .detail-hero.top-detail .detail-text,.detail-hero.top-detail .detail-text.wide{padding:28px 20px!important;}
}

/* ATACI V2.5 - Galería técnica 3 columnas en todo el ancho */
.detail .gallery-block{padding-left:28px!important;padding-right:28px!important;}
.detail .image-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;width:100%!important;max-width:none!important;}
.detail .gallery-item{width:100%!important;}
.detail .gallery-item figure{aspect-ratio:16/9!important;}
.detail .gallery-item img{width:100%!important;height:100%!important;object-fit:cover!important;}
.detail .gallery-item span{font-size:14px!important;padding:12px 14px!important;text-align:center!important;}
@media(max-width:900px){.detail .image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.detail .gallery-block{padding-left:22px!important;padding-right:22px!important;}}
@media(max-width:560px){.detail .image-gallery{grid-template-columns:1fr!important;}}

/* === ATACI.SAC · Ajuste profesional mínimo con paleta oficial ===
   Rojo #E83038 | Celeste #00B0F8 | Negro #202020 | Grafito #40464D | Gris #E9ECEF | Blanco #FFFFFF
   Sin degradados: se usan bloques y transparencias planas. */
:root{
  --rojo:#E83038;
  --celeste:#00B0F8;
  --negro:#202020;
  --grafito:#40464D;
  --gris:#E9ECEF;
  --gris2:#DDE2E7;
  --txt:#202020;
  --muted:#40464D;
  --azul:#202020;
  --azul2:#40464D;
  --linea:#DDE2E7;
  --rojo-oscuro:#C91F28;
  --shadow:0 18px 42px rgba(32,32,32,.14);
}
body{background:var(--gris)!important;color:var(--txt)!important;}
.navbar{background:#fff!important;border-bottom:1px solid var(--gris2)!important;box-shadow:0 10px 28px rgba(32,32,32,.08)!important;}
.brand small{color:var(--grafito)!important;letter-spacing:.2px!important;}
.nav-btn{color:var(--grafito)!important;}
.nav-btn:hover,.nav-btn.active{color:var(--rojo)!important;}
.nav-btn.active{border-bottom-color:var(--rojo)!important;}
.nav-btn.contact,.btn.primary,.submit-contact,.floating-cta .quote{background:var(--rojo)!important;color:#fff!important;box-shadow:0 12px 28px rgba(232,48,56,.25)!important;}
.btn.dark,.floating-cta .top{background:var(--negro)!important;color:#fff!important;}
/* Portada: conserva el corte diagonal rojo, sin usar degradados */
.hero{background-image:url('../images/ataci-03-0ca7f9ac.webp')!important;background-size:cover!important;background-position:center!important;}
.hero:before{content:"";position:absolute;inset:0;background:rgba(32,32,32,.72);z-index:1;pointer-events:none;}
.hero:after{background:rgba(232,48,56,.92)!important;width:520px!important;right:-205px!important;transform:skewX(-18deg)!important;z-index:1;pointer-events:none;}
.hero-content{position:relative!important;z-index:2!important;}
.eyebrow{color:var(--celeste)!important;}
.hero h1 span{color:#fff!important;background:var(--rojo)!important;padding:0 .12em;border-radius:8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.section-head .sup,.contact-panel .label,.contact-form-panel .label{color:var(--rojo)!important;}
.section-head h2,.detail-text h2,.dataci h2,.contact-panel h3,.map-panel h3,.contact-form-panel h3{color:var(--negro)!important;}
.section-head p,.detail-text p,.info p,.map-panel p,.contact-note{color:var(--grafito)!important;}
.card,.detail,.info,.dataci,.contact-panel,.map-panel,.contact-form-panel{border-color:var(--gris2)!important;box-shadow:0 14px 34px rgba(32,32,32,.08)!important;}
.card:hover{border-color:rgba(232,48,56,.55)!important;box-shadow:0 18px 42px rgba(32,32,32,.14)!important;}
.card h3{color:var(--negro)!important;}
.pill{border-left-color:var(--rojo)!important;background:#fff!important;color:var(--grafito)!important;}
.scope-row b{color:var(--negro)!important;}
.scope-row span{color:var(--grafito)!important;}
.contact-icon{background:var(--gris)!important;color:var(--rojo)!important;border:1px solid var(--gris2)!important;}
.contact-icon.whatsapp-icon{background:var(--celeste)!important;color:#fff!important;border-color:var(--celeste)!important;}
.contact-item a,.contact-item span{color:var(--grafito)!important;}
.field input:focus,.field textarea:focus{border-color:var(--rojo)!important;box-shadow:0 0 0 4px rgba(232,48,56,.10)!important;}
.quick-contact{right:24px!important;bottom:96px!important;}
.quick-contact a{width:60px!important;height:60px!important;border-radius:50%!important;box-shadow:0 16px 32px rgba(32,32,32,.22)!important;transition:transform .18s ease, box-shadow .18s ease!important;}
.quick-contact a:hover{transform:translateY(-3px)!important;box-shadow:0 20px 38px rgba(32,32,32,.26)!important;}
.quick-contact .mail{background:var(--rojo)!important;color:#fff!important;}
.quick-contact .wa{background:var(--celeste)!important;color:#fff!important;}
.wa-icon{width:30px;height:30px;display:block;fill:currentColor;}
.contact-icon .wa-icon{width:28px;height:28px;}
footer{background:var(--negro)!important;}
@media(max-width:560px){.quick-contact a{width:54px!important;height:54px!important}.wa-icon{width:27px;height:27px}.hero:after{width:360px!important;right:-210px!important}}

/* V8 · Identidad ATACI sin tocar la portada / página principal */
:root{
  --ataci-rojo:#E83038;
  --ataci-celeste:#00B0F8;
  --ataci-negro:#202020;
  --ataci-grafito:#40464D;
  --ataci-gris:#E9ECEF;
  --ataci-blanco:#FFFFFF;
}

/* Tarjetas de servicios y productos: siempre celeste; rojo solo al pasar encima */
#servicios .card,
#productos .card{
  border:6px solid var(--ataci-celeste)!important;
  border-radius:24px!important;
  background:var(--ataci-blanco)!important;
  overflow:hidden!important;
  box-shadow:0 0 0 5px rgba(0,176,248,.18),0 16px 36px rgba(32,32,32,.10)!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
#servicios .card .img-wrap,
#productos .card .img-wrap{
  border-bottom:2px solid rgba(0,176,248,.32)!important;
}
#servicios .card:hover,
#servicios .card:focus-visible,
#productos .card:hover,
#productos .card:focus-visible{
  border:6px solid var(--ataci-rojo)!important;
  box-shadow:0 0 0 5px rgba(232,48,56,.20),0 20px 44px rgba(32,32,32,.16)!important;
  transform:translateY(-5px)!important;
  outline:none!important;
}
#servicios .card:hover .img-wrap,
#servicios .card:focus-visible .img-wrap,
#productos .card:hover .img-wrap,
#productos .card:focus-visible .img-wrap{
  border-bottom:2px solid rgba(232,48,56,.42)!important;
}
#servicios .card.selected,
#productos .card.selected{
  border:6px solid var(--ataci-celeste)!important;
  box-shadow:0 0 0 5px rgba(0,176,248,.18),0 16px 36px rgba(32,32,32,.10)!important;
}
#servicios .card.selected:hover,
#servicios .card.selected:focus-visible,
#productos .card.selected:hover,
#productos .card.selected:focus-visible{
  border:6px solid var(--ataci-rojo)!important;
  box-shadow:0 0 0 5px rgba(232,48,56,.20),0 20px 44px rgba(32,32,32,.16)!important;
}
#servicios .card h3,
#productos .card h3{
  color:var(--ataci-negro)!important;
  font-weight:900!important;
}

/* Identidad visual en secciones internas, sin afectar #inicio */
main > section:not(#inicio) .section-head .sup,
.detail-section .eyebrow,
#contacto .label,
#dataci .red{
  color:var(--ataci-celeste)!important;
}
main > section:not(#inicio) .section-head h2::after,
.detail-text h2::after{
  content:"";
  display:block;
  width:86px;
  height:5px;
  margin-top:14px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ataci-celeste) 0%,var(--ataci-celeste) 72%,var(--ataci-rojo) 72%,var(--ataci-rojo) 100%);
}
.detail,
.contact-panel,
.map-panel,
.contact-form-panel,
.dataci{
  border-top:5px solid var(--ataci-celeste)!important;
}
.pill,
.scope-row b{
  border-left-color:var(--ataci-celeste)!important;
}
.scope-table,
.scope-list{
  border-color:rgba(0,176,248,.35)!important;
}
.gallery-item{
  border:2px solid rgba(0,176,248,.35)!important;
}
.gallery-item:hover{
  border-color:rgba(232,48,56,.70)!important;
}
.contact-icon{
  background:#e9f8ff!important;
  color:var(--ataci-celeste)!important;
}
.btn.dark{
  background:var(--ataci-grafito)!important;
}
.detail-actions .btn.dark:hover,
.submit-contact:hover{
  background:var(--ataci-celeste)!important;
}

/* Mantener intacta la portada */
#inicio .section-head .sup,
#inicio .eyebrow{
  color:var(--rojo)!important;
}
#inicio .section-head h2::after{
  content:none!important;
}

/* V17 · Contenido SEO, D’ATACI Knowledge Engine y fichas profesionales */
.seo-chips,.keyword-strip,.topic-cloud{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 28px}.seo-chips span,.keyword-strip span,.topic-cloud span{background:#eef9ff;border:1px solid rgba(0,176,248,.35);color:#25313b;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:800}.keyword-strip{margin:18px 0}.keyword-strip span{background:#f8fafc}.lead-detail{font-size:19px!important}.detail-content{padding:0 44px 44px}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.content-panel{background:#f8fafc;border:1px solid #dde5ed;border-radius:18px;padding:24px}.content-panel h3,.faq-block h3{font-size:24px;margin-bottom:16px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-grid span{background:white;border:1px solid #e5e7eb;border-radius:10px;padding:11px;font-weight:700;color:#374151}.faq-block{margin-top:22px}.faq-block details{background:#fff;border:1px solid #dce3ea;border-radius:12px;margin:10px 0;padding:0 18px}.faq-block summary{cursor:pointer;font-weight:900;padding:16px 0;color:#202020}.faq-block details p{padding:0 0 16px;color:#5b6472;line-height:1.6}.dataci-hero{display:grid;grid-template-columns:1.5fr .5fr;gap:28px;align-items:center}.dataci-badge{background:linear-gradient(135deg,#202020,#40464D);color:#fff;border-top:5px solid #00B0F8;border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:10px}.dataci-badge b{font-size:25px}.dataci-badge span{color:#00B0F8;font-weight:900}.dataci-badge small{line-height:1.55;color:#dce3e8}.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.knowledge-card{position:relative;background:#fff;border:1px solid #dce3ea;border-radius:18px;padding:24px;box-shadow:0 10px 26px rgba(0,0,0,.05);transition:.2s}.knowledge-card:hover{transform:translateY(-4px);border-color:#00B0F8}.knowledge-card>span{position:absolute;right:18px;top:14px;color:#dceff7;font-size:42px;font-weight:900}.knowledge-card h3{font-size:22px;margin:14px 0 10px;position:relative}.knowledge-card p{color:#5b6472;line-height:1.6;margin-bottom:15px}.knowledge-card small{display:block;margin-top:6px;color:#5b6472}.dataci-roadmap{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;margin-top:34px;background:#f3f6f8;border-left:6px solid #E83038;border-radius:18px;padding:30px}.dataci-roadmap h3{font-size:34px;margin-bottom:10px}.dataci-roadmap p{color:#5b6472;line-height:1.65}.roadmap-steps{display:grid;gap:10px}.roadmap-steps span{display:flex;align-items:center;gap:12px;background:white;border-radius:12px;padding:12px;font-weight:800}.roadmap-steps b{display:grid;place-items:center;background:#00B0F8;color:white;border-radius:50%;width:29px;height:29px}.topic-cloud{align-items:center;margin-bottom:0}.topic-cloud>b{margin-right:8px}.gallery-item img{background:#eef2f7}
@media(max-width:900px){.two-panels,.dataci-hero,.knowledge-grid,.dataci-roadmap{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr}.detail-content{padding:0 22px 30px}}

.hero p{
    color:#00B0F8 !important;
    font-weight:600;
    text-shadow:0 2px 8px rgba(0,0,0,.35);
}

#servicios .service-grid{align-items:stretch}
#servicios .card{display:flex;flex-direction:column;min-height:100%;text-align:left}
#servicios .card h3{min-height:auto;padding:18px 20px 8px}
#servicios .card .card-desc{padding:0 20px 14px;color:var(--grafito);font-size:14px;line-height:1.5;flex:1}
#servicios .card .card-keywords{display:flex;flex-wrap:wrap;gap:7px;padding:0 20px 18px}
#servicios .card .card-keywords span{font-size:11px;font-weight:800;color:#25313b;background:#eef9ff;border:1px solid rgba(0,176,248,.35);border-radius:999px;padding:6px 8px}
#servicios .card .card-link{margin:0 20px 20px;align-self:flex-start;color:var(--rojo);font-weight:900;font-size:13px}
@media(max-width:560px){#servicios .card .card-desc{font-size:13.5px}}

.service-intro{font-size:18px!important;line-height:1.7!important;margin:18px 0 4px!important;color:var(--grafito)!important}
.detail-content-v23{padding:0 44px 46px}
.detail-grid-v23{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.detail-panel-v23{background:#f8fafc;border:1px solid var(--gris2);border-radius:18px;padding:24px}
.detail-panel-v23 h3{font-size:22px;color:var(--negro);margin-bottom:15px}
.detail-list-v23{display:grid;gap:10px;list-style:none}
.detail-list-v23 li{position:relative;padding-left:22px;color:var(--grafito);line-height:1.5}
.detail-list-v23 li:before{content:'✓';position:absolute;left:0;top:0;color:var(--celeste);font-weight:900}
.process-v23{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:15px;counter-reset:step}
.process-v23 span{position:relative;background:#fff;border:1px solid rgba(0,176,248,.35);border-radius:14px;padding:42px 12px 14px;text-align:center;font-size:13px;font-weight:800;color:var(--grafito);min-height:105px}
.process-v23 span:before{counter-increment:step;content:counter(step);position:absolute;top:10px;left:50%;transform:translateX(-50%);width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--celeste);color:#fff;font-weight:900}
.service-note-v23{margin-top:20px;padding:16px 18px;border-left:5px solid var(--rojo);background:#fff6f6;border-radius:12px;color:var(--grafito);line-height:1.55}
@media(max-width:980px){.detail-grid-v23{grid-template-columns:1fr}.process-v23{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.detail-content-v23{padding:0 20px 30px}.process-v23{grid-template-columns:1fr 1fr}.detail-panel-v23{padding:20px}}

/* V24 · Fichas internas sin columnas desbalanceadas ni zonas vacías */
.detail-hero.top-detail,
.detail-hero.row-detail.top-detail{
  display:block!important;
  grid-template-columns:none!important;
}
.detail-hero.top-detail .detail-img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/7!important;
  border-right:0!important;
  border-bottom:1px solid var(--gris2)!important;
  background:#eef2f7!important;
}
.detail-hero.top-detail .detail-img img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
.detail-hero.top-detail .detail-text,
.detail-hero.top-detail .detail-text.wide{
  padding:38px 44px 30px!important;
}
.detail-content-v23{padding-top:0!important;}
#serv-ing-mecanica .detail-img img{object-position:center 48%!important;}
.contact-item span{display:block;}
@media(max-width:900px){
  .detail-hero.top-detail .detail-img{aspect-ratio:16/10!important;}
  .detail-hero.top-detail .detail-text,
  .detail-hero.top-detail .detail-text.wide{padding:28px 24px!important;}
}
@media(max-width:560px){
  .detail-hero.top-detail .detail-img{aspect-ratio:4/3!important;}
}

#servicios .card[data-target="serv-ing-mecanica"] .img-wrap,
#serv-ing-mecanica .detail-hero.top-detail .detail-img,
#serv-ing-mecanica .gallery-item:first-child figure{
  background:#f3f4f6!important;
}
#servicios .card[data-target="serv-ing-mecanica"] .img-wrap img{
  object-fit:contain!important;
  object-position:center center!important;
  padding:10px!important;
  background:#f3f4f6!important;
}
#serv-ing-mecanica .detail-hero.top-detail .detail-img{
  min-height:540px!important;
  height:540px!important;
}
#serv-ing-mecanica .detail-hero.top-detail .detail-img img{
  object-fit:contain!important;
  object-position:center center!important;
  padding:18px!important;
  background:#f3f4f6!important;
}
#serv-ing-mecanica .gallery-item:first-child img{
  object-fit:contain!important;
  object-position:center center!important;
  padding:8px!important;
  background:#f3f4f6!important;
}
@media(max-width:1100px){
  #serv-ing-mecanica .detail-hero.top-detail .detail-img{
    height:auto!important;
    aspect-ratio:16/10!important;
    min-height:0!important;
  }
  #serv-ing-mecanica .detail-hero.top-detail .detail-img img{
    padding:10px!important;
  }
}

/* Imagen completa y uniforme en la tarjeta y la ficha interna */
#servicios .card[data-target="serv-ing-mecanica"] .img-wrap,
#serv-ing-mecanica .detail-hero.top-detail .detail-img,
#serv-ing-mecanica .gallery-item:first-child figure{
  background:#F3F4F6!important;
}
#servicios .card[data-target="serv-ing-mecanica"] .img-wrap img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:8px!important;
  background:#F3F4F6!important;
}
#serv-ing-mecanica .detail-hero.top-detail .detail-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:14px!important;
  background:#F3F4F6!important;
}
#serv-ing-mecanica .gallery-item:first-child img{
  object-fit:contain!important;
  object-position:center!important;
  padding:6px!important;
  background:#F3F4F6!important;
}
@media(max-width:560px){
  #servicios .card[data-target="serv-ing-mecanica"] .img-wrap img,
  #serv-ing-mecanica .detail-hero.top-detail .detail-img img{
    padding:6px!important;
  }
}

/* V29 · Tarjetas uniformes con lienzo visual equivalente a 1600 × 1000 px (proporción 16:10) */
#servicios .service-grid,
#productos .service-grid{
  align-items:stretch!important;
}
#servicios .card,
#productos .card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:#FFFFFF!important;
}
#servicios .card .img-wrap,
#productos .card .img-wrap{
  width:100%!important;
  aspect-ratio:1600 / 1000!important;
  height:auto!important;
  flex:0 0 auto!important;
  overflow:hidden!important;
  background:#EEF2F7!important;
  border-bottom:2px solid rgba(0,176,248,.30)!important;
}
#servicios .card .img-wrap img,
#productos .card .img-wrap img,
#servicios .card[data-target="serv-ing-mecanica"] .img-wrap img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  background:#EEF2F7!important;
  transition:transform .35s ease!important;
}
#servicios .card:hover .img-wrap img,
#servicios .card:focus-visible .img-wrap img,
#productos .card:hover .img-wrap img,
#productos .card:focus-visible .img-wrap img{
  transform:scale(1.025)!important;
}
#servicios .card h3,
#productos .card h3{
  min-height:78px!important;
  padding:18px 20px 8px!important;
  display:flex!important;
  align-items:flex-start!important;
  margin:0!important;
}
#servicios .card .card-desc{
  min-height:66px!important;
  padding:0 20px 14px!important;
  margin:0!important;
  flex:1 1 auto!important;
}
#servicios .card .card-keywords{
  padding:0 20px 16px!important;
}
#servicios .card .card-link{
  margin:0 20px 20px!important;
  margin-top:auto!important;
}
@media(max-width:900px){
  #servicios .card h3,
  #productos .card h3{min-height:auto!important;}
  #servicios .card .card-desc{min-height:auto!important;}
}

/* V30 · Detalle de servicios sin espacios en blanco y con la misma lógica visual de las tarjetas */
.detail-section .container{
  width:min(1280px,94%)!important;
}
.detail{
  overflow:hidden!important;
}
.detail-hero.top-detail,
.detail-hero.row-detail{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.detail-hero.top-detail .detail-img,
.detail-hero.row-detail .detail-img,
.detail .detail-img{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  background:#eef2f7!important;
  display:block!important;
  overflow:hidden!important;
  border-right:0!important;
  border-bottom:1px solid var(--gris2)!important;
}
.detail-hero.top-detail .detail-img img,
.detail-hero.row-detail .detail-img img,
.detail .detail-img img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
.detail-hero.top-detail .detail-text,
.detail-hero.row-detail .detail-text,
.detail-hero.top-detail .detail-text.wide,
.detail-hero.row-detail .detail-text.wide{
  width:100%!important;
  padding:36px 40px 38px!important;
}
@media(max-width:900px){
  .detail-hero.top-detail .detail-img,
  .detail-hero.row-detail .detail-img,
  .detail .detail-img{
    aspect-ratio:4/3!important;
  }
  .detail-hero.top-detail .detail-text,
  .detail-hero.row-detail .detail-text,
  .detail-hero.top-detail .detail-text.wide,
  .detail-hero.row-detail .detail-text.wide{
    padding:28px 24px 30px!important;
  }
}

/* V31 · Detalle de servicios más compacto, equilibrado y profesional */
.detail-section .container{width:min(1260px,94%)!important;}
.detail-section .detail{
  padding:26px!important;
  border-radius:24px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.detail-section .detail .detail-hero.top-detail,
.detail-section .detail .detail-hero.row-detail,
.detail-section .detail .detail-hero.row-detail.top-detail{
  display:grid!important;
  grid-template-columns:minmax(320px,440px) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
  background:transparent!important;
}
.detail-section .detail .detail-img,
.detail-section .detail .detail-hero.top-detail .detail-img,
.detail-section .detail .detail-hero.row-detail .detail-img,
.detail-section .detail #serv-ing-mecanica .detail-img{
  width:100%!important;
  max-width:440px!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  margin:0!important;
  padding:0!important;
  background:#eef3f8!important;
  border:1px solid #dbe4ee!important;
  border-radius:20px!important;
  overflow:hidden!important;
  box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
  justify-self:start!important;
  align-self:start!important;
  border-right:1px solid #dbe4ee!important;
  border-bottom:1px solid #dbe4ee!important;
  max-height:none!important;
}
.detail-section .detail .detail-img img,
.detail-section .detail .detail-hero.top-detail .detail-img img,
.detail-section .detail .detail-hero.row-detail .detail-img img,
.detail-section .detail #serv-ing-mecanica .detail-img img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}
.detail-section .detail .detail-text,
.detail-section .detail .detail-text.wide,
.detail-section .detail .detail-hero.top-detail .detail-text,
.detail-section .detail .detail-hero.row-detail .detail-text{
  padding:6px 0 0!important;
  width:100%!important;
  align-self:start!important;
}
.detail-section .detail .detail-text h2{
  font-size:clamp(34px,4vw,56px)!important;
  margin-bottom:18px!important;
}
.detail-section .detail .detail-text p,
.detail-section .detail .service-intro{
  font-size:16.5px!important;
  line-height:1.72!important;
}
.detail-section .detail .pill-grid{
  margin-top:18px!important;
  gap:12px!important;
}
.detail-section .detail .pill{
  padding:12px 14px!important;
}
.detail-section .detail .scope-table{
  margin-top:18px!important;
}
.detail-section .detail .detail-actions{
  margin-top:24px!important;
}
.detail-section .detail .detail-content-v23{
  padding:26px 0 0!important;
}
.detail-section .detail .detail-grid-v23{
  gap:16px!important;
}
.detail-section .detail .detail-panel-v23{
  border-radius:18px!important;
  padding:22px!important;
}
.detail-section .detail .gallery-block{
  padding:26px 0 0!important;
}
@media (max-width: 980px){
  .detail-section .detail{
    padding:20px!important;
  }
  .detail-section .detail .detail-hero.top-detail,
  .detail-section .detail .detail-hero.row-detail,
  .detail-section .detail .detail-hero.row-detail.top-detail{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .detail-section .detail .detail-img,
  .detail-section .detail .detail-hero.top-detail .detail-img,
  .detail-section .detail .detail-hero.row-detail .detail-img,
  .detail-section .detail #serv-ing-mecanica .detail-img{
    max-width:none!important;
    aspect-ratio:16/10!important;
    justify-self:stretch!important;
  }
  .detail-section .detail .detail-text,
  .detail-section .detail .detail-text.wide,
  .detail-section .detail .detail-hero.top-detail .detail-text,
  .detail-section .detail .detail-hero.row-detail .detail-text{
    padding:0!important;
  }
}
@media (max-width: 560px){
  .detail-section .detail{
    padding:16px!important;
  }
  .detail-section .detail .detail-img,
  .detail-section .detail .detail-hero.top-detail .detail-img,
  .detail-section .detail .detail-hero.row-detail .detail-img,
  .detail-section .detail #serv-ing-mecanica .detail-img{
    aspect-ratio:4/3!important;
    border-radius:16px!important;
  }
  .detail-section .detail .detail-text h2{
    font-size:clamp(30px,8vw,42px)!important;
  }
  .detail-section .detail .detail-content-v23,
  .detail-section .detail .gallery-block{
    padding-top:20px!important;
  }
}

/* V32 · Unifica el estilo visual de todos los apartados dentro de Ver servicio */
.detail-section .container{width:min(1240px,94%)!important;}
.detail-section .detail{
  padding:24px!important;
  border-radius:24px!important;
  background:#fff!important;
}
.detail-section .detail .detail-hero,
.detail-section .detail .detail-hero.top-detail,
.detail-section .detail .detail-hero.row-detail,
.detail-section .detail .detail-hero.row-detail.top-detail{
  display:grid!important;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.detail-section .detail .detail-img,
.detail-section .detail .detail-hero .detail-img,
#serv-ing-mecanica .detail-hero.top-detail .detail-img,
#serv-cad-planos .detail-hero.top-detail .detail-img{
  width:100%!important;
  max-width:420px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/10!important;
  margin:0!important;
  padding:0!important;
  background:#eef2f7!important;
  border:1px solid #dbe4ee!important;
  border-radius:18px!important;
  overflow:hidden!important;
  justify-self:start!important;
  align-self:start!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
.detail-section .detail .detail-img img,
.detail-section .detail .detail-hero .detail-img img,
#serv-ing-mecanica .detail-hero.top-detail .detail-img img,
#serv-cad-planos .detail-hero.top-detail .detail-img img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#serv-ing-mecanica .gallery-item:first-child figure,
#serv-cad-planos .gallery-item:first-child figure{
  background:#eef2f7!important;
}
#serv-ing-mecanica .gallery-item:first-child img,
#serv-cad-planos .gallery-item:first-child img{
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  background:transparent!important;
}
.detail-section .detail .detail-text,
.detail-section .detail .detail-text.wide{
  padding:4px 0 0!important;
}
.detail-section .detail .detail-text h2{
  font-size:clamp(34px,4vw,56px)!important;
  line-height:1.06!important;
  margin-bottom:16px!important;
}
.detail-section .detail .detail-text p,
.detail-section .detail .service-intro{
  font-size:16.5px!important;
  line-height:1.7!important;
}
.detail-section .detail .scope-block,
.detail-section .detail .detail-actions,
.detail-section .detail .detail-content-v23,
.detail-section .detail .gallery-block{
  margin-top:22px!important;
}
.detail-section .detail .detail-content-v23,
.detail-section .detail .gallery-block{
  padding-top:0!important;
}
.detail-section .detail .detail-panel-v23{
  border-radius:18px!important;
  padding:22px!important;
}
@media (max-width: 980px){
  .detail-section .detail{
    padding:20px!important;
  }
  .detail-section .detail .detail-hero,
  .detail-section .detail .detail-hero.top-detail,
  .detail-section .detail .detail-hero.row-detail,
  .detail-section .detail .detail-hero.row-detail.top-detail{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .detail-section .detail .detail-img,
  .detail-section .detail .detail-hero .detail-img,
  #serv-ing-mecanica .detail-hero.top-detail .detail-img,
  #serv-cad-planos .detail-hero.top-detail .detail-img{
    max-width:none!important;
    justify-self:stretch!important;
  }
}
@media (max-width: 560px){
  .detail-section .detail{
    padding:16px!important;
  }
  .detail-section .detail .detail-img,
  .detail-section .detail .detail-hero .detail-img,
  #serv-ing-mecanica .detail-hero.top-detail .detail-img,
  #serv-cad-planos .detail-hero.top-detail .detail-img{
    aspect-ratio:4/3!important;
    border-radius:16px!important;
  }
}

#serv-ing-mecanica .image-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
#serv-ing-mecanica .gallery-item{
  display:flex!important;
  flex-direction:column!important;
  border:2px solid rgba(0,176,248,.35)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
}
#serv-ing-mecanica .gallery-item figure{
  aspect-ratio:16/10!important;
  padding:14px!important;
  background:#f4f7fa!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#serv-ing-mecanica .gallery-item img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:#f4f7fa!important;
}
#serv-ing-mecanica .gallery-item span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
  text-align:center!important;
  line-height:1.35!important;
  min-height:64px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 14px 14px!important;
  font-size:14px!important;
  font-weight:800!important;
}
@media (max-width:900px){
  #serv-ing-mecanica .image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:560px){
  #serv-ing-mecanica .image-gallery{grid-template-columns:1fr!important;}
}

/* V35 - Galería técnica Diseño Mecánico Industrial 3D */
#serv-ing-mecanica .gallery-block{padding-top:8px!important;}
#serv-ing-mecanica .gallery-block h3{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 18px!important;font-size:32px!important;line-height:1.1!important;color:#111827!important;}
#serv-ing-mecanica .gallery-block h3::after{content:"9 proyectos referenciales";display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:#eef2f7;color:#6b7280;font-size:14px;font-weight:800;letter-spacing:.01em;}
#serv-ing-mecanica .image-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;}
#serv-ing-mecanica .gallery-item{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;min-height:390px!important;border:2px solid rgba(0,176,248,.30)!important;border-radius:20px!important;overflow:hidden!important;background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%)!important;box-shadow:0 14px 32px rgba(15,23,42,.08)!important;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease!important;padding:0!important;}
#serv-ing-mecanica .gallery-item:hover{transform:translateY(-4px)!important;box-shadow:0 18px 38px rgba(15,23,42,.12)!important;border-color:rgba(0,176,248,.55)!important;}
#serv-ing-mecanica .gallery-item span{order:1!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:88px!important;padding:18px 18px 14px!important;margin:0!important;text-align:center!important;font-size:19px!important;line-height:1.22!important;font-weight:900!important;color:#1f2937!important;white-space:normal!important;overflow:visible!important;text-overflow:unset!important;background:#fff!important;border-bottom:1px solid #e5eef5!important;}
#serv-ing-mecanica .gallery-item figure{order:2!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;aspect-ratio:auto!important;min-height:250px!important;padding:18px!important;background:#f4f7fa!important;margin:0!important;}
#serv-ing-mecanica .gallery-item img{width:100%!important;height:100%!important;max-width:100%!important;max-height:260px!important;object-fit:contain!important;object-position:center center!important;display:block!important;background:transparent!important;}
@media (max-width:1100px){#serv-ing-mecanica .gallery-item{min-height:370px!important;}#serv-ing-mecanica .gallery-item span{font-size:17px!important;min-height:82px!important;}#serv-ing-mecanica .gallery-item img{max-height:230px!important;}}
@media (max-width:900px){#serv-ing-mecanica .image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}#serv-ing-mecanica .gallery-item{min-height:350px!important;}#serv-ing-mecanica .gallery-item span{font-size:16px!important;min-height:76px!important;}}
@media (max-width:560px){#serv-ing-mecanica .image-gallery{grid-template-columns:1fr!important;}#serv-ing-mecanica .gallery-block h3{font-size:26px!important;flex-wrap:wrap!important;}#serv-ing-mecanica .gallery-item{min-height:320px!important;}#serv-ing-mecanica .gallery-item span{font-size:15px!important;min-height:auto!important;padding:16px 14px 12px!important;}#serv-ing-mecanica .gallery-item figure{min-height:220px!important;padding:14px!important;}#serv-ing-mecanica .gallery-item img{max-height:220px!important;}}

/* V36 · Navegación contextual entre los servicios */
.detail-section .detail-media-col{
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
  min-width:0!important;
  align-self:stretch!important;
}
.detail-section .detail-media-col .detail-img{
  max-width:none!important;
  width:100%!important;
  flex:0 0 auto!important;
}
.related-services{
  width:100%;
  padding:22px;
  border:1px solid #dce5ed;
  border-top:5px solid var(--celeste);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%);
  box-shadow:0 12px 28px rgba(15,23,42,.07);
}
.related-services-head{
  margin-bottom:16px;
}
.related-services-head .related-eyebrow{
  display:block;
  margin-bottom:6px;
  color:var(--celeste);
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}
.related-services-head h3{
  margin:0 0 6px;
  color:#111827;
  font-size:24px;
  line-height:1.1;
}
.related-services-head p{
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.45;
}
.related-services-list{
  display:grid;
  gap:10px;
}
.related-service-link{
  width:100%;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 28px;
  gap:12px;
  align-items:center;
  min-height:72px;
  padding:8px;
  border:1px solid #dce5ed;
  border-radius:14px;
  background:#fff;
  color:#1f2937;
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.related-service-link:hover,
.related-service-link:focus-visible{
  transform:translateX(4px);
  border-color:var(--celeste);
  background:#f0faff;
  box-shadow:0 9px 20px rgba(0,176,248,.13);
  outline:none;
}
.related-service-thumb{
  width:76px;
  height:54px;
  overflow:hidden;
  border-radius:10px;
  background:#eaf0f5;
}
.related-service-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.related-service-title{
  min-width:0;
  font-size:14px;
  font-weight:900;
  line-height:1.28;
}
.related-service-arrow{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e9f8ff;
  color:var(--celeste);
  font-size:18px;
  font-weight:900;
  transition:background .18s ease,color .18s ease;
}
.related-service-link:hover .related-service-arrow,
.related-service-link:focus-visible .related-service-arrow{
  background:var(--celeste);
  color:#fff;
}
@media(max-width:980px){
  .related-services{
    padding:18px;
  }
  .related-services-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:650px){
  .related-services-list{
    grid-template-columns:1fr;
  }
  .related-service-link{
    grid-template-columns:70px minmax(0,1fr) 28px;
  }
  .related-service-thumb{
    width:70px;
    height:50px;
  }
}

/* V38 · Visor de galería con navegación anterior/siguiente */
.image-modal{
  padding:28px 92px!important;
  background:rgba(15,23,42,.90)!important;
  backdrop-filter:blur(5px);
}
.image-modal .modal-content{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:min(1120px,88vw);
  max-height:92vh;
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.image-modal .modal-content img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(92vh - 78px)!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:#fff!important;
}
.image-modal .modal-footer{
  width:100%;
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 22px;
  border-top:1px solid #e5e7eb;
  background:#fff;
}
.image-modal .modal-caption{
  color:#202020;
  font-size:16px;
  line-height:1.35;
  font-weight:900;
  text-align:left;
}
.image-modal .modal-counter{
  flex:0 0 auto;
  color:#6b7280;
  background:#f3f4f6;
  border-radius:999px;
  padding:7px 12px;
  font-size:13px;
  font-weight:900;
}
.image-modal button.modal-close{
  position:fixed!important;
  top:22px!important;
  right:26px!important;
  left:auto!important;
  z-index:3;
  width:48px;
  height:48px;
  padding:0!important;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#202020!important;
  font-size:29px!important;
  line-height:1!important;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.image-modal button.modal-nav{
  position:fixed!important;
  top:50%!important;
  transform:translateY(-50%);
  z-index:3;
  width:58px;
  height:58px;
  padding:0!important;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#202020!important;
  font-size:42px!important;
  line-height:1!important;
  font-family:Arial,Helvetica,sans-serif;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  transition:transform .18s ease,background .18s ease,color .18s ease;
}
.image-modal button.modal-prev{left:22px!important;right:auto!important;}
.image-modal button.modal-next{right:22px!important;left:auto!important;}
.image-modal button.modal-nav:hover,
.image-modal button.modal-nav:focus-visible{
  background:#00B0F8!important;
  color:#fff!important;
  transform:translateY(-50%) scale(1.07);
  outline:none;
}
.image-modal button.modal-close:hover,
.image-modal button.modal-close:focus-visible{
  background:#E83038!important;
  color:#fff!important;
  outline:none;
}
@media(max-width:760px){
  .image-modal{padding:72px 14px 88px!important;}
  .image-modal .modal-content{width:96vw;max-height:80vh;border-radius:18px;}
  .image-modal .modal-content img{max-height:calc(80vh - 92px)!important;}
  .image-modal .modal-footer{align-items:flex-start;min-height:82px;padding:13px 15px;}
  .image-modal .modal-caption{font-size:14px;}
  .image-modal button.modal-nav{
    top:auto!important;
    bottom:18px!important;
    transform:none!important;
    width:52px;
    height:52px;
    font-size:38px!important;
  }
  .image-modal button.modal-prev{left:calc(50% - 64px)!important;}
  .image-modal button.modal-next{right:calc(50% - 64px)!important;}
  .image-modal button.modal-nav:hover,
  .image-modal button.modal-nav:focus-visible{transform:scale(1.05)!important;}
  .image-modal button.modal-close{top:14px!important;right:14px!important;width:44px;height:44px;}
}

/* V39 · Configuración UI/UX unificada para las galerías de todos los servicios */
section.detail-section[id^="serv-"] .gallery-block{
  padding:8px 28px 44px!important;
}
section.detail-section[id^="serv-"] .gallery-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:0 0 18px!important;
}
section.detail-section[id^="serv-"] .gallery-head h3{
  margin:0!important;
  color:#111827!important;
  font-size:32px!important;
  line-height:1.1!important;
  font-weight:900!important;
}
section.detail-section[id^="serv-"] .gallery-head h3::after,
#serv-ing-mecanica .gallery-block h3::after{
  display:none!important;
  content:none!important;
}
section.detail-section[id^="serv-"] .gallery-count{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 14px!important;
  border:1px solid #d8dee6!important;
  border-radius:999px!important;
  background:#eef2f7!important;
  color:#6b7280!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
}
section.detail-section[id^="serv-"] .image-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  align-items:stretch!important;
}
section.detail-section[id^="serv-"] .gallery-item{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  min-height:390px!important;
  padding:0!important;
  overflow:hidden!important;
  border:2px solid rgba(0,176,248,.30)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.08)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
section.detail-section[id^="serv-"] .gallery-item:hover,
section.detail-section[id^="serv-"] .gallery-item:focus-visible{
  transform:translateY(-4px)!important;
  border-color:rgba(0,176,248,.58)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.13)!important;
  outline:none!important;
}
section.detail-section[id^="serv-"] .gallery-item span{
  order:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:88px!important;
  margin:0!important;
  padding:18px 18px 14px!important;
  border-bottom:1px solid #e5eef5!important;
  background:#fff!important;
  color:#1f2937!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:900!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
}
section.detail-section[id^="serv-"] .gallery-item figure{
  order:2!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:250px!important;
  margin:0!important;
  padding:18px!important;
  aspect-ratio:auto!important;
  background:#f4f7fa!important;
}
section.detail-section[id^="serv-"] .gallery-item img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:260px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}

/* Visor ampliado: título arriba y logo oficial ATACI en la esquina superior derecha */
.image-modal .modal-content{
  width:min(1180px,88vw)!important;
  max-height:94vh!important;
}
.image-modal .modal-header{
  width:100%;
  min-height:82px;
  display:grid;
  grid-template-columns:132px minmax(0,1fr) 132px;
  align-items:center;
  gap:14px;
  padding:14px 20px;
  border-bottom:1px solid #e5e7eb;
  background:#fff;
}
.image-modal .modal-header-balance{
  width:112px;
  height:1px;
}
.image-modal .modal-caption{
  color:#202020!important;
  font-size:18px!important;
  line-height:1.3!important;
  font-weight:900!important;
  text-align:center!important;
  white-space:normal!important;
}
.image-modal .modal-ataci-logo{
  justify-self:end;
  width:118px!important;
  height:auto!important;
  max-height:48px!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
}
.image-modal .modal-image-stage{
  width:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.image-modal .modal-image-stage #modalImage{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(94vh - 140px)!important;
  padding:10px 18px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:0!important;
  background:#fff!important;
}
.image-modal .modal-footer{
  min-height:50px!important;
  justify-content:center!important;
  padding:9px 18px 12px!important;
  border-top:1px solid #eef1f4!important;
  background:#fff!important;
}
.image-modal .modal-counter{
  color:#6b7280!important;
  background:#f3f4f6!important;
}

@media(max-width:1100px){
  section.detail-section[id^="serv-"] .gallery-item{min-height:370px!important;}
  section.detail-section[id^="serv-"] .gallery-item span{min-height:82px!important;font-size:17px!important;}
  section.detail-section[id^="serv-"] .gallery-item img{max-height:230px!important;}
}
@media(max-width:900px){
  section.detail-section[id^="serv-"] .gallery-block{padding-left:22px!important;padding-right:22px!important;}
  section.detail-section[id^="serv-"] .image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  section.detail-section[id^="serv-"] .gallery-item{min-height:350px!important;}
  section.detail-section[id^="serv-"] .gallery-item span{min-height:76px!important;font-size:16px!important;}
}
@media(max-width:760px){
  .image-modal .modal-content{width:96vw!important;max-height:82vh!important;}
  .image-modal .modal-header{
    min-height:76px;
    grid-template-columns:1fr 86px;
    gap:10px;
    padding:12px 14px;
  }
  .image-modal .modal-header-balance{display:none;}
  .image-modal .modal-caption{text-align:left!important;font-size:15px!important;}
  .image-modal .modal-ataci-logo{width:82px!important;max-height:38px!important;}
  .image-modal .modal-image-stage #modalImage{max-height:calc(82vh - 130px)!important;padding:8px!important;}
}
@media(max-width:560px){
  section.detail-section[id^="serv-"] .image-gallery{grid-template-columns:1fr!important;}
  section.detail-section[id^="serv-"] .gallery-head h3{font-size:26px!important;}
  section.detail-section[id^="serv-"] .gallery-item{min-height:320px!important;}
  section.detail-section[id^="serv-"] .gallery-item span{min-height:auto!important;padding:16px 14px 12px!important;font-size:15px!important;}
  section.detail-section[id^="serv-"] .gallery-item figure{min-height:220px!important;padding:14px!important;}
  section.detail-section[id^="serv-"] .gallery-item img{max-height:220px!important;}
}

/* Accesibilidad y navegación */
.skip-link{position:fixed;left:14px;top:-80px;z-index:9999;background:#202020;color:#fff;padding:12px 18px;border-radius:0 0 10px 10px;font-weight:800;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid #00B0F8!important;outline-offset:3px!important}
.menu-toggle{display:none;border:1px solid var(--gris2);background:#fff;color:var(--negro);width:48px;height:48px;border-radius:14px;font-size:25px;cursor:pointer;align-items:center;justify-content:center}
.navbar{isolation:isolate}.nav{position:relative}.nav-btn{min-height:44px}
.form-status{display:none;margin-bottom:20px;padding:16px 18px;border-radius:14px;border:1px solid #86efac;background:#f0fdf4;color:#166534;font-weight:800;line-height:1.5}.form-status.active{display:block}
.form-help{font-size:13px;color:#64748b;line-height:1.5}.file-field input[type=file]{padding:10px;background:#f8fafc}.consent-row{display:flex;align-items:flex-start;gap:10px;padding:12px 0}.consent-row input{width:20px;height:20px;margin-top:2px;flex:0 0 20px}.consent-row label{font-size:14px;line-height:1.55;color:#374151}.text-link{border:0;background:transparent;padding:0;color:#b91c1c;text-decoration:underline;cursor:pointer;font:inherit;font-weight:800}
.submit-contact[disabled]{opacity:.65;cursor:wait}
/* D'ATACI */
.dataci-search-panel{margin-top:30px;padding:24px;border:1px solid var(--gris2);border-radius:20px;background:#f8fafc}.dataci-search-panel label{display:block;font-weight:900;margin-bottom:9px;color:#111}.dataci-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.dataci-search-row input{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:14px 16px;font:inherit;background:#fff}.dataci-filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.dataci-filter{border:1px solid #bae6fd;background:#fff;color:#1f2937;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.dataci-filter.active,.dataci-filter:hover{background:var(--celeste);color:#fff;border-color:var(--celeste)}
.dataci-articles-title{font-size:30px;margin:38px 0 8px}.dataci-articles-intro{color:#5b6472;line-height:1.65;max-width:850px}.dataci-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.dataci-article{display:flex;flex-direction:column;min-height:270px;border:1px solid #dce3ea;border-radius:18px;background:#fff;padding:22px;box-shadow:0 10px 25px rgba(32,32,32,.05)}.dataci-article[hidden]{display:none}.dataci-article .topic{display:inline-flex;align-self:flex-start;border-radius:999px;background:#eef9ff;border:1px solid rgba(0,176,248,.35);padding:7px 10px;font-size:12px;font-weight:900;color:#334155}.dataci-article h3{font-size:21px;line-height:1.25;margin:15px 0 10px}.dataci-article p{color:#5b6472;line-height:1.58;margin-bottom:18px}.dataci-article .article-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.coming-soon{font-size:12px;font-weight:900;color:#64748b}.article-service{border:0;background:transparent;color:var(--rojo);font-weight:900;cursor:pointer;padding:8px 0}.dataci-disclaimer{margin-top:24px;border-left:5px solid var(--celeste);background:#f8fafc;border-radius:14px;padding:17px 19px;color:#475569;line-height:1.6}
/* Confianza comercial */
.trust-section{background:#fff}.trust-wrap{border-radius:26px;border:1px solid var(--gris2);background:#fff;padding:36px;box-shadow:0 16px 38px rgba(32,32,32,.08)}.trust-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.trust-head h2{font-size:clamp(30px,4vw,46px);line-height:1.08}.trust-head p{max-width:690px;color:#5b6472;line-height:1.65}.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.trust-card{border:1px solid #dce3ea;border-top:4px solid var(--celeste);border-radius:17px;padding:21px;background:#fdfefe}.trust-card h3{font-size:18px;margin-bottom:9px}.trust-card p,.trust-card a{color:#5b6472;line-height:1.55;font-size:14px}.trust-card a{font-weight:800}.trust-note{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:16px;background:#202020;color:#fff;padding:20px 22px}.trust-note p{line-height:1.5}.trust-note button{flex:0 0 auto}
/* Footer corporativo */
.site-footer{background:#171717;color:#e5e7eb;padding:38px 0 22px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:32px}.site-footer h3{color:#fff;font-size:18px;margin-bottom:12px}.site-footer p,.site-footer a{color:#cbd5e1;line-height:1.6;font-size:14px}.site-footer a:hover{color:#fff}.footer-links{display:grid;gap:7px}.footer-links button{justify-self:start;border:0;background:transparent;color:#cbd5e1;padding:2px 0;cursor:pointer;text-align:left}.footer-links button:hover{color:#fff;text-decoration:underline}.footer-bottom{margin-top:28px;padding-top:18px;border-top:1px solid #374151;display:flex;justify-content:space-between;gap:20px;color:#94a3b8;font-size:13px}
/* Modales legales */
.legal-modal{position:fixed;inset:0;z-index:120;background:rgba(15,23,42,.82);display:none;align-items:center;justify-content:center;padding:24px}.legal-modal.active{display:flex}.legal-dialog{position:relative;width:min(800px,96vw);max-height:86vh;overflow:auto;background:#fff;border-radius:22px;padding:34px;color:#202020}.legal-dialog h2{font-size:32px;margin-bottom:15px}.legal-dialog h3{font-size:19px;margin:22px 0 8px}.legal-dialog p,.legal-dialog li{color:#475569;line-height:1.65}.legal-dialog ul{padding-left:22px}.legal-close{position:absolute;right:16px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:#eef2f7;font-size:26px;cursor:pointer}
/* Mejoras móvil */
@media(max-width:980px){
  .menu-toggle{display:flex}.menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 1px);background:#fff;border:1px solid var(--gris2);border-radius:0 0 18px 18px;padding:14px;box-shadow:0 18px 35px rgba(0,0,0,.13);flex-direction:column;align-items:stretch;gap:6px}.menu.open{display:flex}.nav-btn{text-align:left;width:100%;padding:12px 14px;border-radius:10px}.nav-btn.contact{text-align:center}.brand img{width:145px}.brand small{font-size:11px;white-space:normal;max-width:230px}
  .dataci-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  .container{width:min(94%,1200px)}.section{padding:42px 0}.hero{min-height:620px}.hero-content{padding:88px 0}.hero p{font-size:17px}.actions .btn{width:100%}.form-row{grid-template-columns:1fr}.contact-form-panel,.contact-panel,.map-panel{padding:23px;border-radius:21px}.map-frame{height:330px}.quick-contact{right:14px;bottom:84px}.quick-contact a{width:52px;height:52px}.floating-cta .quote{display:none}
  .dataci{padding:24px}.dataci-search-row{grid-template-columns:1fr}.dataci-article-grid{grid-template-columns:1fr}.trust-wrap{padding:24px}.trust-head{display:block}.trust-head p{margin-top:10px}.trust-grid{grid-template-columns:1fr}.trust-note{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.legal-dialog{padding:28px 21px}.site-footer{padding-bottom:90px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

#contacto .contact-address{margin-bottom:8px!important;color:#374151!important;line-height:1.55!important}
#contacto .contact-institutional{
  margin-top:24px;
  padding:28px;
  border:1px solid var(--gris2);
  border-top:4px solid var(--celeste);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(32,32,32,.06);
}
#contacto .contact-institutional-head{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(280px,1.15fr);
  gap:28px;
  align-items:end;
  margin-bottom:20px;
}
#contacto .contact-institutional-head h3{
  margin-top:7px;
  font-size:clamp(25px,3vw,36px);
  line-height:1.12;
  color:#202020;
}
#contacto .contact-institutional-head p{
  color:#5b6472;
  line-height:1.65;
}
#contacto .contact-institutional-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
#contacto .contact-institutional-card{
  padding:21px;
  border:1px solid #dce3ea;
  border-radius:17px;
  background:#f8fafc;
}
#contacto .contact-institutional-card h4{
  margin:0 0 9px;
  font-size:18px;
  color:#202020;
}
#contacto .contact-institutional-card p{
  margin:0;
  color:#5b6472;
  line-height:1.6;
}
@media(max-width:760px){
  #contacto .contact-institutional{padding:22px}
  #contacto .contact-institutional-head,
  #contacto .contact-institutional-grid{grid-template-columns:1fr}
  #contacto .contact-institutional-head{gap:10px}
}

/* v2.3: contenido agregado desde el editor de WordPress */
.ataci-editor-content{background:#fff;border:1px solid var(--gris2);border-radius:18px;padding:24px 28px;margin:0 0 28px;line-height:1.7;color:var(--muted);box-shadow:0 10px 26px rgba(0,0,0,.05)}
.ataci-editor-content h2,.ataci-editor-content h3{color:var(--negro);margin:0 0 12px}.ataci-editor-content p{margin:0 0 12px}.ataci-editor-content ul,.ataci-editor-content ol{padding-left:22px;margin:0 0 12px}.ataci-editor-section .ataci-editor-content{margin-bottom:0}


/* ==============================================================
   ATACI Industrial Editor v2.4.1 — CORRECCIÓN EXCLUSIVA MÓVIL
   BASE EXACTA: v2.4
   NO se modifica escritorio ni contenido.
   Objetivo:
   - reducir altura del encabezado en celular/tablet;
   - mantener logo visible a la izquierda;
   - mantener texto institucional visible, pero más compacto;
   - colocar botón ☰ arriba a la derecha, opuesto al logo;
   - conservar TODAS las opciones del menú;
   - menú desplegable alineado a la derecha.
   ============================================================== */
@media (max-width:980px){
  .navbar .nav{
    min-height:66px!important;
    padding:6px 0!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
  }

  .navbar .brand{
    flex:1 1 auto!important;
    min-width:0!important;
    gap:1px!important;
  }

  .navbar .brand img,
  .navbar .brand .custom-logo{
    width:128px!important;
    max-width:128px!important;
    height:auto!important;
    max-height:44px!important;
    object-fit:contain!important;
  }

  .navbar .brand small{
    display:block!important;
    font-size:9px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    max-width:210px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    margin-top:1px!important;
  }

  .navbar .menu-toggle{
    display:flex!important;
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    margin-left:auto!important;
    align-self:center!important;
    border-radius:11px!important;
    font-size:23px!important;
  }

  .navbar .menu{
    display:none!important;
    position:absolute!important;
    left:auto!important;
    right:0!important;
    top:calc(100% + 1px)!important;
    width:min(300px,92vw)!important;
    padding:10px!important;
    border-radius:0 0 16px 16px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:5px!important;
    background:#fff!important;
    box-shadow:0 18px 35px rgba(0,0,0,.13)!important;
    z-index:50!important;
  }

  .navbar .menu.open{
    display:flex!important;
  }

  .navbar .nav-btn{
    width:100%!important;
    min-height:42px!important;
    padding:10px 12px!important;
    text-align:left!important;
    border-radius:9px!important;
    font-size:13px!important;
  }

  .navbar .nav-btn.contact{
    width:100%!important;
  }
}

@media (max-width:560px){
  .navbar .nav{
    min-height:62px!important;
    padding:5px 0!important;
  }

  .navbar .brand img,
  .navbar .brand .custom-logo{
    width:118px!important;
    max-width:118px!important;
    max-height:41px!important;
  }

  .navbar .brand small{
    font-size:8.4px!important;
    max-width:185px!important;
  }

  .navbar .menu-toggle{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    font-size:22px!important;
  }
}


/* ============================================================
   ATACI v2.4.6 — Desplegables en SERVICIOS y PRODUCTOS
   No agrega PROYECTOS ni modifica el resto del contenido.
   ============================================================ */
.menu .nav-item{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-parent-row{
  display:flex;
  align-items:center;
  gap:2px;
}
.submenu-toggle{
  border:0;
  background:transparent;
  color:var(--grafito);
  width:25px;
  height:32px;
  padding:0;
  display:grid;
  place-items:center;
  font-size:17px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  border-radius:7px;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.submenu-toggle:hover,
.submenu-toggle:focus-visible,
.submenu-toggle[aria-expanded="true"]{
  background:var(--gris);
  color:var(--rojo);
  outline:none;
}
.submenu-toggle[aria-expanded="true"]{
  transform:rotate(180deg);
}
.submenu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:100;
  width:390px;
  max-width:min(390px,92vw);
  padding:10px;
  background:#fff;
  border:1px solid var(--gris2);
  border-radius:14px;
  box-shadow:0 18px 45px rgba(32,32,32,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(7px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.submenu a{
  display:block;
  padding:11px 13px;
  border-radius:9px;
  color:var(--grafito);
  text-decoration:none;
  font-size:13px;
  line-height:1.3;
  font-weight:800;
}
.submenu a:hover,
.submenu a:focus-visible{
  background:var(--gris);
  color:var(--rojo);
  outline:none;
}
.submenu.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
@media(min-width:981px){
  .has-dropdown:hover > .submenu,
  .has-dropdown:focus-within > .submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
}
@media(max-width:980px){
  .menu .nav-item{
    width:100%;
    display:block;
  }
  .nav-parent-row{
    width:100%;
  }
  .nav-parent-row .nav-btn{
    flex:1 1 auto;
    width:auto!important;
  }
  .submenu-toggle{
    flex:0 0 42px;
    width:42px;
    height:42px;
    border:1px solid var(--gris2);
  }
  .submenu{
    position:static;
    width:100%;
    max-width:none;
    margin:4px 0 8px;
    padding:6px;
    border-radius:10px;
    box-shadow:none;
    transform:none;
    display:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    background:#f8f9fa;
  }
  .submenu.open{
    display:block;
  }
  .submenu a{
    font-size:12.5px;
    padding:10px 12px;
    border-bottom:1px solid #e8ebef;
  }
  .submenu a:last-child{
    border-bottom:0;
  }
}


/* ============================================================
   ATACI v2.4.7 — Submenús sin icono separado, mejor UI/UX
   ============================================================ */
.menu .nav-item{position:relative;display:flex;align-items:center}
.nav-parent-row{display:flex;align-items:center;position:relative}
.nav-parent-row > .nav-btn{position:relative}
@media(min-width:981px){
  .nav-parent-row > .nav-btn::after{
    content:'▾';
    display:inline-block;
    margin-left:8px;
    font-size:12px;
    color:#7a828a;
    transition:transform .18s ease,color .18s ease;
  }
  .has-dropdown:hover .nav-parent-row > .nav-btn::after,
  .has-dropdown:focus-within .nav-parent-row > .nav-btn::after{
    transform:translateY(1px);
    color:var(--rojo);
  }
}
.submenu{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  z-index:100;
  width:420px;
  max-width:min(420px,92vw);
  padding:12px;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(10px);
  border:1px solid rgba(64,70,77,.10);
  border-radius:18px;
  box-shadow:0 20px 48px rgba(15,23,42,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.submenu a{
  display:block;
  padding:12px 14px;
  margin:2px 0;
  border-radius:12px;
  color:var(--grafito);
  text-decoration:none;
  font-size:13.5px;
  line-height:1.35;
  font-weight:800;
}
.submenu a:hover,.submenu a:focus-visible{
  background:#f5f8fb;
  color:var(--rojo);
  outline:none;
}
.submenu .submenu-primary{
  background:linear-gradient(180deg,#fff6f6 0%,#fff 100%);
  color:var(--rojo);
  border:1px solid rgba(232,48,56,.12);
  margin-bottom:6px;
}
.submenu .submenu-primary::after{
  content:' →';
}
.submenu.open,
.has-dropdown:hover > .submenu,
.has-dropdown:focus-within > .submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
@media(max-width:980px){
  .menu .nav-item{width:100%;display:block}
  .nav-parent-row{width:100%}
  .nav-parent-row > .nav-btn{width:100%;justify-content:flex-start}
  .nav-parent-row > .nav-btn::after{content:''}
  .submenu{
    position:static;
    width:100%;
    max-width:none;
    margin:6px 0 12px;
    padding:8px;
    border-radius:16px;
    box-shadow:none;
    transform:none;
    display:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    background:#ffffff;
    border:1px solid #e6eaee;
  }
  .submenu.open{display:block}
  .submenu a{
    font-size:13px;
    padding:11px 12px;
    border-bottom:1px solid #eef2f5;
  }
  .submenu a:last-child{border-bottom:0}
}

.submenu-toggle{display:none !important;}


/* ============================================================
   ATACI v2.4.8 — Mejoras táctiles en submenús
   ============================================================ */
.nav-parent-row > .nav-btn{display:inline-flex;align-items:center;gap:8px}
@media(min-width:981px){
  .nav-parent-row > .nav-btn::after{
    margin-left:4px;
    font-size:11px;
    font-weight:900;
  }
}
.submenu{
  overflow:hidden;
}
.submenu a{
  min-height:44px;
  display:flex;
  align-items:center;
}
.submenu a:active{
  background:#f6f8fb;
}
@media(max-width:980px){
  .menu .has-dropdown.submenu-active > .nav-parent-row > .nav-btn,
  .menu .has-dropdown:focus-within > .nav-parent-row > .nav-btn{
    color:var(--rojo);
  }
  .submenu{
    margin-top:8px;
    padding:10px;
    border-radius:18px;
    box-shadow:0 10px 24px rgba(15,23,42,.08);
  }
  .submenu .submenu-primary{
    margin-bottom:8px;
  }
}


/* ============================================================
   ATACI v2.4.9 — Submenús estables en PC + centrados en móvil
   ============================================================ */

/* PC: elimina el hueco que hacía desaparecer el desplegable
   y añade una zona puente invisible entre pestaña y panel. */
@media(min-width:981px){
  .menu .has-dropdown{
    position:relative!important;
  }
  .menu .has-dropdown::before{
    content:"";
    position:absolute;
    left:-14px;
    right:-14px;
    top:100%;
    height:10px;
    background:transparent;
    z-index:99;
  }
  .menu .has-dropdown > .submenu{
    top:calc(100% + 4px)!important;
    z-index:100!important;
  }
  .menu .has-dropdown > .submenu.open,
  .menu .has-dropdown:hover > .submenu,
  .menu .has-dropdown:focus-within > .submenu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(-50%) translateY(0)!important;
  }
}

/* Celular/tablet: menú centrado y más ancho para que se lea completo. */
@media(max-width:980px){
  .navbar .menu{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:min(440px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 86px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:10px!important;
    scrollbar-width:thin;
  }

  .navbar .menu .nav-item{
    width:100%!important;
  }

  .navbar .menu .submenu{
    position:static!important;
    width:calc(100% - 4px)!important;
    max-width:none!important;
    margin:8px auto 12px!important;
    padding:9px!important;
    transform:none!important;
    border-radius:16px!important;
    overflow:visible!important;
  }

  .navbar .menu .submenu.open{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .navbar .menu .submenu a{
    width:100%!important;
    min-height:44px!important;
    padding:11px 12px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    line-height:1.3!important;
  }
}

@media(max-width:560px){
  .navbar .menu{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
  }
  .navbar .menu .submenu{
    width:100%!important;
  }
  .navbar .menu .submenu a{
    font-size:12.5px!important;
  }
}


/* ============================================================
   ATACI v2.4.10 — Prioridad a Galería Técnica en SERVICIOS
   ============================================================ */

/* En escritorio se conserva la navegación rápida junto a la imagen principal. */
.related-services-mobile{
  display:none!important;
}

/* La galería técnica aparece antes de los bloques de aplicaciones,
   entregables, información necesaria y metodología. */
section.detail-section[id^="serv-"] .gallery-block{
  margin-top:26px!important;
}

/* Móvil/tablet:
   - se retira "Otros servicios" de la zona superior;
   - se coloca casi al final, justo antes de la información complementaria final. */
@media(max-width:980px){
  section.detail-section[id^="serv-"] .related-services-desktop{
    display:none!important;
  }
  section.detail-section[id^="serv-"] .related-services-mobile{
    display:block!important;
    margin:26px 0 6px!important;
  }
}

/* En pantallas pequeñas se mantiene una lectura cómoda del bloque final. */
@media(max-width:560px){
  section.detail-section[id^="serv-"] .related-services-mobile{
    margin-top:22px!important;
  }
}


/* ============================================================
   ATACI v2.4.11 — Ajustes finales en fichas de SERVICIOS
   ============================================================ */

/* El bloque "Enfoque ATACI" fue eliminado de las fichas de servicios.
   En móvil, Navegación rápida / Otros servicios queda al final de la ficha. */
@media(max-width:980px){
  section.detail-section[id^="serv-"] .related-services-mobile{
    margin-top:30px!important;
    margin-bottom:0!important;
    border-top:1px solid var(--gris2);
    padding-top:24px;
  }
}


/* ============================================================
   ATACI v2.4.13 — 4 servicios principales
   Presentación 2x2 en escritorio para dar mayor jerarquía a cada capacidad.
   ============================================================ */
#servicios .service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:26px!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
#servicios .card{
  border-width:4px!important;
  box-shadow:0 0 0 4px rgba(0,176,248,.12),0 14px 34px rgba(32,32,32,.09)!important;
}
#servicios .card:hover,
#servicios .card:focus-visible{
  border-color:var(--rojo)!important;
  box-shadow:0 0 0 4px rgba(232,48,56,.10),0 20px 42px rgba(32,32,32,.14)!important;
}
#servicios .card h3{
  font-size:clamp(23px,2.1vw,31px)!important;
  line-height:1.05!important;
}
#servicios .card .card-desc{
  font-size:15px!important;
  line-height:1.55!important;
}
#servicios .section-head{
  max-width:980px;
}
#servicios .section-head p{
  max-width:900px!important;
}
@media(max-width:900px){
  #servicios .service-grid{grid-template-columns:1fr!important;gap:20px!important;}
}

/* v2.4.15 - Ajuste uniforme de imágenes dentro de tarjetas */
.service-grid .card .img-wrap,
#serviceGrid .card .img-wrap,
#productGrid .card .img-wrap{
  aspect-ratio: 16 / 10 !important;
  background: #f8fafc !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding: 8px !important;
}

.service-grid .card .img-wrap img,
#serviceGrid .card .img-wrap img,
#productGrid .card .img-wrap img,
.service-grid .card img,
#serviceGrid .card img,
#productGrid .card img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}


/* ============================================================
   ATACI v2.4.16 — Inicio alineado a los 4 servicios principales
   ============================================================ */
.ataci-capabilities-intro{
  background:#fff;
}
.ataci-capabilities-intro .section-head{
  max-width:980px;
}
.ataci-capabilities-intro .section-head p{
  max-width:900px;
}
.ataci-capabilities-intro .info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}
.ataci-capabilities-intro .capability-card{
  position:relative;
  display:block;
  min-height:245px;
  text-decoration:none;
  color:inherit;
  border-top:4px solid var(--celeste);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ataci-capabilities-intro .capability-card:hover,
.ataci-capabilities-intro .capability-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--rojo);
  box-shadow:0 18px 38px rgba(0,0,0,.10);
  outline:none;
}
.ataci-capabilities-intro .capability-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:15px;
  border-radius:999px;
  background:#eef9ff;
  color:#00A7EC;
  font-size:13px;
  font-weight:900;
}
.ataci-capabilities-intro .capability-card h3{
  font-size:22px;
  line-height:1.15;
}
.ataci-capabilities-intro .capability-card p{
  min-height:72px;
}
.ataci-capabilities-intro .capability-card b{
  display:inline-block;
  margin-top:8px;
  color:var(--rojo);
  font-size:13px;
}
@media(max-width:760px){
  .ataci-capabilities-intro .info-grid{
    grid-template-columns:1fr!important;
  }
  .ataci-capabilities-intro .capability-card{
    min-height:0;
  }
  .ataci-capabilities-intro .capability-card p{
    min-height:0;
  }
}


/* ============================================================
   ATACI v2.4.17 — Web profesional integral
   ============================================================ */

/* Header más corporativo y compacto */
.navbar{box-shadow:0 8px 24px rgba(15,23,42,.055)!important;}
.menu{gap:15px!important;}
.nav-btn{font-size:13px!important;letter-spacing:.5px!important;position:relative;padding:10px 2px!important;}
.nav-btn::before{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--rojo);transform:scaleX(0);transition:transform .18s ease;transform-origin:center;}
.nav-btn:hover::before,.nav-btn.active::before{transform:scaleX(1);}
.nav-btn.contact{background:transparent!important;color:#2b2b2b!important;padding:10px 2px!important;border-radius:0!important;box-shadow:none!important;}
.nav-btn.contact:hover,.nav-btn.contact.active{color:var(--rojo)!important;}

/* Hero refinado */
.hero{min-height:640px!important;}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,25,.86) 0%,rgba(12,18,25,.69) 48%,rgba(12,18,25,.23) 78%,rgba(12,18,25,.08) 100%);z-index:1;}
.hero:after{opacity:.92;}
.hero-content{max-width:870px!important;padding:112px 0 122px!important;}
.hero-content .eyebrow{font-size:14px;}
.hero h1{font-size:clamp(43px,5.4vw,74px)!important;max-width:850px;}
.hero p{font-size:19px!important;max-width:760px!important;color:#eef2f7!important;}

/* Secciones generales */
.centered-head{text-align:center;margin-left:auto;margin-right:auto;max-width:900px;}
.centered-head p{margin-left:auto;margin-right:auto;}
.section-link-row{margin-top:26px;text-align:right;}
.professional-link{display:inline-flex;align-items:center;text-decoration:none;color:var(--rojo);font-weight:900;font-size:14px;}
.professional-link:hover{text-decoration:underline;}

/* Capacidades */
.ataci-capabilities-intro{padding:76px 0!important;background:#f6f8fa!important;}
.ataci-capabilities-intro .capability-card{background:#fff;border:1px solid #e2e8f0!important;border-top:3px solid var(--celeste)!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(15,23,42,.055)!important;padding:28px!important;}
.ataci-capabilities-intro .capability-card:hover{border-top-color:var(--rojo)!important;}

/* Flujo de trabajo */
.ataci-process-section{padding:82px 0;background:#fff;}
.process-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:38px;border:1px solid #e2e8f0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.06);}
.process-flow article{padding:26px 20px;position:relative;border-right:1px solid #e8edf2;min-height:205px;}
.process-flow article:last-child{border-right:0;}
.process-flow article span{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#eef9ff;color:#009ee0;font-weight:900;font-size:12px;margin-bottom:18px;}
.process-flow article h3{font-size:17px;margin-bottom:10px;color:#17191c;}
.process-flow article p{font-size:13px;line-height:1.55;color:#5a636c;}

/* Productos en inicio */
.ataci-products-home{padding:82px 0;background:#f3f5f7;}
.home-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.home-product-card{display:block;background:#fff;border:1px solid #e1e6eb;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 10px 26px rgba(15,23,42,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.home-product-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(15,23,42,.10);border-color:#bddff0;}
.home-product-card figure{height:220px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.home-product-card img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:8px;}
.home-product-card>div{padding:20px 20px 22px;}
.home-product-card>div>span{color:#00a8ed;font-size:12px;font-weight:900;}
.home-product-card h3{font-size:20px;line-height:1.15;margin:8px 0 10px;color:#202020;}
.home-product-card p{font-size:14px;line-height:1.55;color:#5a636c;}

/* Sectores */
.professional-industries{padding:78px 0!important;background:#fff!important;}
.industry-professional-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.industry-professional-grid article{display:grid;grid-template-columns:50px 1fr;column-gap:14px;align-items:start;padding:20px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;}
.industry-professional-grid article span{grid-row:1/3;width:44px;height:44px;border-radius:12px;background:#eef9ff;color:#009ede;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:950;letter-spacing:.5px;}
.industry-professional-grid h3{font-size:17px;margin:1px 0 6px;color:#202020;}
.industry-professional-grid p{font-size:13px;line-height:1.5;color:#5d6670;}


/* D'ATACI en home */
.home-dataci-section{padding:72px 0;background:#f7f8fa;}
.home-dataci-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
.home-dataci-grid h2{font-size:clamp(30px,3.5vw,46px);line-height:1.08;margin:8px 0 15px;color:#202020;}
.home-dataci-grid p{line-height:1.65;color:#5a636c;max-width:720px;}
.dataci-topics{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-start;}
.dataci-topics span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #dfe5ea;font-size:12px;font-weight:800;color:#3f4851;}
.dataci-topics a{width:100%;margin-top:9px;text-decoration:none;color:var(--rojo);font-weight:900;}

/* CTA final */
.home-final-cta{padding:70px 0;background:#fff;}
.final-cta-card{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 42px;border-radius:22px;background:#202020;color:#fff;box-shadow:0 22px 50px rgba(15,23,42,.15);}
.final-cta-card>div{max-width:820px;}
.final-cta-card span{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#64d3ff;font-weight:900;}
.final-cta-card h2{font-size:clamp(27px,3.2vw,43px);line-height:1.08;margin:9px 0 12px;}
.final-cta-card p{color:#d7dce1;line-height:1.6;}
.final-cta-card>a{white-space:nowrap;text-decoration:none;}


/* Responsive */
@media(max-width:1050px){
  .process-flow{grid-template-columns:repeat(3,1fr);}
  .process-flow article{border-bottom:1px solid #e8edf2;}
  .home-product-grid{grid-template-columns:repeat(2,1fr);}
  .home-dataci-grid{grid-template-columns:1fr;}
  .industry-professional-grid{grid-template-columns:repeat(2,1fr);}
    .industry-professional-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:980px){
  .navbar .menu .nav-btn.contact{width:100%!important;text-align:left!important;padding:10px 12px!important;}
  .navbar .menu .nav-btn::before{display:none;}
}
@media(max-width:680px){
  .hero{min-height:560px!important;}
  .hero-content{padding:92px 0 96px!important;}
  .home-product-grid,.industry-professional-grid{grid-template-columns:1fr;}
  .process-flow{grid-template-columns:1fr;}
  .process-flow article{border-right:0;min-height:0;}
  .final-cta-card{flex-direction:column;align-items:flex-start;padding:30px 24px;}
  .home-product-card figure{height:200px;}
}


/* ============================================================
   ATACI v2.4.18 — Portafolio de productos industrial
   ============================================================ */
#productGrid .card{display:flex;flex-direction:column;height:100%;}
#productGrid .card .img-wrap{position:relative;aspect-ratio:16/10!important;background:#f3f6f8!important;padding:0!important;}
#productGrid .card .img-wrap img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important;}
#productGrid .card h3{padding:18px 20px 8px!important;font-size:21px!important;}
#productGrid .card-desc{padding:0 20px 12px!important;color:#59616a!important;font-size:14px!important;line-height:1.5!important;}
#productGrid .card-keywords{padding:0 20px 14px!important;}
#productGrid .card-link{margin:auto 20px 20px!important;color:var(--rojo)!important;font-weight:900!important;}
.reference-image-badge,.home-product-card figure>em{position:absolute;left:10px;top:10px;z-index:2;background:rgba(32,32,32,.78);color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;font-style:normal;letter-spacing:.15px;}
.home-product-card figure{position:relative;padding:0!important;background:#f3f6f8!important;}
.home-product-card img{padding:0!important;object-fit:cover!important;object-position:center!important;}
@media(max-width:760px){
  #productGrid .card h3{font-size:20px!important;}
  .reference-image-badge,.home-product-card figure>em{font-size:9px;padding:4px 8px;}
}


/* ============================================================
   ATACI v2.4.19 — Modelo integral + imágenes profesionales
   ============================================================ */
.home-product-card figure{
  aspect-ratio:16/10!important;
  background:#eef3f6!important;
  overflow:hidden!important;
}
.home-product-card figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  transition:transform .35s ease!important;
}
.home-product-card:hover figure img{transform:scale(1.025)}
.home-product-card figure em{display:none!important}

.ataci-success-system{
  padding:72px 0;
  background:linear-gradient(180deg,#f7fafc 0%,#fff 100%);
  border-top:1px solid #e7edf2;
  border-bottom:1px solid #e7edf2;
}
.ataci-success-system .section-head{max-width:920px;margin-bottom:28px}
.success-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  position:relative;
}
.success-flow article{
  position:relative;
  background:#fff;
  border:1px solid #dde6ed;
  border-radius:18px;
  padding:22px 18px 20px;
  box-shadow:0 10px 25px rgba(15,23,42,.05);
}
.success-flow article:not(:last-child)::after{
  content:'→';
  position:absolute;
  right:-13px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#00AEEF;
  font-weight:900;
  z-index:2;
}
.success-flow span{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#00B0F8;
  color:#fff;
  font-weight:900;
  font-size:12px;
  margin-bottom:12px;
}
.success-flow h3{font-size:17px;line-height:1.2;margin-bottom:9px;color:#1f2937}
.success-flow p{font-size:13px;line-height:1.55;color:#5b6470}
.success-pillars{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:20px;
}
.success-pillars article{
  background:#0f2740;
  color:#fff;
  border-radius:16px;
  padding:20px 22px;
}
.success-pillars b{font-size:16px}
.success-pillars p{margin-top:7px;color:#d9e5ef;font-size:13px;line-height:1.5}
@media(max-width:980px){
  .success-flow{grid-template-columns:1fr 1fr}
  .success-flow article:not(:last-child)::after{display:none}
}
@media(max-width:680px){
  .success-flow,.success-pillars{grid-template-columns:1fr}
  .ataci-success-system{padding:52px 0}
}


/* ============================================================
   ATACI v2.4.20 — Ecosistema: ingeniería + red industrial
   ============================================================ */
.ecosystem-principle{margin:28px auto 0;max-width:950px;padding:20px 24px;border:1px solid rgba(0,176,248,.28);border-left:5px solid var(--celeste);border-radius:16px;background:#f7fbfe;display:flex;gap:12px;align-items:flex-start;color:#26313b}.ecosystem-principle b{color:#111;white-space:nowrap}.ecosystem-principle span{line-height:1.55}.network-section{padding:64px 0;background:#fff}.network-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.network-grid article,.network-flow article{background:#fff;border:1px solid #dfe5eb;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.network-grid article span,.network-flow article span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;background:#eaf8ff;color:#009fdf;font-weight:900;margin-bottom:12px}.network-grid h3,.network-flow h3{font-size:19px;line-height:1.18;margin-bottom:9px;color:#171717}.network-grid p,.network-flow p{font-size:14px;line-height:1.55;color:#515b66}.ecosystem-success-flow{grid-template-columns:repeat(3,1fr)!important}.ecosystem-pillars{grid-template-columns:repeat(4,1fr)!important}.network-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.network-flow article{position:relative}.network-flow article:not(:nth-child(3n))::after{content:'→';position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--celeste);font-weight:900;font-size:22px;z-index:2}.home-product-card div p{min-height:48px}
@media(max-width:980px){.network-grid{grid-template-columns:repeat(2,1fr)}.ecosystem-success-flow{grid-template-columns:repeat(2,1fr)!important}.ecosystem-pillars{grid-template-columns:repeat(2,1fr)!important}.network-flow{grid-template-columns:repeat(2,1fr)}.network-flow article::after{display:none}.ecosystem-principle{flex-direction:column}.ecosystem-principle b{white-space:normal}}
@media(max-width:620px){.network-grid,.network-flow{grid-template-columns:1fr}.ecosystem-success-flow,.ecosystem-pillars{grid-template-columns:1fr!important}.network-section{padding:44px 0}}


/* ============================================================
   ATACI v2.4.22 — Productos relacionados por categoría
   ============================================================ */
.category-products{
  margin:34px 0 22px;
}
.category-products-head{
  margin-bottom:18px;
}
.category-products-head h3{
  margin:6px 0 8px;
  font-size:clamp(24px,2.2vw,34px);
  line-height:1.1;
}
.category-products-head p{
  max-width:900px;
  margin:0;
  color:var(--grafito);
}
.category-product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.category-product-card{
  background:#fff;
  border:1px solid #dfe6ec;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(32,32,32,.07);
}
.category-product-card figure{
  position:relative;
  margin:0;
  aspect-ratio:16/10;
  background:#f4f7f9;
  overflow:hidden;
}
.category-product-card figure img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.category-product-card figure small{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(32,32,32,.78);
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.category-product-copy{
  padding:18px;
}
.category-product-copy > span{
  display:block;
  margin-bottom:7px;
  color:var(--celeste);
  font-weight:900;
  font-size:12px;
}
.category-product-copy h4{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.16;
}
.category-product-copy p{
  margin:0 0 14px;
  color:var(--grafito);
  font-size:13.5px;
  line-height:1.55;
}
.category-product-copy button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:var(--rojo);
  font-weight:900;
  cursor:pointer;
}
.category-product-copy button:hover{
  text-decoration:underline;
}
@media(max-width:760px){
  .category-product-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   ATACI v2.4.23 — Fabricación por familias dentro de SERVICIOS
   ============================================================ */
.fab-catalog{
  margin:34px 0 24px;
  padding:28px;
  border:1px solid #dde5eb;
  border-radius:22px;
  background:#f8fafb;
}
.fab-catalog-head{
  max-width:950px;
  margin-bottom:22px;
}
.fab-catalog-head h3,
.fab-family-panel-head h3{
  margin:7px 0 9px;
  font-size:clamp(25px,2.4vw,36px);
  line-height:1.08;
}
.fab-catalog-head p,
.fab-family-panel-head p{
  margin:0;
  color:var(--grafito);
  line-height:1.55;
}
.fab-family-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.fab-family-grid.hidden{
  display:none;
}
.fab-family-card{
  appearance:none;
  border:1px solid #d9e2e8;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  padding:0;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(32,32,32,.06);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.fab-family-card:hover,
.fab-family-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--celeste);
  box-shadow:0 16px 34px rgba(32,32,32,.11);
  outline:none;
}
.fab-family-card figure,
.fab-product-card figure{
  position:relative;
  margin:0;
  aspect-ratio:16/10;
  background:#eef2f5;
  overflow:hidden;
}
.fab-family-card figure img,
.fab-product-card figure img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.fab-family-card figure small,
.fab-product-card figure small{
  position:absolute;
  top:11px;
  left:11px;
  z-index:2;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(32,32,32,.76);
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.fab-family-card > div{
  padding:17px;
}
.fab-family-card > div > span,
.fab-product-card > div > span{
  display:block;
  margin-bottom:6px;
  color:var(--celeste);
  font-size:12px;
  font-weight:900;
}
.fab-family-card h4,
.fab-product-card h4{
  margin:0 0 8px;
  font-size:19px;
  line-height:1.16;
}
.fab-family-card p,
.fab-product-card p{
  margin:0 0 12px;
  color:var(--grafito);
  font-size:13.2px;
  line-height:1.52;
}
.fab-family-card b{
  color:var(--rojo);
  font-size:13px;
}
.fab-family-panel{
  display:none;
}
.fab-family-panel.active{
  display:block;
  animation:fabFade .2s ease;
}
@keyframes fabFade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
.fab-family-panel-head{
  margin-bottom:18px;
}
.fab-back{
  margin:0 0 18px;
  border:0;
  background:transparent;
  color:var(--rojo);
  padding:0;
  font-weight:900;
  cursor:pointer;
}
.fab-product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.fab-product-card{
  overflow:hidden;
  border:1px solid #dce4ea;
  border-radius:17px;
  background:#fff;
}
.fab-product-card > div{
  padding:17px;
}
.fab-product-card button{
  border:0;
  background:transparent;
  padding:0;
  color:var(--rojo);
  font-weight:900;
  cursor:pointer;
}
.fab-product-card button:hover{
  text-decoration:underline;
}
@media(max-width:980px){
  .fab-family-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .fab-catalog{
    padding:18px 14px;
  }
  .fab-family-grid,
  .fab-product-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   ATACI v2.4.24 — Las 6 familias se mantienen como categorías generales
   y el listado de productos aparece debajo de la familia seleccionada.
   ============================================================ */
.fab-family-grid.hidden{display:grid!important;}
.fab-family-card{
  border:4px solid var(--celeste)!important;
  border-radius:20px!important;
  box-shadow:0 8px 20px rgba(32,32,32,.08)!important;
}
.fab-family-card.selected{
  border-color:var(--rojo)!important;
  box-shadow:0 12px 28px rgba(232,48,56,.13)!important;
}
.fab-family-card figure{
  aspect-ratio:16/10!important;
}
.fab-family-card > div{
  min-height:210px;
  display:flex;
  flex-direction:column;
}
.fab-family-card h4{
  font-size:21px!important;
  color:#202020;
}
.fab-family-card p{
  flex:1;
}
.fab-family-card b{
  margin-top:auto;
}
.fab-family-panels{
  margin-top:28px;
}
.fab-family-panel{
  padding:26px;
  border:1px solid #dce4ea;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(32,32,32,.06);
}
.fab-family-panel.active{
  display:block;
}
.fab-family-panel-head{
  padding-bottom:16px;
  border-bottom:1px solid #e7ecef;
}
.fab-product-grid{
  margin-top:20px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.fab-product-card{
  box-shadow:0 6px 18px rgba(32,32,32,.05);
}
@media(max-width:1050px){
  .fab-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  .fab-product-grid{grid-template-columns:1fr;}
  .fab-family-panel{padding:18px 14px;}
  .fab-family-card > div{min-height:0;}
}


/* ============================================================
   ATACI v2.4.25 — Producto base + variantes sin redundancias
   ============================================================ */
.fab-family-rule{
  margin-top:12px!important;
  padding:11px 13px;
  border-left:3px solid var(--celeste);
  border-radius:0 10px 10px 0;
  background:#f4faff;
  font-size:13px;
}
.fab-product-card{
  display:flex;
  flex-direction:column;
}
.fab-product-card-copy{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:17px;
}
.fab-product-card-copy > p{
  min-height:62px;
}
.fab-variants{
  margin:4px 0 16px;
  border:1px solid #dce5eb;
  border-radius:12px;
  background:#f8fafb;
  overflow:hidden;
}
.fab-variants summary{
  cursor:pointer;
  padding:11px 12px;
  color:#30363b;
  font-size:12.5px;
  font-weight:900;
  list-style:none;
}
.fab-variants summary::-webkit-details-marker{
  display:none;
}
.fab-variants summary::after{
  content:'＋';
  float:right;
  color:var(--celeste);
  font-size:14px;
}
.fab-variants[open] summary::after{
  content:'−';
}
.fab-variants summary em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:20px;
  margin-left:6px;
  padding:0 6px;
  border-radius:999px;
  background:#e9f7ff;
  color:#008fce;
  font-style:normal;
  font-size:10px;
}
.fab-variant-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:0 12px 12px;
}
.fab-variant-chips span{
  display:inline-flex;
  align-items:center;
  padding:6px 8px;
  border:1px solid #cdeafa;
  border-radius:999px;
  background:#fff;
  color:#3f474d;
  font-size:10.5px;
  line-height:1.2;
}
.fab-product-card-copy > button{
  margin-top:auto;
}
@media(max-width:680px){
  .fab-product-card-copy > p{
    min-height:0;
  }
}


/* ============================================================
   ATACI v2.4.26 — Fabricación normalizada, catálogo ligero
   ============================================================ */
.fab-family-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.fab-family-card{
  border-width:2px!important;
}
.fab-family-card > div{
  min-height:220px!important;
}
.fab-family-card h4{
  font-size:18px!important;
}
.fab-family-card p{
  font-size:12.8px!important;
}
.fab-family-card figure img{
  content-visibility:auto;
}
.fab-standards{
  margin:20px 0 26px;
  padding:18px;
  border:1px solid #dce6ec;
  border-radius:16px;
  background:#f8fbfd;
}
.fab-standards-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:8px 16px;
  margin-bottom:14px;
}
.fab-standards-title strong{
  font-size:17px;
}
.fab-standards-title span{
  color:#667078;
  font-size:11.5px;
}
.fab-standard-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.fab-standard-item{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  border:1px solid #dde7ed;
  border-radius:12px;
  background:#fff;
}
.fab-standard-item b{
  color:var(--rojo);
  font-size:13px;
}
.fab-standard-item span{
  color:#4b555d;
  font-size:11.5px;
  line-height:1.4;
}
.fab-products-head{
  margin:0 0 14px;
}
.fab-products-head h4{
  margin:5px 0 6px;
  font-size:22px;
}
.fab-products-head p{
  margin:0;
  color:#59636b;
  font-size:12.5px;
}
.fab-product-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fab-product-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:start;
  gap:13px;
  padding:14px;
  border:1px solid #e0e6eb;
  border-radius:14px;
  background:#fff;
}
.fab-product-index{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:#eef9ff;
  color:#009fdf;
  font-size:11px;
  font-weight:900;
}
.fab-product-main h5{
  margin:0 0 5px;
  color:#202020;
  font-size:16px;
  line-height:1.2;
}
.fab-product-main > p{
  margin:0 0 7px;
  color:#59636b;
  font-size:11.5px;
  line-height:1.45;
}
.fab-product-contact{
  align-self:center;
  border:0;
  background:transparent;
  color:var(--rojo);
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  white-space:nowrap;
}
.fab-standard-note{
  margin-top:18px;
  padding:13px 14px;
  border-left:4px solid var(--celeste);
  border-radius:0 11px 11px 0;
  background:#f5fafc;
  color:#566068;
  font-size:11.5px;
  line-height:1.5;
}
@media(max-width:1100px){
  .fab-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  .fab-family-grid{grid-template-columns:1fr!important;}
  .fab-standard-grid{grid-template-columns:1fr;}
  .fab-product-row{grid-template-columns:38px 1fr;}
  .fab-product-contact{grid-column:2;justify-self:start;}
  .fab-family-card > div{min-height:0!important;}
}


/* ============================================================
   ATACI v2.4.29 — D'ATACI técnico y orientado a captación
   ============================================================ */
.dataci-purpose{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:end;
  margin:28px 0 24px;
  padding:24px;
  border:1px solid #dfe6eb;
  border-radius:18px;
  background:#fff;
}
.dataci-purpose h3{
  margin:6px 0 0;
  font-size:clamp(24px,2.4vw,36px);
  line-height:1.08;
}
.dataci-purpose p{
  margin:0;
  color:#535d65;
  line-height:1.6;
}
.dataci-tools{
  margin:30px 0;
  padding:26px;
  border:1px solid #dbe5eb;
  border-radius:20px;
  background:#f7fafc;
}
.dataci-tools-head{
  max-width:900px;
  margin-bottom:18px;
}
.dataci-tools-head h3{
  margin:5px 0 7px;
  font-size:clamp(24px,2.3vw,34px);
}
.dataci-tools-head p{
  margin:0;
  color:#5c666e;
}
.dataci-tool-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.dataci-tool{
  position:relative;
  padding:20px;
  border:1px solid #dce5eb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(32,32,32,.05);
}
.dataci-tool-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin-bottom:10px;
  border-radius:999px;
  background:#eef9ff;
  color:#00a0df;
  font-size:11px;
  font-weight:900;
}
.dataci-tool h4{
  margin:0 0 8px;
  font-size:19px;
}
.dataci-formula{
  display:inline-block;
  margin:0 0 14px!important;
  padding:7px 10px;
  border-radius:9px;
  background:#202020;
  color:#fff!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;
}
.dataci-tool-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.dataci-tool-fields label{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#41494f;
  font-size:11px;
  font-weight:800;
}
.dataci-tool-fields input{
  width:100%;
  min-height:40px;
  box-sizing:border-box;
  border:1px solid #ccd6dd;
  border-radius:9px;
  padding:8px 10px;
  background:#fff;
  font:inherit;
}
.dataci-calc-btn{
  margin-top:14px;
}
.dataci-result{
  margin-top:12px;
  padding:11px 12px;
  border-left:3px solid var(--celeste);
  border-radius:0 9px 9px 0;
  background:#f1f9fd;
  color:#384148;
  font-size:12.5px;
  line-height:1.45;
}
.dataci-tool > small{
  display:block;
  margin-top:9px;
  color:#6b747b;
  font-size:10.5px;
  line-height:1.4;
}
.dataci-published{
  border-top:3px solid var(--celeste);
}
.published-label{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  background:#eef9ff;
  color:#008fc9;
  font-size:10px;
  font-weight:900;
}
.dataci-read{
  margin:13px 0 14px;
  border:1px solid #dce5eb;
  border-radius:11px;
  background:#f8fafb;
  overflow:hidden;
}
.dataci-read summary{
  cursor:pointer;
  padding:10px 12px;
  font-size:12px;
  font-weight:900;
  color:#30383e;
  list-style:none;
}
.dataci-read summary::-webkit-details-marker{
  display:none;
}
.dataci-read summary::after{
  content:'＋';
  float:right;
  color:var(--celeste);
}
.dataci-read[open] summary::after{
  content:'−';
}
.dataci-read-body{
  padding:0 12px 12px;
  color:#4c565e;
  font-size:12.2px;
  line-height:1.55;
}
.dataci-read-body p{
  margin:8px 0;
}
.dataci-lead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  margin:28px 0 18px;
  padding:24px;
  border-radius:18px;
  background:#202020;
  color:#fff;
}
.dataci-lead h3{
  margin:5px 0 7px;
  color:#fff;
  font-size:24px;
}
.dataci-lead p{
  margin:0;
  max-width:780px;
  color:#d7dde1;
  line-height:1.55;
}
@media(max-width:820px){
  .dataci-purpose,
  .dataci-tool-grid{
    grid-template-columns:1fr;
  }
  .dataci-lead{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:560px){
  .dataci-tools{
    padding:18px 14px;
  }
  .dataci-tool-fields{
    grid-template-columns:1fr;
  }
}
