/* =========================================================================
   Italian Mold Group — editorial catalogue styles (v2)
   Ivory masthead, hairlines, asymmetric photography. Near-black #101413,
   ivory #f5f5f0, vermilion #d63b26 (CTA, selected index, small marks only).
   No rounded cards, no shadows, no badges, no decorative numbering.
   ========================================================================= */

@font-face {
  font-family: "Manrope";
  src: url("/assets/manrope-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("/assets/manrope-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("/assets/manrope-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #101413;
  --ink-deep: #0b0e0d;
  --paper: #f5f5f0;
  --white: #ffffff;
  --accent: #d63b26;
  --accent-strong: #bb321f;
  --accent-ink: #9e2a1a;
  --muted: #56534c;
  --steel: #8c8880;
  --steel-soft: #c8c3b8;
  --steel-line: rgba(16, 20, 19, 0.14);
  --steel-line-strong: rgba(16, 20, 19, 0.24);
  --hair-dark: rgba(245, 245, 240, 0.16);
  --hair-dark-strong: rgba(245, 245, 240, 0.32);
  --muted-dark: rgba(245, 245, 240, 0.78);

  --font-sans: "Manrope", Arial, "Helvetica Neue", Helvetica, "Segoe UI", sans-serif;

  --content: 1440px;
  --gutter: 64px;
  --gutter-mobile: 24px;
  --header-h: 82px;

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

[id] { scroll-margin-top: calc(var(--header-h) + 12px); }

img { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

ul, ol { margin: 0; padding: 0; list-style: none; }

p, h1, h2, h3, dl, dd, dt, figure { margin: 0; }

button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }

button {
  background: none;
  border: 0;
  cursor: pointer;
}

[hidden] { display: none !important; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* ------------------------------------------------------------ utilities */
.wrap {
  width: 100%;
  max-width: var(--content);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.section { padding-top: 96px; padding-bottom: 96px; }

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -100px;
  z-index: 200;
  background: var(--ink);
  color: var(--paper);
  padding: 12px 18px;
  font-size: 14px;
  transition: top 0.18s var(--ease);
}
.skip-link:focus { top: 12px; }

.section__title {
  font-size: clamp(1.9rem, 4vw, 3.4rem);
  line-height: 1.03;
  letter-spacing: -0.03em;
  font-weight: 600;
}

/* buttons -------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 0;
  padding: 14px 26px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.1;
  text-align: center;
  transition: background-color 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.btn--primary { background: var(--accent-strong); color: var(--white); }
.btn--primary:hover { background: var(--accent-ink); }
.btn--primary:disabled { background: var(--steel-soft); color: var(--muted); cursor: not-allowed; }
.btn--primary:focus-visible { outline-color: var(--white); }
.btn--ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--steel-line-strong);
}
.btn--ghost:hover { border-color: var(--ink); }
.btn--dark { background: var(--ink); color: var(--paper); }
.btn--dark:hover { background: var(--accent-strong); color: var(--white); }
.btn--block { width: 100%; }

.link-underline {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  border-bottom: 1px solid var(--steel-line-strong);
  padding-bottom: 3px;
  transition: border-color 0.2s var(--ease), color 0.2s var(--ease);
}
.link-underline:hover { border-color: var(--accent); color: var(--accent-strong); }
.on-dark .link-underline { color: var(--paper); border-bottom-color: var(--hair-dark-strong); }
.on-dark .link-underline:hover { border-color: var(--accent); color: var(--white); }

.src-link {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  color: var(--muted);
  border-bottom: 1px solid var(--steel-line-strong);
  padding-bottom: 2px;
  transition: color 0.18s var(--ease), border-color 0.18s var(--ease);
}
.src-link:hover { color: var(--ink); border-color: var(--ink); }
.src-link__label { font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px; }
.on-dark .src-link { color: var(--muted-dark); border-color: var(--hair-dark-strong); }
.on-dark .src-link:hover { color: var(--white); border-color: var(--paper); }

/* --------------------------------------------------------------- header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--white);
  border-bottom: 1px solid var(--steel-line);
}

.site-header__bar {
  position: relative;
  max-width: var(--content);
  min-height: var(--header-h);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
}

.brand { display: inline-flex; align-items: center; gap: 13px; min-width: 0; }

.emblem {
  position: relative;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--white);
  box-shadow: inset 0 0 0 1px var(--steel-line);
}
/* 1376x1287 source; emblem circle scaled into the 44px frame (brand spec). */
.emblem img {
  position: absolute;
  width: 81px;
  height: auto;
  left: -19.4px;
  top: -3.6px;
  max-width: none;
}

.brand__name { display: flex; flex-direction: column; gap: 2px; line-height: 1; }
.brand__name-top {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 0.95;
  text-transform: uppercase;
}
.brand__name-bottom {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}

.site-nav { justify-self: center; }
.site-nav__list { display: flex; align-items: center; gap: 34px; }
.site-nav a {
  position: relative;
  display: inline-block;
  font-size: 15px;
  font-weight: 500;
  color: #2c302e;
  padding: 8px 0;
  transition: color 0.18s var(--ease);
}
.site-nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.24s var(--ease);
}
.site-nav a:hover { color: var(--ink); }
.site-nav a:hover::after { transform: scaleX(1); }

.site-header__actions { display: flex; align-items: center; gap: 22px; justify-self: end; }

.lang { display: flex; align-items: center; gap: 12px; }
.site-nav__cta { display: none; }
.lang__item {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--muted);
  padding: 8px 2px;
  transition: color 0.18s var(--ease);
}
.lang__item:hover { color: var(--ink); }
.lang__item.is-active { color: var(--ink); }
.lang__item.is-active::after {
  content: "";
  display: block;
  height: 1px;
  margin-top: 3px;
  background: var(--accent);
}

.nav-toggle { display: none; width: 44px; height: 44px; padding: 0; place-items: center; }
.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after {
  display: block;
  width: 22px; height: 2px;
  background: var(--ink);
  transition: transform 0.22s var(--ease), opacity 0.18s var(--ease);
}
.nav-toggle__bars { position: relative; }
.nav-toggle__bars::before,
.nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.nav-toggle__bars::before { top: -7px; }
.nav-toggle__bars::after { top: 7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

/* ----------------------------------------------------------------- hero */
.hero { background: var(--paper); color: var(--ink); }

.hero__masthead {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: start;
  gap: 24px 48px;
  padding-top: 48px;
  padding-bottom: 28px;
}

.hero__headline { grid-column: 1; min-width: 0; }
.hero__title {
  font-size: clamp(38px, 4.6vw, 62px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 600;
  color: var(--ink);
  text-wrap: balance;
  max-width: 22ch;
}

.hero__lead {
  margin-top: 20px;
  font-size: clamp(19px, 1.6vw, 23px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.015em;
  color: #2c302e;
  max-width: 46ch;
}
.hero__families { margin-top: 14px; font-size: 15px; line-height: 1.55; color: var(--muted); max-width: 54ch; }

.hero__actions { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; }
.hero__secondary { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; font-weight: 600; color: var(--ink); }
.hero__secondary span { border-bottom: 1px solid var(--steel-line-strong); padding-bottom: 3px; transition: color 0.18s var(--ease), border-color 0.18s var(--ease); }
.hero__secondary:hover span { color: var(--accent-strong); border-color: var(--accent); }
.hero__microcopy { flex-basis: 100%; font-size: 14px; line-height: 1.5; color: var(--muted); max-width: 48ch; }

.hero__aside { grid-column: 2; justify-self: end; align-self: start; max-width: 320px; min-width: 0; }
.hero__descriptor { font-size: 16px; font-weight: 500; line-height: 1.55; color: #3a3f3c; }

.hero-machine {
  position: relative;
  display: grid;
  grid-template-columns: 42fr 58fr;
  height: 240px;
  background: var(--ink);
  overflow: hidden;
}
.hero-machine__figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}
.hero-machine__figure + .hero-machine__figure { border-left: 1px solid var(--ink-deep); }
.hero-machine__figure img { width: 100%; height: 100%; object-fit: cover; }
.hero-machine__figure--left img { object-position: center 58%; }
.hero-machine__figure--right img { object-position: center 42%; }
.hero-machine__figure figcaption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 10px 18px;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--paper);
  background: linear-gradient(to top, rgba(11, 14, 13, 0.72), rgba(11, 14, 13, 0));
}

/* zero-height anchor used by the recognized collaboration-intent fragment */
.anchor-target { display: block; height: 0; }

.hero__caption {
  padding-top: 14px;
  padding-bottom: 2px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}

/* ---------------------------------------------------- brand references */
.brand-ribbon {
  position: relative;
  background: var(--ink);
  color: var(--paper);
  border-top: 1px solid var(--ink-deep);
  padding: 44px 0 38px;
}
.brand-ribbon__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 16px 32px;
  margin-bottom: 30px;
}
.brand-ribbon__title {
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.14;
}
.brand-ribbon__qualifier {
  margin-top: 9px;
  max-width: 76ch;
  font-size: 13px;
  line-height: 1.55;
  color: var(--muted-dark);
}
.brand-ribbon__toggle {
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid var(--hair-dark-strong);
  color: var(--paper);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-ribbon--enhanced .brand-ribbon__toggle { display: inline-flex; }
.brand-ribbon__toggle:hover { border-color: var(--paper); }
.brand-ribbon__toggle::before { content: ""; width: 8px; height: 8px; background: var(--accent); }
.brand-ribbon--paused .brand-ribbon__toggle::before { background: var(--steel-soft); }

.brand-ribbon__viewport { position: relative; overflow-x: auto; overflow-y: hidden; }
.brand-ribbon__frames { display: flex; width: max-content; }
.brand-ribbon__track { display: flex; align-items: center; }
.brand-ribbon__track--clone { display: none; }
.brand-ribbon__item { display: flex; align-items: center; padding: 0 clamp(28px, 3.4vw, 56px); }
.brand-ribbon__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  opacity: 0.94;
  transition: opacity 0.2s var(--ease);
}
.brand-ribbon__link:hover { opacity: 1; }
.brand-ribbon__logo { width: auto; object-fit: contain; }
.brand-ribbon__logo--white { filter: none; }
.brand-ribbon__logo--invert { filter: brightness(0) invert(1); }
.brand-ribbon__logo--gray { filter: grayscale(1); }
.brand-ribbon__caption {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-dark);
  transition: color 0.2s var(--ease);
}
.brand-ribbon__link:hover .brand-ribbon__caption { color: var(--paper); }

/* optical balance: crests taller and narrower, wordmarks wider and shorter */
.brand-ribbon__logo[data-brand="ferrari"] { height: 56px; }
.brand-ribbon__logo[data-brand="porsche"] { height: 54px; }
.brand-ribbon__logo[data-brand="mercedes-benz"] { height: 46px; }
.brand-ribbon__logo[data-brand="husqvarna"] { height: 46px; }
.brand-ribbon__logo[data-brand="volkswagen"] { height: 42px; }
.brand-ribbon__logo[data-brand="skoda"] { height: 42px; }
.brand-ribbon__logo[data-brand="jeep"] { height: 30px; }
.brand-ribbon__logo[data-brand="omr"] { height: 32px; }
.brand-ribbon__logo[data-brand="kartell"] { height: 28px; }
.brand-ribbon__logo[data-brand="brembo"] { height: 28px; }
.brand-ribbon__logo[data-brand="mclaren"] { height: 28px; }

@keyframes brand-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
.brand-ribbon--marquee .brand-ribbon__viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.brand-ribbon--marquee .brand-ribbon__track--clone { display: flex; }
.brand-ribbon--marquee .brand-ribbon__frames {
  animation: brand-scroll var(--brand-duration, 60s) linear infinite;
  will-change: transform;
}
.brand-ribbon--marquee:hover .brand-ribbon__frames,
.brand-ribbon--marquee:focus-within .brand-ribbon__frames,
.brand-ribbon--marquee.brand-ribbon--paused .brand-ribbon__frames,
.brand-ribbon--marquee.brand-ribbon--hidden .brand-ribbon__frames { animation-play-state: paused; }

/* keyboard focus: free the row so the focused logo is never trapped offscreen */
.brand-ribbon--marquee.brand-ribbon--focus .brand-ribbon__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-mask-image: none;
  mask-image: none;
}
.brand-ribbon--marquee.brand-ribbon--focus .brand-ribbon__frames { animation: none; transform: none; }
.brand-ribbon--marquee.brand-ribbon--focus .brand-ribbon__track--clone { display: none; }

/* ------------------------------------------------ documented capacity */
.capacity-intro { background: var(--paper); }
.capacity-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 40px 64px;
  align-items: start;
}
/* Two equal, shrinkable columns keep 81+ and 41+ on one row at every width,
   with the vertical separator between them and no trailing right padding. */
.capacity-intro__figures {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
}
.capacity-intro__figure { min-width: 0; padding-right: 28px; }
.capacity-intro__figure + .capacity-intro__figure {
  padding-left: 28px;
  padding-right: 0;
  border-left: 1px solid var(--steel-line-strong);
}
.capacity-intro__num {
  display: flex;
  align-items: baseline;
  gap: 2px;
  font-size: clamp(56px, 8vw, 104px);
  font-weight: 600;
  line-height: 0.88;
  letter-spacing: -0.05em;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
.capacity-intro__plus { font-size: 0.42em; font-weight: 700; color: var(--accent-strong); }
.capacity-intro__label { margin-top: 14px; font-size: 15px; font-weight: 600; max-width: 22ch; }
.capacity-intro__sub { margin-top: 5px; font-size: 13px; color: var(--muted); }
.capacity-intro__lead {
  margin-top: 20px;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: #2c302e;
  max-width: 46ch;
}
.capacity-intro__qualifier { margin-top: 14px; font-size: 15px; line-height: 1.6; color: var(--muted); max-width: 62ch; }
.capacity-intro__link { margin-top: 22px; }

/* the manufacturing breakdown reuses the same shared data source */
.capacity { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--steel-line); }
.capacity__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 12px 48px; align-items: baseline; }
.capacity__title { font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 600; letter-spacing: -0.02em; }
.capacity__method { font-size: 14px; line-height: 1.6; color: var(--muted); }
.capacity__table { margin-top: 28px; width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.capacity__table th, .capacity__table td { text-align: right; padding: 12px 0; border-bottom: 1px solid var(--steel-line); }
.capacity__table thead th { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.capacity__table thead th:first-child, .capacity__table tbody th[scope="row"] { text-align: left; }
.capacity__table tbody th { font-weight: 600; }
.capacity__total th, .capacity__total td { font-weight: 700; border-top: 1px solid var(--ink); border-bottom: 2px solid var(--ink); }
.capacity__qualifier { margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(--muted); max-width: 80ch; }
.capacity__details { margin-top: 26px; border-top: 1px solid var(--steel-line); }
.capacity__details > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 16px 0;
  font-size: 15px;
  font-weight: 600;
  border-bottom: 1px solid var(--steel-line);
}
.capacity__details > summary::-webkit-details-marker { display: none; }
.capacity__details > summary::after { content: "+"; margin-left: auto; color: var(--accent-strong); font-size: 18px; }
.capacity__details[open] > summary::after { content: "–"; }
.capacity__details-body { padding: 4px 0 4px; }
.capacity__h4 { margin-top: 28px; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.capacity__list { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.capacity__cat, .capacity__stat { position: relative; padding-left: 18px; font-size: 14px; line-height: 1.55; color: #3a3f3c; }
.capacity__cat::before, .capacity__stat::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 2px; background: var(--accent); }
.capacity__cat-co, .capacity__stat-co { font-weight: 700; color: var(--ink); }
.capacity__stat-num { font-weight: 700; font-variant-numeric: tabular-nums; }
.capacity__src-note { color: var(--muted); }
.capacity__note { margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--muted); max-width: 82ch; }
.capacity__prose { margin-top: 12px; font-size: 14px; line-height: 1.6; color: #3a3f3c; max-width: 82ch; }
.capacity__prose .src-link, .capacity__stat .src-link { margin-left: 6px; }
.capacity__sheet { margin-top: 26px; font-size: 15px; }

/* --------------------------------------------------- company signature */
.member-signature { background: var(--paper); border-top: 1px solid var(--steel-line); }
.member-signature__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px 34px;
  padding-top: 16px;
  padding-bottom: 18px;
}
.member-signature__item { min-width: 0; }
.member-signature__link { display: flex; flex-direction: column; gap: 3px; }
.member-signature__name { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.member-signature__tag { font-size: 13px; line-height: 1.4; color: var(--muted); }
.member-signature__link:hover .member-signature__name { color: var(--accent-strong); }

details.breakdown { border: 1px solid var(--steel-line); min-width: 280px; }
details.breakdown > summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 600;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
}
details.breakdown > summary::-webkit-details-marker { display: none; }
details.breakdown > summary::after { content: "+"; font-size: 16px; color: var(--accent); margin-left: auto; }
details.breakdown[open] > summary::after { content: "–"; }
.breakdown__inner { padding: 0 20px 18px; }
.breakdown table { width: 100%; border-collapse: collapse; font-size: 14px; }
.breakdown th, .breakdown td { text-align: left; padding: 9px 0; border-bottom: 1px solid var(--steel-line); font-variant-numeric: tabular-nums; }
.breakdown th { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.breakdown td:not(:first-child), .breakdown th:not(:first-child) { text-align: right; }
.breakdown__note { margin-top: 12px; font-size: 13px; line-height: 1.55; color: var(--muted); }

/* --------------------------------------------------------- technologies */
.technologies { background: var(--white); padding-top: 144px; padding-bottom: 96px; }
.technologies__hint { margin-top: 18px; font-size: 15px; color: var(--muted); max-width: 62ch; }

.explorer { margin-top: 48px; }

/* the index is a plain, fully readable list until JS enhances it */
.explorer__list { display: flex; flex-direction: column; }
.explorer__tab {
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
  min-height: 72px;
  padding: 14px 0;
  border-bottom: 1px solid var(--steel-line);
  transition: color 0.18s var(--ease);
}
.explorer__name {
  font-size: clamp(30px, 2.6vw, 38px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  font-weight: 500;
  color: var(--ink);
}
.explorer__material { font-size: 13px; color: var(--muted); }
.explorer__tab:hover .explorer__name { color: var(--accent-strong); }

.explorer__panel { padding-top: 8px; }
.explorer__panel + .explorer__panel { margin-top: 48px; border-top: 1px solid var(--steel-line); padding-top: 40px; }
.explorer__figure { margin: 0 0 24px; }
.explorer__figure img { width: 100%; height: auto; }
.explorer__figure figcaption { margin-top: 10px; font-size: 13px; color: var(--muted); }
.explorer__panel-title { font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.1; letter-spacing: -0.02em; font-weight: 600; }
.explorer__need {
  margin-top: 12px;
  font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--ink);
  max-width: 40ch;
}
.explorer__cols {
  margin-top: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 20px 40px;
}
.explorer__panel-body p { font-size: 18px; line-height: 1.6; color: #3a3f3c; }
.explorer__panel-body p + p { margin-top: 12px; }
.explorer__evaluate { margin-top: 16px; font-size: 15px; line-height: 1.6; color: #3a3f3c; }
.explorer__evaluate-label,
.explorer__scope-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 5px;
}
.explorer__keywords { margin-top: 16px; }
.explorer__keyword { display: inline; font-size: 13px; color: var(--muted); }
.explorer__keyword + .explorer__keyword::before { content: " · "; }
.explorer__members-label { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.explorer__members { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.explorer__member-link { display: inline-block; font-weight: 600; border-bottom: 1px solid var(--steel-line-strong); padding-bottom: 1px; transition: color 0.18s var(--ease), border-color 0.18s var(--ease); }
.explorer__member-link:hover { color: var(--accent-strong); border-color: var(--accent); }
.explorer__scope { margin-top: 16px; font-size: 14px; line-height: 1.5; color: #3a3f3c; }
.explorer__members-col .src-link { margin-top: 16px; }
.explorer__cta-row { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
.explorer__cta { display: inline-block; font-size: 15px; font-weight: 600; border-bottom: 1px solid var(--steel-line-strong); padding-bottom: 3px; transition: border-color 0.18s var(--ease), color 0.18s var(--ease); }
.explorer__cta:hover { border-color: var(--accent); color: var(--accent-strong); }
.explorer__cta-hint { font-size: 13px; color: var(--muted); }

/* enhanced state: index left, single panel right */
.explorer-enhanced { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 64px; align-items: start; }
.explorer-enhanced .explorer__list { position: sticky; top: calc(var(--header-h) + 24px); }
.explorer-enhanced .explorer__tab {
  border-bottom: 1px solid var(--steel-line);
  border-left: 2px solid transparent;
  padding-left: 20px;
}
.explorer-enhanced .explorer__tab[aria-selected="true"] { border-left-color: var(--accent-strong); }
.explorer-enhanced .explorer__tab[aria-selected="true"] .explorer__name { font-weight: 600; color: var(--ink); }
.explorer-enhanced .explorer__tab[aria-selected="false"] .explorer__name { color: var(--muted); }
.explorer-enhanced .explorer__panels { border-left: 1px solid var(--steel-line); padding-left: 56px; }
.explorer-enhanced .explorer__panel + .explorer__panel { margin-top: 0; border-top: 0; padding-top: 0; }
.explorer-enhanced .explorer__panel[hidden] { display: none; }

/* --------------------------------------------------------- applications */
.applications { background: var(--ink); color: var(--paper); }
.applications__intro { margin-top: 18px; font-size: 18px; color: var(--muted-dark); max-width: 48ch; }

.work { margin-top: 56px; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.case { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.case--mclaren { margin-top: 96px; }

.case__figure { margin: 0; }
.case__figure img { width: 100%; height: auto; }
.case--ferrari .case__figure { grid-column: 5 / span 8; grid-row: 1; }
.case--ferrari .case__meta { grid-column: 1 / span 3; grid-row: 1; align-self: start; }
.case--mclaren .case__meta { grid-column: 1 / span 3; grid-row: 1; align-self: start; }
.case--mclaren .case__figure { grid-column: 9 / span 4; grid-row: 1; }
.case--ferrari .case__figure img { aspect-ratio: 4 / 3; object-fit: cover; object-position: center 68%; }
.case--mclaren .case__figure img { aspect-ratio: 3 / 4; object-fit: cover; object-position: center 28%; }

.case__title { font-size: clamp(1.3rem, 2vw, 1.75rem); font-weight: 600; letter-spacing: -0.01em; line-height: 1.1; }
.case__caption { margin-top: 12px; font-size: 13px; line-height: 1.55; color: var(--muted-dark); }
.case__source { margin-top: 14px; }
.case__fields { margin-top: 14px; border-top: 1px solid var(--hair-dark); }
.case__row { display: grid; grid-template-columns: minmax(86px, 40%) 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--hair-dark); font-size: 14px; }
.case__key { color: var(--muted-dark); font-weight: 600; }
.case__val { color: var(--paper); }
.case__note { margin-top: 12px; font-size: 12px; line-height: 1.5; color: var(--muted-dark); font-style: italic; }
.case__cta-row { margin-top: 16px; }
.case__cta { display: inline-block; font-size: 14px; font-weight: 600; border-bottom: 1px solid var(--hair-dark-strong); padding-bottom: 2px; transition: color 0.18s var(--ease), border-color 0.18s var(--ease); }
.case__cta:hover { color: var(--white); border-color: var(--accent); }
.work__portfolio { grid-column: 1 / -1; margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(--muted-dark); }

.applications__note {
  margin-top: 56px;
  padding-top: 22px;
  border-top: 1px solid var(--hair-dark);
  max-width: 760px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted-dark);
}

/* TOMOS technical spread — ivory break, full component uncropped */
.tomos-spread { background: var(--paper); color: var(--ink); }
.tomos-spread__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  padding-top: 96px;
  padding-bottom: 96px;
}
.tomos-spread__figure { grid-column: 1 / span 9; grid-row: 1; margin: 0; }
.tomos-spread__figure img { width: 100%; height: auto; }
.tomos-spread__caption { grid-column: 8 / span 5; grid-row: 2; padding-top: 8px; }
.tomos-spread__title { font-size: clamp(1.3rem, 2vw, 1.8rem); font-weight: 600; letter-spacing: -0.01em; }
.tomos-spread__caption p { margin-top: 8px; font-size: 14px; color: #3a3f3c; }
.tomos-spread__source { margin-top: 14px; }
.tomos-spread__line { margin-top: 10px; font-size: 14px; line-height: 1.55; color: #3a3f3c; }
.tomos-spread .case__fields { border-top-color: var(--steel-line); }
.tomos-spread .case__row { border-bottom-color: var(--steel-line); }
.tomos-spread .case__key { color: var(--muted); }
.tomos-spread .case__val { color: var(--ink); }
.tomos-spread .case__cta { border-bottom-color: var(--steel-line-strong); color: var(--ink); }
.tomos-spread .case__cta:hover { color: var(--accent-strong); border-color: var(--accent); }

/* ------------------------------------------------------- manufacturing */
.manufacturing { background: var(--white); padding-top: 144px; padding-bottom: 80px; }
.manufacturing__grid {
  margin-top: 44px;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 24px 56px;
  align-items: start;
}
.manufacturing__figure { margin: 0; }
.manufacturing__figure img { width: 100%; height: auto; }
.manufacturing__figure figcaption { margin-top: 10px; font-size: 13px; color: var(--muted); }
.manufacturing__intro { font-size: 15px; line-height: 1.6; color: var(--muted); }
.equip-list { margin-top: 20px; border-top: 1px solid var(--steel-line); }
.equip-row { padding: 14px 0; border-bottom: 1px solid var(--steel-line); }
.equip-row__label { font-size: 14px; font-weight: 600; }
.equip-row__items { margin-top: 6px; display: flex; flex-direction: column; gap: 3px; }
.equip-item { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font-size: 15px; }
.equip-item__name { font-weight: 500; }
.equip-item__co { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; color: var(--muted); }
.equip-item__src {
  border-bottom: 1px solid var(--steel-line-strong);
  padding-bottom: 1px;
  transition: color 0.18s var(--ease), border-color 0.18s var(--ease);
}
.equip-item__src:hover { color: var(--ink); border-color: var(--ink); }
.equip-detail { margin-top: 8px; font-size: 13px; color: var(--muted); }
.equip-evaluate { margin-top: 8px; font-size: 14px; line-height: 1.55; color: #3a3f3c; }
.equip-source { margin-top: 8px; }

/* scoped aggregate evidence — declared per company, not a group total */
.scoped {
  margin-top: 52px;
  padding-top: 28px;
  border-top: 1px solid var(--steel-line);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 28px 56px;
  align-items: start;
}
.scoped__line { font-size: 16px; font-weight: 600; }
.scoped__line + .scoped__line { margin-top: 6px; }
.scoped__note { margin-top: 14px; font-size: 14px; line-height: 1.6; color: var(--muted); max-width: 60ch; }
.scoped__aside { display: flex; flex-direction: column; gap: 18px; }
.scoped__sheet { font-size: 15px; }

/* ------------------------------------------------------ operational path */
.path { background: var(--paper); }
.path__intro { margin-top: 16px; font-size: 18px; line-height: 1.6; color: #3a3f3c; max-width: 62ch; }
.path__steps { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 40px; }
.path__step { border-top: 2px solid var(--ink); padding-top: 18px; }
.path__step-title { font-size: 18px; font-weight: 600; letter-spacing: -0.015em; }
.path__step-body { margin-top: 10px; font-size: 15px; line-height: 1.6; color: #3a3f3c; }
.path__note { margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--steel-line); font-size: 14px; line-height: 1.6; color: var(--muted); max-width: 74ch; }

/* ------------------------------------------------------------------ FAQ */
.faq { background: var(--white); }
.faq__intro { margin-top: 16px; font-size: 18px; line-height: 1.6; color: #3a3f3c; max-width: 62ch; }
.faq__list { margin-top: 36px; border-top: 1px solid var(--steel-line-strong); }
.faq__item { border-bottom: 1px solid var(--steel-line-strong); }
.faq__q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0;
  min-height: 48px;
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after { content: "+"; margin-left: auto; color: var(--accent-strong); font-size: 20px; }
.faq__item[open] .faq__q::after { content: "–"; }
.faq__a { padding: 0 0 22px; max-width: 78ch; }
.faq__a p { font-size: 16px; line-height: 1.65; color: #3a3f3c; }

/* ------------------------------------------------------------ companies */
.companies { background: var(--paper); padding-top: 96px; padding-bottom: 96px; }
.companies__intro { margin-top: 18px; font-size: 18px; color: #3a3f3c; max-width: 56ch; }

.accordion { margin-top: 44px; border-top: 1px solid var(--steel-line-strong); }
.company { border-bottom: 1px solid var(--steel-line-strong); }
.company__summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 24px;
  padding: 26px 0;
  min-height: 44px;
}
.company__summary::-webkit-details-marker { display: none; }
.company__name { font-size: clamp(28px, 3.4vw, 44px); font-weight: 600; letter-spacing: -0.025em; line-height: 1.02; }
.company__specialty { display: block; margin-top: 6px; font-size: 15px; color: var(--muted); max-width: 62ch; }
.company__year { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.company__mark { position: relative; width: 22px; height: 22px; flex: none; }
.company__mark::before, .company__mark::after {
  content: ""; position: absolute; left: 50%; top: 50%; background: var(--ink); transform: translate(-50%, -50%);
}
.company__mark::before { width: 16px; height: 2px; }
.company__mark::after { width: 2px; height: 16px; transition: transform 0.22s var(--ease); }
.company[open] .company__mark::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }
.company__summary:hover .company__name { color: var(--accent-strong); }

.company__body { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; padding: 4px 0 44px; }
.company__figure { grid-column: 1 / span 5; margin: 0; }
.company__figure img { width: 100%; height: auto; }
.company__content { grid-column: 7 / span 6; }
.company:nth-child(even) .company__figure { grid-column: 7 / span 6; }
.company:nth-child(even) .company__content { grid-column: 1 / span 6; }
.company__content p { font-size: 18px; line-height: 1.6; color: #3a3f3c; max-width: 58ch; }
.company__fields { margin-top: 24px; border-top: 1px solid var(--steel-line); }
.company__field { display: grid; grid-template-columns: minmax(110px, 32%) 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--steel-line); font-size: 15px; }
.company__field dt { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.company__field dd { color: #3a3f3c; }
.company__qualify { margin-top: 20px; font-size: 16px; line-height: 1.55; color: var(--ink); max-width: 56ch; }
.company__qualify-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-strong); margin-bottom: 5px; }
.company__facts { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 34px; border-top: 1px solid var(--steel-line); padding-top: 20px; }
.company__fact-num { font-size: 1.5rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.company__fact-label { margin-top: 6px; font-size: 13px; color: var(--muted); max-width: 24ch; }
.company__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 28px; }
.company__logo {
  display: flex; align-items: center; justify-content: center;
  min-width: 128px; height: 56px; padding: 10px 16px;
}
.company__logo--light { background: var(--white); border: 1px solid var(--steel-line); }
.company__logo--dark { background: var(--ink); }
.company__logo img { max-height: 34px; width: auto; max-width: 150px; object-fit: contain; }

/* -------------------------------------------------------------- project */
.project { background: var(--ink); color: var(--paper); padding-top: 144px; padding-bottom: 96px; }
.project__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 64px; align-items: start; }
.project__intro { margin-top: 22px; font-size: 18px; line-height: 1.6; color: var(--muted-dark); max-width: 44ch; }

.form-card { background: var(--paper); color: var(--ink); padding: 36px; }
.form-fields { border: 0; margin: 0; padding: 0; min-width: 0; }
.form-fields[disabled] { opacity: 0.55; }
.form-ready .form-fields[disabled] { opacity: 1; }
.form-note { font-size: 14px; line-height: 1.55; color: var(--muted); margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--steel-line); }
.req-note { font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.field { margin-bottom: 20px; }
.field label { display: block; font-size: 14px; font-weight: 600; color: #3a3f3c; margin-bottom: 8px; }
.field .req { color: var(--accent-strong); }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  background: var(--white);
  border: 1px solid var(--steel-line-strong);
  border-radius: 0;
}
.field textarea { min-height: 132px; resize: vertical; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.field--error input, .field--error select, .field--error textarea { border-color: var(--accent-strong); border-width: 2px; }
.field__error { margin-top: 6px; font-size: 14px; color: var(--accent-strong); font-weight: 600; }
.field--row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.form-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.js-only { display: none; }
.form-ready .js-only { display: inline-flex; }

.review { margin-top: 24px; border: 1px solid var(--steel-line-strong); padding: 24px; }
.review__title { font-size: 15px; font-weight: 700; margin-bottom: 16px; }
.review__list { border-top: 1px solid var(--steel-line); }
.review__list div { display: grid; grid-template-columns: minmax(120px, 38%) 1fr; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--steel-line); font-size: 15px; }
.review__key { color: var(--muted); font-weight: 600; }
.review__val { word-break: break-word; }
.review__val--empty { color: var(--muted); font-style: italic; }
.review__hint { margin-top: 14px; font-size: 14px; color: var(--muted); }
.review__actions { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 16px; }

.form-status { margin-top: 18px; font-size: 15px; font-weight: 600; min-height: 1.2em; }
.form-status--ok { color: var(--ink); }
.form-status--err { color: var(--accent-strong); }

.form-nojs { margin-top: 20px; border: 1px dashed var(--steel-line-strong); padding: 20px; font-size: 15px; }
.form-ready .form-nojs { display: none; }
.form-nojs h3 { font-size: 16px; margin-bottom: 8px; }
.form-nojs ul { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.form-nojs a { border-bottom: 1px solid var(--steel-line-strong); }
.form-nojs a:hover { border-color: var(--accent); color: var(--accent-strong); }

.form-banner {
  margin-bottom: 18px;
  padding: 12px 14px;
  border-left: 3px solid var(--accent-strong);
  background: rgba(214, 59, 38, 0.08);
  font-size: 14px;
  line-height: 1.5;
  color: #3a3f3c;
}
.form-banner__reset {
  font-weight: 600;
  color: var(--accent-strong);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.form-banner__reset:hover { color: var(--accent-ink); }
.form-optional { margin: 4px 0 8px; border: 1px solid var(--steel-line); padding: 0 16px; }
.form-optional > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 0;
  min-height: 48px;
  font-size: 14px;
  font-weight: 600;
}
.form-optional > summary::-webkit-details-marker { display: none; }
.form-optional > summary::after { content: "+"; margin-left: auto; color: var(--accent-strong); font-size: 16px; }
.form-optional[open] > summary::after { content: "–"; }
.form-optional__hint { font-size: 13px; color: var(--muted); margin-bottom: 16px; }
.copy-fallback { margin-top: 18px; }
.copy-fallback__hint { font-size: 14px; font-weight: 600; color: var(--accent-strong); margin-bottom: 10px; }
.copy-fallback__text {
  width: 100%;
  min-height: 170px;
  padding: 12px 14px;
  border: 1px solid var(--steel-line-strong);
  border-radius: 0;
  background: var(--white);
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.5;
  resize: vertical;
}

/* --------------------------------------------------------------- footer */
.site-footer { background: var(--paper); border-top: 1px solid var(--steel-line); padding: 72px 0 44px; }
.site-footer__top { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.site-footer__wordmark { font-size: clamp(1.5rem, 3vw, 2.4rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1; text-transform: uppercase; }
.site-footer__tagline { margin-top: 18px; max-width: 40ch; font-size: 15px; color: var(--muted); }
.footer-col h2 { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
.footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.footer-col a { font-size: 15px; }
.footer-col a:hover { color: var(--accent-strong); text-decoration: underline; }

.footer-details { margin-top: 52px; border-top: 1px solid var(--steel-line); }
.footer-details details { border-bottom: 1px solid var(--steel-line); }
.footer-details summary {
  list-style: none; cursor: pointer; padding: 18px 0; min-height: 48px;
  display: flex; align-items: center; gap: 12px;
  font-size: 14px; font-weight: 600;
}
.footer-details summary::-webkit-details-marker { display: none; }
.footer-details summary::before { content: "+"; color: var(--accent-strong); font-size: 15px; }
.footer-details details[open] summary::before { content: "–"; }
.footer-details__body { padding: 0 0 22px; max-width: 70ch; font-size: 15px; line-height: 1.65; color: #3a3f3c; }
.footer-details__body ul { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px 24px; }

.site-footer__partner { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--steel-line); }
.site-footer__partner h2 { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.site-footer__partner p { margin-top: 10px; font-size: 15px; line-height: 1.55; color: #3a3f3c; max-width: 62ch; }
.site-footer__partner a { margin-top: 14px; display: inline-block; }

.site-footer__bottom {
  margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--steel-line-strong);
  display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between;
  font-size: 14px; color: var(--muted);
}
.site-footer__demo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.site-footer__demo .email { color: var(--ink); font-weight: 600; }
.site-footer__demo .badge { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent-strong); }
.made-in { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.tricolor {
  width: 3px;
  height: 15px;
  background: linear-gradient(to bottom, #009246 0 33.33%, #f5f5f0 33.33% 66.66%, #d63b26 66.66% 100%);
}

/* ---------------------------------------------------------------- 404 */
.notfound { min-height: 70vh; display: flex; align-items: center; background: var(--ink); color: var(--paper); }
.notfound__inner { max-width: var(--content); margin: 0 auto; padding: 96px var(--gutter); }
.notfound__code { font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); }
.notfound h1 { margin-top: 20px; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.02; letter-spacing: -0.03em; font-weight: 600; }
.notfound p { margin-top: 20px; max-width: 56ch; font-size: 17px; color: var(--muted-dark); }
.notfound__langs { margin-top: 34px; display: flex; flex-direction: column; gap: 18px; }
.notfound__lang { padding: 18px 0; border-top: 1px solid var(--hair-dark); }
.notfound__lang strong { display: block; font-size: 15px; }
.notfound__lang span { display: block; margin-top: 4px; font-size: 15px; color: var(--muted-dark); }
.notfound__lang a { display: inline-block; margin-top: 10px; }

/* ---------------------------------------------------- capability sheet */
.sheet { background: var(--ink); color: var(--paper); padding-top: 96px; padding-bottom: 72px; }
.sheet__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); }
.sheet__title { margin-top: 18px; font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.03; letter-spacing: -0.03em; font-weight: 600; max-width: 30ch; }
.sheet__intro { margin-top: 18px; font-size: 18px; line-height: 1.6; color: var(--muted-dark); max-width: 74ch; }
.sheet__actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px 16px; }
.sheet .btn--ghost { color: var(--paper); border-color: var(--hair-dark-strong); }
.sheet .btn--ghost:hover { border-color: var(--paper); }
.sheet__note { margin-top: 24px; font-size: 13px; line-height: 1.55; color: var(--muted-dark); max-width: 74ch; }

.sheet__section { padding-top: 56px; }
.sheet__h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.1; letter-spacing: -0.02em; font-weight: 600; margin-bottom: 22px; }
.sheet__coordination { display: flex; flex-direction: column; gap: 12px; max-width: 80ch; }
.sheet__coordination li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.6; color: #3a3f3c; }
.sheet__coordination li::before { content: ""; position: absolute; left: 0; top: 11px; width: 8px; height: 2px; background: var(--accent); }

.sheet__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.sheet__table th, .sheet__table td { text-align: left; vertical-align: top; padding: 10px 16px 10px 0; border-bottom: 1px solid var(--steel-line); }
.sheet__table thead th { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.sheet-td-name { font-weight: 600; }
.sheet__table a { border-bottom: 1px solid var(--steel-line-strong); }
.sheet__table a:hover { color: var(--accent-strong); border-color: var(--accent); }
.sheet__table--small { margin-top: 18px; max-width: 560px; }

.sheet__companies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 48px; }
.sheet__company { border-top: 2px solid var(--ink); padding-top: 16px; }
.sheet__company-name { font-size: clamp(1.2rem, 1.8vw, 1.5rem); font-weight: 600; letter-spacing: -0.015em; }
.sheet__specialty { margin-top: 6px; font-size: 15px; color: var(--muted); }
.sheet__fields { margin-top: 16px; }
.sheet__fields > div { display: grid; grid-template-columns: minmax(110px, 34%) 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--steel-line); font-size: 14px; }
.sheet__fields dt { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.sheet__fields dd { color: #3a3f3c; }
.sheet__qualify { margin-top: 14px; font-size: 15px; line-height: 1.55; }
.sheet__q-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-strong); margin-bottom: 4px; }
.sheet__source { margin-top: 12px; font-size: 13px; }
.sheet__source a { border-bottom: 1px solid var(--steel-line-strong); }
.sheet__source a:hover { color: var(--accent-strong); border-color: var(--accent); }

.sheet__line { font-size: 16px; font-weight: 600; }
.sheet__line + .sheet__line { margin-top: 6px; }
.sheet__muted { margin-top: 14px; font-size: 14px; line-height: 1.6; color: var(--muted); max-width: 80ch; }

.sheet__checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 40px; max-width: 900px; }
.sheet__checklist li { position: relative; padding-left: 24px; font-size: 15px; line-height: 1.5; }
.sheet__checklist li::before { content: ""; position: absolute; left: 0; top: 7px; width: 12px; height: 12px; border: 1px solid var(--steel-line-strong); }

.sheet__sources { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.sheet__sources a { font-size: 14px; border-bottom: 1px solid var(--steel-line-strong); }
.sheet__sources a:hover { color: var(--accent-strong); border-color: var(--accent); }
.sheet__generated { margin: 48px 0 72px; padding-top: 18px; border-top: 1px solid var(--steel-line); font-size: 13px; color: var(--muted); }

@media print {
  .site-header, .site-footer, .skip-link, .sheet__actions { display: none !important; }
  body { background: #fff; font-size: 11pt; }
  .brand-ribbon { background: #fff; color: #000; padding: 12px 0; border-top: 0; }
  .brand-ribbon__title, .brand-ribbon__caption, .brand-ribbon__qualifier { color: #000; }
  .brand-ribbon__frames { animation: none !important; }
  .brand-ribbon__track--clone { display: none !important; }
  /* match the marquee/focus selectors so the mask and the clipped overflow
     never survive onto paper */
  .brand-ribbon__viewport,
  .brand-ribbon--marquee .brand-ribbon__viewport,
  .brand-ribbon--marquee.brand-ribbon--focus .brand-ribbon__viewport { overflow: visible; -webkit-mask-image: none; mask-image: none; }
  /* on white paper: keep crest detail, original colour for inverted marks and
     turn the already-white marks into black so nothing disappears */
  .brand-ribbon__logo--gray { filter: grayscale(1) !important; }
  .brand-ribbon__logo--invert { filter: none !important; }
  .brand-ribbon__logo--white { filter: brightness(0) !important; }
  .brand-ribbon__toggle { display: none !important; }
  .sheet { background: #fff; color: #000; padding: 0 0 12px; }
  .sheet__eyebrow, .sheet__title, .sheet__intro, .sheet__note { color: #000; }
  .sheet__section { padding-top: 16px; }
  .sheet__companies { grid-template-columns: 1fr; }
  .sheet__checklist { grid-template-columns: 1fr; }
  .sheet__table, .sheet__company, .sheet__fields > div, .sheet__company-name { break-inside: avoid; }
  a { color: #000; text-decoration: none; }
}

/* ============================================================ responsive */
@media (max-width: 1180px) {
  :root { --gutter: 48px; }
  .site-nav__list { gap: 26px; }
  .explorer-enhanced { gap: 48px; }
  .explorer-enhanced .explorer__panels { padding-left: 44px; }
  .project__grid { gap: 48px; }
}

@media (max-width: 1023px) {
  .section { padding-top: 76px; padding-bottom: 76px; }
  .technologies, .manufacturing, .project { padding-top: 96px; }

  /* stacked masthead: headline, descriptor, then the photographic band */
  .hero__masthead { grid-template-columns: 1fr; align-items: start; padding-bottom: 34px; }
  .hero__headline, .hero__aside { grid-column: 1; }
  .hero__aside { width: auto; max-width: 520px; justify-self: start; }

  .scoped { grid-template-columns: 1fr; gap: 22px; }
  .path__steps { grid-template-columns: 1fr; gap: 20px; }
  .sheet__companies { grid-template-columns: 1fr; }

  .explorer-enhanced { grid-template-columns: 1fr; gap: 32px; }
  .explorer-enhanced .explorer__list { position: static; }
  .explorer-enhanced .explorer__panels { border-left: 0; padding-left: 0; }

  .case { grid-template-columns: 1fr; gap: 20px; }
  .case--mclaren { margin-top: 56px; }
  .case--ferrari .case__figure, .case--ferrari .case__meta,
  .case--mclaren .case__figure, .case--mclaren .case__meta { grid-column: 1 / -1; grid-row: auto; }
  .case--ferrari .case__figure { order: -1; }
  .case--mclaren .case__figure { order: 2; }

  .tomos-spread__figure { grid-column: 1 / -1; grid-row: auto; }
  .tomos-spread__caption { grid-column: 1 / -1; grid-row: auto; padding-top: 4px; }

  .manufacturing__grid { grid-template-columns: 1fr; gap: 36px; }
  .capacity-intro__grid { grid-template-columns: 1fr; gap: 32px; }
  .capacity__head { grid-template-columns: 1fr; gap: 10px; }

  .company__body { grid-template-columns: 1fr; gap: 24px; }
  .company__figure, .company__content,
  .company:nth-child(even) .company__figure, .company:nth-child(even) .company__content { grid-column: 1 / -1; }
  .company__figure { order: -1; }

  .project__grid { grid-template-columns: 1fr; gap: 40px; }
  .site-footer__top { grid-template-columns: 1fr; gap: 36px; }
}

/* nav collapses below 960px only when enhancement succeeded */
@media (max-width: 960px) {
  .site-header__bar { gap: 20px; }
  .nav-ready .nav-toggle { display: grid; }
  .nav-ready .site-nav {
    position: absolute;
    left: 0; right: 0; top: 100%;
    justify-self: stretch;
    background: var(--white);
    border-top: 1px solid var(--steel-line);
    border-bottom: 1px solid var(--steel-line);
    padding: 8px var(--gutter) 22px;
    display: none;
  }
  .nav-ready .site-nav.is-open { display: block; }
  .nav-ready .site-nav__list { flex-direction: column; align-items: flex-start; gap: 0; }
  .nav-ready .site-nav__list li { width: 100%; }
  .nav-ready .site-nav a { display: block; padding: 18px 0; border-bottom: 1px solid var(--steel-line); font-size: 16px; }
  .nav-ready .site-nav__list li:last-child a { border-bottom: 0; }
  .nav-ready .btn--contact { display: none; }
  .nav-ready .site-nav__cta { display: block; }

  .company__summary { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; }
  .company__mark { grid-column: 2; grid-row: 1; }
  .company__year { grid-column: 1; grid-row: 2; }
  .company__name-wrap { grid-column: 1; grid-row: 1; }

  /* without JS the mobile header stays a simple two-row bar with a visible nav */
  .site-header:not(.nav-ready) .site-header__bar { grid-template-columns: auto 1fr; align-items: center; row-gap: 6px; padding-top: 12px; padding-bottom: 12px; }
  .site-header:not(.nav-ready) .site-header__actions { grid-row: 1; grid-column: 2; }
  .site-header:not(.nav-ready) .site-nav { grid-row: 2; grid-column: 1 / -1; justify-self: start; margin-top: 6px; }
  .site-header:not(.nav-ready) .site-nav__list { flex-wrap: wrap; gap: 10px 24px; }
}

@media (max-width: 720px) {
  :root { --gutter: var(--gutter-mobile); --header-h: 72px; }

  body { font-size: 16px; }
  .brand__name-bottom { font-size: 11px; letter-spacing: 0.14em; }
  .site-header__actions { gap: 12px; }
  .lang { gap: 10px; }

  .hero__masthead { padding-top: 40px; padding-bottom: 28px; gap: 22px; }
  .hero__title { font-size: clamp(30px, 9.4vw, 46px); }
  .hero__lead { font-size: 19px; margin-top: 16px; }
  .hero__descriptor { font-size: 15px; }
  .hero__families { font-size: 14px; margin-top: 12px; }
  .hero__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero__actions .btn { justify-content: center; }
  .hero__microcopy { max-width: none; }
  .hero-machine { height: 178px; }
  .hero-machine__figure figcaption { padding: 8px 12px; font-size: 11px; }
  .hero__caption { padding-top: 12px; }

  .member-signature__list { gap: 10px 24px; }
  .member-signature__item { flex: 1 1 45%; }
  .member-signature__name { font-size: 15px; }
  .member-signature__tag { font-size: 12px; }

  .brand-ribbon { padding: 34px 0 30px; }
  .brand-ribbon__head { grid-template-columns: 1fr; align-items: start; gap: 16px; }
  .brand-ribbon__item { padding: 0 22px; }
  .capacity-intro__figure { padding-right: 16px; }
  .capacity-intro__figure + .capacity-intro__figure { padding-left: 16px; padding-right: 0; }
  .capacity-intro__num { font-size: clamp(48px, 16vw, 76px); }
  .capacity__table { display: block; overflow-x: auto; }

  .path, .faq { padding-top: 64px; padding-bottom: 64px; }
  .technologies { padding-top: 72px; padding-bottom: 64px; }
  .applications { padding-top: 72px; padding-bottom: 72px; }
  .manufacturing { padding-top: 72px; padding-bottom: 56px; }
  .companies { padding-top: 72px; padding-bottom: 72px; }
  .project { padding-top: 72px; padding-bottom: 72px; }

  .explorer__name { font-size: 28px; }
  .explorer__cols { grid-template-columns: 1fr; gap: 18px; }
  .tomos-spread__grid { padding-top: 64px; padding-bottom: 64px; }

  .form-card { padding: 26px 20px; }
  .field--row { grid-template-columns: 1fr; gap: 0; }
  .sheet__checklist { grid-template-columns: 1fr; }
  .sheet__table { display: block; overflow-x: auto; }
}

@media (max-width: 400px) {
  .member-signature__list { gap: 10px 18px; }
  .member-signature__item { flex: 1 1 100%; }
  .company__summary { padding: 22px 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
  /* the brand row stays a single, static, horizontally scrollable list */
  .brand-ribbon__frames { animation: none !important; transform: none !important; }
  .brand-ribbon__track--clone { display: none !important; }
  /* must beat `.brand-ribbon--marquee .brand-ribbon__viewport` (0,2,0) and the
     focus variant (0,3,0) so the stopped list is scrollable and unmasked */
  .brand-ribbon__viewport,
  .brand-ribbon--marquee .brand-ribbon__viewport,
  .brand-ribbon--marquee.brand-ribbon--focus .brand-ribbon__viewport { overflow-x: auto; overflow-y: hidden; -webkit-mask-image: none; mask-image: none; }
  .brand-ribbon__toggle { display: none !important; }
}

/* v5 — a real industrial image, clear hierarchy, prominent documented totals. */
:root { --header-h: 76px; }
.hero--v5 { position: relative; isolation: isolate; background: var(--ink-deep); color: var(--paper); overflow: hidden; }
.hero__photo { position: absolute; inset: 0; z-index: -2; }
.hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 54%; }
.hero--v5::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(9,14,13,.94) 0%, rgba(9,14,13,.82) 35%, rgba(9,14,13,.18) 72%, rgba(9,14,13,.6) 100%); }
.hero__photo figcaption { position: absolute; right: var(--gutter); bottom: 134px; color: rgba(255,255,255,.7); font-size: 11px; writing-mode: vertical-rl; }
.hero--v5 .hero__masthead { min-height: 610px; padding-top: 62px; padding-bottom: 46px; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr); align-items: center; gap: 64px; }
.hero__eyebrow { color: #f0a99e; font-size: 11px; letter-spacing: .18em; font-weight: 700; margin-bottom: 24px; }
.hero--v5 .hero__title { color: var(--paper); font-size: clamp(43px, 4.3vw, 68px); max-width: 17ch; font-weight: 600; line-height: 1.05; letter-spacing: -.045em; }
.hero--v5 .hero__lead { color: #efefea; margin-top: 22px; font-size: 18px; max-width: 45ch; font-weight: 400; }
.hero--v5 .hero__families { color: #c9cdca; font-size: 13px; max-width: 52ch; }
.hero--v5 .hero__secondary { color: var(--paper); font-size: 13px; }
.hero--v5 .hero__secondary span { border-color: rgba(255,255,255,.45); }
.hero--v5 .hero__microcopy { color: #c4c8c5; font-size: 11px; max-width: 60ch; }
.hero--v5 .hero__actions { gap: 12px 20px; margin-top: 24px; }
.hero--v5 .btn { font-size: 13px; min-height: 48px; }
.hero__metrics { justify-self: stretch; align-self: stretch; display: flex; flex-direction: column; justify-content: center; max-width: 360px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.3); }
.hero__network { font-size: 12px; line-height: 1.5; max-width: 24ch; padding-bottom: 16px; color: #f5f5f0; }
.hero__metric + .hero__metric { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.3); }
.hero__number { font-size: clamp(84px, 8.1vw, 124px); line-height: .95; font-weight: 600; letter-spacing: -.065em; white-space: nowrap; }
.hero__plus { font-size: .48em; color: #ed6e5a; vertical-align: top; line-height: 1.3; padding-left: 3px; }
.hero__metric-label { font-size: 13px; margin-top: 10px; line-height: 1.4; max-width: 24ch; }
.hero__metric-note { font-size: 11px; color: #c8ceca; margin-top: 5px; }
.counter { font-variant-numeric: tabular-nums; }
.counter__visual { display: inline-block; min-width: 2ch; }
.hero__signature { border-top: 1px solid rgba(255,255,255,.2); background: rgba(11,14,13,.68); }
.hero--v5 .member-signature { background: transparent; border: 0; }
.hero--v5 .member-signature__list { padding-top: 19px; padding-bottom: 19px; }
.hero--v5 .member-signature__name { color: #f5f5f0; font-size: 14px; }
.hero--v5 .member-signature__tag { color: #c5cbc7; font-size: 11px; }
.brand-ribbon { padding-top: 27px; padding-bottom: 27px; background: #171d1b; }
.brand-ribbon__head { display: block; margin-bottom: 23px; }
.brand-ribbon__title { font-size: 14px; }
.brand-ribbon__qualifier { font-size: 11px; max-width: 80ch; }
.brand-ribbon__link { min-height: 72px; justify-content: center; }
.brand-ribbon--marquee .brand-ribbon__frames { animation: brand-scroll 65s linear infinite; }
.capacity-intro { padding-top: 65px; padding-bottom: 65px; }
.capacity-ledger__head { display: grid; grid-template-columns: .9fr 1.2fr; gap: 50px; padding-bottom: 32px; }
.capacity-ledger__head .section__title { font-size: clamp(28px, 3vw, 43px); max-width: 15ch; }
.capacity-ledger__head .capacity-intro__lead { font-size: 17px; }
.capacity-ledger__head .capacity-intro__qualifier { font-size: 12px; }
.capacity-ledger { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--steel-line-strong); }
.capacity-ledger__item { padding: 24px 20px 24px 0; border-bottom: 1px solid var(--steel-line-strong); }
.capacity-ledger__item:not(:nth-child(4n+1)) { padding-left: 24px; border-left: 1px solid var(--steel-line); }
.capacity-ledger__value { font-size: 52px; font-weight: 600; line-height: 1; letter-spacing: -.045em; }
.capacity-ledger__label { font-size: 12px; line-height: 1.5; margin-top: 11px; max-width: 21ch; }
.capacity-ledger__foot { display: flex; gap: 36px; align-items: baseline; justify-content: space-between; margin-top: 22px; font-size: 12px; }
.capacity-ledger__foot p { max-width: 72ch; color: var(--muted); }
.capacity-ledger__foot a { flex-shrink: 0; }
@media (min-width: 1600px) { .hero--v5 .hero__masthead { min-height: 680px; } }
@media (max-width: 1050px) {
 .hero--v5 .hero__masthead { grid-template-columns: 1.5fr 1fr; gap: 28px; min-height: 620px; padding-top: 50px; }
 .hero--v5 .hero__title { font-size: clamp(40px, 5vw, 58px); }
 .hero__number { font-size: 90px; }
 .hero__photo figcaption { right: 12px; }
 .capacity-ledger { grid-template-columns: repeat(4, 1fr); }
 .capacity-ledger__head { gap: 28px; }
}
@media (max-width: 700px) {
 .hero--v5 .hero__masthead { grid-template-columns: 1fr; gap: 28px; min-height: auto; padding-top: 36px; padding-bottom: 30px; }
 .hero--v5 .hero__title { font-size: clamp(36px, 8vw, 54px); max-width: 18ch; }
 .hero__eyebrow { font-size: 9px; margin-bottom: 18px; }
 .hero--v5 .hero__lead { font-size: 15px; margin-top: 16px; max-width: 38ch; }
 .hero--v5 .hero__families { font-size: 11px; max-width: 40ch; }
 .hero--v5 .hero__actions { flex-direction: row; gap: 9px 18px; margin-top: 18px; }
 .hero--v5 .hero__actions .btn { justify-content: center; padding: 12px 14px; font-size: 11px; }
 .hero--v5 .hero__secondary { font-size: 11px; }
 .hero--v5 .hero__microcopy { font-size: 10px; }
 .hero__metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; border-left: 0; border-top: 1px solid rgba(255,255,255,.3); padding: 15px 0 0; max-width: none; }
 .hero__network { grid-column: 1 / -1; font-size: 10px; max-width: none; padding: 0; }
 .hero__metric + .hero__metric { margin: 0; padding: 0 0 0 20px; border-top: 0; border-left: 1px solid rgba(255,255,255,.3); }
 .hero__number { font-size: 76px; }
 .hero__metric-label { font-size: 11px; margin-top: 8px; }
 .hero__metric-note { font-size: 9px; }
 .hero--v5::before { background: linear-gradient(90deg, rgba(9,14,13,.92), rgba(9,14,13,.64)), linear-gradient(0deg, rgba(9,14,13,.8), transparent 60%); }
 .hero__photo img { object-position: 66% 50%; }
 .hero__photo figcaption { display: none; }
 .hero--v5 .member-signature__list { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 24px; padding-top: 14px; padding-bottom: 14px; }
 .hero--v5 .member-signature__item { flex: 0 0 auto; }
 .hero--v5 .member-signature__tag { font-size: 9px; }
 .hero--v5 .member-signature__name { font-size: 12px; }
 .capacity-intro { padding-top: 42px; padding-bottom: 42px; }
 .capacity-ledger__head { grid-template-columns: 1fr; gap: 18px; }
 .capacity-ledger__head .section__title { max-width: none; font-size: 30px; }
 .capacity-ledger__head .capacity-intro__lead { font-size: 15px; }
 .capacity-ledger { grid-template-columns: repeat(2, 1fr); }
 .capacity-ledger__item, .capacity-ledger__item:not(:nth-child(4n+1)) { padding: 20px 16px 20px 0; border-left: 0; }
 .capacity-ledger__item:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--steel-line); }
 .capacity-ledger__value { font-size: 43px; }
 .capacity-ledger__foot { flex-direction: column; gap: 12px; }
}

/* Continuous, controllable ribbon: Space or a blank-track tap keeps it paused. */
.brand-ribbon--marquee.brand-ribbon--paused .brand-ribbon__viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
.brand-ribbon--marquee.brand-ribbon--paused .brand-ribbon__frames { animation: none; transform: none; }
.brand-ribbon--marquee.brand-ribbon--paused .brand-ribbon__track--clone { display: none; }
.brand-ribbon__viewport:focus-visible { outline: 2px solid #f0a99e; outline-offset: -3px; }

/* V7 — hero references and an industrial equipment atlas. */
.hero--v5 .hero__masthead {
  min-height: min(590px, calc(100svh - var(--header-h) - 142px));
  padding-top: clamp(30px, 5vh, 58px);
  padding-bottom: clamp(28px, 4vh, 46px);
}
.hero__photo figcaption { bottom: 145px; font-size: 12px; }
.hero__eyebrow { font-size: 12px; }
.hero__network { font-size: 14px; }
.hero--v5 .hero__families, .hero--v5 .hero__secondary, .hero__metric-label { font-size: 14px; }
.hero--v5 .btn { font-size: 14px; }
.hero--v5 .brand-ribbon { background: rgba(11, 14, 13, .82); border-top: 1px solid var(--hair-dark); padding: 14px 0 12px; }
.hero--v5 .brand-ribbon__head { margin-bottom: 5px; }
.hero--v5 .brand-ribbon__title { font-size: 12px; letter-spacing: .08em; font-weight: 400; color: #ccd2ce; }
.hero--v5 .brand-ribbon__item { flex: 0 0 clamp(155px, 14.5vw, 230px); justify-content: center; padding: 0 20px; }
.hero--v5 .brand-ribbon__link { min-height: 76px; }
.hero--v5 .brand-ribbon__logo[data-brand="mclaren"] { height: 24px; }
.hero--v5 .brand-ribbon--marquee .brand-ribbon__viewport { -webkit-mask-image: linear-gradient(to right, #000 0, #000 96%, transparent 100%); mask-image: linear-gradient(to right, #000 0, #000 96%, transparent 100%); }
.hero--v5 .brand-ribbon--marquee.brand-ribbon--paused .brand-ribbon__viewport,
.hero--v5 .brand-ribbon--marquee.brand-ribbon--focus .brand-ribbon__viewport { -webkit-mask-image: none; mask-image: none; overflow-x: auto; }
.member-signature { background: #e8eae6; border-top: 0; border-bottom: 1px solid var(--steel-line); }
.member-signature__list { justify-content: space-between; padding-top: 20px; padding-bottom: 20px; gap: 18px 24px; }
.member-signature__name { font-size: 14px; }
.member-signature__tag { font-size: 12px; }

.atlas-heading { display: grid; grid-template-columns: 1.4fr 1fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.atlas-eyebrow { color: var(--accent-ink); font-size: 12px; line-height: 1.5; font-weight: 700; letter-spacing: .12em; margin-bottom: 20px; }
.atlas-heading h2 { font-size: clamp(34px, 3.8vw, 56px); line-height: 1.09; letter-spacing: -.045em; font-weight: 600; }
.atlas-heading > p { font-size: 18px; line-height: 1.65; max-width: 42ch; color: var(--muted); }
.capacity-atlas { background: #f3f4f0; padding-top: 92px; padding-bottom: 72px; }
.capacity-atlas__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 64px; }
.capacity-atlas__focus { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 32px; align-items: center; padding-bottom: 28px; }
.capacity-atlas__number { font-size: clamp(126px, 12.5vw, 184px); font-weight: 600; letter-spacing: -.075em; line-height: .9; white-space: nowrap; }
.capacity-atlas__number .counter__visual { min-width: 1.6ch; }
.capacity-atlas__number > span:last-child { font-size: .42em; color: var(--accent); vertical-align: top; line-height: 1.7; padding-left: 3px; }
.capacity-atlas__focus h3 { max-width: 18ch; font-size: 23px; line-height: 1.25; font-weight: 600; letter-spacing: -.02em; }
.capacity-atlas__focus div > p { font-size: 16px; line-height: 1.6; color: var(--muted); margin-top: 16px; }
.capacity-atlas__photo { position: relative; border-top: 3px solid var(--ink); }
.capacity-atlas__photo img { width: 100%; height: 300px; object-fit: cover; object-position: 50% 60%; filter: grayscale(.8); }
.capacity-atlas__photo figcaption { font-size: 12px; line-height: 1.5; color: var(--muted); margin-top: 10px; }
.equipment-index > h3 { font-size: 14px; font-weight: 600; line-height: 1.5; padding-bottom: 20px; border-bottom: 3px solid var(--ink); }
.equipment-index li { border-bottom: 1px solid var(--steel-line-strong); }
.equipment-index a { display: grid; grid-template-columns: 62px minmax(0, 1fr) 20px; gap: 16px; align-items: center; min-height: 75px; padding: 13px 0; }
.equipment-index a:hover .equipment-index__name { color: var(--accent-ink); }
.equipment-index__number { font-size: 36px; line-height: 1; letter-spacing: -.05em; font-weight: 600; }
.equipment-index__name { font-size: 15px; font-weight: 600; line-height: 1.4; }
.equipment-index__name small { display: block; font-size: 12px; line-height: 1.4; font-weight: 400; color: var(--muted); margin-top: 4px; }
.equipment-index__arrow { font-size: 21px; color: var(--accent-ink); }
.capacity-atlas__foot { border-top: 1px solid var(--steel-line-strong); margin-top: 40px; padding-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 36px; }
.capacity-atlas__total { display: flex; gap: 24px; align-items: center; max-width: 720px; }
.capacity-atlas__total > p { font-size: 64px; line-height: 1; font-weight: 600; letter-spacing: -.06em; white-space: nowrap; }
.capacity-atlas__total > p > span:last-child { color: var(--accent-ink); font-size: .6em; }
.capacity-atlas__total h3 { font-size: 16px; line-height: 1.4; font-weight: 600; }
.capacity-atlas__total div > p { margin-top: 7px; max-width: 53ch; font-size: 14px; line-height: 1.6; color: var(--muted); }
.capacity-atlas__foot > a { font-size: 14px; line-height: 1.5; flex-shrink: 0; max-width: 24ch; }
.atlas-scope { font-size: 12px; color: var(--muted); line-height: 1.65; margin-top: 22px; max-width: 100ch; }

.machine-atlas { padding-top: 100px; padding-bottom: 80px; background: #e9ece7; }
.milling-chapter { background: #171d1a; color: var(--paper); }
.milling-chapter__head { display: flex; justify-content: space-between; align-items: center; gap: 36px; padding: 30px 36px; border-bottom: 1px solid var(--hair-dark); }
.milling-chapter__head h3 { font-size: 36px; line-height: 1.2; letter-spacing: -.03em; font-weight: 600; }
.milling-chapter__head > p { display: flex; align-items: center; gap: 18px; max-width: 31ch; font-size: 14px; line-height: 1.45; }
.milling-chapter__head strong { font-size: 48px; line-height: 1; letter-spacing: -.055em; font-weight: 600; white-space: nowrap; }
.milling-chapter__head strong > span { color: #ec7b67; }
.milling-chapter__main { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.milling-chapter__main figure { background: #dce0da; color: var(--ink); display: flex; flex-direction: column; justify-content: center; padding: 36px 20px 24px; }
.milling-chapter__main figure img { width: 100%; height: auto; mix-blend-mode: multiply; }
.milling-chapter__main figcaption { font-size: 12px; line-height: 1.5; margin-top: 32px; padding: 0 12px; color: #404640; }
.milling-chapter__copy { padding: 32px 36px; }
.milling-chapter__lead { font-size: 18px; line-height: 1.65; color: #edf0eb; }
.milling-facts { margin-top: 28px; }
.milling-facts > div { padding-top: 19px; margin-top: 19px; border-top: 1px solid var(--hair-dark-strong); }
.milling-facts dt { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; }
.milling-facts dt strong { font-size: 24px; line-height: 1.2; font-weight: 600; letter-spacing: -.03em; }
.milling-facts dt span { font-size: 14px; line-height: 1.5; color: #bec6bf; }
.milling-facts dd { font-size: 16px; line-height: 1.65; color: #e2e7e1; margin-top: 9px; }
.machine-atlas__chapters { margin-top: 44px; border-top: 3px solid var(--ink); }
.machine-chapter { border-bottom: 1px solid var(--steel-line-strong); }
.machine-chapter summary { display: grid; grid-template-columns: 90px minmax(0, 1fr) 36px; gap: 28px; align-items: center; padding: 25px 0; cursor: pointer; list-style: none; }
.machine-chapter summary::-webkit-details-marker { display: none; }
.machine-chapter summary::marker { content: ""; }
.machine-chapter__count { font-size: 54px; line-height: 1; font-weight: 600; letter-spacing: -.045em; }
.machine-chapter__title { font-size: 26px; line-height: 1.25; letter-spacing: -.025em; font-weight: 600; }
.machine-chapter__title > span { display: block; font-size: 14px; line-height: 1.5; letter-spacing: 0; margin-top: 7px; color: var(--muted); font-weight: 400; }
.machine-chapter__toggle { position: relative; display: block; width: 28px; height: 28px; color: var(--accent-ink); }
.machine-chapter__toggle::before, .machine-chapter__toggle::after { content: ""; position: absolute; background: currentColor; }
.machine-chapter__toggle::before { top: 13px; left: 4px; width: 20px; height: 2px; }
.machine-chapter__toggle::after { top: 4px; left: 13px; width: 2px; height: 20px; }
.machine-chapter[open] .machine-chapter__toggle::after { display: none; }
.machine-chapter[open] summary { color: var(--accent-ink); }
.machine-chapter__body { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding: 5px 64px 36px 118px; }
.machine-chapter__description { font-size: 18px; line-height: 1.7; }
.machine-chapter__technical h4 { font-size: 12px; line-height: 1.5; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 9px; color: var(--accent-ink); font-weight: 700; }
.machine-chapter__technical p { font-size: 16px; line-height: 1.7; color: #434941; }
.machine-chapter__technical > div + div { margin-top: 22px; }
.machine-chapter--unspecified .machine-chapter__body { grid-template-columns: 1fr; max-width: 86ch; }
.machine-support { margin-top: 52px; display: grid; grid-template-columns: .85fr 1fr 1fr; gap: 40px; border-top: 1px solid var(--steel-line-strong); padding-top: 28px; }
.machine-support h3 { font-size: 27px; line-height: 1.25; letter-spacing: -.025em; max-width: 14ch; }
.machine-support h4 { margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
.machine-support p { font-size: 16px; line-height: 1.7; color: var(--muted); }
.machine-atlas__download { margin-top: 32px; font-size: 14px; }

@media (min-width: 701px) and (max-height: 800px) {
  .hero--v5 .hero__masthead { padding-top: 30px; padding-bottom: 28px; }
  .hero--v5 .hero__title { font-size: clamp(42px, 4.1vw, 61px); }
  .hero__number { font-size: clamp(80px, 7.2vw, 105px); }
  .hero--v5 .hero__lead { margin-top: 18px; }
}
@media (max-width: 1100px) {
  .atlas-heading { gap: 36px; }
  .capacity-atlas__body { gap: 36px; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .capacity-atlas__focus { grid-template-columns: 1fr; gap: 18px; }
  .capacity-atlas__focus h3 { max-width: none; }
  .capacity-atlas__focus div > p { max-width: 48ch; }
  .capacity-atlas__photo img { height: 260px; }
  .milling-chapter__main { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .milling-chapter__copy { padding: 28px; }
  .machine-chapter__body { gap: 36px; padding-right: 0; }
  .machine-support { gap: 28px; }
}
@media (max-width: 800px) {
  .atlas-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 36px; }
  .atlas-heading > p { max-width: 64ch; }
  .capacity-atlas__body { grid-template-columns: 1fr; gap: 36px; }
  .capacity-atlas__focus { grid-template-columns: auto minmax(0, 1fr); gap: 28px; }
  .capacity-atlas__photo img { height: 300px; }
  .capacity-atlas__foot { align-items: start; flex-direction: column; gap: 24px; }
  .capacity-atlas__foot > a { max-width: none; }
  .milling-chapter__head { padding: 26px; }
  .milling-chapter__head h3 { font-size: 30px; }
  .milling-chapter__main { grid-template-columns: 1fr; }
  .milling-chapter__main figure { padding: 28px 28px 20px; }
  .milling-chapter__main figure img { max-width: 580px; margin: auto; }
  .milling-chapter__main figcaption { padding: 0; margin-top: 20px; }
  .machine-support { grid-template-columns: 1fr 1fr; }
  .machine-support h3 { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 700px) {
  .hero--v5 .hero__masthead { min-height: auto; padding-top: 24px; padding-bottom: 24px; gap: 20px; }
  .hero__eyebrow { font-size: 12px; letter-spacing: .12em; margin-bottom: 14px; }
  .hero--v5 .hero__lead { font-size: 16px; }
  .hero--v5 .hero__families { font-size: 14px; max-width: 45ch; }
  .hero--v5 .hero__actions .btn, .hero--v5 .hero__secondary { font-size: 14px; }
  .hero__network, .hero__metric-label { font-size: 14px; }
  .hero--v5 .brand-ribbon__item { flex-basis: 138px; }
  .hero--v5 .brand-ribbon__head { margin-bottom: 6px; }
  .hero--v5 .brand-ribbon__link { min-height: 70px; }
  .member-signature__list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
  .member-signature__item { min-width: 0; }
  .member-signature__name { font-size: 14px; }
  .capacity-atlas, .machine-atlas { padding-top: 56px; padding-bottom: 56px; }
  .atlas-heading h2 { font-size: clamp(31px, 8.5vw, 43px); }
  .atlas-heading > p { font-size: 16px; }
  .atlas-eyebrow { margin-bottom: 16px; }
  .capacity-atlas__focus { grid-template-columns: 1fr; gap: 24px; padding-bottom: 26px; }
  .capacity-atlas__number { font-size: clamp(142px, 42vw, 196px); }
  .capacity-atlas__focus h3 { font-size: 23px; max-width: 22ch; }
  .capacity-atlas__focus div > p { margin-top: 14px; }
  .capacity-atlas__photo img { height: 240px; }
  .equipment-index a { grid-template-columns: 52px minmax(0, 1fr) 18px; gap: 18px; min-height: 80px; }
  .equipment-index__number { font-size: 36px; }
  .equipment-index__name { font-size: 16px; }
  .equipment-index__name small { font-size: 12px; }
  .capacity-atlas__total { gap: 20px; align-items: start; }
  .capacity-atlas__total > p { font-size: 58px; }
  .capacity-atlas__total div > p { font-size: 14px; }
  .milling-chapter__head { align-items: start; flex-direction: column; gap: 22px; padding: 24px; }
  .milling-chapter__head > p { max-width: none; }
  .milling-chapter__head h3 { font-size: 32px; }
  .milling-chapter__head strong { font-size: 44px; }
  .milling-chapter__main figure { padding: 28px 16px 18px; }
  .milling-chapter__main figcaption { font-size: 12px; padding: 0 8px; }
  .milling-chapter__copy { padding: 28px 24px; }
  .milling-chapter__lead { font-size: 16px; }
  .milling-facts dt strong { font-size: 25px; }
  .milling-facts dd { font-size: 16px; }
  .machine-atlas__chapters { margin-top: 32px; }
  .machine-chapter summary { grid-template-columns: 54px minmax(0, 1fr) 24px; gap: 14px; padding: 23px 0; }
  .machine-chapter__count { font-size: 38px; }
  .machine-chapter__title { font-size: 21px; }
  .machine-chapter__title > span { font-size: 14px; }
  .machine-chapter__toggle { width: 24px; height: 24px; }
  .machine-chapter__toggle::before { top: 11px; left: 3px; width: 18px; }
  .machine-chapter__toggle::after { top: 3px; left: 11px; height: 18px; }
  .machine-chapter__body { grid-template-columns: 1fr; gap: 24px; padding: 3px 0 30px; }
  .machine-chapter__description { font-size: 16px; }
  .machine-support { grid-template-columns: 1fr; gap: 26px; margin-top: 40px; }
  .machine-support h3 { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero--v5 .brand-ribbon--marquee .brand-ribbon__viewport { -webkit-mask-image: none; mask-image: none; overflow-x: auto; }
}
@media print {
  .hero--v5 .brand-ribbon--marquee .brand-ribbon__viewport { -webkit-mask-image: none; mask-image: none; overflow: visible; }
  .capacity-atlas__body, .atlas-heading, .milling-chapter__main { display: block; }
  .capacity-atlas, .machine-atlas { padding: 28px 0; }
}

/* Company-attributed evidence, arranged as an editorial ledger. */
.operations { background: #e9e7df; padding-top: 62px; padding-bottom: 62px; }
.operations__head, .quality__head { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; padding-bottom: 32px; }
.operations__head .section__title { max-width: 16ch; font-size: clamp(29px,3vw,44px); }
.operations__head > p, .quality__head > p { font-size: 15px; max-width: 48ch; color: var(--muted); }
.operations__metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--steel-line-strong); border-bottom: 1px solid var(--steel-line-strong); }
.operations__metrics > li { padding: 24px 22px 22px 0; }
.operations__metrics > li + li { border-left: 1px solid var(--steel-line); padding-left: 24px; }
.operations__company { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; min-height: 1.6em; }
.operations__value { font-size: clamp(48px,4.6vw,72px); font-weight: 600; letter-spacing: -.045em; line-height: 1.1; margin-top: 12px; }
.operations__operator { font-size: .6em; padding-right: 4px; vertical-align: 10%; }
.operations__label { font-size: 13px; margin-top: 9px; }
.operations__source { font-size: 10px; line-height: 1.5; color: var(--muted); margin-top: 9px; }
a.operations__source, .operations__source a { text-decoration: underline; text-underline-offset: 3px; }
.operations__note { color: var(--muted); font-size: 12px; margin-top: 17px; max-width: 88ch; }
.operations__support { display: grid; grid-template-columns: 2fr 1fr; gap: 64px; margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--steel-line-strong); }
.operations__support h3 { font-size: 18px; font-weight: 600; }
.operations__areas { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 22px; }
.operations__areas strong { display: block; font-size: 11px; }
.operations__areas span { display: block; font-size: 24px; line-height: 1.2; margin-top: 8px; }
.operations__areas .counter, .operations__areas .counter__visual { display: inline; }
.operations__areas .sr-only { display: inline-block; }
.operations__areas p { font-size: 11px; margin-top: 5px; }
.operations__solar { padding-left: 30px; border-left: 1px solid var(--steel-line); }
.operations__solar .operations__value { font-size: 60px; }
.operations__solar h3 { font-size: 13px; margin-top: 9px; }
.quality { background: var(--paper); padding-top: 62px; padding-bottom: 62px; border-bottom: 1px solid var(--steel-line); }
.quality__head .section__title { font-size: clamp(28px,3vw,42px); max-width: 20ch; }
.quality__items { display: grid; grid-template-columns: .8fr 1.25fr .95fr; border-top: 1px solid var(--steel-line-strong); border-bottom: 1px solid var(--steel-line-strong); }
.quality__item { min-width: 0; padding: 26px 26px 25px 0; }
.quality__item + .quality__item { padding-left: 28px; border-left: 1px solid var(--steel-line); }
.quality__art { height: 130px; display: flex; align-items: center; justify-content: flex-start; background: #fff; padding: 16px; margin-bottom: 22px; }
.quality__art img { width: auto; height: auto; max-height: 98px; max-width: 100%; object-fit: contain; }
.quality__item--ofbm .quality__art img { width: 84px; max-height: none; }
.quality__item h3 { font-size: 18px; }
.quality__standards { margin-top: 7px; font-size: 12px; font-weight: 600; }
.quality__status { margin-top: 10px; font-size: 11px; line-height: 1.5; color: var(--muted); max-width: 36ch; }
.quality__item > a { display: inline-block; margin-top: 16px; font-size: 12px; }
.quality__details { padding-top: 20px; font-size: 12px; }
.quality__details summary { cursor: pointer; font-weight: 600; }
.quality__details > div { max-width: 105ch; padding-top: 14px; color: var(--muted); }
.quality__details p + p { margin-top: 10px; }
.quality__details a { text-decoration: underline; }
.process-flow { margin-top: 36px; border-top: 1px solid var(--steel-line-strong); padding-top: 25px; }
.process-flow__head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding-bottom: 22px; }
.process-flow__head h4 { margin: 0; font-size: 21px; font-weight: 600; letter-spacing: -.025em; }
.process-flow__head p { font-size: 11px; color: var(--muted); max-width: 30ch; }
.process-flow__stages { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 35px; counter-reset: stages; }
.process-flow__stage { display: grid; grid-template-columns: 27px 1fr; gap: 12px; padding: 21px 0; border-top: 1px solid var(--steel-line); }
.process-flow__index { font-size: 11px; font-weight: 700; color: var(--accent-ink); padding-top: 3px; }
.process-flow__stage h5 { font-size: 15px; line-height: 1.35; margin: 0; font-weight: 600; }
.process-flow__stage .process-flow__companies { font-size: 10px; color: var(--accent-ink); font-weight: 600; margin: 6px 0 9px; }
.process-flow__stage p { font-size: 12px; line-height: 1.6; color: #484b46; }
.process-flow__deliverable { padding: 17px 0; border-top: 1px solid var(--steel-line); font-size: 12px; line-height: 1.6; color: var(--muted); }
.process-flow__deliverable strong { display: block; font-size: 12px; color: var(--ink); margin-bottom: 5px; }
.process-flow__sources { font-size: 11px; color: var(--muted); padding-bottom: 5px; }
.process-flow__sources summary { cursor: pointer; }
.process-flow__sources ul { padding-top: 10px; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.process-flow__sources a { text-decoration: underline; text-underline-offset: 3px; }
.sheet-flow { margin-top: 36px; }
.sheet-flow > h3 { font-size: 20px; }
.quality--sheet { padding-top: 35px; padding-bottom: 35px; }
/* An informative technical notice; no nonexistent optional consent switches. */
.storage-notice { position: fixed; z-index: 90; left: 20px; bottom: 18px; width: min(420px, calc(100vw - 40px)); background: #fff; color: var(--ink); border: 1px solid var(--steel-line-strong); padding: 17px 19px; box-shadow: 0 3px 30px rgba(0,0,0,.12); }
.storage-notice > p { font-size: 12px; line-height: 1.5; }
.storage-notice > div { display: flex; gap: 20px; margin-top: 11px; }
.storage-notice button { min-height: 32px; font-size: 11px; font-weight: 600; padding: 0; text-decoration: underline; text-underline-offset: 4px; }
.storage-notice button:first-child { color: var(--accent-ink); }
.storage-dialog { background: var(--paper); color: var(--ink); border: 0; padding: 30px; max-width: 650px; width: calc(100% - 36px); max-height: calc(100dvh - 48px); overflow: auto; }
.storage-dialog::backdrop { background: rgba(8,13,11,.72); }
.storage-dialog__header { display: flex; align-items: flex-start; gap: 25px; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--steel-line-strong); }
.storage-dialog__header h2 { font-size: 26px; font-weight: 600; line-height: 1.25; }
.storage-dialog__header button { font-size: 30px; line-height: 1; min-width: 40px; min-height: 40px; margin: -7px -10px 0 0; }
.storage-policy { font-size: 12px; }
.storage-policy__intro { margin-top: 20px; }
.storage-policy section { margin: 20px 0; }
.storage-policy h3 { font-size: 14px; margin-bottom: 9px; }
.storage-policy h3 span { display: block; color: var(--muted); font-size: 10px; font-weight: 400; margin-top: 5px; }
.storage-policy p { color: var(--muted); }
.storage-dialog > .btn { min-height: 42px; font-size: 12px; margin-top: 6px; }
.footer-storage { padding: 22px 0; font-size: 12px; border-top: 1px solid var(--hair-dark); }
.footer-storage button { text-decoration: underline; text-underline-offset: 4px; font-size: 12px; min-height: 36px; padding: 0; }
.storage-ready .footer-storage .js-only { display: inline-flex; }
.storage-ready .storage-policy-fallback { display: none; }
.storage-policy-fallback summary { cursor: pointer; }
.storage-policy-fallback .storage-policy p, .storage-policy-fallback .storage-policy h3 span { color: #c5cbc7; }
@media (max-width: 950px) {
 .operations__head, .quality__head { gap: 30px; }
 .operations__support { gap: 28px; }
 .operations__areas { gap: 14px; }
 .quality__items { grid-template-columns: 1fr 1.3fr 1fr; }
 .quality__item, .quality__item + .quality__item { padding-right: 16px; padding-left: 16px; }
 .quality__item:first-child { padding-left: 0; }
 .quality__art { padding: 10px; }
}
@media (max-width: 700px) {
 .operations, .quality { padding-top: 42px; padding-bottom: 42px; }
 .operations__head, .quality__head { grid-template-columns: 1fr; gap: 16px; padding-bottom: 26px; }
 .operations__head .section__title, .quality__head .section__title { max-width: none; font-size: 30px; }
 .operations__head > p, .quality__head > p { font-size: 13px; }
 .operations__metrics { grid-template-columns: 1fr 1fr; }
 .operations__metrics > li { padding: 20px 15px 20px 0; }
 .operations__metrics > li + li { border: 0; padding-left: 0; }
 .operations__metrics > li:nth-child(even) { border-left: 1px solid var(--steel-line); padding-left: 20px; }
 .operations__metrics > li:nth-child(n+3) { border-top: 1px solid var(--steel-line); }
 .operations__value { font-size: 55px; }
 .operations__label { font-size: 11px; }
 .operations__support { grid-template-columns: 1fr; margin-top: 26px; }
 .operations__areas { grid-template-columns: 1fr; gap: 0; }
 .operations__areas li { display: grid; grid-template-columns: 100px 1fr; gap: 4px 20px; padding: 14px 0; border-bottom: 1px solid var(--steel-line); }
 .operations__areas strong { grid-row: span 3; }
 .operations__areas span, .operations__areas p, .operations__areas a { margin: 0; }
 .operations__solar { padding: 23px 0 0; border-left: 0; border-top: 1px solid var(--steel-line); }
 .quality__items { grid-template-columns: 1fr; }
 .quality__item, .quality__item + .quality__item { padding: 25px 0; border-left: 0; }
 .quality__item + .quality__item { border-top: 1px solid var(--steel-line); }
 .quality__art { height: 125px; margin-bottom: 17px; justify-content: flex-start; padding: 16px; }
 .quality__item--mecom .quality__art img { max-width: 100%; max-height: 95px; }
 .quality__status { max-width: none; }
 .process-flow__head { display: block; }
 .process-flow__head h4 { font-size: 20px; }
 .process-flow__head p { margin-top: 9px; max-width: none; }
 .process-flow__stages { grid-template-columns: 1fr; }
 .process-flow__stage p { font-size: 13px; }
 .storage-notice { bottom: 10px; left: 10px; width: calc(100vw - 20px); padding: 13px 16px; }
 .storage-notice > p { font-size: 11px; }
 .storage-dialog { padding: 23px; }
 .storage-dialog__header h2 { font-size: 22px; }
}
@media print {
 .storage-notice, .storage-dialog, .footer-storage { display: none !important; }
 .process-flow__stages { display: block; }
 .process-flow__stage, .quality__item { break-inside: avoid; }
 .quality { background: #fff; }
 .quality__details > div, .process-flow__sources > ul { display: block; }
}
.counter--digits-1 .counter__visual { min-width: 1ch; }
.counter--digits-3 .counter__visual { min-width: 3ch; }
.counter--digits-4 .counter__visual { min-width: 4ch; }
.counter--digits-5 .counter__visual { min-width: 5ch; }
.storage-technical { font-size: 11px; margin: 20px 0; }
.storage-technical summary { cursor: pointer; }
.storage-technical p { margin-top: 10px; }
/* Network figures retain the v5 layout without company-owner labels. */
.quality__items--network { grid-template-columns: repeat(3, 1fr); }
.quality__items--network > .quality__item:last-child { display: flex; flex-direction: column; justify-content: center; }
.quality__items--network .src-link { margin-top: 18px; }
@media (max-width:700px) {
 .quality__items--network { grid-template-columns: 1fr; }
 .operations__areas li { grid-template-columns: 1fr; gap: 5px; }
}
