:root{--color-primary: #1B4332;--color-primary-light: #2D6A4F;--color-primary-dark: #0B2920;--color-primary-mist: rgba(27, 67, 50, .08);--color-accent: #D4A03C;--color-accent-light: #E8C468;--color-accent-glow: rgba(212, 160, 60, .15);--color-terracotta: #C17650;--color-bark: #6B4226;--color-sand: #F5E6D3;--color-bg-primary: #FAFAF7;--color-bg-secondary: #F0EDE6;--color-bg-card: #FFFFFF;--color-bg-mist: #F7F9F7;--color-bg-hero-overlay: linear-gradient( 180deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .5) 100% );--color-text-primary: #1A1A1A;--color-text-secondary: #4A4A42;--color-text-muted: #7A7A6E;--color-text-on-dark: #F5F5F0;--color-text-on-hero: #FFFFFF;--color-border-light: rgba(27, 67, 50, .1);--color-border-medium: rgba(27, 67, 50, .2);--shadow-card: 0 2px 20px rgba(27, 67, 50, .06);--shadow-card-hover: 0 8px 40px rgba(27, 67, 50, .12);--shadow-elevated: 0 16px 60px rgba(27, 67, 50, .14);--font-display: "DM Serif Display", "Georgia", serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif;--font-accent: "Cormorant Garamond", "Georgia", serif;--text-xs: .875rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.1875rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-hero: 3.5rem;--space-section: 100px;--space-block: 48px;--space-card-padding: 28px;--space-card-gap: 32px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--ease-smooth: cubic-bezier(.25, .46, .45, .94);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .2s cubic-bezier(.25, .46, .45, .94);--transition-medium: .4s cubic-bezier(.25, .46, .45, .94);--transition-slow: .6s cubic-bezier(.25, .46, .45, .94)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer}ul,ol{list-style:none}.skip-nav{position:absolute;top:-100px;left:20px;padding:12px 20px;background:var(--color-primary);color:var(--color-text-on-hero);font-weight:600;border-radius:var(--radius-sm);z-index:9999;transition:top .2s}.skip-nav:focus{top:20px}.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}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.container{max-width:1200px;margin:0 auto;padding:0 60px}@media(max-width:1023px){.container{padding:0 40px}}@media(max-width:767px){.container{padding:0 24px}}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.img-zoom-container{overflow:hidden;border-radius:var(--radius-lg)}.img-zoom-container img{transition:transform .6s var(--ease-smooth)}.img-zoom-container:hover img{transform:scale(1.06)}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-smooth),transform .6s var(--ease-smooth)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:no-preference){@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce-down{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-12px) translate(-50%)}60%{transform:translateY(-6px) translate(-50%)}}@keyframes pulse-glow{0%,to{box-shadow:0 4px 20px #d4a03c4d}50%{box-shadow:0 4px 40px #d4a03c80}}@keyframes hero-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes spin-in{0%{transform:rotate(0) scale(.8);opacity:0}to{transform:rotate(360deg) scale(1);opacity:1}}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.page-enter{animation:fadeInUp .5s var(--ease-smooth) forwards}}.grain-overlay{position:relative}.grain-overlay:after{content:"";position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");pointer-events:none;z-index:1}
