.technical-figure{margin:56px 0 0;padding:40px;background:#f6f7f9;border:1px solid #ddd}
.technical-figure>a{display:block}.technical-figure img{width:100%;height:auto;max-height:780px;object-fit:contain;background:#fff}
.technical-figure figcaption{margin-top:20px;text-align:center;font-size:18px;line-height:1.5;color:#505050}

.md-client-layout{display:block}.md-client-diagram{margin:0 0 48px;background:#fff}.md-client-layout .md-concept-copy{max-width:none}.md-client-layout .md-concept-copy p{font-size:22px;line-height:1.6}.md-client-diagram img{width:100%;max-height:760px;object-fit:contain}
.edi-client-equipment{padding:130px 0 0;scroll-margin-top:120px;background:#fff}.edi-client-equipment h2{margin:0 0 48px;font-size:40px;font-weight:700;line-height:1.3}.edi-client-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.equipment-photo{margin:0;background:#f6f7f9}.equipment-photo img{width:100%;height:560px;object-fit:contain}.equipment-photo figcaption{font-size:18px;text-align:center;padding:20px;color:#505050}
.redi-six-step{grid-template-columns:repeat(6,minmax(0,1fr))}.redi-six-step h3{font-size:20px}.redi-six-step .redi-process-arrow{right:-30px}
.custom-client-intro .v3-prose h2{font-size:40px;font-weight:700;line-height:1.4;margin:0 0 32px}.custom-client-intro .v3-split{align-items:center}.custom-client-diagram{margin:0;padding:24px}.custom-client-intro .v3-prose p{font-size:22px;line-height:1.6}
.custom-scale-section h2{font-size:40px;font-weight:700;margin-bottom:48px}.custom-scale-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.custom-scale-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.custom-scale-grid h3{font-size:28px;margin:28px 0 16px}.custom-scale-grid p{font-size:20px;line-height:1.6}
.custom-client-intro .v3-split:has(>.v3-prose:only-child){display:block;max-width:1400px}.custom-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-capability img{width:100%;aspect-ratio:4/3;object-fit:cover}.custom-approach:before{background:rgba(0,0,0,.55)}
.analysis-client-photo{margin:56px 0 0}.analysis-client-photo img{width:100%;max-height:620px;object-fit:cover}.analysis-client-photo figcaption{font-size:18px;color:#505050;margin-top:20px}.technology-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.subpage .sub-visual>.sub-dim{background:#000000;opacity:.46}.sub-visual-image{object-position:center center}
.test-form-status{font-size:18px;color:#000544;line-height:1.6;margin-top:20px}
@media(max-width:1450px){.redi-six-step{grid-template-columns:repeat(2,minmax(0,1fr))}.redi-six-step .redi-process-arrow{right:auto}.equipment-photo img{height:440px}}
@media(max-width:760px){.technical-figure{margin-top:32px;padding:12px}.technical-figure figcaption{font-size:16px;margin-top:14px}.md-client-diagram{margin:0 0 32px}.edi-client-equipment h2,.custom-scale-section h2,.custom-client-intro .v3-prose h2{font-size:30px;margin-bottom:28px}.edi-client-gallery,.custom-scale-grid,.custom-capability-grid{grid-template-columns:1fr;gap:32px}.equipment-photo img{height:auto;max-height:600px;padding:0}.redi-six-step{grid-template-columns:1fr}.redi-six-step h3{font-size:18px}.custom-client-intro .v3-prose p,.md-client-layout .md-concept-copy p{font-size:20px}.custom-scale-grid h3{font-size:24px}.custom-scale-grid p{font-size:18px}.technology-grid-three{grid-template-columns:1fr}.analysis-client-photo{margin-top:32px}}

@media(max-width:760px){.edi-client-equipment{padding-top:76px}}
#edi-equipment,#md-process{display:none}
.edi-principle-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
.edi-principle-split>.technical-figure{margin:0}
@media(max-width:1180px){.edi-principle-split{gap:40px}}
@media(max-width:760px){.edi-principle-split{grid-template-columns:1fr;gap:32px}}
.site-header .header-actions {
  flex-shrink: 0;
  gap: 22px;
}

.inno-language-switch {
  position: relative;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}

.inno-language-switch summary {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 48px;
  list-style: none;
  cursor: pointer;
}

.inno-language-switch summary::-webkit-details-marker {
  display: none;
}

.inno-language-switch summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 2.5px 2.5px 0;
  transform: translate(4px, -4px) rotate(45deg);
}

.inno-language-switch[open] summary::after {
  transform: translate(4px, 0) rotate(225deg);
}

.inno-language-globe {
  position: relative;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.inno-language-globe::before,
.inno-language-globe::after {
  content: "";
  position: absolute;
}

.inno-language-globe::before {
  inset: -1px 4px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.inno-language-globe::after {
  inset: 5px 0;
  border-block: 1px solid currentColor;
}

.inno-language-switch ul {
  position: absolute;
  inset: calc(100% + 2px) 0 auto;
  min-width: 72px;
  margin: 0;
  padding: 7px 0;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  list-style: none;
}

.inno-language-switch :is(button, a) {
  display: block;
  width: 100%;
  min-height: 32px;
  border: 0;
  padding: 0 8px;
  background: transparent;
  color: inherit;
  font: inherit;
}

.inno-language-switch button:enabled:hover,
.inno-language-switch button:focus-visible {
  background: #ffffff26;
}

.inno-language-switch button:disabled {
  cursor: default;
  opacity: .65;
}

body:not(.modal-open) .site-header:is(:hover, :focus-within) .inno-language-switch {
  color: var(--ink);
}

@media (min-width: 1181px) and (max-width: 1279px) {
  .site-header .desktop-nav {
    gap: 12px;
  }

  .site-header .brand {
    width: 190px;
  }

  .site-header .header-actions {
    margin-left: auto;
  }
}

@media (max-width: 760px) {
  .site-header .header-actions {
    gap: 16px;
  }

  .site-header .brand {
    width: clamp(110px, 41vw, 192px);
  }

}

.v3-capacities {
  grid-template-columns: minmax(0, 1fr);
}

.v3-capacity {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  column-gap: clamp(24px, 3vw, 48px);
}

.v3-capacity h3 {
  grid-column: 1 / -1;
}

.v3-capacity .technical-figure {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.v3-capacity .technical-figure > a {
  padding: clamp(12px, 1.5vw, 24px);
  border: 1px solid #ddd;
  background: #fff;
}

.v3-capacity .technical-figure img {
  display: block;
  max-height: none;
}

.v3-capacities > .v3-capacity > .technical-figure > figcaption {
  display: none;
}

.v3-capacity dl {
  display: grid;
  grid-auto-rows: 1fr;
  margin: 24px 0 36px;
  border-bottom: 1px solid #ddd;
}

.v3-capacity dl > div {
  align-items: center;
}

@media (max-width: 760px) {
  .v3-capacity {
    grid-template-columns: minmax(0, 1fr);
  }

  .v3-capacity .technical-figure {
    margin-inline: -12px;
  }

  .v3-capacity .technical-figure > a {
    padding: 4px;
  }

  .v3-capacity dl {
    margin: 18px 0 0;
  }
}

.inno-language-switch a { text-align:center; text-decoration:none; line-height:32px; }

.inno-logo-en { display:block; width:73%; overflow:hidden; }
.site-header .brand .inno-logo-en img, .site-footer .brand .inno-logo-en img { width:136.986%; max-width:none; }

html[lang="en"] #wrapper { overflow-x:clip; }

/* English attachment labels remain independent of browser locale. */
.inno-file-picker{position:relative;display:flex;align-items:center;max-width:100%;width:fit-content;min-height:46px;border:0;background:transparent;font-size:14px;line-height:1.4;}
.inno-file-button{align-self:stretch;display:flex;align-items:center;padding:10px 18px;border:1px solid #d9dde3;background:#fff;white-space:nowrap;color:#050641;}
.inno-file-name{padding:10px 18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:360px;}
.inquiry-form .inno-file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;}
.inno-file-picker:focus-within .inno-file-button{outline:2px solid #050641;outline-offset:3px;}

/* Long English words must remain inside the original card layouts. */
html[lang="en"] .edi-principle-summary h3,
html[lang="en"] .edi-principle-summary p,
html[lang="en"] .analysis-timeline h3,
html[lang="en"] .analysis-timeline p{word-break:normal;overflow-wrap:anywhere;hyphens:auto;}

@media(min-width:761px) and (max-width:1180px){
html[lang="en"] .edi-principle-summary{grid-template-columns:1fr;gap:30px;margin-top:44px;}
html[lang="en"] .edi-principle-summary article,html[lang="en"] .edi-principle-summary article:first-child,html[lang="en"] .edi-principle-summary article:last-child{border-left:0;padding:0;grid-template-columns:64px minmax(0,1fr);}
html[lang="en"] .analysis-timeline{display:block;margin-top:44px;padding:0;}
html[lang="en"] .analysis-timeline li{text-align:left;padding:0 0 40px 76px;min-height:110px;}
html[lang="en"] .analysis-step-number{position:absolute;left:0;top:0;width:48px;padding:0;margin:0;font-size:40px;text-align:left;}
html[lang="en"] .analysis-timeline li:before,html[lang="en"] .analysis-timeline li:first-child:before,html[lang="en"] .analysis-timeline li:last-child:before{top:52px;left:22px;width:1px;height:calc(100% - 52px);}
html[lang="en"] .analysis-timeline li:last-child:before{height:0;}
html[lang="en"] .analysis-timeline h3{font-size:24px;margin-bottom:8px;}
}

/* Subpage tabs appear only after the visual has scrolled out. */
.sub-visual .category-tabs:not(.is-floating) { visibility:hidden; pointer-events:none; }
