:root{--emerald: #294b34;--white: #ffffff;--black: #000000;--ivory: #f7f4ee;--ivory-deep: #efeae0;--ink: #1a1d1a;--brass: #a98d55;--brass-light: #d6c6a2;--brass-dark: #8a7140;--emerald-50: #f2f5f1;--emerald-100: #e4ebe3;--emerald-200: #c9d7c9;--emerald-300: #a6bda8;--emerald-400: #7fa083;--emerald-500: #5c8263;--emerald-600: #44694d;--emerald-700: #35583f;--emerald-800: #294b34;--emerald-900: #1e3826;--emerald-950: #13261a;--surface-page: var(--ivory);--surface-band: var(--emerald);--surface-card: #ffffff;--surface-tint: var(--emerald-50);--surface-panel: var(--ivory-deep);--text-primary: var(--ink);--text-heading: var(--emerald);--text-on-emerald: #ffffff;--text-muted: var(--emerald-600);--border-strong: var(--emerald);--border-subtle: var(--emerald-200);--border-accent: var(--brass);--text-accent: var(--brass-dark);--focus-ring: var(--emerald-500);--font-display: "Afacad", -apple-system, "Segoe UI", sans-serif;--font-body: "Roboto Slab", "Yorkten Slab", Georgia, serif;--page-margin: clamp(20px, 5vw, 95px);--ease-luxe: cubic-bezier(.22, .61, .36, 1);--dur-quick: .2s;--dur-luxe: .35s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}body{margin:0;background:var(--ivory);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--emerald)}a:hover{color:var(--emerald-900)}::selection{background:#294b34;color:#f7f4ee}img,video{max-width:100%;height:auto}:where(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}input,textarea,button{border-radius:0;font:inherit}.hv-link-brass{transition:color var(--dur-luxe) var(--ease-luxe)}.hv-link-brass:hover{color:var(--emerald-900)}.hv-on-dark{transition:color var(--dur-luxe) var(--ease-luxe)}.hv-on-dark:hover{color:var(--emerald-100)}.hv-on-dark-200{transition:color var(--dur-luxe) var(--ease-luxe)}.hv-on-dark-200:hover{color:var(--emerald-200)}.hv-tint{transition:background var(--dur-luxe) var(--ease-luxe)}.hv-tint:hover{background:var(--emerald-50)}.hv-zoom img{transition:transform 1.2s var(--ease-luxe)}.hv-zoom:hover img{transform:scale(1.035)}.btn-light{transition:background var(--dur-luxe) var(--ease-luxe),color var(--dur-luxe) var(--ease-luxe)}.btn-light:hover{background:var(--emerald-100);color:var(--emerald-950)}.btn-outline{transition:background var(--dur-luxe) var(--ease-luxe)}.btn-outline:hover{background:#ffffff1a;color:#fff}.field{display:flex;flex-direction:column;gap:8px}.field>span{font-family:var(--font-display);font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--emerald)}.field input,.field textarea{border:1px solid var(--border-subtle);background:#fff;padding:12px 14px;font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.6;color:var(--ink);min-height:44px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--emerald);outline:none}.btn-primary{align-self:flex-start;border:none;background:var(--emerald);color:#fff;font-family:var(--font-display);font-weight:700;font-size:clamp(13px,1.1vw,15px);letter-spacing:.25em;text-transform:uppercase;padding:16px 34px;min-height:52px;cursor:pointer;transition:background var(--dur-luxe) var(--ease-luxe)}.btn-primary:hover:not(:disabled){background:var(--emerald-900)}.btn-primary:disabled{opacity:.6;cursor:progress}.form-error{display:none;margin:0;font-family:var(--font-body);font-weight:300;font-size:15px;line-height:1.6;color:#7b3b32}.form-error.is-visible{display:block}.botcheck{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.nav-desktop{display:flex}.nav-toggle{display:none}@media(max-width:879px){.nav-desktop{display:none}.nav-toggle{display:flex}}header a[data-active=true]{border-bottom-color:var(--brass)!important}.menu-overlay{display:none}.menu-overlay[data-open=true]{display:flex}@keyframes eh-scroll{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
