@font-face {
  font-family: "Archivo";
  src: url("../fonts/archivo-var-latin.woff2") format("woff2-variations");
  font-weight: 400 850;
  font-stretch: 100% 125%;
  font-display: swap;
  font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #14233b;
  --ink-2: #1e3350;
  --ink-3: #091629;
  --steel: #51647d;
  --steel-light: #aebed1;
  --hazard: #f2660c;
  --hazard-deep: #bd4904;
  --paper: #fafbfc;
  --surface: #f1f4f7;
  --line: #dce1e8;
  --body: #333f4f;
  --white: #ffffff;
  --success: #17754a;
  --shadow: 0 20px 55px rgb(20 35 59 / 12%);
  --shell: 1240px;
  --step--1: clamp(.78rem, .75rem + .12vw, .86rem);
  --step-0: clamp(.96rem, .91rem + .22vw, 1.08rem);
  --step-1: clamp(1.08rem, 1.01rem + .3vw, 1.24rem);
  --step-2: clamp(1.42rem, 1.25rem + .7vw, 1.82rem);
  --step-3: clamp(1.85rem, 1.58rem + .95vw, 2.4rem);
  --step-4: clamp(2.5rem, 2.12rem + 1.6vw, 3.5rem);
  --focus-light: 0 0 0 3px var(--paper), 0 0 0 6px var(--hazard);
  --focus-dark: 0 0 0 3px var(--ink), 0 0 0 6px var(--white);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 132px;
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
}

/* Off-screen sections only. Oversized intrinsic height avoids CLS; footer excluded. */
.family-bridge,
.applications,
.how-we-make-it,
.industries,
.certifications,
.quote-band {
  content-visibility: auto;
}

.family-bridge { contain-intrinsic-size: auto 1800px; }
.applications { contain-intrinsic-size: auto 900px; }
.how-we-make-it { contain-intrinsic-size: auto 1100px; }
.industries { contain-intrinsic-size: auto 900px; }
.certifications { contain-intrinsic-size: auto 1400px; }
.quote-band { contain-intrinsic-size: auto 480px; }

body {
  margin: 0;
  overflow-x: clip;
  background: var(--paper);
  color: var(--body);
  font-family: "Archivo", system-ui, sans-serif;
  font-variation-settings: "wdth" 100;
  font-size: var(--step-0);
  font-weight: 400;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body:has(.mobile-drawer[open]) { overflow: hidden; }

img, svg { display: block; }
img { max-width: 100%; height: auto; }
.hero-slide img,
.industry-tile img,
.application-item img {
  width: 100%;
  height: 100%;
  max-width: none;
}
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

h1, h2, h3 {
  margin: 0;
  color: var(--ink);
  font-family: "Archivo", system-ui, sans-serif;
  font-variation-settings: "wdth" 110;
  font-weight: 780;
  letter-spacing: -.02em;
  line-height: 1.08;
  text-wrap: balance;
}

h1, h2 {
  font-variation-settings: "wdth" 112;
  font-weight: 800;
}

p { margin: 0; max-width: 72ch; text-wrap: pretty; }
sup { font-size: .55em; vertical-align: super; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

:focus-visible {
  outline: none;
  border-radius: 3px;
  box-shadow: var(--focus-light);
}

.utility :focus-visible,
.hero :focus-visible,
.industries :focus-visible,
.technical-proof :focus-visible,
.quote-band :focus-visible,
.site-footer :focus-visible,
.mobile-drawer :focus-visible {
  box-shadow: var(--focus-dark);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  inset: .75rem auto auto .75rem;
  translate: 0 -180%;
  background: var(--hazard);
  color: var(--ink);
  padding: .75rem 1rem;
  font-weight: 800;
}
.skip-link:focus { translate: 0; }

.shell {
  width: min(calc(100% - clamp(2rem, 6vw, 5rem)), var(--shell));
  margin-inline: auto;
}

.shell-wide {
  width: min(calc(100% - clamp(1rem, 3vw, 2rem)), 1500px);
  margin-inline: auto;
}

.utility {
  position: relative;
  z-index: 30;
  min-height: 38px;
  background: var(--ink-3);
  color: #d7e1ed;
  font-size: var(--step--1);
}

.utility-inner,
.utility-primary,
.utility-actions {
  display: flex;
  align-items: center;
}

.utility-inner { min-height: 38px; justify-content: space-between; gap: 1.25rem; }
.utility-primary { gap: 1.5rem; }
.utility-actions { gap: .8rem; }
.utility a, .utility button { min-height: 32px; color: inherit; }
.utility a { display: inline-flex; align-items: center; gap: .45rem; }
.utility svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.utility button { border: 0; background: transparent; cursor: pointer; }
.utility button:hover, .utility a:hover { color: var(--white); }
.utility-proof { color: var(--steel-light); }
.language-action { font-weight: 800; }

.site-header {
  position: sticky;
  z-index: 20;
  top: 0;
  border-bottom: 1px solid var(--line);
  background: rgb(255 255 255 / 97%);
  box-shadow: 0 8px 26px rgb(9 22 41 / 7%);
}

.header-brand-row { background: var(--white); }

.header-inner {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(.85rem, 1.8vw, 1.5rem);
  padding-block: .25rem;
}

.site-logo { flex: 0 0 auto; }
.site-logo img { width: clamp(142px, 11vw, 168px); height: auto; }

.procurement-path {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 1.15rem;
}

.procurement-label {
  color: var(--steel);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.procurement-path ol {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  padding: 0;
  color: var(--ink);
  list-style: none;
}

.procurement-path li { display: flex; align-items: center; gap: .42rem; font-size: .77rem; font-weight: 700; white-space: nowrap; }
.procurement-path li > span { color: var(--hazard-deep); font-size: .63rem; font-weight: 850; }
.procurement-path li:not(:last-child)::after { content: ""; width: 20px; height: 1px; margin-left: .25rem; background: var(--line); }

.header-nav-row { border-top: 1px solid var(--line); background: var(--paper); }
.header-nav-inner {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: stretch;
}

.desktop-nav {
  display: flex;
  width: 100%;
  align-items: stretch;
  align-self: stretch;
  justify-content: space-between;
  gap: .25rem;
}

.nav-link {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: .35rem;
  border: 0;
  padding-inline: clamp(.9rem, 1.35vw, 1.35rem);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: .92rem;
  font-weight: 760;
  letter-spacing: 0;
}

.nav-link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--hazard);
  scale: 0 1;
  transform-origin: left;
  transition: scale 180ms ease-out;
}

.nav-link:hover::after,
.nav-link.is-active::after,
.nav-disclosure:has(.mega-menu:not([hidden])) .nav-link::after { scale: 1; }
.nav-link:hover,
.nav-link.is-active,
.nav-disclosure:has(.mega-menu:not([hidden])) .nav-link { background: var(--white); color: var(--hazard-deep); }
.nav-toggle svg { width: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.nav-toggle[aria-expanded="true"] svg { rotate: 180deg; }
.nav-button { padding-inline: clamp(.9rem, 1.35vw, 1.35rem); }
.nav-disclosure {
  display: flex;
  position: static;
}

.mega-menu {
  position: absolute;
  z-index: 40;
  top: 100%;
  left: 0;
  right: 0;
  display: grid;
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(12rem, .72fr) minmax(0, 1.28fr);
  translate: none;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: var(--shadow);
}

.mega-menu[hidden] { display: none; }
.mega-intro { padding: clamp(1.25rem, 2vw, 2rem); background: var(--ink); color: var(--white); }
.mega-intro span { color: #c1cedd; font-size: .78rem; font-weight: 700; }
.mega-intro strong { display: block; margin-top: .65rem; font-size: clamp(1.1rem, 1.4vw, 1.35rem); line-height: 1.18; }
.mega-intro p { margin-top: .75rem; color: #c1cedd; font-size: .88rem; }
.mega-links { display: grid; grid-template-columns: 1fr 1fr; padding: 1rem; }
.mega-links a { display: flex; min-height: 58px; align-items: center; gap: .85rem; border-bottom: 1px solid var(--line); padding: .5rem .75rem; color: var(--ink); font-weight: 650; }
.mega-links a:nth-last-child(-n+2) { border-bottom: 0; }
.mega-links a:hover { background: var(--surface); }
.mega-links span { color: var(--hazard-deep); font-size: .72rem; font-variant-numeric: tabular-nums; }
.mega-menu-compact {
  left: auto;
  right: 0;
  width: min(100%, 36rem);
  max-width: 100%;
  grid-template-columns: minmax(10rem, .85fr) minmax(0, 1.15fr);
}

.header-actions { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
.button.header-quote { min-height: 36px; padding-inline: .9rem; font-size: .78rem; }

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: .78rem 1.25rem;
  cursor: pointer;
  font-size: .91rem;
  font-weight: 800;
  line-height: 1.1;
  transition: translate 150ms ease-out, background-color 150ms ease-out, border-color 150ms ease-out;
}

.button svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 2; }
.button:hover { translate: 0 -2px; }
.button-primary { background: var(--hazard); color: var(--ink); }
.button-primary:hover { background: #ff7a1f; }
.button-secondary { border-color: rgb(255 255 255 / 50%); background: rgb(8 20 36 / 45%); color: var(--white); }
.button-secondary:hover { border-color: var(--white); background: rgb(8 20 36 / 75%); }

.menu-trigger {
  display: none;
  width: 48px;
  height: 48px;
  place-content: center;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--white);
  cursor: pointer;
}
.menu-trigger span { width: 21px; height: 2px; background: var(--ink); }

.mobile-drawer {
  width: min(92vw, 420px);
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0 0 0 auto;
  border: 0;
  padding: 0;
  background: var(--paper);
  color: var(--ink);
}
.mobile-drawer::backdrop { background: rgb(5 14 27 / 72%); }
.mobile-drawer[open] { display: grid; grid-template-rows: auto 1fr auto; }
.mobile-drawer-head { display: flex; min-height: 82px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 1rem 1.25rem; }
.mobile-drawer-head img { width: 190px; height: auto; }
.drawer-close { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid var(--line); background: var(--white); cursor: pointer; }
.drawer-close svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 2; }
.mobile-nav { display: grid; align-content: start; overflow-y: auto; padding: 1.25rem; }
.mobile-nav-title { margin-bottom: .5rem; color: var(--steel); font-size: 1rem; font-weight: 750; }
.mobile-nav a, .mobile-nav button { display: flex; min-height: 57px; align-items: center; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; font-size: 1.08rem; font-weight: 750; text-align: left; }
.mobile-drawer-foot { display: grid; gap: 1rem; border-top: 1px solid var(--line); padding: 1.25rem; }
.mobile-drawer-foot a { color: var(--steel); font-weight: 650; text-align: center; }

.hero {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  isolation: isolate;
  background: var(--ink-3);
  color: var(--white);
}

.hero-slides,
.hero-slide,
.hero-slide picture,
.hero-slide img,
.hero-tone {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-slide {
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 850ms cubic-bezier(.22, .61, .36, 1), visibility 850ms;
}

.hero:not(.is-carousel-ready) .hero-slide { transition: none; }
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slide img { object-fit: cover; object-position: 66% 42%; }
.hero-slide:nth-child(2) img { object-position: 62% 38%; }
.hero-slide:nth-child(3) img { object-position: 68% 45%; }

.hero-tone {
  z-index: 1;
  background:
    linear-gradient(90deg, rgb(5 16 31 / 97%) 0%, rgb(7 23 42 / 91%) 39%, rgb(7 23 42 / 34%) 67%, rgb(7 23 42 / 16%) 100%),
    linear-gradient(0deg, rgb(5 16 31 / 74%) 0%, transparent 48%);
}

.hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: 560px;
  grid-template-columns: minmax(0, min(700px, 100%));
  align-items: center;
  padding-block: clamp(3.25rem, 5.5vw, 4.5rem) 9.5rem;
}

.hero-copy { max-width: 700px; }
.hero-context { margin-bottom: 1rem; color: #dce6f1; font-size: .78rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.hero h1 { max-width: 19ch; color: var(--white); font-size: clamp(2.5rem, 3.7vw, 3.15rem); font-variation-settings: "wdth" 112; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.hero h1 span { color: var(--white); }
.hero h1 span::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 1.15rem;
  background: var(--hazard);
  transform: scaleX(0);
  transform-origin: left center;
  animation: hero-underline-in 500ms cubic-bezier(.22, 1, .36, 1) 180ms forwards;
}

@keyframes hero-underline-in {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.hero-lede { max-width: 56ch; margin-top: 1.25rem; color: #d7e1ed; font-size: 1rem; line-height: 1.58; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.55rem; }
.hero-assurance { display: flex; flex-wrap: wrap; gap: 0; margin: 1.55rem 0 0; padding: 0; color: #dce6f1; list-style: none; }
.hero-assurance li { display: grid; gap: .08rem; min-width: 122px; border-left: 1px solid rgb(255 255 255 / 20%); padding: 0 1.15rem; }
.hero-assurance li:first-child { border-left: 0; padding-left: 0; }
.hero-assurance strong { color: var(--white); font-size: .95rem; font-weight: 780; }
.hero-assurance span { color: #aebed1; font-size: .7rem; }

.hero-carousel-bar {
  position: absolute;
  z-index: 3;
  bottom: 1.35rem;
  left: 50%;
  display: grid;
  min-height: 84px;
  grid-template-columns: auto minmax(0, 1fr);
  translate: -50% 0;
  border: 1px solid rgb(255 255 255 / 20%);
  background: rgb(6 20 37 / 80%);
  box-shadow: 0 18px 42px rgb(0 7 17 / 28%);
  backdrop-filter: blur(14px);
}

.hero-arrows { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; border-right: 1px solid rgb(255 255 255 / 18%); }
.hero-arrows button { display: grid; width: 52px; min-height: 52px; place-items: center; border: 0; border-right: 1px solid rgb(255 255 255 / 14%); background: transparent; color: var(--white); cursor: pointer; }
.hero-arrows button:last-child { border-right: 0; }
.hero-arrows button:hover { background: rgb(255 255 255 / 9%); }
.hero-arrows svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.hero-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hero-tabs button { position: relative; display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem; border: 0; border-right: 1px solid rgb(255 255 255 / 16%); background: transparent; color: var(--white); cursor: pointer; padding: .8rem 1rem; text-align: left; }
.hero-tabs button:last-child { border-right: 0; }
.hero-tabs button::before { content: ""; position: absolute; top: -1px; right: 0; left: 0; height: 3px; background: var(--hazard); scale: 0 1; transform-origin: left; transition: scale 220ms ease-out; }
.hero-tabs button:hover { background: rgb(255 255 255 / 7%); }
.hero-tabs button[aria-selected="true"] { background: rgb(255 255 255 / 9%); }
.hero-tabs button[aria-selected="true"]::before { scale: 1; }
.hero-tabs small { color: #ff9b5d; font-size: .68rem; font-weight: 800; }
.hero-tabs span { display: grid; min-width: 0; gap: .18rem; }
.hero-tabs strong { overflow: hidden; color: var(--white); font-size: .8rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }
.hero-tabs em { overflow: hidden; color: #aebed1; font-size: .66rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }

.credibility-rail {
  border-top: 3px solid var(--hazard);
  background: var(--ink);
  color: var(--white);
}

.credibility-inner {
  display: grid;
  min-height: 116px;
  grid-template-columns: minmax(140px, .85fr) minmax(560px, 3fr) minmax(180px, 1fr);
  align-items: stretch;
}

.credibility-inner .evidence-heading,
.credibility-inner .evidence-cert {
  display: flex;
  align-items: center;
  margin: 0;
  color: #c6d2df;
  font-size: .77rem;
  font-weight: 700;
  line-height: 1.45;
}

.credibility-inner .evidence-heading { padding-right: 1.5rem; }
.credibility-inner .evidence-cert { border-left: 1px solid rgb(255 255 255 / 14%); padding-left: 1.5rem; color: var(--white); }
.credibility-inner dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.credibility-inner dl div { display: grid; align-content: center; border-left: 1px solid rgb(255 255 255 / 14%); padding: 1rem 1.35rem; }
.credibility-inner dt { color: var(--white); font-size: clamp(1.35rem, 2vw, 1.72rem); font-variation-settings: "wdth" 108; font-weight: 760; line-height: 1; }
.credibility-inner dd { margin: .38rem 0 0; color: #aebed1; font-size: .74rem; }

.hero-evidence {
  align-self: end;
  border-top: 4px solid var(--hazard);
  background: rgb(8 22 40 / 93%);
  padding: 1.5rem;
}
.evidence-heading { color: #c6d2df; font-size: .76rem; font-weight: 750; }
.hero-evidence dl { display: grid; grid-template-columns: 1fr 1fr; margin: 1rem 0 0; }
.hero-evidence dl div { border-top: 1px solid rgb(255 255 255 / 14%); padding: 1rem .25rem; }
.hero-evidence dl div:nth-child(odd) { border-right: 1px solid rgb(255 255 255 / 14%); }
.hero-evidence dt { color: var(--white); font-size: clamp(1.35rem, 2.2vw, 2rem); font-variation-settings: "wdth" 125; font-weight: 800; line-height: 1; }
.hero-evidence dd { margin: .35rem 0 0; color: #aebed1; font-size: .78rem; }
.evidence-cert { border-top: 1px solid rgb(255 255 255 / 14%); padding-top: 1rem; color: var(--white); font-size: .85rem; font-weight: 700; }

.family-bridge { position: relative; background: var(--paper); padding-block: clamp(2.75rem, 4vw, 3.5rem) clamp(3.5rem, 5vw, 4.5rem); }
.section-heading { margin-bottom: clamp(1.35rem, 2.5vw, 2rem); }
.heading-inline { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: end; gap: clamp(2.5rem, 6vw, 6rem); }
.section-index { margin-bottom: .65rem; color: var(--hazard-deep); font-size: .78rem; font-weight: 800; }
.section-heading h2, .how-we-make-intro h2, .certification-copy h2 { max-width: 17ch; font-size: var(--step-3); }
.heading-inline > p { width: min(100%, 54ch); justify-self: end; color: var(--steel); font-size: var(--step-1); }

.family-track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(.85rem, 1.4vw, 1.2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.family-item { display: flex; min-width: 0; grid-column: span 2; flex-direction: column; overflow: hidden; border: 1px solid var(--line); background: var(--white); box-shadow: 0 14px 38px rgb(20 35 59 / 7%); transition: translate 220ms ease-out, box-shadow 220ms ease-out; }
.family-item:nth-child(n+4) { grid-column: span 3; }
.family-item:hover { translate: 0 -4px; box-shadow: 0 22px 48px rgb(20 35 59 / 12%); }
.family-visual { display: grid; width: 100%; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; margin: 0; border-bottom: 1px solid var(--line); background: linear-gradient(145deg, #f3f6f9, var(--white)); }
.family-visual img { width: 100%; height: 100%; padding: 0; object-fit: cover; transition: scale 650ms cubic-bezier(.16,.8,.2,1); }
.family-visual-contain img { padding: clamp(.8rem, 1.35vw, 1.25rem); object-fit: contain; }
.family-visual-photo img { padding: 0; object-fit: cover; }
.family-item:hover .family-visual img { scale: 1.035; }
.family-item > div:last-child { display: flex; min-height: 196px; flex: 1; flex-direction: column; align-items: flex-start; padding: clamp(1.2rem, 2vw, 1.65rem); }
.family-number { color: var(--hazard-deep); font-size: .72rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.family-item h3 { margin-top: .5rem; font-size: clamp(1.12rem, 1.25vw, 1.3rem); line-height: 1.2; }
.family-item p { max-width: 44ch; margin-top: .72rem; color: var(--steel); font-size: .9rem; line-height: 1.55; }
.family-item a, .family-item button { display: inline-flex; min-height: 44px; align-items: center; border: 0; background: transparent; color: var(--ink); cursor: pointer; font-size: .79rem; font-weight: 800; padding: .5rem 0; text-decoration: underline; text-decoration-color: var(--hazard); text-underline-offset: 5px; }
.family-item p + a, .family-item p + button { margin-top: auto; }

.how-we-make-it {
  border-top: 1px solid var(--line);
  background: var(--surface);
  padding-block: clamp(5.5rem, 8vw, 7.5rem);
}

.how-we-make-intro {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 5rem);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.how-we-make-lede {
  display: grid;
  gap: 1rem;
  align-content: end;
  justify-self: end;
  width: min(100%, 56ch);
  color: var(--steel);
  font-size: var(--step-1);
}

.how-we-make-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr);
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.5rem);
  min-height: 480px;
}

.how-we-make-facility {
  position: relative;
  margin: 0;
  min-height: 480px;
  overflow: hidden;
  background: var(--ink);
}

.how-we-make-facility picture,
.how-we-make-facility img {
  width: 100%;
  height: 100%;
}

.how-we-make-facility picture { position: absolute; inset: 0; }
.how-we-make-facility img {
  object-fit: cover;
  object-position: 38% 55%;
  filter: saturate(.8) contrast(1.05);
}

.how-we-make-facility::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgb(5 15 28 / 88%));
}

.how-we-make-facility figcaption {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  padding: 1.2rem 1.35rem;
  color: var(--white);
}

.how-we-make-facility figcaption strong { font-size: 1.05rem; }
.how-we-make-facility figcaption span { margin-top: .15rem; color: #c6d2df; font-size: .78rem; }

.how-we-make-process {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  min-height: 480px;
}

.how-we-make-process article {
  display: grid;
  grid-template-columns: minmax(180px, .44fr) minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 12%);
  background: var(--ink);
  color: var(--white);
}

.how-we-make-process picture {
  display: block;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  background: var(--ink-3);
}

.how-we-make-process img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.how-we-make-process article:nth-child(1) img { object-position: 42% 40%; }
.how-we-make-process article:nth-child(2) img { object-position: 58% 48%; }
.how-we-make-process article:nth-child(3) img { object-position: 35% 55%; }

.how-we-make-process article > div {
  display: grid;
  align-content: center;
  gap: .45rem;
  padding: 1rem 1.15rem;
}

.how-we-make-process h3 { color: var(--white); font-size: clamp(1.2rem, 1.5vw, 1.4rem); }
.how-we-make-process p { margin: 0; color: #b9c7d6; font-size: .82rem; line-height: 1.5; }

.technical-proof { background: var(--ink); color: var(--white); padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.proof-band { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); gap: 0; }
.proof-band-heading { padding-right: clamp(1.5rem, 4vw, 3.5rem); }
.proof-band-heading .section-index { color: #ff9b5d; }
.proof-band-heading h2 { color: var(--white); font-size: var(--step-2); }
.proof-band article { border-left: 1px solid rgb(255 255 255 / 16%); padding: .15rem clamp(1.25rem, 3vw, 2.2rem); }
.proof-band article > span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgb(255 255 255 / 28%); color: #d4dfeb; font-size: .7rem; font-weight: 800; }
.proof-band h3 { margin-top: 0; color: var(--white); font-size: 1.08rem; }
.proof-band article p { margin-top: .65rem; color: #b7c5d5; font-size: .87rem; }

.featured-product { background: var(--paper); padding-block: clamp(5rem, 8vw, 7rem); }
.featured-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }
.featured-copy h2 { font-size: var(--step-3); }
.featured-copy > p:not(.section-index) { margin-top: 1.4rem; color: var(--steel); font-size: var(--step-1); }
.product-specs { margin: 2rem 0; border-top: 1px solid var(--line); }
.product-specs div { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; border-bottom: 1px solid var(--line); padding: .85rem 0; }
.product-specs dt { color: var(--steel); font-size: .82rem; }
.product-specs dd { margin: 0; color: var(--ink); font-weight: 750; }
.featured-visual { position: relative; display: grid; aspect-ratio: 1.22; place-items: center; overflow: hidden; margin: 0; border: 1px solid var(--line); background: radial-gradient(circle at 64% 28%, #ffffff 0%, #edf1f5 54%, #dce3e9 100%); color: var(--ink-2); }
.featured-visual::before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgb(20 35 59 / 8%) 1px, transparent 1px), linear-gradient(90deg, rgb(20 35 59 / 8%) 1px, transparent 1px); background-size: 40px 40px; }
.featured-visual img { position: relative; z-index: 1; width: 100%; height: 100%; padding: clamp(1.5rem, 4vw, 3.5rem); object-fit: contain; }
.featured-visual figcaption { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; border: 1px solid var(--line); background: rgb(255 255 255 / 92%); padding: .45rem .65rem; color: var(--steel); font-size: .7rem; font-weight: 750; }

.industries { background: var(--ink-3); color: var(--white); padding-block: clamp(4.25rem, 6.5vw, 5.75rem); }
.heading-on-dark h2 { color: var(--white); }
.heading-on-dark .section-index { color: #ff9b5d; }
.heading-on-dark > p { color: #b7c5d5; }

.industry-mosaic {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
}

.industry-tile {
  position: relative;
  grid-column: auto;
  min-height: 260px;
  overflow: hidden;
  background: var(--ink);
}

.industry-featured {
  grid-column: auto;
  grid-row: auto;
  min-height: 260px;
}

.industry-tile:nth-child(2),
.industry-tile:nth-child(3),
.industry-tile:nth-child(4),
.industry-tile:nth-child(5) {
  grid-column: auto;
  min-height: 260px;
}

.industry-tile picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.industry-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(.28) saturate(.7) contrast(1.05);
  transition: scale 650ms cubic-bezier(.16,.8,.2,1), filter 300ms ease-out;
}
.industry-tile:nth-child(1) img { object-position: 42% 35%; }
.industry-tile:nth-child(2) img { object-position: 58% 40%; }
.industry-tile:nth-child(3) img { object-position: 35% 48%; }
.industry-tile:nth-child(4) img { object-position: 62% 45%; }
.industry-tile:nth-child(5) img { object-position: 48% 38%; }
.industry-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(10 24 44 / 8%) 12%, rgb(7 18 34 / 88%) 100%);
}
.industry-tile:hover img {
  scale: 1.035;
  filter: grayscale(.05) saturate(.86) contrast(1.05);
}
.industry-tile > div {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1.1rem;
  left: 1rem;
}
.industry-tile h3 { margin: 0; color: var(--white); font-size: clamp(1.05rem, 1.3vw, 1.22rem); }
.industry-tile p { margin-top: .3rem; color: #c3cfdb; font-size: .74rem; }
.industry-featured h3 { font-size: clamp(1.05rem, 1.3vw, 1.22rem); }
.industry-featured p { font-size: .74rem; }

.certifications { border-bottom: 1px solid var(--line); background: var(--surface); padding-block: clamp(4.25rem, 6.5vw, 5.75rem) clamp(5.5rem, 9vw, 8rem); }
.certification-layout { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(2.5rem, 5vw, 5.5rem); }
.certification-copy { position: sticky; top: 8.5rem; }
.certification-copy h2 { max-width: 14ch; }
.certification-copy p:not(.section-index) { max-width: 42ch; margin-top: 1.35rem; color: var(--steel); font-size: var(--step-1); }
.certification-evidence { display: grid; gap: 1.25rem; }
.certificate-societies { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--white); list-style: none; }
.certificate-societies li { display: grid; min-height: 76px; align-content: center; gap: .2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .7rem .45rem; text-align: center; }
.certificate-societies strong { color: var(--ink); font-size: .88rem; font-variation-settings: "wdth" 108; font-weight: 800; }
.certificate-societies span { color: var(--steel); font-size: .62rem; line-height: 1.3; }
.certification-list { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); list-style: none; }
.certification-list li { display: grid; min-height: 110px; place-content: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); padding: .8rem; text-align: center; }
.certification-list strong { color: var(--ink); font-size: 1.05rem; font-variation-settings: "wdth" 125; }
.certification-list span { margin-top: .25rem; color: var(--steel); font-size: .68rem; }

.certificate-docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.certificate-docs figure { display: grid; grid-template-rows: 1fr auto; margin: 0; overflow: hidden; border: 1px solid var(--line); background: var(--white); box-shadow: 0 16px 38px rgb(20 35 59 / 9%); }
.certificate-sheet { display: grid; min-height: 0; aspect-ratio: 3 / 4; place-items: center; overflow: hidden; background: linear-gradient(145deg, #edf1f5, #f8fafc); padding: clamp(.55rem, 1vw, .85rem); }
.certificate-docs img { width: 100%; height: 100%; object-fit: contain; object-position: center; filter: drop-shadow(0 5px 11px rgb(20 35 59 / 12%)); }
.certificate-docs figcaption { display: grid; gap: .25rem; min-height: 82px; align-content: center; border-top: 1px solid var(--line); padding: .85rem 1rem; }
.certificate-docs strong { color: var(--ink); font-size: .82rem; }
.certificate-docs span { color: var(--steel); font-size: .68rem; line-height: 1.4; }

.quote-band { background: var(--ink); color: var(--white); padding-block: clamp(4.5rem, 8vw, 6.5rem); }
.quote-layout { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.quote-layout .section-index { color: #ff9b5d; }
.quote-layout h2 { max-width: 23ch; color: var(--white); font-size: var(--step-2); }
.quote-layout p:not(.section-index) { margin-top: .75rem; color: #b7c5d5; }

.site-footer { background: var(--ink-3); color: #b7c5d5; padding-top: clamp(3.5rem, 7vw, 5.5rem); }
.footer-grid { display: grid; grid-template-columns: 1.45fr .8fr .8fr 1.1fr; gap: clamp(1.5rem, 5vw, 4rem); padding-bottom: 3.5rem; }
.footer-brand img { width: 244px; height: auto; padding: .65rem; background: var(--white); }
.footer-brand p { margin-top: 1.35rem; font-size: .9rem; }
.footer-column, .footer-contact { display: grid; align-content: start; gap: .65rem; }
.footer-column h2, .footer-contact h2 { margin-bottom: .45rem; color: var(--white); font-size: .86rem; }
.footer-column a, .footer-column button, .footer-contact a { width: fit-content; min-height: 32px; border: 0; background: transparent; color: #b7c5d5; cursor: pointer; padding: 0; font-size: .86rem; text-align: left; }
.footer-column a:hover, .footer-column button:hover, .footer-contact a:hover { color: var(--white); }
.footer-contact address { margin-bottom: .55rem; color: #d0dbe7; font-size: .86rem; font-style: normal; }
.footer-contact p { margin-top: .35rem; color: #8295ac; font-size: .77rem; }
.footer-certs-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  padding: 1.15rem 0 1.4rem;
  border-top: 1px solid rgb(255 255 255 / 12%);
}
.footer-certs {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .95rem;
}
.footer-certs span {
  color: #aebed1;
  font-size: .72rem;
  font-variation-settings: "wdth" 108;
  font-weight: 800;
  letter-spacing: .02em;
}
.footer-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
}
.footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #aebed1;
  border-radius: 2px;
}
.footer-social-link:hover,
.footer-social-link:focus-visible {
  color: var(--white);
}
.footer-social-icon {
  display: block;
}
.footer-contact-note {
  margin-left: .35rem;
  color: #8295ac;
  font-size: .72rem;
  font-weight: 650;
}
.footer-bottom { display: flex; flex-wrap: wrap; min-height: 72px; align-items: center; justify-content: space-between; gap: .75rem 1.25rem; padding-block: 1.25rem; border-top: 1px solid rgb(255 255 255 / 12%); color: #b7c5d5; font-size: .82rem; }
.footer-bottom-links { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; color: var(--white); }

.proposal-toast {
  position: fixed;
  z-index: 200;
  right: 1rem;
  bottom: 1rem;
  width: min(calc(100dvw - 2rem), 430px);
  border-top: 4px solid var(--hazard);
  background: var(--ink);
  color: var(--white);
  box-shadow: var(--shadow);
  padding: 1rem 1.15rem;
  font-size: .9rem;
  font-weight: 650;
}
.proposal-toast[hidden] { display: none; }

@media (max-width: 1180px) {
  html { scroll-padding-top: 96px; }
  .procurement-path, .header-nav-row { display: none; }
  .desktop-nav { display: none; }
  .menu-trigger { display: grid; }
  .header-quote { display: inline-flex; }
  .hero, .hero-layout { min-height: 0; }
  .hero-layout { align-content: center; padding-block: 4.5rem 2.5rem; }
  .hero-copy { padding-bottom: 0; }
  .hero-category-dock { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 2.25rem; }
  .family-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .industry-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .industry-tile,
  .industry-featured {
    grid-column: auto;
    grid-row: auto;
    min-height: 300px;
  }
  .proof-band { grid-template-columns: 1fr 1fr 1fr; row-gap: 2rem; }
  .proof-band-heading { grid-column: 1 / -1; max-width: 600px; }
  .proof-band article:first-of-type { border-left: 0; padding-left: 0; }
  .credibility-inner { grid-template-columns: minmax(520px, 3fr) minmax(180px, 1fr); }
  .credibility-inner .evidence-heading { display: none; }
}

@media (max-width: 900px) {
  .hero-layout { grid-template-columns: 1fr; align-items: center; padding-block: 4.25rem 2rem; }
  .hero-copy { max-width: 680px; }
  .hero h1 { max-width: 16ch; font-size: clamp(2.6rem, 5.1vw, 3rem); }
  .hero-evidence { display: block; padding: 1rem; }
  .hero-evidence .evidence-heading, .hero-evidence .evidence-cert { display: none; }
  .hero-evidence dl { grid-template-columns: repeat(4, 1fr); margin-top: 0; }
  .hero-evidence dl div { border-top: 0; padding: .65rem .6rem; }
  .hero-evidence dl div:nth-child(odd), .hero-evidence dl div:not(:last-child) { border-right: 1px solid rgb(255 255 255 / 14%); }
  .hero-evidence dt { font-size: clamp(1.05rem, 3vw, 1.45rem); }
  .hero-evidence dd { font-size: .7rem; }
  .heading-inline, .how-we-make-intro, .featured-layout, .certification-layout { grid-template-columns: 1fr; gap: 1.4rem; }
  .heading-inline > p, .how-we-make-lede { justify-self: start; }
  .how-we-make-layout { grid-template-columns: 1fr; }
  .how-we-make-facility { min-height: 420px; }
  .how-we-make-process { grid-template-columns: 1fr; }
  .how-we-make-process picture { aspect-ratio: 16 / 9; }
  .certification-list { grid-template-columns: repeat(3, 1fr); }
  .certificate-societies { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-contact { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgb(255 255 255 / 12%); padding-top: 1.5rem; }
  .footer-contact h2 { grid-column: 1 / -1; }
  .certificate-docs { max-width: 760px; }
  .certification-copy { position: static; }
  .credibility-inner { grid-template-columns: 1fr; padding-block: 1rem; }
  .credibility-inner dl { grid-row: 1; }
  .credibility-inner .evidence-cert { grid-row: 2; justify-content: center; min-height: 46px; border-top: 1px solid rgb(255 255 255 / 14%); border-left: 0; padding: .85rem 0 0; text-align: center; }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 78px; }
  .utility { min-height: 36px; }
  .utility-inner { min-height: 36px; }
  .utility-proof, .utility-actions > span { display: none; }
  .utility-primary a:nth-child(2) { display: none; }
  .utility-primary, .utility-actions { gap: .5rem; }
  .text-action { max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .header-inner { min-height: 52px; padding-block: .3rem; }
  .site-logo img { width: 158px; }
  .header-quote { display: none; }
  .hero, .hero-layout { min-height: 0; }
  .hero-picture img { object-position: 58% center; }
  .hero-tone { background: linear-gradient(180deg, rgb(6 17 32 / 87%) 0%, rgb(6 17 32 / 72%) 35%, rgb(6 17 32 / 98%) 75%); }
  .hero-layout { min-height: 420px; align-content: center; gap: .9rem; padding-block: 2.5rem 1.75rem; }
  .hero-context { margin-bottom: .75rem; font-size: .84rem; line-height: 1.4; }
  .hero h1 { max-width: 15ch; font-size: clamp(2.15rem, 9.5vw, 2.72rem); line-height: 1.06; }
  .hero h1 span::after { width: 54px; height: 1px; margin-top: .9rem; }
  .hero-lede { max-width: 43ch; margin-top: 1.15rem; font-size: .95rem; line-height: 1.55; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: .6rem; margin-top: 1.25rem; }
  .hero-actions .button { width: 100%; }
  .hero-note { display: none; }
  .hero-category-dock { width: min(100%, calc(100dvw - 1.5rem)); grid-template-columns: repeat(3, minmax(230px, 1fr)); gap: .6rem; overflow-x: auto; padding-bottom: .5rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .hero-category-dock::-webkit-scrollbar { display: none; }
  .hero-category-dock a { min-height: 92px; scroll-snap-align: start; }
  .credibility-inner { width: calc(100% - 1.5rem); padding-block: .8rem; }
  .credibility-inner dl { grid-template-columns: 1fr 1fr; }
  .credibility-inner dl div { min-height: 76px; padding: .75rem 1rem; }
  .credibility-inner dl div:nth-child(odd) { border-left: 0; }
  .credibility-inner dl div:nth-child(n+3) { border-top: 1px solid rgb(255 255 255 / 14%); }
  .credibility-inner dt { font-size: 1.25rem; }
  .credibility-inner .evidence-cert { min-height: 40px; font-size: .72rem; }
  .hero-evidence { display: block; padding: 1rem; }
  .hero-evidence .evidence-heading, .hero-evidence .evidence-cert { display: none; }
  .hero-evidence dl { grid-template-columns: repeat(4, 1fr); }
  .hero-evidence dl div { border-top: 0; padding: .4rem .3rem; }
  .hero-evidence dl div:nth-child(odd), .hero-evidence dl div:not(:last-child) { border-right: 1px solid rgb(255 255 255 / 14%); }
  .hero-evidence dt { font-size: .98rem; }
  .hero-evidence dd { font-size: .62rem; }
  .family-bridge, .how-we-make-it, .industries, .certifications { padding-block: 3.75rem; }
  .certifications { padding-block: 3.75rem 5.25rem; }
  .quote-band { padding-block: 4.25rem; }
  .family-track { width: calc(100% - 1.5rem); grid-template-columns: 1fr; }
  .family-visual { aspect-ratio: 1.5; }
  .family-item > div:last-child { min-height: 182px; }
  .how-we-make-facility { min-height: 340px; }
  .how-we-make-process { gap: 1.25rem; }
  .featured-layout { gap: 2rem; }
  .featured-visual { aspect-ratio: .96; }
  .industry-mosaic {
    display: flex;
    width: calc(100% - 1rem);
    gap: .75rem;
    overflow-x: auto;
    padding-bottom: .85rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .industry-mosaic::-webkit-scrollbar { display: none; }
  .industry-tile,
  .industry-featured {
    flex: 0 0 min(72vw, 280px);
    min-height: 260px;
    scroll-snap-align: start;
  }
  .certification-list { grid-template-columns: repeat(2, 1fr); }
  .certificate-societies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .certificate-docs { display: flex; max-width: none; gap: .75rem; overflow-x: auto; padding: .4rem 1rem 1.75rem 0; scroll-snap-type: x mandatory; }
  .certificate-docs figure { min-width: min(72vw, 310px); scroll-snap-align: start; }
  .quote-layout { align-items: flex-start; flex-direction: column; }
  .quote-layout .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact { grid-template-columns: 1fr; }
  .footer-contact h2 { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; padding-block: 1.25rem; }
}

@media (max-width: 390px) {
  .shell { width: calc(100% - 1.5rem); }
  .utility { font-size: .72rem; }
  .text-action { max-width: 8.4rem; }
  .site-logo img { width: 170px; }
  .menu-trigger { width: 46px; height: 46px; }
  .hero-context { max-width: 26ch; }
  .hero-evidence { margin-inline: -.15rem; }
  .hero-evidence dd { max-width: 8ch; }
  .product-specs div { grid-template-columns: .9fr 1.1fr; }
  .certification-list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1180px) {
  .hero, .hero-layout { min-height: 620px; }
  .hero-layout { padding-block: 4.25rem 10.25rem; }
  .family-item,
  .family-item:nth-child(n+4) { grid-column: auto; }
  .hero-tabs em { display: none; }
}

@media (max-width: 900px) {
  .hero, .hero-layout { min-height: 600px; }
  .hero-layout { padding-block: 3.75rem 9.75rem; }
  .hero h1 { max-width: 18ch; font-size: clamp(2.25rem, 4.4vw, 2.55rem); }
  .hero-carousel-bar { bottom: 1rem; }
  .hero-tabs button { gap: .55rem; padding-inline: .75rem; }
  .hero-tabs strong { font-size: .75rem; }
}

@media (max-width: 680px) {
  .hero { min-height: 0; }
  .hero-slide img,
  .hero-slide:nth-child(2) img,
  .hero-slide:nth-child(3) img { object-position: 72% 40%; }
  .hero h1 span::after { width: 48px; height: 1px; margin-top: .85rem; }
  .hero-tone {
    background:
      linear-gradient(180deg, rgb(5 16 31 / 48%) 0%, rgb(5 16 31 / 44%) 48%, rgb(5 16 31 / 88%) 100%),
      linear-gradient(90deg, rgb(5 16 31 / 92%) 0%, rgb(5 16 31 / 68%) 58%, rgb(5 16 31 / 22%) 100%);
  }
  .hero-layout { min-height: 540px; align-items: center; padding-block: 3rem 2rem; }
  .hero-context { margin-bottom: .75rem; font-size: .72rem; }
  .hero h1 { max-width: 15ch; font-size: clamp(2.05rem, 8.9vw, 2.45rem); line-height: 1.04; }
  .hero-lede { max-width: 39ch; margin-top: 1rem; font-size: .91rem; line-height: 1.52; }
  .hero-actions { gap: .55rem; margin-top: 1.2rem; }
  .hero-actions .button { min-height: 46px; }
  .hero-assurance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.25rem; }
  .hero-assurance li { min-width: 0; padding-inline: .7rem; }
  .hero-assurance strong { font-size: .82rem; }
  .hero-assurance span { font-size: .61rem; line-height: 1.3; }
  .hero-carousel-bar {
    position: relative;
    bottom: auto;
    left: auto;
    width: calc(100% - 1.5rem);
    min-height: 68px;
    margin: 0 auto 1.15rem;
    grid-template-columns: auto minmax(0, 1fr);
    translate: none;
  }
  .hero-arrows button { width: 42px; min-height: 42px; }
  .hero-tabs button { grid-template-columns: 1fr; place-items: center; gap: .18rem; padding: .55rem .35rem; text-align: center; }
  .hero-tabs small { font-size: .61rem; }
  .hero-tabs strong { font-size: .66rem; line-height: 1.25; white-space: normal; }
  .family-track { grid-template-columns: 1fr; }
  .family-item,
  .family-item:nth-child(n+4) { grid-column: auto; }
  .family-visual { aspect-ratio: 4 / 3; }
  .family-item > div:last-child { min-height: 182px; }
}

@media (max-width: 390px) {
  .hero-layout { min-height: 555px; }
  .hero h1 { font-size: clamp(2.05rem, 10vw, 2.35rem); }
  .hero-assurance li { padding-inline: .5rem; }
  .hero-assurance span { font-size: .57rem; }
  .hero-tabs strong { font-size: .61rem; }
}

/* v6.6 interface */

.header-finder-link {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: .55rem;
  border-inline: 1px solid var(--line);
  padding: .35rem .9rem;
  color: var(--ink);
}

.header-finder-link span { font-size: .8rem; font-weight: 780; line-height: 1; }
.header-finder-link small { display: none; }
.header-finder-link svg { width: 15px; fill: none; stroke: var(--hazard-deep); stroke-width: 2; transition: translate 180ms cubic-bezier(.16,.8,.2,1); }
.header-finder-link:hover { background: var(--surface); }
.header-finder-link:hover svg { translate: 4px 0; }

.hero-brand-voice {
  max-width: 42ch;
  margin-bottom: 1rem;
  color: #ffb27a;
  font-size: clamp(1rem, 1.35vw, 1.28rem);
  font-variation-settings: "wdth" 108;
  font-weight: 700;
  line-height: 1.3;
}

.family-visual { aspect-ratio: 4 / 3; }
.family-item h3 { margin-top: 0; }
.family-item > div:last-child { min-height: 184px; }
.family-item:nth-child(1) .family-visual img { object-position: 34% 42%; }
.family-item:nth-child(2) .family-visual img { object-position: 66% 48%; }
.family-item:nth-child(3) .family-visual img { object-position: 38% 55%; }
.family-item:nth-child(4) .family-visual img { object-position: 62% 38%; }
.family-item:nth-child(5) .family-visual img { object-position: 45% 58%; }

.applications {
  border-top: 1px solid rgb(255 255 255 / 10%);
  background: var(--ink-3);
  color: var(--white);
  padding-block: clamp(3.5rem, 5.5vw, 5rem);
}

.applications-heading {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: end;
  gap: clamp(1.5rem, 4vw, 4rem);
  margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.applications-heading .section-index { color: #ff9b5d; }
.applications-heading h2 { color: var(--white); font-size: var(--step-3); max-width: 14ch; }
.applications-heading p { max-width: 48ch; justify-self: end; color: #b9c7d6; font-size: var(--step-1); }

.applications-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.application-item {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--ink);
}

.application-featured { grid-column: auto; }

.application-item picture {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.application-featured picture { aspect-ratio: 4 / 3; }

.application-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 560ms cubic-bezier(.16,.8,.2,1), filter 240ms ease-out;
}

.application-item:nth-child(1) img { object-position: 38% 55%; }
.application-item:nth-child(2) img { object-position: 35% 48%; }
.application-item:nth-child(3) img { object-position: 66% 52%; }
.application-item:nth-child(4) img { object-position: 42% 38%; }

.application-item::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 36%, rgb(5 16 31 / 88%));
}

.application-item:hover img { scale: 1.04; filter: saturate(1.06) contrast(1.03); }

.application-item figcaption {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: .25rem;
  padding: 1rem 1rem .95rem;
  color: var(--white);
}

.application-item figcaption strong {
  font-size: clamp(.88rem, 1.05vw, 1.02rem);
  font-weight: 780;
}

.application-item figcaption span {
  color: #b9c7d6;
  font-size: .7rem;
  line-height: 1.35;
}

.mega-hub-link {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  margin-top: 0.85rem;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--hazard);
  text-underline-offset: 4px;
}

.family-finder-bar {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 14px 36px rgb(20 35 59 / 7%);
  padding: 1rem 1.15rem 1.1rem;
}

.family-finder-prompt {
  margin: 0 0 .75rem;
  color: var(--steel);
  font-size: .8rem;
  font-weight: 700;
}

.finder-form-inline {
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--paper);
}

.finder-form-inline .finder-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finder-form-inline .finder-fields label {
  display: grid;
  align-content: start;
  border-right: 1px solid var(--line);
}

.finder-form-inline .finder-fields label:last-child { border-right: 0; }
.finder-form-inline .finder-fields label > span { padding: .85rem 1rem .25rem; color: var(--steel); font-size: .68rem; font-weight: 750; }
.finder-form-inline .finder-fields select {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  padding: .35rem 2.2rem .85rem 1rem;
  font-size: .88rem;
  font-weight: 720;
  cursor: pointer;
}

.finder-form-inline .finder-fields select:disabled { color: #53657b; cursor: not-allowed; }
.finder-form-inline.was-validated select:invalid { box-shadow: inset 0 -3px 0 #b42318; }
.finder-form-inline .finder-submit-row {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid var(--line);
  padding: .75rem 1rem;
  background: var(--white);
}

.finder-form-inline .finder-submit-row p { max-width: 48ch; color: var(--steel); font-size: .72rem; line-height: 1.4; }
.finder-form-inline .finder-submit-row .button { flex: 0 0 auto; min-height: 44px; padding-block: .65rem; }
.finder-form-inline .finder-result {
  width: 100%;
  max-width: none;
  min-height: 44px;
  margin: 0;
  background: var(--ink);
  color: #d7e1ed;
  padding: .75rem 1rem;
  font-size: .78rem;
  font-weight: 650;
}

.finder-form-inline .finder-result.is-ready { background: #123f31; color: var(--white); }
.finder-form-inline .finder-result.is-error { background: #5b1c17; color: var(--white); }
.family-finder-bar .finder-caveat {
  margin: .75rem 0 0;
  color: var(--body);
  font-size: .74rem;
}

.applications :focus-visible,
.how-we-make-it :focus-visible { box-shadow: var(--focus-dark); }

@media (min-width: 901px) and (max-width: 1180px) {
  .how-we-make-layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .how-we-make-facility { min-height: 420px; }
  .how-we-make-process {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto;
    min-height: 0;
  }
  .how-we-make-process article {
    grid-template-columns: 1fr;
  }
  .how-we-make-process picture {
    aspect-ratio: 4 / 3;
    height: auto;
  }
  .applications-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .application-featured { grid-column: auto; }
  .application-featured picture { aspect-ratio: 4 / 3; }
  .industry-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .industry-tile,
  .industry-featured { grid-column: auto; grid-row: auto; min-height: 260px; }
}

@media (max-width: 1180px) {
  .header-finder-link { display: none; }
}

@media (max-width: 900px) {
  .finder-form-inline .finder-fields { grid-template-columns: 1fr; }
  .finder-form-inline .finder-fields label { border-right: 0; border-bottom: 1px solid var(--line); }
  .finder-form-inline .finder-fields label:last-child { border-bottom: 0; }
  .finder-form-inline .finder-submit-row { align-items: stretch; flex-direction: column; }
  .finder-form-inline .finder-submit-row .button { width: 100%; }
  .applications-heading { grid-template-columns: 1fr; gap: .85rem; }
  .applications-heading p { justify-self: start; }
  .applications-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .application-featured { grid-column: auto; }
  .application-featured picture,
  .application-item picture { aspect-ratio: 4 / 3; }
  .how-we-make-layout { grid-template-columns: 1fr; }
  .how-we-make-facility { min-height: 420px; }
  .how-we-make-process { grid-template-columns: 1fr; }
  .how-we-make-process picture { aspect-ratio: 16 / 9; }
}

@media (max-width: 680px) {
  .hero-brand-voice { max-width: 28ch; margin-bottom: .75rem; font-size: .92rem; }
  .family-visual { aspect-ratio: 4 / 3; }
  .applications { padding-block: 3.4rem; }
  .applications-grid {
    display: flex;
    width: calc(100% - 1rem);
    gap: .75rem;
    overflow-x: auto;
    padding-bottom: .85rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .applications-grid::-webkit-scrollbar { display: none; }
  .application-item,
  .application-featured {
    flex: 0 0 min(72vw, 260px);
    scroll-snap-align: start;
  }
  .application-featured picture,
  .application-item picture { aspect-ratio: 4 / 3; }
  .industry-mosaic {
    display: flex;
    width: calc(100% - 1rem);
    gap: .75rem;
    overflow-x: auto;
    padding-bottom: .85rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .industry-mosaic::-webkit-scrollbar { display: none; }
  .industry-tile,
  .industry-featured {
    flex: 0 0 min(72vw, 260px);
    min-height: 240px;
    scroll-snap-align: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
  .hero h1 span::after {
    animation: none;
    transform: scaleX(1);
  }
}

/* Large and ultrawide screens: widen shell, keep sections readable */
@media (min-width: 1440px) {
  :root {
    --shell: 1360px;
    --step-3: clamp(1.95rem, 1.4rem + 0.7vw, 2.55rem);
    --step-4: clamp(2.7rem, 2rem + 1.1vw, 3.65rem);
  }

  .hero {
    min-height: min(88vh, 920px);
  }

  .hero-copy {
    max-width: 760px;
  }

  .family-item > div:last-child {
    min-height: 180px;
  }
}

@media (min-width: 1680px) {
  :root {
    --shell: 1480px;
  }

  .shell-wide {
    width: min(calc(100% - clamp(1.5rem, 4vw, 3rem)), 1680px);
  }
}

@media (min-width: 901px) {
  .nav-disclosure .mega-menu {
    /* Keep panel under the nav row without a gap that kills hover */
    padding-top: 0;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .mega-menu {
    grid-template-columns: minmax(10rem, .7fr) minmax(0, 1.3fr);
  }

  .mega-intro {
    padding: 1.15rem 1.25rem;
  }

  .mega-links a {
    min-height: 52px;
    font-size: .9rem;
  }
}
