:root{--hunter-green: #1A3C34;--hunter-green-light: #2A5C4C;--hunter-green-dark: #0F2620;--charcoal: #2D2D2D;--charcoal-light: #4A4A4A;--charcoal-lighter: #6B6B6B;--cream: #F9F8F4;--cream-dark: #EBE9E1;--cream-darker: #DDD9CC;--gold: #C9A962;--gold-light: #D4BC7D;--gold-dark: #A88B3D;--white: #FFFFFF;--black: #000000;--error: #C53030;--error-light: #FED7D7;--warning: #DD6B20;--success: #38A169;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .375vw, 1rem);--text-base: clamp(1rem, .925rem + .375vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .625vw, 1.375rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.625rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2.25rem);--text-3xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--text-4xl: clamp(2.5rem, 1.75rem + 3.75vw, 5rem);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--space-6xl: 10rem;--max-width: 1200px;--max-width-narrow: 800px;--header-height: 72px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--border-radius-xl: 24px;--border-radius-full: 50px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-fixed: 1000;--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .6, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .15s var(--ease-out);--transition-base: .25s var(--ease-out);--transition-slow: .4s var(--ease-out);--transition-theme: .3s var(--ease-in-out)}:root,[data-theme=light]{--color-background: var(--cream);--color-background-alt: var(--cream-dark);--color-surface: var(--white);--color-surface-elevated: var(--white);--color-text-primary: var(--charcoal);--color-text-secondary: var(--charcoal-light);--color-text-muted: var(--charcoal-lighter);--color-text-inverse: var(--cream);--color-accent: var(--hunter-green);--color-accent-light: var(--hunter-green-light);--color-highlight: var(--gold);--color-highlight-light: var(--gold-light);--color-highlight-dark: var(--gold-dark);--color-border: rgba(26, 60, 52, .12);--color-border-strong: rgba(26, 60, 52, .2);--border-thin: .5px solid var(--color-border);--border-subtle: 1px solid var(--color-border);--border-accent: 1px solid var(--gold);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .03);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .1), 0 8px 16px rgba(0, 0, 0, .05);--shadow-glass: 0 8px 32px rgba(26, 60, 52, .1);--glass-background: rgba(255, 255, 255, .75);--glass-background-strong: rgba(255, 255, 255, .9);--glass-blur: blur(16px);--glass-border: .5px solid rgba(255, 255, 255, .5);--hero-gradient: radial-gradient( ellipse at center, rgba(201, 169, 98, .08) 0%, rgba(26, 60, 52, .03) 50%, transparent 70% );--hero-overlay: linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.2) 40%, transparent 70%);--focus-ring: 0 0 0 2px var(--gold);--focus-offset: 2px}[data-theme=dark]{--color-background: #121212;--color-background-alt: #1A1A1A;--color-surface: #1E1E1E;--color-surface-elevated: #262626;--color-text-primary: #F5F5F5;--color-text-secondary: #B3B3B3;--color-text-muted: #808080;--color-text-inverse: var(--charcoal);--color-accent: #4A9A8A;--color-accent-light: #5FBBA8;--color-highlight: var(--gold);--color-highlight-light: var(--gold-light);--color-highlight-dark: var(--gold-dark);--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .15);--border-thin: .5px solid var(--color-border);--border-subtle: 1px solid var(--color-border);--border-accent: 1px solid var(--gold);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .25);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6), 0 8px 16px rgba(0, 0, 0, .3);--shadow-glass: 0 8px 32px rgba(0, 0, 0, .3);--glass-background: rgba(30, 30, 30, .8);--glass-background-strong: rgba(30, 30, 30, .95);--glass-border: .5px solid rgba(255, 255, 255, .08);--hero-gradient: radial-gradient( ellipse at center, rgba(201, 169, 98, .05) 0%, rgba(74, 154, 138, .03) 50%, transparent 70% );--hero-overlay: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.4) 40%, transparent 70%);--focus-ring: 0 0 0 2px var(--gold)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-theme),color var(--transition-theme)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{cursor:pointer;background:none;border:none}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--gold);outline-offset:var(--focus-offset)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background-color:#c9a9624d;color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}.container--narrow{max-width:var(--max-width-narrow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
