:root{--color-cream: #FFF8F0;--color-charcoal: #2D2D2D;--color-gold: #C8894F;--color-gold-light: #D9A76A;--color-gold-dark: #A87040;--color-olive: #4A4A3A;--color-warm-brown: #8B7355;--color-white: #FFFFFF;--color-black: #1A1A1A;--color-bg-primary: var(--color-cream);--color-bg-secondary: var(--color-white);--color-bg-dark: var(--color-charcoal);--color-text-primary: var(--color-charcoal);--color-text-secondary: var(--color-olive);--color-text-muted: var(--color-warm-brown);--color-text-on-dark: var(--color-cream);--color-accent: var(--color-gold);--color-accent-hover: var(--color-gold-dark);--color-success: #4A7C59;--color-error: #C75050;--color-warning: #D4A843;--color-info: #5B8FA8;--font-heading: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--leading-tight: 1.2;--leading-normal: 1.6;--leading-relaxed: 1.8;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--border-color: rgba(45, 45, 45, .1);--shadow-sm: 0 1px 2px rgba(45, 45, 45, .05);--shadow-md: 0 4px 6px rgba(45, 45, 45, .07);--shadow-lg: 0 10px 24px rgba(45, 45, 45, .1);--shadow-xl: 0 20px 40px rgba(45, 45, 45, .12);--shadow-gold: 0 4px 14px rgba(200, 137, 79, .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-header: 300;--z-overlay: 400;--z-modal: 500;--z-lightbox: 600;--z-toast: 700;--container-max: 1200px;--container-narrow: 800px;--header-height: 80px;--header-height-mobile: 64px;--sidebar-width: 260px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;background-color:var(--color-bg-primary)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}a{text-decoration:none;color:inherit}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin:0}h1{font-size:clamp(var(--text-4xl),5vw,var(--text-6xl))}h2{font-size:clamp(var(--text-3xl),4vw,var(--text-4xl))}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin:0 0 var(--space-4);line-height:var(--leading-normal)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.text-uppercase{text-transform:uppercase;letter-spacing:var(--tracking-wider)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) both}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) both}.animate-fade-in-left{animation:fadeInLeft var(--transition-slow) both}.animate-fade-in-right{animation:fadeInRight var(--transition-slow) both}.animate-fade-in{animation:fadeIn var(--transition-slow) both}.animate-scale-in{animation:scaleIn var(--transition-slow) both}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-delay-6{animation-delay:.6s}.animate-delay-7{animation-delay:.7s}.animate-delay-8{animation-delay:.8s}.animate-delay-9{animation-delay:.9s}.animate-delay-10{animation-delay:1s}.animate-delay-11{animation-delay:1.1s}.animate-delay-12{animation-delay:1.2s}.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}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.container-narrow{width:100%;max-width:var(--container-narrow);margin:0 auto;padding:0 var(--space-6)}.section{padding:var(--space-16) 0}@media (min-width: 768px){.section{padding:var(--space-24) 0}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:1fr}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--color-white);font-size:var(--text-base);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #c8894f26}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--color-text-muted);opacity:.7}.form-input.ng-touched.ng-invalid,.form-textarea.ng-touched.ng-invalid,.form-select.ng-touched.ng-invalid{border-color:var(--color-error)}.form-input.ng-touched.ng-invalid:focus,.form-textarea.ng-touched.ng-invalid:focus,.form-select.ng-touched.ng-invalid:focus{box-shadow:0 0 0 3px #c7505026}.form-textarea{min-height:120px;resize:vertical}.form-error{font-size:var(--text-sm);color:var(--color-error)}.form-hint{font-size:var(--text-sm);color:var(--color-text-muted)}
