* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
.shell { width: min(calc(100% - 3rem), var(--container)); margin-inline: auto; }
.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; }
:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.section { padding: var(--space-9) 0; }
.section-heading { max-width: 48rem; margin-bottom: var(--space-7); }
.section-kicker, .eyebrow { margin: 0; color: var(--color-text-muted); font-family: var(--font-technical); font-size: var(--font-size-label); font-weight: 700; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h2 { margin-bottom: 1.125rem; font-size: clamp(2.125rem, 4.2vw, 3.5rem); line-height: 1.06; letter-spacing: -.015em; }
h3 { margin-bottom: .625rem; font-size: 1.5rem; line-height: 1.25; }
.section-heading > p:last-child, .technical-heading > p:last-child, .contact-panel > div:first-child > p:last-child { max-width: 45rem; margin-bottom: 0; color: var(--color-text-muted); font-size: 1.0625rem; line-height: 1.7; }
@media (max-width: 620px) { .shell { width: min(calc(100% - 2rem), var(--container)); } .section { padding: var(--space-8) 0; } }
