.container { width: min(100% - 2rem, var(--content-width)); margin-inline: auto; }
.flow > * { margin-block: 0; }
.flow > * + * { margin-top: var(--space-4); }
.section { padding-block: clamp(var(--space-5), 7vw, 6rem); }
.section-muted { background: var(--color-surface); }
.skip-link {
  position: fixed;
  z-index: 100;
  top: 0;
  left: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border: 0.0625rem solid var(--color-border);
  border-radius: var(--radius);
  color: var(--color-text);
  background: var(--color-background);
  box-shadow: var(--shadow);
  transform: translateY(calc(-100% - var(--space-4)));
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(var(--space-3));
}
.button, button[type="submit"] { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0.65rem 1rem; border: 0.125rem solid var(--color-accent); border-radius: var(--radius); color: var(--color-accent-contrast); background: var(--color-accent); font-weight: 700; text-decoration: none; }
.contact-form { max-width: 40rem; }
.form-field + .form-field { margin-top: var(--space-4); }
.form-field label { display: block; margin-bottom: var(--space-1); font-weight: 700; }
.form-field label span { color: var(--color-muted); font-weight: 400; }
input, textarea { width: 100%; min-height: 2.75rem; padding: var(--space-2); border: 0.125rem solid var(--color-border); border-radius: var(--radius); background: var(--color-background); }
textarea { resize: vertical; }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--color-error); }
.field-error { min-height: 1.5em; margin: var(--space-1) 0 0; color: var(--color-error); }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.notice { padding: var(--space-3); border-inline-start: 0.25rem solid; background: var(--color-background); }
.notice-error { border-color: var(--color-error); }
.notice-success { border-color: var(--color-success); }
.eyebrow { color: var(--color-muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.lede { font-size: clamp(1.125rem, 2vw, 1.35rem); }
