/* EBOX V3 hotfix — versioned to avoid stale cached stylesheets.
   Purpose: force real two-row service buttons, stable legal content layout,
   and a single inline copyright/legal footer across EN / BM / ZH pages. */

/* Growth-path service actions: two clear, full-width rows per stage. */
.growth-card .growth-card-copy {
  position: relative !important;
  z-index: 10 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.growth-card .growth-service-buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: 292px !important;
  margin: 14px 0 0 !important;
  position: relative !important;
  z-index: 12 !important;
}
.growth-card .growth-service-buttons > a,
.growth-card .growth-service-buttons > a:link,
.growth-card .growth-service-buttons > a:visited {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 11px 14px !important;
  border: 1px solid #8fd5f4 !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #075287 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  box-shadow: 0 3px 10px rgba(7, 120, 178, .12) !important;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
.growth-card .growth-service-buttons > a.is-primary,
.growth-card .growth-service-buttons > a.is-primary:link,
.growth-card .growth-service-buttons > a.is-primary:visited {
  background: linear-gradient(135deg, #079edc 0%, #087fc0 100%) !important;
  color: #fff !important;
  border-color: #079edc !important;
  box-shadow: 0 6px 15px rgba(7, 142, 205, .24) !important;
}
.growth-card .growth-service-buttons > a.is-secondary,
.growth-card .growth-service-buttons > a.is-secondary:link,
.growth-card .growth-service-buttons > a.is-secondary:visited {
  background: #fff !important;
  color: #075287 !important;
  border-color: #8fd5f4 !important;
}
.growth-card .growth-service-buttons > a > span {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  transition: transform .2s ease !important;
}
.growth-card .growth-service-buttons > a:hover {
  transform: translateY(-2px) !important;
  border-color: #079edc !important;
  background: #eaf8ff !important;
  color: #064f7e !important;
  box-shadow: 0 9px 18px rgba(12, 109, 166, .17) !important;
}
.growth-card .growth-service-buttons > a.is-primary:hover {
  background: linear-gradient(135deg, #087fbd 0%, #056fa9 100%) !important;
  color: #fff !important;
}
.growth-card .growth-service-buttons > a:hover > span { transform: translate(2px, -2px) !important; }
.growth-card .growth-service-buttons > a:focus-visible {
  outline: 3px solid #7bd4fa !important;
  outline-offset: 3px !important;
}
.growth-card { min-height: 318px !important; }
@media (max-width: 1100px) and (min-width: 821px) {
  .growth-card { min-height: 330px !important; }
  .growth-card .growth-service-buttons { max-width: 270px !important; }
  .growth-card .growth-service-buttons > a { font-size: 14px !important; }
}
@media (max-width: 820px) {
  .growth-card { min-height: 282px !important; }
  .growth-card .growth-service-buttons { max-width: 320px !important; gap: 9px !important; margin-top: 13px !important; }
  .growth-card .growth-service-buttons > a { min-height: 46px !important; font-size: 15px !important; }
}
@media (max-width: 560px) {
  .growth-card { min-height: 0 !important; padding: 20px 16px 22px !important; }
  .growth-card .growth-service-buttons { max-width: min(100%, 285px) !important; gap: 8px !important; margin-top: 12px !important; }
  .growth-card .growth-service-buttons > a { min-height: 46px !important; padding: 11px 12px !important; font-size: 14.5px !important; }
}
@media (max-width: 360px) {
  .growth-card .growth-service-buttons { max-width: min(100%, 245px) !important; }
  .growth-card .growth-service-buttons > a { font-size: 14px !important; }
}

/* Footer: one consistent line/flow after All Rights Reserved; legal links bold. */
.footer-legal {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 0 !important;
  row-gap: 4px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
  line-height: 1.65 !important;
}
.footer-copyright { display: inline !important; min-width: 0 !important; }
.footer-legal-links {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 0 0 7px !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: baseline !important;
  line-height: inherit !important;
}
.footer-legal-links a,
.footer-legal-links a:link,
.footer-legal-links a:visited {
  color: #e3f2ff !important;
  font-size: inherit !important;
  font-weight: 800 !important;
  line-height: inherit !important;
  text-decoration: none !important;
  white-space: normal !important;
}
.footer-legal-links a strong { font-weight: 800 !important; }
.footer-legal-links a:hover,
.footer-legal-links a:focus-visible { color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.footer-legal-separator { color: #9bb6cd !important; font-weight: 500 !important; }
@media (max-width: 560px) {
  .footer-legal { justify-content: flex-start !important; text-align: left !important; font-size: 11px !important; padding: 12px 16px 16px !important; }
  .footer-copyright { flex: 0 1 auto !important; }
  .footer-legal-links { margin-left: 4px !important; gap: 6px !important; }
}

/* Legal pages: force predictable readable content layout even if cached base CSS is old. */
.legal-page .legal-content-wrap { box-sizing: border-box; width: 100%; }
.legal-page .legal-content-grid {
  display: grid !important;
  grid-template-columns: minmax(190px, 230px) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 28px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.legal-page .legal-toc { position: sticky; top: 100px; min-width: 0; max-width: 100%; box-sizing: border-box; }
.legal-page .legal-article { display: block !important; min-width: 0 !important; max-width: 100% !important; overflow-wrap: anywhere; }
.legal-page .legal-section {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 0 16px !important;
  padding: clamp(20px, 3vw, 34px) !important;
  border: 1px solid #e2edf5 !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow-wrap: anywhere !important;
}
.legal-page .legal-section h2 { display: block; margin: 0 0 15px; font-size: clamp(22px, 2vw, 29px); line-height: 1.25; }
.legal-page .legal-section p,
.legal-page .legal-section li { display: block; max-width: 100%; font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-page .legal-section ul { padding-left: 24px; }
.legal-page .legal-source-banner { box-sizing: border-box; max-width: 100%; min-width: 0; }
.legal-page .legal-source-banner > div { min-width: 0; max-width: 100%; }
.legal-page .legal-toc a { display: block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .legal-page .legal-content-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
  .legal-page .legal-toc { position: relative !important; top: auto !important; max-height: none !important; }
}
@media (max-width: 560px) {
  .legal-page .legal-content-wrap { padding-top: 18px; padding-bottom: 45px; }
  .legal-page .legal-content-grid { gap: 14px !important; }
  .legal-page .legal-section { padding: 20px 18px !important; margin-bottom: 12px !important; border-radius: 14px !important; }
  .legal-page .legal-section p,
  .legal-page .legal-section li { font-size: 16px !important; line-height: 1.8 !important; }
  .legal-page .legal-toc { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .growth-card .growth-service-buttons > a,
  .growth-card .growth-service-buttons > a > span { transition: none !important; }
  .growth-card .growth-service-buttons > a:hover { transform: none !important; }
}


/* Services navigation dropdown — desktop mega-menu + mobile accordion. */
.nav-services-dropdown{position:relative;display:flex;align-items:stretch;flex:0 0 auto;height:100%;z-index:260}
.nav-services-dropdown>.nav-dropdown-toggle{appearance:none;-webkit-appearance:none;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;height:100%;margin:0;padding:0;border:0;background:transparent;font:inherit;color:#1d3a60;cursor:pointer;white-space:nowrap}
.nav-services-dropdown>.nav-dropdown-toggle .nav-dropdown-caret{display:inline-block;color:#079edc;font-size:14px;font-weight:800;line-height:1;transition:transform .2s ease}
.nav-services-dropdown.is-open>.nav-dropdown-toggle .nav-dropdown-caret{transform:rotate(180deg)}
.nav-services-dropdown>.nav-dropdown-toggle:focus-visible{outline:3px solid #79d4fb;outline-offset:4px;border-radius:4px}
.nav-dropdown-panel{position:absolute;top:calc(100% - 1px);left:-28px;z-index:300;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(680px,calc(100vw - 34px));padding:12px;background:rgba(255,255,255,.985);border:1px solid #d6eaf7;border-radius:15px;box-shadow:0 22px 55px rgba(7,39,72,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;backdrop-filter:blur(12px)}
.nav-services-dropdown.is-open>.nav-dropdown-panel,.nav-services-dropdown:hover>.nav-dropdown-panel,.nav-services-dropdown:focus-within>.nav-dropdown-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nav-dropdown-group{min-width:0;padding:13px 10px 10px;border:1px solid #e1f0fa;border-radius:11px;background:linear-gradient(150deg,#f7fcff,#edf8fe)}
.nav-dropdown-heading{margin:0 0 10px;padding:0 7px;color:#078bc9;font-size:10px;font-weight:900;line-height:1.3;letter-spacing:.12em;text-transform:uppercase}
.nav-dropdown-items{display:grid;gap:4px}
.nav-dropdown-link,.nav-dropdown-link:link,.nav-dropdown-link:visited{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:9px 7px;border:1px solid transparent;border-radius:8px;color:#153d68;font-size:13px;font-weight:750;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.nav-dropdown-arrow{flex:0 0 auto;color:#079edc;font-size:15px;font-weight:900;line-height:1.1}
.nav-dropdown-link:hover{background:#fff;border-color:#b9e4f9;color:#007bb7;transform:translateX(2px)}
.nav-dropdown-link:focus-visible{outline:3px solid #79d4fb;outline-offset:2px;background:#fff}
@media(max-width:1100px) and (min-width:821px){.nav-dropdown-panel{left:-38px;width:min(650px,calc(100vw - 28px));gap:7px;padding:9px}.nav-dropdown-group{padding:10px 7px 7px}.nav-dropdown-link{font-size:12px;padding:8px 5px}}
@media(max-width:820px){
 .nav-services-dropdown{display:block;width:100%;height:auto;flex:none;z-index:auto}
 .nav-services-dropdown>.nav-dropdown-toggle{display:flex;width:100%;height:auto;min-height:46px;justify-content:space-between;padding:12px 2px;border:0;border-bottom:1px solid #edf4f9;border-radius:0;font-size:15px;font-weight:700;text-align:left}
 .nav-services-dropdown>.nav-dropdown-toggle:after{display:none}
 .nav-services-dropdown>.nav-dropdown-toggle .nav-dropdown-caret{font-size:18px}
 .nav-dropdown-panel{position:static;left:auto;top:auto;display:none;grid-template-columns:1fr;width:100%;gap:8px;margin:0;padding:10px 0 13px;border:0;border-radius:0;box-shadow:none;background:transparent;opacity:1;visibility:visible;pointer-events:auto;transform:none;backdrop-filter:none}
 .nav-services-dropdown.is-open>.nav-dropdown-panel{display:grid}
 .nav-dropdown-group{padding:10px 10px 9px;border-radius:10px;background:#f6fbff;border-color:#e0f0fa}
 .nav-dropdown-heading{font-size:10px;margin-bottom:6px}
 .nav-dropdown-items{gap:5px}
 .nav-dropdown-link,.nav-dropdown-link:link,.nav-dropdown-link:visited{min-height:42px;align-items:center;padding:10px 9px;background:#fff;border-color:#deeff9;font-size:14px;line-height:1.35}
 .nav-dropdown-link:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.nav-dropdown-panel,.nav-dropdown-caret,.nav-dropdown-link{transition:none!important}}


/* Hero scene randomisation fix: one independent full-width photo per page load. */
.hero-photo-bridge,
.hero-photo-heritage,
.hero-photo-industrial{
  display:none !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  clip-path:none !important;
  z-index:-3 !important;
}
.hero-scene-bridge .hero-photo-bridge,
.hero-scene-heritage .hero-photo-heritage,
.hero-scene-industrial .hero-photo-industrial{
  display:block !important;
}
.hero-photo-bridge img,
.hero-photo-heritage img,
.hero-photo-industrial img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.9) brightness(1.04);
}
.hero-photo-bridge img{object-position:center 55%;}
.hero-photo-heritage img{object-position:center 45%;}
.hero-photo-industrial img{object-position:center 53%;}
.hero-scene-bridge .hero-wash,
.hero-scene-heritage .hero-wash,
.hero-scene-industrial .hero-wash{
  background:linear-gradient(90deg,rgba(250,253,255,.98) 0%,rgba(250,253,255,.93) 30%,rgba(247,252,255,.73) 48%,rgba(247,252,255,.16) 70%,rgba(9,43,86,.04) 100%),linear-gradient(0deg,rgba(223,244,255,.24),transparent 42%);
}
.hero-photo-credit .credit-bridge,
.hero-photo-credit .credit-heritage,
.hero-photo-credit .credit-industrial{display:none;}
.hero-scene-bridge .hero-photo-credit .credit-bridge,
.hero-scene-heritage .hero-photo-credit .credit-heritage,
.hero-scene-industrial .hero-photo-credit .credit-industrial{display:inline;}
@media(max-width:820px){
 .hero-photo-bridge img,.hero-photo-heritage img,.hero-photo-industrial img{object-position:center 50%;}
 .hero-scene-bridge .hero-wash,.hero-scene-heritage .hero-wash,.hero-scene-industrial .hero-wash{
  background:linear-gradient(180deg,rgba(250,253,255,.97) 0%,rgba(250,253,255,.9) 39%,rgba(247,252,255,.62) 59%,rgba(247,252,255,.1) 100%);
 }
}
@media(prefers-reduced-motion:reduce){
 .hero-photo-bridge img,.hero-photo-heritage img,.hero-photo-industrial img{transition:none!important;animation:none!important;}
}

/* EBOX nav typography + growth-stage CTA hotfix v20261015-1935 */
/* Make the Services trigger match the adjacent navigation links, despite being a button. */
.site-header .primary-nav > .nav-services-dropdown > .nav-dropdown-toggle {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1d3a60 !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.site-header .primary-nav > .nav-services-dropdown > .nav-dropdown-toggle > span:first-child {
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.site-header .primary-nav > .nav-services-dropdown > .nav-dropdown-toggle .nav-dropdown-caret {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #079edc !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
@media (max-width: 1100px) and (min-width: 821px) {
  .site-header .primary-nav > .nav-services-dropdown > .nav-dropdown-toggle { font-size: 10px !important; }
}
@media (max-width: 820px) {
  .site-header .primary-nav > .nav-services-dropdown > .nav-dropdown-toggle {
    justify-content: space-between !important;
    width: 100% !important;
    height: auto !important;
    min-height: 46px !important;
    padding: 12px 2px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf4f9 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }
  .site-header .primary-nav > .nav-services-dropdown > .nav-dropdown-toggle .nav-dropdown-caret { font-size: 16px !important; }
}

/* Growth path actions: always render as two separate button rows and stay clear of artwork. */
.growth-card .growth-card-copy {
  position: relative !important;
  z-index: 10 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.growth-card .growth-service-buttons,
.growth-card .stage-actions.service-entry-links.growth-service-buttons {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 12 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: min(100%, 235px) !important;
  margin: 13px 0 0 !important;
  padding: 0 !important;
}
.growth-card .growth-service-buttons > a,
.growth-card .growth-service-buttons > a:link,
.growth-card .growth-service-buttons > a:visited,
.growth-card .stage-actions.service-entry-links.growth-service-buttons > a {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 12 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #8fd5f4 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #075287 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  box-shadow: 0 3px 10px rgba(7, 120, 178, .12) !important;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
.growth-card .growth-service-buttons > a.is-primary,
.growth-card .growth-service-buttons > a.is-primary:link,
.growth-card .growth-service-buttons > a.is-primary:visited {
  background: linear-gradient(135deg, #079edc 0%, #087fc0 100%) !important;
  color: #fff !important;
  border-color: #079edc !important;
  box-shadow: 0 5px 13px rgba(7, 142, 205, .21) !important;
}
.growth-card .growth-service-buttons > a.is-secondary,
.growth-card .growth-service-buttons > a.is-secondary:link,
.growth-card .growth-service-buttons > a.is-secondary:visited {
  background: #fff !important;
  color: #075287 !important;
  border-color: #8fd5f4 !important;
}
.growth-card .growth-service-buttons > a > span {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transition: transform .2s ease !important;
}
.growth-card .growth-service-buttons > a:hover {
  transform: translateY(-2px) !important;
  border-color: #079edc !important;
  box-shadow: 0 8px 17px rgba(12, 109, 166, .16) !important;
}
.growth-card .growth-service-buttons > a.is-primary:hover {
  background: linear-gradient(135deg, #087fbd 0%, #056fa9 100%) !important;
  color: #fff !important;
}
.growth-card .growth-service-buttons > a.is-secondary:hover {
  background: #eaf8ff !important;
  color: #064f7e !important;
}
.growth-card .growth-service-buttons > a:hover > span { transform: translate(2px, -2px) !important; }
.growth-card .growth-service-buttons > a:focus-visible { outline: 3px solid #7bd4fa !important; outline-offset: 3px !important; }
@media (max-width: 1100px) and (min-width: 821px) {
  .growth-card .growth-service-buttons { max-width: min(100%, 220px) !important; gap: 7px !important; }
  .growth-card .growth-service-buttons > a { font-size: 13px !important; padding: 9px 10px !important; }
}
@media (max-width: 820px) {
  .growth-card .growth-service-buttons { max-width: min(100%, 300px) !important; }
  .growth-card .growth-service-buttons > a { min-height: 46px !important; font-size: 14px !important; }
}
@media (max-width: 560px) {
  .growth-card .growth-service-buttons { max-width: min(100%, 235px) !important; gap: 8px !important; }
  .growth-card .growth-service-buttons > a { min-height: 44px !important; padding: 10px 11px !important; font-size: 13.5px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .growth-card .growth-service-buttons > a,
  .growth-card .growth-service-buttons > a > span { transition: none !important; }
  .growth-card .growth-service-buttons > a:hover { transform: none !important; }
  .site-header .primary-nav > .nav-services-dropdown > .nav-dropdown-toggle .nav-dropdown-caret { transition: none !important; }
}



/* EBOX hero artwork v4: four matching-size local WebP scenes, one request per visit. */
.hero-photo-bridge,
.hero-photo-heritage,
.hero-photo-industrial,
.hero-photo-komtar {
  display: none !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  clip-path: none !important;
  z-index: -3 !important;
  overflow: hidden !important;
  opacity: 0;
  border-radius: 0 !important;
  transition: opacity .72s ease;
}
.hero-scene-bridge .hero-photo-bridge,
.hero-scene-heritage .hero-photo-heritage,
.hero-scene-industrial .hero-photo-industrial,
.hero-scene-komtar .hero-photo-komtar {
  display: block !important;
}
.hero-photo.is-loaded { opacity: 1; }
.hero-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  filter: saturate(.86) brightness(1.03);
  transform: scale(1.015);
  animation: eboxHeroReveal 1.1s cubic-bezier(.2,.75,.25,1) both;
}
.hero-photo-bridge img { object-position: center 52% !important; }
.hero-photo-heritage img { object-position: center 44% !important; }
.hero-photo-industrial img { object-position: center 52% !important; }
.hero-photo-komtar img { object-position: center 52% !important; }
.hero-scene-bridge .hero-wash,
.hero-scene-heritage .hero-wash,
.hero-scene-industrial .hero-wash,
.hero-scene-komtar .hero-wash {
  background: linear-gradient(90deg,rgba(250,253,255,.98) 0%,rgba(250,253,255,.94) 27%,rgba(247,252,255,.78) 45%,rgba(247,252,255,.27) 66%,rgba(9,43,86,.04) 100%),linear-gradient(0deg,rgba(223,244,255,.28),transparent 45%) !important;
}
@keyframes eboxHeroReveal { from { opacity: .55; transform: scale(1.035); } to { opacity: 1; transform: scale(1.015); } }
@media(max-width:820px) {
  .hero-photo-bridge img,.hero-photo-heritage img,.hero-photo-industrial img,.hero-photo-komtar img { object-position: center 50% !important; }
  .hero-scene-bridge .hero-wash,.hero-scene-heritage .hero-wash,.hero-scene-industrial .hero-wash,.hero-scene-komtar .hero-wash {
    background: linear-gradient(180deg,rgba(250,253,255,.99) 0%,rgba(250,253,255,.96) 38%,rgba(247,252,255,.80) 57%,rgba(247,252,255,.26) 100%) !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-photo-bridge,.hero-photo-heritage,.hero-photo-industrial,.hero-photo-komtar { transition: none !important; }
  .hero-photo img { animation: none !important; transform: none !important; }
}



/* Mobile hero: keep a unified full-width panorama in the lower photo band so the copy stays legible. */
@media(max-width:560px){
 .hero-photo-bridge,.hero-photo-heritage,.hero-photo-industrial,.hero-photo-komtar{
  inset:auto 0 0 !important;top:auto !important;right:0 !important;bottom:0 !important;left:0 !important;
  width:100% !important;height:190px !important;max-width:100% !important;clip-path:none !important;
 }
 .hero-photo-bridge img,.hero-photo-heritage img,.hero-photo-industrial img,.hero-photo-komtar img{object-position:center 50% !important;}
 .hero-scene-komtar .hero-photo-komtar img{object-position:54% 50% !important;}
 .hero-scene-bridge .hero-photo-bridge img{object-position:60% 50% !important;}
 .hero-scene-heritage .hero-photo-heritage img{object-position:72% 50% !important;}
 .hero-scene-industrial .hero-photo-industrial img{object-position:center 52% !important;}
 .hero-scene-bridge .hero-wash,.hero-scene-heritage .hero-wash,.hero-scene-industrial .hero-wash,.hero-scene-komtar .hero-wash{
  background:linear-gradient(180deg,#fafdff 0%,#fafdff 44%,rgba(250,253,255,.92) 56%,rgba(247,252,255,.24) 100%) !important;
 }
}



/* EBOX Products navigation + consistent header typography — v20261015-products-dropdown-v6 */
/* Match all top-level menu labels, including button-based dropdown triggers. */
.site-header #primaryNav > .nav-link,
.site-header #primaryNav > .nav-dropdown > .nav-dropdown-toggle {
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
}
.site-header #primaryNav > .nav-cta {
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.site-header #primaryNav > .nav-dropdown > .nav-dropdown-toggle {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1d3a60 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.site-header #primaryNav > .nav-dropdown > .nav-dropdown-toggle > span:first-child {
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.nav-products-dropdown { position: relative; display: flex; align-items: stretch; flex: 0 0 auto; height: 100%; z-index: 260; }
.nav-products-dropdown > .nav-dropdown-toggle { position: relative; }
.nav-products-dropdown > .nav-dropdown-toggle .nav-dropdown-caret { display: inline-block; color: #079edc !important; font-size: 13px !important; font-weight: 800 !important; line-height: 1 !important; transition: transform .2s ease; }
.nav-products-dropdown.is-open > .nav-dropdown-toggle .nav-dropdown-caret { transform: rotate(180deg); }
.nav-products-dropdown > .nav-dropdown-toggle:focus-visible { outline: 3px solid #79d4fb !important; outline-offset: 4px; border-radius: 4px; }
.nav-products-dropdown.is-open > .nav-dropdown-panel,
.nav-products-dropdown:hover > .nav-dropdown-panel,
.nav-products-dropdown:focus-within > .nav-dropdown-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.nav-products-dropdown .products-dropdown-panel { left: -14px; width: min(340px, calc(100vw - 34px)); grid-template-columns: minmax(0, 1fr); gap: 0; padding: 10px; }
.nav-products-dropdown .product-dropdown-group { padding: 11px; border-radius: 11px; }
.nav-products-dropdown .product-dropdown-link { align-items: center; min-height: 62px; padding: 12px 10px; background: rgba(255,255,255,.74); border-color: #e1f0fa; }
.nav-products-dropdown .product-dropdown-copy { display: grid; gap: 3px; min-width: 0; }
.nav-products-dropdown .product-dropdown-copy strong { display: block; color: #12365e; font-size: 14px; font-weight: 850; line-height: 1.25; }
.nav-products-dropdown .product-dropdown-copy small { display: block; color: #5c7592; font-size: 11.5px; font-weight: 500; line-height: 1.45; white-space: normal; }

/* Collapse the header before the added Products item can crowd tablet navigation. */
@media (max-width: 940px) {
  .site-header .nav-shell { min-height: 65px; gap: 12px; }
  .site-header .brand { flex: 0 1 145px; min-width: 0; margin-right: auto; }
  .site-header .brand img { width: 145px; max-width: 100%; }
  .site-header .menu-toggle { margin-left: 0; position: relative; z-index: 220; display: flex; flex: 0 0 40px; width: 40px; height: 40px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid #d8eaf6; background: #fff; border-radius: 50%; cursor: pointer; }
  .site-header .mobile-language-trigger { display: inline-flex; margin-left: 0; }
  .site-header .primary-nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: flex; height: auto; align-items: stretch; flex-direction: column; gap: 0; padding: 10px 23px 22px; background: #fff; box-shadow: 0 16px 26px #07315b1a; border-bottom: 1px solid var(--line); visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity .22s, transform .22s, visibility .22s; max-height: calc(100vh - 66px); overflow-y: auto; overscroll-behavior: contain; }
  .site-header .primary-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
  .site-header #primaryNav > .nav-link,
  .site-header #primaryNav > .nav-dropdown > .nav-dropdown-toggle { width: 100% !important; height: auto !important; min-height: 48px !important; padding: 12px 2px !important; border: 0 !important; border-bottom: 1px solid #edf4f9 !important; border-radius: 0 !important; justify-content: space-between !important; font-size: 14px !important; line-height: 1.35 !important; text-align: left !important; }
  .site-header #primaryNav > .nav-link:after,
  .site-header #primaryNav > .nav-dropdown > .nav-dropdown-toggle:after { display: none !important; }
  .site-header #primaryNav > .nav-cta { width: 100%; min-height: 46px; justify-content: center; font-size: 14px !important; }
  .site-header .nav-services-dropdown,
  .site-header .nav-products-dropdown { display: block; width: 100%; height: auto; flex: none; z-index: auto; }
  .site-header .nav-dropdown-panel { position: static; left: auto; top: auto; display: none; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 8px; margin: 0; padding: 10px 0 13px; border: 0; border-radius: 0; box-shadow: none; background: transparent; opacity: 1; visibility: visible; pointer-events: auto; transform: none; backdrop-filter: none; }
  .site-header .nav-services-dropdown.is-open > .nav-dropdown-panel,
  .site-header .nav-products-dropdown.is-open > .nav-dropdown-panel { display: grid; }
  .site-header .nav-dropdown-link,
  .site-header .nav-dropdown-link:link,
  .site-header .nav-dropdown-link:visited { min-height: 44px; align-items: center; padding: 11px 10px; background: #fff; border-color: #deeff9; font-size: 14px; line-height: 1.4; }
  .site-header .nav-products-dropdown .products-dropdown-panel { width: 100%; padding: 10px 0 13px; }
  .site-header .nav-products-dropdown .product-dropdown-copy strong { font-size: 14px; }
  .site-header .nav-products-dropdown .product-dropdown-copy small { font-size: 12px; }
}
@media (max-width: 360px) {
  .site-header .mobile-language-trigger { display: none !important; }
  .site-header .menu-toggle { margin-left: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
  .nav-products-dropdown .nav-dropdown-panel,
  .nav-products-dropdown .nav-dropdown-caret,
  .nav-products-dropdown .nav-dropdown-link { transition: none !important; }
}
