/* Language disclosure and production-led editorial banners. */
.language { position: relative; display: block; }
.language .language-trigger {
  display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 11px;
  background: #f8fafc; border: 1px solid #d9e2e9; border-radius: 4px;
  color: var(--navy); font-size: 11px; font-weight: 600;
}
.language-trigger img, .language-options img { width: 24px; height: 16px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px #0000000c; }
.language-trigger svg { width: 12px; height: 12px; fill: none; stroke: #65798b; stroke-width: 1.5; transition: transform .2s; }
.language-trigger[aria-expanded=true] svg { transform: rotate(180deg); }
.language .language-trigger:hover { border-color: #8fa9bf; }
.language-options {
  position: absolute; top: calc(100% + 12px); right: 0; z-index: 20; width: 218px;
  background: white; padding: 10px; border: 1px solid #e0e7ed; border-radius: 6px; box-shadow: 0 14px 42px #091f3326;
}
.language-options-label { font-size: 9px; color: #718393; letter-spacing: 1.3px; padding: 5px 9px 10px; }
.language-options button {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 9px;
  border-radius: 3px; text-align: left; font-size: 12px; color: var(--ink); background: white;
}
.language-options button:hover, .language-options button[aria-pressed=true] { background: #edf3f8; }
.language-options button>span:nth-child(2) { display: flex; flex-direction: column; gap: 4px; }
.language-options small { font-size: 9px; color: #6a7d8d; font-weight: 400; }
.language-check { opacity: 0; margin-left: auto; color: var(--blue); font-size: 13px; }
[aria-pressed=true] .language-check { opacity: 1; }
.hero-image { width: 82%; object-position: 68% center; filter: saturate(.65) brightness(.86); }
.hero-visual::after { background: linear-gradient(90deg,#091f33 0%,#091f33fa 22%,#091f33dd 37%,#091f3360 61%,#091f3310 100%),linear-gradient(0deg,#071a2df2 0%,#071a2d00 58%); }
.banner-blueprint { opacity: .12; }
.banner-signature { opacity: .33; font-size: clamp(57px,6.3vw,95px); top: 150px; }
.image-label { font-size: 8px; letter-spacing: 1.3px; }
.hero-description { max-width: 365px; }
.manufacturing-banner { position: relative; isolation: isolate; overflow: hidden; min-height: 530px; color: white; background: #0b1c2b; }
.manufacturing-background { position: absolute; top: 0; left: 0; width: 100%; height: 185%; object-fit: cover; object-position: 30% top; z-index: -2; }
.manufacturing-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#091f331a 5%,#091f3330 35%,#091f33df 62%,#091f33f5 100%),linear-gradient(0deg,#071a2d99,transparent 50%); }
.manufacturing-inner { min-height: 530px; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 90px; padding-block: 75px; }
.manufacturing-note { align-self: end; display: flex; align-items: center; gap: 22px; padding-bottom: 5px; }
.manufacturing-index { font-size: 11px; letter-spacing: 1px; color: #cfdeeb; border: 1px solid #ffffff40; padding: 12px 13px; }
.manufacturing-note>span:last-child { font-size: 9px; letter-spacing: 1.5px; line-height: 1.8; color: #d3e1ec; }
.manufacturing-copy .eyebrow,.parts-banner .eyebrow { color: #a6c9e6; }
.manufacturing-copy h2 { font-size: clamp(39px,4vw,58px); line-height: 1.12; letter-spacing: -2.5px; }
.manufacturing-copy>p:not(.eyebrow) { color: #cfdae4; font-size: 13px; line-height: 1.9; max-width: 380px; margin-top: 26px; }
.manufacturing-copy .text-link { margin-top: 28px; padding-bottom: 10px; border-bottom: 1px solid #8faabd70; gap: 25px; color: #f4f8fc; font-size: 12px; }
.manufacturing-copy .text-link:hover { color: #b4d9f5; }
.concept-credit { position: absolute; right: max(28px,calc((100vw - 1280px)/2)); bottom: 17px; font-size: 8px; letter-spacing: .4px; color: #c6d4e0; }
.parts-banner { position: relative; isolation: isolate; overflow: hidden; background: #0c2132; color: white; min-height: 430px; }
.parts-banner>img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.parts-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#091f33f0 0%,#091f33d9 26%,#091f3380 45%,#091f3300 78%),linear-gradient(0deg,#091f3380,transparent 40%); }
.parts-banner-inner { min-height: 430px; display: flex; align-items: center; justify-content: space-between; padding-block: 70px; gap: 35px; }
.parts-banner h2 { font-size: clamp(40px,4vw,59px); letter-spacing: -2.5px; max-width: 490px; }
.parts-banner .text-link { margin-top: 31px; color: white; gap: 25px; font-size: 12px; border-bottom: 1px solid #9db6c67d; padding-bottom: 10px; }
.parts-banner .text-link:hover { color: #b9defb; }
.parts-index { align-self: flex-start; font-size: 11px; color: #c2d4e4; letter-spacing: 1px; }
.catalog-section { border-top: 1px solid #ffffff1c; }
.actual-products { min-height: 480px; }
.actual-products::before { display: none; }
.actual-products .parts-banner-inner { min-height: 480px; position: relative; z-index: 1; pointer-events: none; }
.actual-products .parts-banner-inner>div { max-width: 42%; }
.actual-products .text-link { pointer-events: auto; }
.actual-products h2 { font-size: clamp(38px,3.7vw,54px); }
.actual-products .parts-index { color: #536e83; }
.parts-collage {
  position: absolute; inset: 0 0 0 44%; background: #ecf0f3; display: grid;
  grid-template-columns: 1.2fr 1fr; grid-template-rows: 1fr 1fr; gap: 0 24px;
  padding: 24px 55px 24px 75px; clip-path: polygon(7% 0,100% 0,100% 100%,0 100%);
}
.parts-collage figure { position: relative; min-width: 0; min-height: 0; margin: 0; display: grid; place-items: center; padding-bottom: 20px; }
.parts-collage img { width: 100%; height: 100%; max-height: 185px; object-fit: contain; mix-blend-mode: multiply; }
.parts-collage .collage-vb img { object-fit: cover; object-position: center 57%; }
.parts-collage figcaption { position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%); font-size: 9px; letter-spacing: 1px; color: #4f677a; }
@media(max-width:1100px) {
  .manufacturing-inner { gap: 55px; grid-template-columns: 1fr 1fr; }
  .manufacturing-copy h2 { font-size: 43px; }
}
@media(max-width:900px) {
  .header-actions { gap: 16px; }
  .manufacturing-inner { gap: 35px; }
  .manufacturing-copy h2 { font-size: 37px; }
  .manufacturing-copy>p:not(.eyebrow) { font-size: 12px; }
  .hero-image { width: 100%; }
}
@media(max-width:700px) {
  .language .language-trigger { padding: 7px 8px; min-height: 36px; gap: 6px; }
  .language-trigger img { width: 21px; height: 14px; }
  .language-trigger svg { width: 10px; }
  .language-options { width: 205px; }
  .hero-image { width: 100%; object-position: 62% center; filter: saturate(.55) brightness(.8); }
  .hero-visual::after { background: linear-gradient(90deg,#091f33f0,#091f33b8 65%,#091f3385),linear-gradient(0deg,#071a2d,#071a2d00 70%); }
  .image-label { font-size: 6px; letter-spacing: .8px; }
  .hero-description { max-width: 330px; }
  .manufacturing-banner { min-height: 670px; }
  .manufacturing-background { object-position: 29% top; }
  .manufacturing-banner::before { background: linear-gradient(0deg,#091f33ff 0%,#091f33ec 39%,#091f3360 72%,#091f3310 100%); }
  .manufacturing-inner { min-height: 670px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-end; gap: 26px; padding-block: 45px; }
  .manufacturing-note { align-self: flex-start; order: 2; gap: 14px; }
  .manufacturing-index { font-size: 9px; padding: 9px 11px; }
  .manufacturing-note>span:last-child { font-size: 7px; }
  .manufacturing-copy { margin-top: 200px; }
  .manufacturing-copy .eyebrow { font-size: 9px!important; margin-bottom: 17px; }
  .manufacturing-copy h2 { font-size: clamp(37px,10vw,52px); letter-spacing: -1.7px; }
  .manufacturing-copy>p:not(.eyebrow) { font-size: 12px; max-width: 360px; margin-top: 20px; }
  .manufacturing-copy .text-link { margin-top: 21px; font-size: 11px; gap: 17px; }
  .concept-credit { right: 20px; bottom: 14px; font-size: 7px; }
  .parts-banner { min-height: 540px; }
  .parts-banner>img { object-position: 69% top; }
  .parts-banner::before { background: linear-gradient(0deg,#091f33f5 0%,#091f33e8 38%,#091f3366 76%,#091f3320 100%); }
  .parts-banner-inner { min-height: 540px; align-items: flex-end; padding-block: 55px; position: relative; }
  .parts-banner h2 { font-size: clamp(38px,10vw,52px); letter-spacing: -1.8px; }
  .parts-banner .eyebrow { font-size: 8px!important; letter-spacing: 1.1px; margin-bottom: 17px; }
  .parts-banner .text-link { margin-top: 25px; font-size: 11px; }
  .parts-index { position: absolute; top: 26px; right: 0; font-size: 9px; }
  .actual-products { min-height: 0; display: flex; flex-direction: column; }
  .parts-collage { position: relative; inset: auto; height: 350px; width: 100%; padding: 20px 25px; gap: 12px 22px; clip-path: none; }
  .parts-collage figure { padding-bottom: 17px; }
  .parts-collage img { max-height: 130px; }
  .parts-collage figcaption { font-size: 8px; }
  .actual-products .parts-banner-inner { min-height: 310px; padding-block: 48px; }
  .actual-products .parts-banner-inner>div { max-width: 100%; }
  .actual-products h2 { font-size: clamp(37px,10vw,50px); }
  .actual-products .parts-index { color: #b5c9d9; }
}
@media(max-width:360px) {
  .header-inner { gap: 6px; }
  .header-actions { margin-right: 0; }
  .language .language-trigger { padding: 7px; gap: 5px; }
  .language-trigger img { width: 20px; }
  .language-trigger svg { display: none; }
  .manufacturing-copy h2 { font-size: 36px; }
}
