@charset "UTF-8";

:root,
[data-theme="light"] {
  color-scheme: light;
  --bg: #eeeae0;
  --ink: #202622;
  --muted: #505b55;
  --line: #777d74;
  --rule: #c3c5ba;
  --panel: #dedfd6;
  --paper: #f6f3eb;
  --accent: #ad3600;
  --signal: #ff6a24;
  --on-accent: #fffaf0;
  --focus: #174ac0;
  --gutter: clamp(1rem, 4vw, 4rem);
  --space: clamp(1.25rem, 3vw, 3rem);
  --measure: 66ch;
  --content: 92rem;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: Impact, "Arial Narrow", "Helvetica Neue", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #171d1b;
  --ink: #f1ede2;
  --muted: #b7c0b8;
  --line: #78847b;
  --rule: #414c45;
  --panel: #252f2a;
  --paper: #1d2521;
  --accent: #ff854b;
  --signal: #ff854b;
  --on-accent: #171d1b;
  --focus: #9bc4ff;
}

/* Intrinsic sizing keeps every grid usable at narrow viewport widths. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-padding-block-start: 1.5rem;
  scroll-behavior: auto;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 1rem/1.6 var(--sans);
  overflow-wrap: anywhere;
}

[hidden],
.page[hidden] {
  display: none !important;
}

::selection {
  background: var(--signal);
  color: #171d1b;
}

a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

a:hover {
  text-decoration-thickness: 2px;
}

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

img,
video,
canvas,
svg,
iframe {
  display: block;
  max-inline-size: 100%;
}

img,
video,
canvas,
svg {
  block-size: auto;
}

iframe {
  border: 0;
}

figure {
  min-inline-size: 0;
  margin: 0;
}

pre,
code,
kbd,
samp {
  font-family: var(--mono);
}

pre {
  max-inline-size: 100%;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

hr {
  margin-block: var(--space);
  border: 0;
  border-block-start: 1px solid var(--line);
}

.skip {
  position: absolute;
  inset-block-start: .75rem;
  inset-inline-start: 1rem;
  z-index: 100;
  max-inline-size: calc(100% - 2rem);
  min-block-size: 44px;
  padding: .75rem 1rem;
  background: var(--paper);
  color: var(--ink);
  border: 2px solid var(--ink);
  transform: translateY(-200%);
}

.skip:focus {
  transform: none;
}

/* Masthead */
body > header,
.site-header,
header[role="banner"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 1rem var(--gutter);
  border-block-start: .4rem solid var(--signal);
  border-block-end: 1px solid var(--line);
  background: var(--paper);
}

header > * {
  min-inline-size: 0;
}

header > a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  max-inline-size: 100%;
  color: var(--ink);
  font-size: 1.3rem;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -.045em;
  text-decoration: none;
}

nav,
nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem 1.1rem;
  min-inline-size: 0;
}

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

nav li {
  min-inline-size: 0;
  max-inline-size: 100%;
}

nav a {
  display: inline-flex;
  align-items: center;
  min-inline-size: 44px;
  min-block-size: 44px;
  padding-block: .5rem;
  color: var(--ink);
  font-size: .875rem;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
}

nav a:hover {
  color: var(--accent);
  text-decoration: underline;
}

nav [aria-current="page"] {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 3px;
  text-underline-offset: .4em;
}

/* Editorial scale */
main,
footer {
  inline-size: 100%;
  max-inline-size: calc(var(--content) + 2 * var(--gutter));
  margin-inline: auto;
}

main {
  padding-inline: var(--gutter);
}

.page {
  min-inline-size: 0;
  padding-block: clamp(2rem, 5vw, 5rem);
}

h1,
h2,
h3,
h4 {
  color: var(--ink);
  text-wrap: balance;
}

h1,
h2,
h3 {
  font-family: var(--display);
  font-weight: 800;
  font-stretch: condensed;
  letter-spacing: -.025em;
  line-height: 1.02;
}

h1 {
  max-inline-size: 14ch;
  margin: .15em 0 .4em;
  font-size: clamp(2.75rem, 7.5vw, 7.25rem);
}

h2 {
  max-inline-size: 23ch;
  margin: 0 0 .65em;
  font-size: clamp(2rem, 4vw, 3.8rem);
}

h3 {
  margin: 0 0 .65em;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  line-height: 1.12;
}

h4 {
  margin: 0 0 .65rem;
  font-size: 1rem;
  line-height: 1.3;
}

p,
ul,
ol,
dl,
blockquote {
  max-inline-size: var(--measure);
}

p {
  margin: 0 0 1.15rem;
}

ul,
ol {
  padding-inline-start: 1.4rem;
}

li + li {
  margin-block-start: .4rem;
}

small,
figcaption {
  font-size: .8125rem;
  line-height: 1.5;
}

strong {
  font-weight: 750;
}

blockquote {
  margin: 1.5rem 0;
  padding-inline-start: 1rem;
  border-inline-start: 3px solid var(--accent);
}

.eyebrow,
.annotation,
.number {
  font-family: var(--mono);
}

.eyebrow {
  display: block;
  margin-block: 0 1rem;
  color: var(--accent);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.annotation {
  max-inline-size: 52ch;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.6;
}

.number {
  color: var(--accent);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.035em;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: end;
  gap: var(--space);
  padding-block: .5rem clamp(3rem, 6vw, 6rem);
}

.hero > h1,
.hero > .eyebrow,
.hero > .split,
.hero > .wide {
  grid-column: 1 / -1;
}

.hero h1 {
  max-inline-size: 13ch;
}

.hero p {
  max-inline-size: 52ch;
  font-size: clamp(1rem, 1.4vw, 1.1875rem);
  line-height: 1.55;
}

.hero .split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
}

.split,
.columns,
.section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr);
  align-items: start;
  gap: var(--space);
}

.columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hero > *,
.split > *,
.columns > *,
.section-intro > *,
.process-grid > *,
.passport > *,
.ledger > *,
.route-end > * {
  min-inline-size: 0;
}

.chapter {
  padding-block: clamp(1.5rem, 3vw, 3rem) clamp(3rem, 5vw, 5rem);
  border-block-start: 2px solid var(--ink);
}

.chapter + .chapter {
  border-block-start-width: 1px;
}

.section-intro {
  margin-block-end: clamp(1.5rem, 3vw, 3rem);
}

.section-intro > .eyebrow {
  grid-column: 1 / -1;
  margin-block-end: -.5rem;
}

.section-intro > p {
  margin-block-end: 0;
}

.inset {
  min-inline-size: 0;
  padding: clamp(1rem, 2.5vw, 2rem);
  border: 1px solid var(--rule);
  border-block-start: 3px solid var(--line);
  background: var(--panel);
}

.inset > :last-child,
.process-step > :last-child,
.passport > :last-child {
  margin-block-end: 0;
}

.wide {
  grid-column: 1 / -1;
  inline-size: 100%;
  max-inline-size: none;
  min-inline-size: 0;
}

/* Process index: numbers are optional real content, not invented labels. */
.index-list {
  max-inline-size: none;
  margin: 0;
  padding-inline-start: 2.5rem;
  list-style: decimal-leading-zero;
}

.index-list li {
  margin: 0;
  padding: 1rem .5rem 1rem .75rem;
  border-block-end: 1px solid var(--rule);
}

.index-list li::marker {
  color: var(--accent);
  font: 700 .875rem var(--mono);
}

.index-list a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  font-weight: 650;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-block: 1.5rem;
  padding: 1px;
  background: var(--line);
}

.process-step {
  display: grid;
  align-content: start;
  gap: .75rem;
  padding: clamp(1rem, 2.5vw, 2rem);
  background: var(--paper);
}

.process-step .number {
  padding-block-end: .75rem;
  border-block-end: 1px solid var(--rule);
  font-size: 1.75rem;
}

.process-step h3,
.process-step p {
  margin: 0;
}

.process-step p {
  font-size: .9375rem;
}

/* Part passports and inspection ledgers */
.passport {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  max-inline-size: 56rem;
  margin-block: 1.5rem;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-block-start: .35rem solid var(--ink);
  background: var(--paper);
}

.passport > :is(h2, h3, .eyebrow, .annotation, .wide) {
  grid-column: 1 / -1;
}

.passport dl {
  margin: 0;
}

.passport dt,
.ledger dt {
  margin-block-end: .35rem;
  color: var(--muted);
  font: 600 .75rem/1.5 var(--mono);
}

.passport dd,
.ledger dd {
  margin: 0 0 1rem;
  font-variant-numeric: tabular-nums;
}

.passport > div {
  padding-block-start: .75rem;
  border-block-start: 1px solid var(--rule);
}

.ledger {
  inline-size: 100%;
  max-inline-size: 72rem;
  margin-block: 1.5rem;
  border-block: 2px solid var(--ink);
  font-size: .875rem;
  font-variant-numeric: tabular-nums;
}

table {
  inline-size: 100%;
  max-inline-size: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: .875rem;
  line-height: 1.45;
}

caption {
  padding-block: .75rem;
  color: var(--muted);
  font: 600 .75rem/1.5 var(--mono);
  text-align: start;
}

th,
td {
  padding: .875rem .75rem;
  border-block-end: 1px solid var(--rule);
  text-align: start;
  vertical-align: top;
  overflow-wrap: anywhere;
}

th {
  background: var(--panel);
  font-weight: 700;
}

tbody tr:nth-child(even) {
  background: var(--paper);
}

.ledger > :is(div, article) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: .75rem 1.5rem;
  padding: 1rem;
  border-block-end: 1px solid var(--rule);
}

dl.ledger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

dl.ledger > :is(dt, dd) {
  margin: 0;
  padding: 1rem;
  border-block-end: 1px solid var(--rule);
}

/* Mechanical drawing frames; geometry remains responsive, not scrollable. */
.diagram,
.schematic {
  min-inline-size: 0;
  inline-size: 100%;
  max-inline-size: 100%;
  margin: 0;
  padding: clamp(.75rem, 2vw, 1.75rem);
  border: 1px solid var(--line);
  border-block-start: 3px double var(--line);
  background: var(--paper);
  color: var(--ink);
  font: .8125rem/1.55 var(--mono);
}

.diagram svg,
.schematic svg,
svg.diagram,
svg.schematic {
  display: block;
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  block-size: auto;
  color: var(--ink);
  fill: none;
  stroke: var(--ink);
}

:is(.diagram, .schematic) :is(path, rect, circle, ellipse, line, polyline, polygon) {
  stroke: var(--ink);
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}

:is(.diagram, .schematic) [fill]:not([fill="none"]):not([fill^="url("]) {
  fill: var(--ink);
}

:is(.diagram, .schematic) [fill="none"] {
  fill: none;
}

:is(.diagram, .schematic) [stroke="none"] {
  stroke: none;
}

:is(.diagram, .schematic) text,
:is(.diagram, .schematic) tspan {
  fill: var(--ink);
  stroke: none;
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
}

:is(.diagram, .schematic) :is(.dimension, .centerline, .construction) {
  stroke: var(--muted);
  stroke-width: .8;
}

:is(.diagram, .schematic) .centerline {
  stroke-dasharray: 8 3 2 3;
}

:is(.diagram, .schematic) .construction {
  stroke-dasharray: 3 4;
}

:is(.diagram, .schematic) :is(.accent, .highlight) {
  stroke: var(--accent);
}

:is(.diagram, .schematic) :is(text.accent, tspan.accent) {
  fill: var(--accent);
  stroke: none;
}

:is(.diagram, .schematic) .surface {
  fill: var(--panel);
}

:is(.diagram, .schematic) .annotation {
  fill: var(--muted);
  stroke: none;
}

:is(.diagram, .schematic) figcaption {
  margin-block-start: 1rem;
  padding: .75rem 0 0;
  border-block-start: 1px solid var(--rule);
}

/* Media and accessible controls */
.media-slot {
  min-inline-size: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-inline-start: .35rem solid var(--signal);
  background: var(--panel);
}

.media-slot :is(img, video) {
  inline-size: 100%;
}

figcaption {
  padding: .75rem 1rem;
  color: var(--muted);
}

.controls,
.film-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  min-inline-size: 0;
}

.film-controls {
  padding: .75rem;
  border-block-start: 1px solid var(--line);
  background: var(--paper);
}

.controls > *,
.film-controls > * {
  min-inline-size: 0;
  max-inline-size: 100%;
}

.controls label,
.film-controls label {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  min-block-size: 44px;
  font-size: .875rem;
}

button,
input,
select,
textarea {
  max-inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 44px;
  padding: .65rem .875rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font: inherit;
  line-height: 1.35;
}

button,
input[type="submit"],
input[type="reset"],
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-inline-size: 44px;
  min-block-size: 44px;
  max-inline-size: 100%;
  padding: .7rem 1rem;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: var(--on-accent);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}

button:hover,
.button:hover {
  border-color: var(--ink);
}

button[aria-pressed="true"] {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 2px var(--ink);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  opacity: .6;
  cursor: not-allowed;
}

input[type="checkbox"],
input[type="radio"] {
  inline-size: 44px;
  block-size: 44px;
  margin: 0;
  padding: 0;
  flex: 0 0 44px;
  accent-color: var(--accent);
}

input[type="range"] {
  min-block-size: 44px;
  padding-inline: 0;
  accent-color: var(--accent);
}

textarea {
  inline-size: 100%;
  min-block-size: 9rem;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}

form {
  display: grid;
  gap: 1rem;
  min-inline-size: 0;
  max-inline-size: 48rem;
}

form label {
  display: grid;
  gap: .4rem;
  font-size: .875rem;
  font-weight: 650;
}

fieldset {
  min-inline-size: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--line);
}

legend {
  max-inline-size: 100%;
  padding-inline: .4rem;
  font-weight: 700;
}

form :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
  inline-size: 100%;
}

[aria-invalid="true"] {
  border: 2px solid var(--accent);
}

address {
  max-inline-size: var(--measure);
  font-style: normal;
}

/* Route endings carry navigation rather than ornamental empty space. */
.route-end {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
  margin-block-start: clamp(2rem, 5vw, 5rem);
  padding-block: 1.5rem;
  border-block-start: 3px double var(--line);
  border-block-end: 1px solid var(--rule);
}

.route-end :is(h2, h3, p) {
  margin-block-end: .5rem;
}

.route-end a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  font-weight: 700;
}

footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 2rem var(--gutter) 3rem;
  border-block-start: 1px solid var(--line);
  color: var(--muted);
  font-size: .875rem;
}

footer > * {
  min-inline-size: 0;
}

footer a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
}

/* Home: broad editorial opening and an equal-weight reading grid. */
:where(#home, [data-route="home"], [data-page="home"]) .hero {
  display: block;
  padding-block-end: clamp(3rem, 7vw, 7rem);
}

:where(#home, [data-route="home"], [data-page="home"]) .hero h1 {
  max-inline-size: 12ch;
  font-size: clamp(3rem, 8.5vw, 8rem);
}

:where(#home, [data-route="home"], [data-page="home"]) .hero .split {
  margin-block-start: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Capabilities: a dense, ordered process plate. */
:where(#capabilities, [data-route="capabilities"], [data-page="capabilities"]) .hero {
  border-block-end: 1px solid var(--line);
  margin-block-end: var(--space);
}

:where(#capabilities, [data-route="capabilities"], [data-page="capabilities"]) .process-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

:where(#capabilities, [data-route="capabilities"], [data-page="capabilities"]) .process-step {
  border-inline-start: 3px solid var(--accent);
}

/* Industries: comparative editorial columns, separated by material rules. */
:where(#industries, [data-route="industries"], [data-page="industries"]) .hero h1 {
  max-inline-size: 17ch;
}

:where(#industries, [data-route="industries"], [data-page="industries"]) .columns {
  gap: 1px;
  padding-block: 1px;
  background: var(--rule);
}

:where(#industries, [data-route="industries"], [data-page="industries"]) .columns > * {
  margin: 0;
  padding: var(--space);
  background: var(--paper);
}

/* Quality: document framing and tabular inspection emphasis. */
:where(#quality, [data-route="quality"], [data-page="quality"]) .hero {
  align-items: start;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}

:where(#quality, [data-route="quality"], [data-page="quality"]) .passport {
  border-block-start-color: var(--accent);
}

:where(#quality, [data-route="quality"], [data-page="quality"]) .chapter {
  border-block-start: 3px double var(--line);
}

:where(#quality, [data-route="quality"], [data-page="quality"]) .ledger th {
  font-family: var(--mono);
  font-size: .75rem;
}

/* Maintenance: a vertically sequenced service log. */
:where(#maintenance, [data-route="maintenance"], [data-page="maintenance"]) .process-grid {
  grid-template-columns: minmax(0, 1fr);
  max-inline-size: 64rem;
}

:where(#maintenance, [data-route="maintenance"], [data-page="maintenance"]) .process-step {
  grid-template-columns: minmax(0, 4rem) minmax(0, 1fr);
  gap: .75rem 1.5rem;
}

:where(#maintenance, [data-route="maintenance"], [data-page="maintenance"]) .process-step > * {
  grid-column: 2;
}

:where(#maintenance, [data-route="maintenance"], [data-page="maintenance"]) .process-step > .number {
  grid-column: 1;
  grid-row: 1 / span 3;
  border: 0;
  padding: 0;
}

:where(#maintenance, [data-route="maintenance"], [data-page="maintenance"]) .inset {
  border-inline-start: .35rem solid var(--accent);
}

/* Engineering: drawing-led layout with a narrow explanatory column. */
:where(#engineering, [data-route="engineering"], [data-page="engineering"]) .split {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.75fr);
}

:where(#engineering, [data-route="engineering"], [data-page="engineering"]) .schematic {
  padding: clamp(1rem, 3vw, 3rem);
  border-block-end: 3px double var(--line);
}

:where(#engineering, [data-route="engineering"], [data-page="engineering"]) .section-intro {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/* Contact: compact opening, readable form, distinct contact information. */
:where(#contact, [data-route="contact"], [data-page="contact"]) .hero {
  display: block;
  max-inline-size: 58rem;
  padding-block-end: 2.5rem;
}

:where(#contact, [data-route="contact"], [data-page="contact"]) h1 {
  max-inline-size: 18ch;
  font-size: clamp(2.75rem, 6vw, 5.5rem);
}

:where(#contact, [data-route="contact"], [data-page="contact"]) .split {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
}

:where(#contact, [data-route="contact"], [data-page="contact"]) form {
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-block-start: .35rem solid var(--accent);
  background: var(--paper);
}

:where(#contact, [data-route="contact"], [data-page="contact"]) address {
  padding-block: 1rem;
  border-block: 1px solid var(--line);
}

/* Intermediate widths retain hierarchy without squeezing columns. */
@media (max-width: 1000px) {
  body > header,
  .site-header,
  header[role="banner"] {
    align-items: flex-start;
  }

  header nav {
    flex: 1 1 100%;
  }

  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .hero,
  .split,
  .hero .split,
  .columns,
  .section-intro,
  .process-grid,
  .route-end {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .process-grid {
    gap: 1px;
  }

  .hero {
    align-items: start;
    padding-block-end: 3rem;
  }

  .hero h1 {
    font-size: clamp(2.75rem, 12vw, 4.75rem);
  }

  .chapter {
    padding-block: 1.5rem 3rem;
  }

  .section-intro > .eyebrow {
    margin-block-end: 0;
  }

  .route-end {
    justify-items: start;
  }

  .passport {
    gap: 1rem;
  }

  nav,
  nav ul {
    gap: .25rem 1rem;
  }

  nav {
    inline-size: 100%;
  }

  th,
  td {
    padding: .75rem .4rem;
    font-size: .8125rem;
  }

  .ledger > :is(div, article) {
    grid-template-columns: minmax(0, 1fr);
    gap: .4rem;
  }

  :where(#home, [data-route="home"], [data-page="home"]) .hero .split,
  :where(#capabilities, [data-route="capabilities"], [data-page="capabilities"]) .process-grid,
  :where(#quality, [data-route="quality"], [data-page="quality"]) .hero,
  :where(#engineering, [data-route="engineering"], [data-page="engineering"]) .split,
  :where(#engineering, [data-route="engineering"], [data-page="engineering"]) .section-intro,
  :where(#contact, [data-route="contact"], [data-page="contact"]) .split {
    grid-template-columns: minmax(0, 1fr);
  }

  :where(#industries, [data-route="industries"], [data-page="industries"]) .columns {
    gap: 1px;
  }
}

@media (max-width: 380px) {
  .passport {
    grid-template-columns: minmax(0, 1fr);
  }

  .controls,
  .film-controls {
    gap: .5rem;
  }

  dl.ledger {
    grid-template-columns: minmax(0, 1fr);
  }

  dl.ledger > dt {
    padding-block-end: .25rem;
    border-block-end: 0;
  }

  dl.ledger > dd {
    padding-block-start: .25rem;
  }

  :where(#maintenance, [data-route="maintenance"], [data-page="maintenance"]) .process-step {
    grid-template-columns: minmax(0, 2.5rem) minmax(0, 1fr);
    column-gap: .75rem;
  }
}

/* Static rendering and reduced motion always override component effects. */
[data-static],
[data-static] *,
[data-static]::before,
[data-static]::after,
[data-static] *::before,
[data-static] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  .process-grid {
    gap: 0;
    background: Canvas;
  }

  .process-step,
  .inset,
  .passport,
  .diagram,
  .schematic {
    border: 1px solid CanvasText;
  }

  nav [aria-current="page"] {
    text-decoration-color: LinkText;
  }

  :focus-visible {
    outline-color: Highlight;
  }
}/* Candidate review fixes: editorial headers are not the global header. */
.process-grid > .number,.process-grid > h2{grid-column:1/-1;background:var(--bg);padding:1rem;margin:0}
.page > section{margin-block:3rem}
.page > .section-intro{display:block;border-bottom:1px solid var(--line);padding-bottom:2rem}
.schematic svg{display:block;width:100%;height:auto;min-width:0}
.schematic{color:var(--ink)}
@media(max-width:700px){.columns,.passport,.section-intro,.split{grid-template-columns:1fr}.hero{display:block}.page>section{margin-block:2rem}.passport{display:block}.passport aside{margin-top:1.5rem}.process-grid{grid-template-columns:1fr}}
/* Manufacturing's own visual language: a film-led production index. */
:root{--display:'Arial Black','Helvetica Neue',sans-serif;--content:100rem}
body>header{border-top:0;border-bottom:1px solid var(--rule);padding-block:.7rem;background:var(--bg)}
header>a{font-family:var(--mono);font-size:1rem;letter-spacing:-.055em;font-weight:750}
header nav{gap:.15rem .9rem}header nav a{font-size:.78rem}.controls{gap:.4rem}.controls label{font-size:.72rem}
.page{padding-top:3rem}.page>.section-intro{border:0;max-width:80rem;margin-bottom:2rem}
.page>.section-intro h1{font-size:clamp(3rem,7.8vw,8rem);line-height:.94;letter-spacing:-.075em;font-weight:800;max-width:13ch;margin-block:.35em .3em}
.hero-lede{font-size:clamp(1.1rem,1.9vw,1.8rem);line-height:1.35;max-width:39ch;margin-bottom:1.6rem}
.truth-note{font-size:.82rem;line-height:1.5;color:var(--muted);max-width:70ch}
#home>figure{margin-inline:calc(-1*var(--gutter));background:#171d1b;color:#f1ede2}
#home>figure video{width:100%;max-height:80vh;object-fit:cover}
#home>figure button{margin:1rem var(--gutter) 0}
#home>figure figcaption{color:#c7d0ca;padding:1rem var(--gutter);font-family:var(--mono);font-size:.72rem}
.engineering-note{border-block-start:1px solid var(--line);margin-block:2rem}
.engineering-note summary{min-height:64px;cursor:pointer;font-size:clamp(1.3rem,2.6vw,2.5rem);font-weight:650;letter-spacing:-.035em;padding:1rem 0}
.engineering-note>section{margin-block:1.5rem 3rem}.engineering-note summary:focus-visible{outline:3px solid var(--focus)}
.route-end{display:block;max-width:70rem;margin-top:3rem;padding:2rem 0}.route-end h2{max-width:24ch}
@media(max-width:700px){header>a{font-size:.9rem}body>header{gap:.3rem}.controls{width:100%;justify-content:space-between}.page{padding-top:2rem}.page>.section-intro h1{font-size:clamp(2.85rem,13vw,4.5rem)}#home>figure video{object-fit:contain}.engineering-note summary{font-size:1.4rem;line-height:1.2}}
.route-visual{margin-block:1.5rem 3rem;background:var(--paper);border-bottom:1px solid var(--line)}.route-visual img{width:100%;object-fit:contain}.route-visual figcaption{font-family:var(--mono);font-size:.75rem;max-width:90ch}
.scroll-sequence{height:350vh;position:relative}.sequence-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;background:#171d1b;overflow:hidden}.sequence-pin canvas,.sequence-pin img{width:100%;height:auto;max-height:88vh;object-fit:contain}.sequence-caption{color:#f1ede2;font:500 .72rem/1.5 var(--mono);padding:1rem var(--gutter);margin:0}.scroll-sequence>figcaption{position:absolute;bottom:0;left:0;background:#171d1b}.scroll-sequence.is-static{height:auto}.scroll-sequence.is-static .sequence-pin{position:relative;height:auto}.scroll-sequence.is-static>figcaption{position:relative}

.sequence-controls{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.5rem var(--gutter) 1rem;color:#f1ede2;font:500 .8rem/1.5 var(--mono)}.sequence-controls label{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.sequence-controls input{min-height:44px;width:min(22rem,70vw);accent-color:#ed8a39}.sequence-controls output{min-width:12ch}.sequence-controls input:focus-visible{outline:3px solid #ed8a39;outline-offset:3px}.is-static .sequence-controls{display:none}

/* Owner clean visual directive: no visible scrubber, counters or captions. */
.sequence-pin{display:block}.sequence-pin canvas,.sequence-pin img{width:100%;height:100%;max-height:none;object-fit:cover}.sequence-pin canvas:focus{outline:none}.scroll-sequence.is-static .sequence-pin{height:auto;aspect-ratio:16/9}.scroll-sequence{margin-inline:0}

/* Private art-direction proposal. Native scroll; no render overlay. */
#home>.cinematic-intro{min-height:72vh;display:grid;align-content:center;padding-block:6vh;margin-bottom:8vh;max-width:none}
#home>.cinematic-intro h1{font-family:Impact,'Arial Narrow',sans-serif;max-width:12ch;font-size:clamp(4rem,10vw,11rem);letter-spacing:-.045em;line-height:.94;font-weight:400}
#home>.cinematic-intro .hero-lede{max-width:35ch;justify-self:end;margin-top:3rem;font-size:clamp(1.2rem,2vw,2rem)}
#home>.cinematic-intro .truth-note{max-width:45ch;justify-self:end}
#home>.scroll-sequence{margin-inline:calc(-1*var(--gutter));height:850vh}
#home>.editorial-chapter{min-height:80vh;margin-block:10vh;padding-block:8vh;border-top:1px solid var(--rule)}
#home>.editorial-chapter h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(3rem,6vw,6rem);line-height:1;letter-spacing:-.03em;max-width:13ch;font-weight:400}
#home>.editorial-chapter .columns{gap:8vw}
#home>.editorial-chapter.wide{display:grid;grid-template-columns:1fr 1fr;gap:3rem 8vw}
#home>.editorial-chapter.wide .schematic{grid-column:2;grid-row:1/4;align-self:center;border:0;background:none}
#home>.editorial-chapter .inset{border-left:4px solid var(--accent);background:none;padding:2rem}
#home>.route-end{margin-block:12vh;padding-block:8vh;max-width:70ch}
#home .reveal-chapter{opacity:1;transform:none}
html[data-motion-ready]:not([data-static]) #home .reveal-chapter{opacity:.12;transform:translateY(3rem);transition:opacity .7s ease,transform .7s ease}
html[data-motion-ready]:not([data-static]) #home .reveal-chapter.is-revealed{opacity:1;transform:none}
@media(max-width:700px){#home>.cinematic-intro{min-height:65vh}#home>.cinematic-intro h1{font-size:clamp(3.8rem,17vw,7rem)}#home>.cinematic-intro .hero-lede{justify-self:start}#home>.editorial-chapter.wide{display:block}#home>.editorial-chapter{min-height:auto}#home>.scroll-sequence{height:700vh}.sequence-pin canvas,.sequence-pin img{object-fit:contain;background:#171d1b}}

#home>.cinematic-intro{display:block}#home>.cinematic-intro h1{max-width:15ch;font-size:clamp(3.5rem,7vw,7rem);overflow-wrap:normal;word-break:normal}#home>.cinematic-intro .hero-lede{margin-left:auto;max-width:36ch}.cinematic-intro .truth-note{margin-left:auto}#home>.editorial-chapter h2{overflow-wrap:normal;word-break:normal}
#home>.editorial-chapter.passport{display:block;max-width:none}#home>.editorial-chapter .columns{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:95ch}#home>.editorial-chapter .inset{max-width:70ch;margin-top:3rem}#home>.editorial-chapter.wide{display:block;max-width:90ch}#home>.editorial-chapter.wide .schematic{margin-block:3rem}#home>.editorial-chapter{min-height:0}#home>.cinematic-intro{padding-top:4vh;min-height:70vh}
@media(max-width:700px){#home>.editorial-chapter .columns{display:block}#home>.editorial-chapter .columns p{margin-bottom:2rem}}
html[data-motion-ready]:not([data-static]) #home .reveal-chapter{opacity:1;transform:translateY(3rem)}
/* Community visual language: black, acid signal, full-bleed moving image. */
:root,[data-theme=light]{--bg:#f1f0e9;--ink:#121411;--muted:#4c5146;--accent:#3d5800;--signal:#cbff36;--rule:#c8cabc}
[data-theme=dark]{--bg:#0b0d0a;--ink:#f1f0e9;--muted:#b5b9ae;--accent:#cbff36;--signal:#cbff36;--rule:#34382f}
body>header{background:var(--bg);position:relative;z-index:2;padding:1rem var(--gutter);align-items:center}header>a{font-family:var(--sans);letter-spacing:.07em;font-weight:750;font-size:.85rem}header>a::before{content:'M';display:inline-grid;place-items:center;background:#cbff36;color:#10130b;border-radius:12px;width:40px;height:40px;margin-right:12px;font-size:24px;letter-spacing:-.08em}
#home{padding:0;max-width:none}#home>.scroll-sequence{margin:0;height:850vh;width:100%;background:#10130b}.sequence-pin{height:100vh;height:100svh;position:sticky;top:0;background:#10130b;overflow:hidden}.sequence-pin canvas,.sequence-pin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-height:none}
#home .cinematic-intro{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;margin:0;padding:6vh var(--gutter);color:#f1f0e9;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 80%)}
#home .cinematic-intro h1{font-family:Arial,Helvetica,sans-serif;font-weight:750;font-size:clamp(3.7rem,8.6vw,9rem);letter-spacing:-.07em;line-height:.92;max-width:14ch;margin:1.7rem 0}#home .cinematic-intro h1 em{font-style:normal;color:#cbff36}#home .cinematic-intro .hero-lede{margin:0;max-width:32ch;font-size:clamp(1rem,1.5vw,1.4rem)}.hero-kicker,.scroll-invite{font:500 .72rem/1.5 var(--mono);letter-spacing:.06em}.hero-kicker{color:#cbff36}.scroll-invite{margin:2rem 0 0;color:#f1f0e9}.home-close{padding:4rem var(--gutter);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.home-close p{margin:0}.home-close a{font-weight:650}
#home>.scroll-sequence.is-static{height:auto}.scroll-sequence.is-static .sequence-pin{height:85vh;min-height:500px;aspect-ratio:auto}
@media(max-width:700px){body>header{padding:1rem;gap:.8rem}header>a{font-size:.67rem}header>a::before{width:32px;height:32px;margin-right:8px;border-radius:9px;font-size:21px}#home>.scroll-sequence{height:700vh}.sequence-pin canvas,.sequence-pin img{object-fit:contain}#home .cinematic-intro{padding:3vh 1rem;justify-content:flex-end;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 60%)}#home .cinematic-intro h1{font-size:clamp(3.2rem,14vw,5rem);margin:1rem 0}#home .cinematic-intro .hero-lede{font-size:1rem}.scroll-invite{margin-top:1rem}.hero-kicker{display:none}.controls label{font-size:.72rem}.sequence-pin{height:100svh}}
main{width:100%;max-width:none;padding-inline:0}#home .cinematic-intro h1{color:#f1f0e9}#home .cinematic-intro h1 em{color:#cbff36}#home .sequence-pin video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;outline:none}
@media(max-width:700px){#home .sequence-pin video{object-fit:contain}}
