html {box-sizing: border-box; font-size: 16px; -webkit-text-size-adjust: 100%;}
*, *::before, *::after {box-sizing: inherit;}
body {min-height: 100vh; margin: 0; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; color: #334155; background-color: #ffffff; line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
img, picture, svg {max-width: 100%; height: auto; display: block; object-fit: cover;}
a {color: inherit; text-decoration: none;}
button, input, textarea, select {font: inherit; color: inherit;}
input::placeholder, textarea::placeholder {color: #94a3b8;}
:focus {outline: none;}
:focus-visible {outline: 3px solid rgba(255,180,0,0.18); outline-offset: 3px; border-radius: 0.5rem;}
button:focus-visible, a:focus-visible {box-shadow: 0 6px 18px rgba(0,0,0,0.06), 0 0 0 4px rgba(255,180,0,0.14);}
input, textarea, select {min-height: 44px; font-size: 16px;}
button {cursor: pointer;}
button[disabled], .disabled, input[disabled], textarea[disabled] {opacity: 0.6; cursor: not-allowed; pointer-events: none;}
#mobileMenu {transition: opacity 280ms ease, transform 320ms cubic-bezier(0.16,1,0.3,1); opacity: 0; transform: translateY(2%);}
#mobileMenu.open {opacity: 1; transform: translateY(0);}
.lock-scroll, body.lock-scroll {overflow: hidden; height: 100%;}
.iconify {display: inline-flex; vertical-align: middle; line-height: 1;}
.container {max-width: 100%;}
.grid-image {width: 100%; height: 100%; object-fit: cover; display: block;}
.card-focus {transition: transform 200ms ease, box-shadow 200ms ease;}
.card-focus:focus-visible, .card-focus:hover {transform: translateY(-6px); box-shadow: 0 10px 30px rgba(17,24,39,0.08);}
.btn-ghost {background: transparent; border: 1px solid rgba(203,213,225,0.6);}
.cookie-action {transition: transform 160ms ease, opacity 160ms ease;}
.cookie-action:focus-visible {box-shadow: 0 6px 18px rgba(0,0,0,0.06), 0 0 0 4px rgba(255,180,0,0.12);}
footer a:focus-visible {box-shadow: 0 6px 18px rgba(0,0,0,0.04), 0 0 0 3px rgba(255,180,0,0.08);}
.sr-only {position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;}
.card-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.25rem;}
.hero-media {width: 100%; height: 100%; max-height: 520px; object-fit: cover;}
form .error {color: #b45309; font-size: 0.95rem;}
#formStatus {min-height: 1.2em;}
@media (prefers-reduced-motion: reduce) {* {animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important;}}
@media (max-width: 1024px) {.hero-media {max-height: 420px;}}
@media (max-width: 640px) {:focus-visible {outline-offset: 2px;} .card-focus:hover {transform: none;} .card-focus:focus-visible {transform: none;}}
:root {--brand-gold-50: #fff9ef; --brand-gold-500: #ffb400; --brand-gold-700: #b77700; --text-default: #334155;}
