.hero.hero-fullbleed .banner-expand{display:none!important}
.hero.hero-fullbleed .bg{cursor:zoom-in}
.gallery-v298{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:12px 16px 20px;margin:0;border:0;background:#111d27;color:#fff;box-sizing:border-box;overscroll-behavior:contain}
.gallery-v298[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}
.gallery-v298::backdrop{background:#101b25ef}
.gallery-close-v298{justify-self:end;padding:12px 18px;min-height:44px;border:1px solid #ffffff80;background:transparent;color:inherit;font:inherit;cursor:pointer}
.gallery-image-v298{min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y pinch-zoom}
.gallery-image-v298 img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;touch-action:pan-y pinch-zoom}
.gallery-footer-v298{display:flex;align-items:center;justify-content:center;gap:clamp(18px,8vw,70px);min-height:54px;font:inherit}
.gallery-footer-v298 button{min-width:52px;min-height:48px;border:1px solid #ffffff70;background:transparent;color:#fff;font-size:32px;cursor:pointer}
.gallery-footer-v298 button[hidden]{display:none}
.gallery-count-v298{font-variant-numeric:tabular-nums}

.division-portal313{display:flex;align-items:center;gap:22px;padding:24px;font-weight:600}.division-portal313 img{width:40%;max-height:220px;object-fit:cover}.hero-record313{position:absolute;z-index:6;right:24px;bottom:24px;border:1px solid #ffffff65;border-radius:24px;background:#101b24cc;color:white;padding:11px 17px;font-size:12px}.map-routes strong{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;font-size:clamp(11px,1.6vw,20px)!important}.book-group105>summary>strong{overflow-wrap:normal;word-break:normal}.viewer-controls button{border-radius:50%;width:46px;height:46px}.photo-dialog99{background:#101b24!important;color:#f5f2ec!important}
@media(min-width:901px){#divs-track{min-height:560px}#divs-track>.div:not(.is-open){min-width:64px}.divs-accordion .div-label>span{font-size:14px}}
@media(max-width:600px){.hero-record313{right:16px;bottom:16px;font-size:10px;padding:8px 12px}.map-routes strong{font-size:clamp(10px,2.8vw,14px)!important;letter-spacing:-.025em}.division-portal313{flex-direction:column}.division-portal313 img{width:100%}}
#viewer-thumbs button{width:76px!important;height:66px!important;flex:0 0 76px;padding:3px!important;border:2px solid transparent!important;border-radius:7px!important;background:#14232d!important}#viewer-thumbs button[aria-pressed=true]{border-color:#d1b36d!important}#viewer-thumbs button img{width:100%;height:100%;object-fit:cover;border-radius:3px}#viewer-thumbs{display:flex;overflow-x:auto;gap:10px}#viewer-prev,#viewer-next{font-size:28px!important;padding:0!important;background:#21313e!important;color:white!important;border:1px solid #ffffff35!important}
/* Eight divisions in two rows of four, with the full catalogue action below. */
body .specialty-map.specialty-atlas79 .map-routes{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body .specialty-map.specialty-atlas79 .map-routes>.specialty-all275{grid-column:1/-1!important;min-height:0!important;height:auto!important;justify-self:start!important;display:flex!important;flex-direction:row!important;padding:16px 24px!important}
body .specialty-map.specialty-atlas79 .map-routes>.specialty-all275 strong{font-size:clamp(15px,2vw,20px)!important}
@media(max-width:600px){
body .specialty-map.specialty-atlas79 .map-routes{gap:6px!important}
body .specialty-map.specialty-atlas79 .map-routes>:is(a,button):not(.specialty-all275){padding:12px 4px!important;min-width:0!important;min-height:145px!important}
body .specialty-map.specialty-atlas79 .map-routes>:not(.specialty-all275) strong{font-size:clamp(10px,2.6vw,14px)!important;line-height:1.25!important;word-break:normal!important;overflow-wrap:anywhere!important;hyphens:auto!important}
body .specialty-map.specialty-atlas79 .specialty-icon79{width:28px!important;height:28px!important}
}
@media(max-width:600px){body .specialty-map.specialty-atlas79 .map-routes>:not(.specialty-all275) strong{width:100%!important;max-width:none!important;letter-spacing:-.035em!important;font-size:clamp(9px,2.5vw,14px)!important;margin-left:0!important;margin-right:0!important}}

/* Use the foundation photo viewer layout and controls verbatim. */
.unified-gallery313{box-sizing:border-box;width:min(1200px,96vw);max-width:96vw;height:min(900px,94dvh);max-height:94dvh;padding:22px;margin:auto;border:1px solid #ffffff30;border-radius:16px;background:#101b24;color:#f5f2ec;box-shadow:0 24px 100px #0009;overflow:hidden}
.unified-gallery313[open]{display:flex;flex-direction:column;gap:12px}
.unified-gallery313::backdrop{background:#050b11e8;backdrop-filter:blur(8px)}
.ug-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-shrink:0}
.ug-kicker{font-size:9px;letter-spacing:.16em;color:#dbb46e}
.ug-head h2{font-size:clamp(16px,2vw,25px);line-height:1.3;margin:6px 0 0}
.unified-gallery313 button{cursor:pointer;font-family:inherit}
.ug-close,.ug-prev,.ug-next{flex-shrink:0;border:1px solid #ffffff35;background:#21313e;color:white;border-radius:50%;width:44px;height:44px;font-size:24px;display:grid;place-items:center}
.ug-stage{display:flex;align-items:center;gap:12px;flex:1;min-height:0}
.ug-content{height:100%;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;background:#0b131a;border-radius:8px}
.ug-content>img{display:block;width:100%;height:100%;object-fit:contain;filter:none;transform:none}
.ug-caption{font-size:12px;color:#c7d0d7;margin:0;text-align:center;flex-shrink:0}
.ug-thumbs{display:flex;justify-content:flex-start;gap:8px;overflow-x:auto;padding:4px;margin-inline:auto;max-width:100%;flex-shrink:0}
.ug-thumbnail{padding:0;background:#15232c;border:2px solid transparent;border-radius:5px;width:72px;height:56px;flex-shrink:0;overflow:hidden}
.ug-thumbnail img{width:100%;height:100%;object-fit:contain}
.ug-thumbnail[aria-pressed=true]{border-color:#dbb46e;background:#32424c}
.unified-gallery313 [hidden]{display:none!important}
.unified-gallery313 button:focus-visible{outline:2px solid #dbb46e;outline-offset:3px}
.et-diagram-view .ug-content{display:block;padding:clamp(12px,3vw,32px)}
.et-diagram-view .soil-feature{max-width:800px;margin:auto}
.et-diagram-view .soil-feature .soil-section{min-height:330px}
.et-diagram-view .bore-ring{opacity:1;animation:none!important}
@media(max-width:600px){.unified-gallery313{padding:12px;width:96vw;height:92dvh;max-height:92dvh;border-radius:10px}.ug-stage{gap:4px;position:relative}.ug-prev,.ug-next{position:absolute;z-index:2;top:50%;background:#14232ded}.ug-prev{left:4px}.ug-next{right:4px}.et-gallery-bar{align-items:flex-start}.et-gallery-bar>span{max-width:50%;line-height:1.7}.et-gallery-open{font-size:11px}.ug-caption{font-size:10px}.et-diagram-view .ug-content{padding:8px}.ug-kicker{font-size:8px}}
@media(prefers-reduced-motion:reduce){.unified-gallery313 *{animation:none!important;transition:none!important}}
.unified-gallery313 .ug-head h2{color:inherit;overflow-wrap:anywhere}.unified-gallery313 .ug-close,.unified-gallery313 .ug-prev,.unified-gallery313 .ug-next{padding:0;min-width:44px;min-height:44px;line-height:1}.ug-link{color:#dbb46e;font-size:12px;text-align:center}
.round-photo313{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border:1px solid #ffffff35!important;background:#21313e!important;color:white!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center;font:24px/1 sans-serif!important;cursor:pointer}


/* Balance approved Ecko Terra Mexicana artwork within its existing logo cell. */
.logos.home-logo-track img.ecko-mexicana324,.logos.company-cards img.ecko-mexicana324{transform:scale(1.12)!important;transform-origin:center!important}

/* v326: photo expansion control */
.hero.hero-fullbleed .hero-gallery316{top:20px!important;right:20px!important;bottom:auto!important;width:48px;height:48px;min-width:48px;padding:12px!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#20323d!important;display:grid;place-items:center;box-shadow:0 3px 14px #0003;cursor:zoom-in;transition:transform .18s,box-shadow .18s;pointer-events:auto}
.hero-gallery316 svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:square}
.hero.hero-fullbleed .hero-gallery316:hover{transform:scale(1.08);box-shadow:0 5px 20px #0005}
.hero.hero-fullbleed .hero-gallery316:focus-visible{outline:3px solid #f7c51c;outline-offset:4px}
@media(max-width:600px){.hero.hero-fullbleed .hero-gallery316{top:14px!important;right:14px!important}}

/* v327: compact expansion icon */
.hero.hero-fullbleed .hero-gallery316{width:28px!important;height:28px!important;min-width:28px!important;padding:6px!important;top:14px!important;right:14px!important}
.hero-gallery316 svg{width:16px!important;height:16px!important;stroke-width:2.3}
.hero-gallery316::after{content:"";position:absolute;inset:-8px;border-radius:50%}
#corporativo-coca-cola:target,#repetidores-195:target{background:#fff1bd;outline:2px solid #e9bd26;scroll-margin-top:110px}

/* v334: contained photo gestures and stable mobile gallery bounds. */
.unified-gallery313{overscroll-behavior:none;touch-action:manipulation}
.unified-gallery313:not(.et-diagram-view) .ug-content{overflow:hidden;overscroll-behavior:none;touch-action:none}
.unified-gallery313:not(.et-diagram-view) .ug-content>img{max-width:100%;max-height:100%;min-width:0;min-height:0;object-position:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
.unified-gallery313 .ug-thumbs{touch-action:pan-x;overscroll-behavior-x:contain}

/* v336: retain the logo's size and origin; give the brand its own row. */
#foundation-menu-dialog114 .foundation-head124{grid-template-columns:minmax(46px,max-content) minmax(0,1fr) 44px;column-gap:18px;margin-bottom:24px;align-items:center}
#foundation-menu-dialog114 .foundation-head124>div{min-width:0}
#foundation-menu-dialog114 .foundation-head124 span{display:block;line-height:1.65;white-space:normal}
#foundation-menu-dialog114 .foundation-title336{margin:0 0 20px;font-size:clamp(21px,2.5vw,27px);line-height:1.3;color:#fff;letter-spacing:-.02em}
#foundation-menu-dialog114{overflow-anchor:none;scroll-behavior:auto!important;scroll-padding-top:16px}
@media(max-width:600px){#foundation-menu-dialog114 .foundation-head124{grid-template-columns:46px minmax(0,1fr) 40px;column-gap:14px;margin-bottom:24px}#foundation-menu-dialog114 .foundation-head124 span{font-size:9px;letter-spacing:.09em}#foundation-menu-dialog114 .foundation-title336{margin-bottom:18px}}

/* v340: use the main menu's full-width color hierarchy. */
#foundation-menu-dialog114 .foundation-general124 details[open]{overflow:hidden;background:#3a4859!important}
#foundation-menu-dialog114 .foundation-general124 details[open]>summary{background:#10222e!important;color:#a5d751!important}
#foundation-menu-dialog114 .foundation-general124 details>a{border-bottom:1px solid #ffffff12}
#foundation-menu-dialog114 .foundation-general124 details>a:last-child{border-bottom:0}
#foundation-menu-dialog114 .foundation-general124 details>a.foundation-main337{box-sizing:border-box;display:block!important;margin:0!important;padding:16px 18px!important;min-height:50px;background:#263e50!important;color:#f1f5f7!important;border:0!important;border-bottom:1px solid #ffffff18!important;border-radius:0!important;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none;box-shadow:none}
#foundation-menu-dialog114 .foundation-general124 details>a.foundation-main337:hover{background:#304d62!important;color:#fff!important}
#foundation-menu-dialog114 .foundation-main337:focus-visible{outline:2px solid #a5d751;outline-offset:-3px}

/* v338: measure the whole branch before smoothly bringing it into view. */
#menu.on{overflow-anchor:none;scroll-behavior:auto!important}
#menu.on .has-sub>.submenu{transition:none!important}
#menu.on .has-sub.open>.submenu{max-height:none!important}
