

.page-engineering {
  --eng-ink: var(--main-copy);
  --eng-copy: var(--main-copy);
  --eng-soft: var(--muted);
  --eng-edge: var(--line);
  --eng-strong-edge: var(--line-strong);
  --eng-blue: var(--accent);
  --eng-frame: var(--surface-solid);
}
.page-engineering main {
  width: min(1220px, calc(100% - 3.5rem));
  color: var(--eng-ink);
  font-size: 1.05rem;
}
.page-engineering main h1,
.page-engineering main h2,
.page-engineering main h3 { color: var(--eng-ink); letter-spacing: -.032em; }
.page-engineering main h2 { font-weight: 650; }
.page-engineering main h3 { font-weight: 670; }
.page-engineering main p { text-wrap: pretty; }
.page-engineering main section { scroll-margin-top: 8rem; }
.eng-kicker {
  margin: 0 0 1.35rem;
  color: var(--eng-blue);
  font-size: .71rem;
  font-weight: 760;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
}
.eng-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  min-height: 500px;
  padding: clamp(3.75rem, 6vw, 5.75rem) 0;
  border-bottom: 1px solid var(--eng-strong-edge);
}
.eng-hero-copy { min-width: 0; }
.eng-hero h1 {
  max-width: 17ch;
  font-size: clamp(3.05rem, 5.4vw, 5.25rem);
  line-height: 1.07;
  font-weight: 650;
  text-wrap: balance;
}
.eng-hero-lede {
  max-width: 61ch;
  margin-top: 1.7rem;
  color: var(--eng-copy);
  font-size: clamp(1.06rem, 1.45vw, 1.22rem);
  line-height: 1.75;
}
.eng-hero-lede p { margin: 0; }
.eng-hero-art { min-width: 0; margin: 0; }
.eng-hero-art img {
  display: block;
  width: 76.5%;
  margin-inline: auto;
  height: auto;
  object-fit: contain;
  background: transparent;
}
.eng-page-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding: 1.3rem 0;
  border-bottom: 1px solid var(--eng-edge);
}
.eng-page-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .55rem .95rem;
  border: 1px solid var(--eng-edge);
  border-radius: .8rem;
  background: var(--surface);
  color: var(--eng-ink);
  text-align: center;
  text-decoration: none;
  font-size: .84rem;
  font-weight: 640;
  line-height: 1.35;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.eng-page-nav a:hover,
.eng-page-nav a:focus-visible {
  color: var(--eng-blue);
  border-color: color-mix(in srgb, var(--eng-blue) 60%, var(--eng-edge));
  background: color-mix(in srgb, var(--eng-blue) 8%, var(--surface-solid));
}
.eng-section { padding: clamp(4rem, 7vw, 6.25rem) 0; }
.eng-section + .eng-section { border-top: 1px solid var(--eng-edge); }
.eng-chapter-heading { max-width: 930px; margin-bottom: clamp(1.6rem, 3vw, 2.75rem); }
.eng-chapter-heading h2 {
  max-width: 25ch;
  font-size: clamp(2.15rem, 4.25vw, 3.85rem);
  line-height: 1.11;
  text-wrap: balance;
}
.eng-feature-list { border-top: 1px solid var(--eng-edge); }
.eng-feature-row {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: clamp(2.2rem, 5.3vw, 5.75rem);
  align-items: center;
  min-width: 0;
  padding: clamp(2.4rem, 5vw, 4.6rem) 0;
  border-bottom: 1px solid var(--eng-edge);
}
.eng-feature-media { min-width: 0; margin: 0; }
.eng-feature-media img {
  display: block;
  width: 76.5%;
  margin-inline: auto;
  height: auto;
  object-fit: contain;
  background: transparent;
}
.eng-feature-copy { min-width: 0; max-width: 39rem; }
.eng-feature-copy h3 {
  max-width: 23ch;
  font-size: clamp(1.75rem, 2.7vw, 2.65rem);
  line-height: 1.19;
  text-wrap: balance;
}
.eng-feature-copy p {
  max-width: 62ch;
  margin: 1.2rem 0 0;
  color: var(--eng-copy);
  font-size: clamp(1.05rem, 1.35vw, 1.18rem);
  line-height: 1.75;
}


@media (min-width: 761px) {
  .eng-feature-list > .eng-feature-row:nth-child(even) .eng-feature-media {
    grid-column: 2;
    grid-row: 1;
  }
  .eng-feature-list > .eng-feature-row:nth-child(even) .eng-feature-copy {
    grid-column: 1;
    grid-row: 1;
  }
}
.eng-ai-panel {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: clamp(2.2rem, 5.3vw, 5.75rem);
  align-items: center;
}
.eng-ai-copy { min-width: 0; }
.eng-ai-copy .eng-chapter-heading { margin-bottom: 1.3rem; }
.eng-ai-copy .eng-chapter-heading h2 { font-size: clamp(2rem, 3.35vw, 3.25rem); }
.eng-section-prose p {
  max-width: 62ch;
  margin: 0 0 1.15rem;
  color: var(--eng-copy);
  font-size: clamp(1.04rem, 1.3vw, 1.15rem);
  line-height: 1.76;
}
.eng-section-prose p:last-child { margin-bottom: 0; }


.eng-context-list { border-top: 1px solid var(--eng-edge); }
.eng-context-group {
  display: grid;
  grid-template-columns: minmax(0, .34fr) minmax(0, .66fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding: clamp(1.8rem, 3.25vw, 2.9rem) 0;
  border-bottom: 1px solid var(--eng-edge);
}


.eng-section > .eng-feature-list:last-child > .eng-feature-row:last-child,
.eng-section > .eng-context-list:last-child > .eng-context-group:last-child {
  border-bottom: 0;
}
.eng-context-group h3 {
  max-width: 19ch;
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  line-height: 1.3;
}
.eng-context-prose { min-width: 0; }
.eng-context-prose p {
  max-width: 76ch;
  margin: 0 0 1.1rem;
  color: var(--eng-copy);
  font-size: 1.045rem;
  line-height: 1.75;
}
.eng-context-prose p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .eng-hero { min-height: 0; }
  .eng-feature-row, .eng-ai-panel { gap: 2rem; }
}
@media (max-width: 760px) {
  .page-engineering main {
    width: auto;
    margin-left: max(1.1rem, env(safe-area-inset-left));
    margin-right: max(1.1rem, env(safe-area-inset-right));
  }
  .page-engineering main section { scroll-margin-top: 2rem; }
  .eng-hero { grid-template-columns: 1fr; gap: 2rem; padding: 3.6rem 0 2.5rem; }
  .eng-hero h1 { font-size: clamp(2.9rem, 11vw, 4.5rem); }
  .eng-hero-lede { margin-top: 1.4rem; }
  .eng-hero-art { width: min(100%, 500px); margin: 0 auto; }
  .eng-page-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; padding: 1rem 0; }
  .eng-page-nav a { min-width: 0; padding: .65rem .6rem; font-size: clamp(.75rem, 3vw, .84rem); }
  .eng-page-nav a:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .eng-section { padding: 3.8rem 0; }
  .eng-feature-row, .eng-ai-panel { grid-template-columns: 1fr; gap: 1.7rem; }
  .eng-feature-media { width: min(100%, 510px); }
  .eng-feature-copy h3 { font-size: clamp(1.65rem, 7.3vw, 2.4rem); }
  .eng-feature-copy p { margin-top: .9rem; }
  .eng-context-group { grid-template-columns: 1fr; gap: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .eng-page-nav a { transition: none; }
}
@media print {
  .page-engineering {
    --eng-ink: #111;
    --eng-copy: #333;
    --eng-soft: #555;
    --eng-edge: #ccc;
    background: #fff;
    color: #111;
  }
  .page-engineering main { color: #111; }
  .eng-page-nav { display: none; }
}
