*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:'Open Sans','Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;color:var(--color-text);background-color:var(--color-background)}:root{--color-primary:#2D5016;--color-primary-light:#3A6B35;--color-primary-dark:#1F3810;--color-secondary:#4A5F7F;--color-secondary-light:#5B7C99;--color-secondary-dark:#3A4D66;--color-accent:#8B6F47;--color-accent-light:#A0826D;--color-accent-dark:#6B5436;--color-neutral:#6B7280;--color-neutral-light:#9CA3AF;--color-neutral-lighter:#D1D5DB;--color-background:#F9FAFB;--color-background-alt:#F3F4F6;--color-white:#FFFFFF;--color-text:#1F2937;--color-text-light:#4B5563;--color-text-lighter:#6B7280;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-heading:'Inter','Montserrat',sans-serif;--font-body:'Open Sans','Lato',sans-serif;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 2px 8px rgba(0,0,0,0.1);--shadow-lg:0 8px 24px rgba(0,0,0,0.15);--shadow-xl:0 12px 32px rgba(0,0,0,0.2);--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.5s ease;--container-max-width:1200px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--color-text);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-sm);color:var(--color-text-light)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-light)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg)}.section{padding:var(--spacing-3xl) 0}.section-title{text-align:center;margin-bottom:var(--spacing-2xl)}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.button-primary,.button-secondary{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:all var(--transition-base);border:none;font-size:var(--font-size-base);text-decoration:none}.button-primary{background-color:var(--color-primary);color:var(--color-white)}.button-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg);color:var(--color-white)}.button-secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.button-secondary:hover{background-color:var(--color-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card{background:var(--color-white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.link-arrow{color:var(--color-primary);font-weight:var(--font-weight-semibold);transition:all var(--transition-base)}.link-arrow:hover{color:var(--color-primary-light);transform:translateX(4px)}.hero{padding:var(--spacing-3xl) 0;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:var(--color-white);text-align:center}.hero-title{color:var(--color-white);margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:var(--font-size-xl);margin-bottom:var(--spacing-xl);color:var(--color-white);opacity:0.95}.hero-cta{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.services-grid{padding:var(--spacing-3xl) 0;background-color:var(--color-background)}.service-card{text-align:center}.service-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-light);border-radius:var(--radius-lg)}.service-icon img{width:40px;height:40px}.site-footer{background-color:var(--color-text);color:var(--color-white);padding:var(--spacing-2xl) 0 var(--spacing-lg)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer-section h4{color:var(--color-white);margin-bottom:var(--spacing-sm)}.footer-section p,.footer-section a{color:var(--color-neutral-light)}.footer-section ul{list-style:none}.footer-section li{margin-bottom:var(--spacing-xs)}.footer-bottom{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-neutral);color:var(--color-neutral-light)}img.lazy-loading{opacity:0;transition:opacity 0.3s ease;background-color:var(--color-neutral-lighter)}img.lazy-loaded{opacity:1}.webp-image{position:relative}.webp-image img{width:100%;height:auto}.image-placeholder{background-color:var(--color-neutral-lighter);background-image:linear-gradient(45deg,transparent 25%,rgba(255,255,255,0.2) 25%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent),linear-gradient(45deg,transparent 25%,rgba(255,255,255,0.2) 25%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent);background-size:20px 20px;background-position:0 0,10px 10px;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:0 0,10px 10px}100%{background-position:20px 20px,30px 30px}}.img-responsive{max-width:100%;height:auto}.img-cover{object-fit:cover}.img-contain{object-fit:contain}