:root{--color-forest: #2c4a1e;--color-gold: #c8952a;--color-grove: #6b8f5e;--color-canopy: #f0f4ec;--color-parchment: #fafaf7;--color-sandstone: #f5edd6;--color-charcoal: #1a1a1a;--color-stone: #6b7280;--color-primary: var(--color-forest);--color-accent: var(--color-gold);--color-secondary: var(--color-grove);--color-background: var(--color-canopy);--color-surface: var(--color-parchment);--color-text: var(--color-charcoal);--color-text-muted: var(--color-stone);--font-primary: Georgia, serif;--font-secondary: Arial, sans-serif;--font-size-display: 4.5rem;--font-size-h1: 2.125rem;--font-size-h2: 1.375rem;--font-size-tagline: .9375rem;--font-size-base: 1rem;--font-size-small: .875rem;--font-size-xs: .75rem;--font-weight-normal: 400;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}body{overflow-x:hidden;font-family:var(--font-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-parchment)}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-primary);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:1.125rem}h4{font-size:1rem}h5,h6{font-size:var(--font-size-small)}p{margin-bottom:var(--spacing-md)}p:last-child{margin-bottom:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-family:var(--font-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:var(--color-charcoal)}.btn-primary:hover:not(:disabled){background-color:var(--color-forest);color:var(--color-parchment);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-forest);color:var(--color-parchment)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary);box-shadow:var(--shadow-md)}.btn-outline{border:2px solid var(--color-accent);background-color:transparent;color:var(--color-accent)}.btn-outline:hover:not(:disabled){background-color:var(--color-canopy);border-color:var(--color-forest);color:var(--color-forest)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-small)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem}input,textarea,select{font-family:var(--font-secondary);font-size:var(--font-size-base);color:var(--color-text)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-stone);border-radius:var(--radius-md);background-color:var(--color-parchment);transition:all var(--transition-normal)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #c8952a1a}textarea{resize:vertical;min-height:6rem}label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.form-group{margin-bottom:var(--spacing-lg)}.form-group:last-child{margin-bottom:0}.card{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-canopy)}.card-title{margin:0;font-size:var(--font-size-h2);color:var(--color-primary)}.card-body{margin-bottom:var(--spacing-md)}.card-body:last-child{margin-bottom:0}.card-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-canopy);font-size:var(--font-size-small);color:var(--color-text-muted)}.section{padding:var(--spacing-xxl) var(--spacing-lg)}.section-hero{background-color:var(--color-forest);color:var(--color-parchment);padding:var(--spacing-xxl) var(--spacing-lg);text-align:center}.section-hero h1,.section-hero h2{color:var(--color-gold)}.section-light{background-color:var(--color-canopy)}.section-warm{background-color:var(--color-sandstone)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.container-sm{max-width:600px}.container-md{max-width:800px}.container-lg{max-width:1200px}.text-center{text-align:center}.text-muted{color:var(--color-text-muted);font-size:var(--font-size-small)}.text-accent{color:var(--color-accent)}.text-bold{font-weight:var(--font-weight-bold)}.text-italic{font-style:italic}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:768px){:root{--font-size-display: 3rem;--font-size-h1: 1.75rem;--font-size-h2: 1.25rem}.section{padding:var(--spacing-lg) var(--spacing-md)}.container{padding:0 var(--spacing-md)}}@media(max-width:480px){:root{--font-size-h1: 1.5rem;--font-size-h2: 1.125rem;--spacing-xxl: 1.5rem;--spacing-xl: 1rem}.btn{width:100%}input,textarea,select{font-size:16px}}
