/* About: real copy and navigation stay in the document; only the photograph is cropped. */
.about { padding:100px clamp(30px,7.2vw,122px); background:#f7f9fc; }
.about-layout { max-width:1420px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(44px,5vw,78px); align-items:center; }
.about-visual { position:relative; height:620px; overflow:hidden; border-radius:25px; background:#dce6f0; box-shadow:0 24px 60px rgba(11,31,72,.14); }
.about-visual>img { position:absolute; top:-10%; left:0; width:auto; max-width:none; height:120%; }
.about-visual::after { content:''; position:absolute; inset:64% 0 0; background:linear-gradient(transparent,rgba(5,18,43,.66)); pointer-events:none; }
.about-visual>span { position:absolute; z-index:1; left:26px; right:26px; bottom:23px; display:flex; align-items:end; justify-content:space-between; gap:15px; color:#fff; font-size:14px; font-weight:800; }
.about-visual small { color:#d5dfed; font-size:10px; font-weight:600; white-space:nowrap; }
.about-eyebrow { margin:0 0 18px; color:var(--magenta); text-transform:uppercase; letter-spacing:.19em; font-size:12px; font-weight:850; }
.about-content h2 { max-width:690px; margin:0; font-size:clamp(42px,4vw,62px); line-height:1.02; letter-spacing:-.055em; }
.about-content h2 em { color:var(--magenta); font-style:normal; }
.about-content .about-lead { margin:28px 0 0; color:var(--navy); font-size:19px; line-height:1.5; font-weight:680; }
.about-detail { margin:13px 0 0; color:var(--muted); font-size:15px; line-height:1.65; }
.about-content .about-pillars { margin-top:28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d5deea; border-bottom:0; }
.about-content .about-pillars article { min-height:0; padding:20px 13px 0; border-right:1px solid #d5deea; border-bottom:0; }
.about-content .about-pillars article:first-child { padding-left:0; }
.about-content .about-pillars article:last-child { border-right:0; }
.about-content .about-pillars span { margin:0 0 11px; font-size:11px; }
.about-content .about-pillars h3 { margin:0; font-size:15px; line-height:1.25; }
.mobile-swipe-cue { display:none; }

@media (max-width:900px) {
  .about-layout { grid-template-columns:1fr; gap:35px; }
  .about-visual { height:clamp(390px,67vw,590px); }
  .about-content h2 { max-width:780px; }
}

@media (max-width:790px) {
  html { scroll-padding-top:calc(var(--site-header-height, 125px) + 12px); }
  #inicio,#equipos,#insumos,#catalogo,#servicios,#nosotros,#contacto { scroll-margin-top:125px; }
  .site-header { position:sticky; top:0; z-index:50; height:auto; min-height:76px; grid-template-columns:1fr auto; gap:0; padding:4px 20px 0; box-shadow:0 5px 20px rgba(11,31,72,.06); }
  .site-header .brand { grid-column:1; grid-row:1; }
  .site-header .quote-button { grid-column:2; grid-row:1; }
  .site-header nav { grid-column:1/-1; grid-row:2; display:flex; justify-content:flex-start; gap:25px; overflow-x:auto; margin:0 -20px; padding:0 20px; border-top:1px solid #ecf0f5; white-space:nowrap; scrollbar-width:none; font-size:13px; }
  .site-header nav::-webkit-scrollbar { display:none; }
  .site-header nav a { flex:none; padding:11px 0 14px; }
  .site-header nav a::after { bottom:5px; }
  .mobile-swipe-cue { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:22px 0 10px; color:#61718d; font-size:12px; font-weight:750; }
  .mobile-swipe-cue span { color:var(--magenta); font-size:24px; line-height:1; }
  .mobile-swipe-cue-light { color:#b6c5db; }
  .trust-strip { display:flex; gap:0; overflow-x:auto; scroll-snap-type:x mandatory; padding:12px 24px; scrollbar-width:none; }
  .trust-strip::-webkit-scrollbar { display:none; }
  .trust-strip article { flex:0 0 min(78vw,360px); scroll-snap-align:start; border-bottom:0; border-right:1px solid #dce3ed; padding:15px 20px; }
  .trust-strip article:first-child { padding-left:0; }
  .trust-strip article:last-child { border-right:0; }

  .solutions { padding:66px 24px 72px; }
  .solution-grid { display:flex; grid-template-columns:none; gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:0; margin:0 -24px 0 0; padding:5px 24px 25px 0; scrollbar-width:none; overscroll-behavior-x:contain; }
  .solution-grid::-webkit-scrollbar { display:none; }
  .solution-card:nth-child(n) { flex:0 0 min(84vw,410px); width:min(84vw,410px); min-height:555px; display:grid; grid-template-columns:1fr; grid-template-rows:225px 1fr; scroll-snap-align:start; }
  .solution-card .card-visual { min-height:225px; height:225px; }
  .solution-card .card-copy { min-height:0; padding:22px 20px 19px; }
  .solution-card .card-copy h3 { font-size:22px; }
  .solution-card .card-copy>span { font-size:14px; }
  .solution-card:nth-child(1) .card-visual img { top:0; height:100%; object-fit:contain; }
  .solution-card:nth-child(4) .card-visual img { padding:8px; }
  .solution-card:nth-child(5) .card-visual img { padding:14px; }

  .supplies { padding:72px 24px 80px; }
  .supplies-head { margin-bottom:24px; }
  .supplies-grid { display:flex; grid-template-columns:none; gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -24px 0 0; padding:5px 24px 25px 0; scrollbar-width:none; overscroll-behavior-x:contain; }
  .supplies-grid::-webkit-scrollbar { display:none; }
  .supply-card,.supply-card:nth-child(2),.supply-card:nth-child(3),.supply-featured { flex:0 0 min(82vw,370px); width:min(82vw,370px); min-height:465px; margin:0; scroll-snap-align:start; }
  .supply-image,.supply-featured .supply-image { height:238px; }
  .supply-copy { min-height:225px; }
  .supply-copy h3 { font-size:25px; }

  .ct-service .mobile-swipe-cue { margin:0 0 16px; }
  .service-story { display:block; }
  .service-steps { display:flex; gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -24px 0 0; padding:4px 24px 24px 0; scrollbar-width:none; overscroll-behavior-x:contain; }
  .service-steps::-webkit-scrollbar { display:none; }
  .service-step { flex:0 0 min(84vw,440px); min-height:540px; padding:0 0 25px; overflow:hidden; border:1px solid #dfe6ee; border-radius:18px; background:#fff; opacity:1; scroll-snap-align:start; box-shadow:0 14px 36px rgba(11,31,72,.08); }
  .service-step.is-active { border-color:#dfe6ee; }
  .service-step-mobile-image { width:100%; height:290px; margin:0 0 22px; border-radius:0; object-fit:cover; }
  .service-step>span { margin:0 20px 14px; }
  .service-step>p,.service-step h3,.service-step>div { margin-left:20px; margin-right:20px; }
  .service-step h3 { font-size:30px; }
  .service-step>div { font-size:14px; line-height:1.55; }

  .field-service-list { display:flex; grid-template-columns:none; gap:9px; overflow-x:auto; border:0; padding:3px 0 15px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .field-service-list::-webkit-scrollbar { display:none; }
  .field-service-list button { flex:0 0 210px; width:210px; min-height:94px; padding:13px; border:1px solid #dbe3ed; border-radius:12px; background:#fff; scroll-snap-align:start; }
  .field-service-list button.is-active { border-color:var(--magenta); box-shadow:inset 4px 0 var(--magenta); }

  .catalog-results { display:flex; grid-template-columns:none; gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -20px 0 0; padding:3px 20px 25px 0; scrollbar-width:none; overscroll-behavior-x:contain; }
  .catalog-results::-webkit-scrollbar { display:none; }
  .catalog-product,.catalog-product-featured { flex:0 0 min(86vw,440px); width:min(86vw,440px); display:grid; grid-template-columns:1fr; align-content:start; scroll-snap-align:start; }
  .catalog-product-image { min-height:210px; height:210px; }
  .catalog-product-content { padding:20px; }
  .catalog .mobile-swipe-cue { max-width:1420px; margin:0 auto 10px; }

  .about { padding:76px 24px 82px; }
  .about-visual { height:clamp(320px,87vw,480px); }
  .about-content h2 { font-size:clamp(40px,8vw,57px); }
  .about-content .about-lead { font-size:17px; }
  .about-detail { font-size:15px; }
}

@media (max-width:500px) {
  .site-header { padding:4px 17px 0; }
  .site-header nav { margin:0 -17px; padding:0 17px; }
  .solutions { padding-left:20px; padding-right:20px; }
  .solution-grid { margin-right:-20px; padding-right:20px; }
  .supplies { padding-left:20px; padding-right:20px; }
  .supplies-grid { margin-right:-20px; padding-right:20px; }
  .service-step-mobile-image { height:235px; }
  .service-step { min-height:500px; }
  .about { padding:68px 20px 74px; }
  .about-visual { height:330px; }
  .about-visual>span { left:17px; right:17px; bottom:17px; font-size:11px; }
  .about-visual small { font-size:8px; }
  .about-content h2 { font-size:clamp(36px,9vw,47px); }
  .about-content .about-pillars { gap:0; }
  .about-content .about-pillars article { padding:15px 8px 0; }
  .about-content .about-pillars h3 { font-size:12px; }
}

@media (prefers-reduced-motion:reduce) {
  .solution-grid,.supplies-grid,.service-steps,.catalog-results,.field-service-list,.trust-strip { scroll-behavior:auto; }
}
/* Owner-supplied artwork: retain every pixel and its full composition. */
#nosotros .about-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
#nosotros .about-visual { height:auto; border-radius:20px; background:#f5f9fc; }
#nosotros .about-visual>img { position:static; display:block; width:100%; max-width:100%; height:auto; }
#nosotros .about-visual::after { display:none; }
#nosotros .about-content { max-width:1000px; margin:0 auto; }
@media(max-width:600px) { #nosotros .about-layout { gap:26px; } #nosotros .about-visual { border-radius:12px; } }
