/* Shared page chrome. Hero-specific rules live in hero.css. */
.nav-fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 20; padding-inline: var(--page-gutter, 8vw); }
.nav-actions { display: flex; gap: var(--space-3); align-items: center; }
.menu-rule { margin: var(--space-7) 0 0; }

.site-footer { padding: var(--space-9) var(--page-gutter, 8vw) var(--space-7); }
.site-footer-inner { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: center; justify-content: space-between; padding-top: var(--space-6); }
.site-footer-nav { display: flex; flex-wrap: wrap; gap: var(--space-5); }
.site-footer-nav a { color: var(--text-secondary); font-size: var(--text-small); }
.site-footer-nav a:hover { color: var(--gold); }

:root { --page-gutter: 8vw; }
html, body { margin: 0; background: var(--void); }

.page { max-width: var(--content-max); margin: 0 auto; padding: calc(66px + var(--space-9)) var(--page-gutter) var(--space-9); }
.page-head { margin-bottom: var(--space-9); max-width: var(--content-narrow); }
.page-kicker { font-family: var(--font-mono); font-size: var(--text-kicker); letter-spacing: var(--tracking-kicker); text-transform: uppercase; color: var(--text-emerald); margin: 0 0 var(--space-4); }
.page-title { font-size: var(--text-display); line-height: var(--leading-display); margin: 0 0 var(--space-5); }
.page-intro { font-size: var(--text-body-lg); color: var(--text-secondary); margin: 0; }
.card-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.stack { display: flex; flex-direction: column; gap: var(--space-5); }

.contact-form { display: flex; flex-direction: column; gap: var(--space-5); max-width: var(--content-narrow); }
.contact-details { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-8); font-style: normal; color: var(--text-secondary); }
.form-disabled-notice { height: auto; padding: var(--space-3) var(--space-4); margin-bottom: var(--space-6); display: inline-flex; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.honeypot { display: none; }
