:root { --header-surface: oklch(0.128 0 0 / 94%); }
html { scroll-padding-top: 5rem; }
body { margin: 0; line-height: 1.5; }
h1, h2, h3 { letter-spacing: 0; }
p, ul, ol, dl { margin-bottom: 0; }
ul, ol { padding-left: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 50; padding: 0; background: var(--header-surface); color: var(--foreground); border-bottom: 1px solid var(--border); backdrop-filter: blur(12px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; gap: 1rem; }
.primary-nav { flex-grow: 0; gap: 1.75rem; }
.primary-nav .nav-link { padding: 0; color: var(--muted-foreground); font-size: .875rem; font-weight: 500; }
.primary-nav .nav-link:hover { color: var(--gold); }
.btn-gold { --bs-btn-color: var(--primary-foreground); --bs-btn-bg: var(--gold); --bs-btn-border-color: var(--gold); --bs-btn-hover-color: var(--primary-foreground); --bs-btn-hover-bg: var(--gold); --bs-btn-hover-border-color: var(--gold); background: var(--gold); color: var(--primary-foreground); border-radius: .25rem; font-weight: 700; }
.call-link { display: inline-flex; align-items: center; gap: .5rem; padding: .625rem 1rem; font-size: .875rem; }
.menu-toggle { padding: .5rem; color: var(--foreground); border: 0; border-radius: .25rem; }
.menu-toggle:focus { box-shadow: 0 0 0 2px var(--gold); }
.form-control { color: var(--foreground); background: var(--deep); border-color: var(--input); }
.form-control:focus { color: var(--foreground); background: var(--deep); border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold); }
.field-error { margin-top: .375rem; font-size: .875rem; color: var(--destructive); }
#enquiry-status { margin-top: 1rem; font-size: .875rem; color: var(--muted-foreground); }
[hidden] { display: none !important; }
@media (max-width: 991px) {
  .header-inner { flex-wrap: wrap; }
  .primary-nav { flex-basis: 100%; padding-bottom: 1rem; }
  .primary-nav .nav-link { display: block; padding: .75rem 0; border-bottom: 1px solid var(--border); font-size: 1rem; }
  .primary-nav .call-link { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}