:root{--color-primary: #15803D;--color-on-primary: #FFFFFF;--color-secondary: #22C55E;--color-accent: #0369A1;--color-background: #F0FDF4;--color-foreground: #14532D;--color-muted: #E8F0F1;--color-border: #BBF7D0;--color-destructive: #DC2626;--color-ring: #15803D;--font-family: "Inter", system-ui, -apple-system, sans-serif;--container-max: 1200px;--section-padding: 80px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--color-foreground);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;cursor:pointer}ul{list-style:none}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 24px}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--color-primary);padding:16px 0}.header-inner{display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.25rem;font-weight:700;color:var(--color-on-primary);cursor:pointer;transition:opacity var(--transition-fast)}.logo:hover{opacity:.9}.nav-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:8px}.hamburger{display:block;width:24px;height:2px;background-color:var(--color-on-primary);position:relative;transition:background-color var(--transition-fast)}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;width:100%;height:2px;background-color:var(--color-on-primary);transition:transform var(--transition-base)}.hamburger:before{top:-7px}.hamburger:after{bottom:-7px}.nav-toggle[aria-expanded=true] .hamburger{background-color:transparent}.nav-toggle[aria-expanded=true] .hamburger:before{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger:after{transform:translateY(-7px) rotate(-45deg)}.nav-list{display:flex;gap:32px}.nav-link{color:var(--color-on-primary);font-size:.9375rem;font-weight:500;padding:4px 0;position:relative;transition:opacity var(--transition-fast)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-secondary);transition:width var(--transition-base)}.nav-link:hover:after,.nav-link:focus:after{width:100%}.nav-link:hover,.nav-link:focus{opacity:.9}.nav-link:focus-visible{outline:2px solid var(--color-ring);outline-offset:4px}.hero{position:relative;min-height:100vh;display:flex;align-items:center;background-color:var(--color-primary);background-image:linear-gradient(135deg,#0f3c23b3,#0a2816d9),url(/hero.webp);background-size:cover;background-position:center;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0f172a8c,#0f172acc)}.hero-inner{position:relative;z-index:1;padding-top:100px;padding-bottom:60px}.hero-content{max-width:680px}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;color:var(--color-on-primary);margin-bottom:24px;letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:#ffffffe6;margin-bottom:32px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-family:var(--font-family);font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn:focus-visible{outline:3px solid var(--color-ring);outline-offset:3px}.btn-primary{background-color:var(--color-secondary);color:var(--color-foreground)}.btn-primary:hover{background-color:#16a34a}.btn-secondary{background-color:var(--color-accent);color:var(--color-on-primary)}.btn-secondary:hover{background-color:#0284c7}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-on-primary)}.btn-map{margin-top:16px;background-color:var(--color-primary);color:var(--color-on-primary)}.btn-map:hover{background-color:#14532d}.section{padding:var(--section-padding) 0}.section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--color-primary);margin-bottom:40px;letter-spacing:-.01em}.section-copy{font-size:1.0625rem;line-height:1.8;color:var(--color-foreground);max-width:800px}.about{background-color:var(--color-background)}.services{background-color:#fff;position:relative}.services:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background-color:var(--color-primary)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.service-card{background-color:var(--color-background);border:2px solid var(--color-border);border-radius:12px;padding:32px;transition:border-color var(--transition-base),transform var(--transition-base)}.service-card:hover{border-color:var(--color-primary);transform:translateY(-4px)}.service-title{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin-bottom:12px}.service-description{font-size:.9375rem;line-height:1.7;color:var(--color-foreground)}.testimonials{background-color:var(--color-background)}.testimonials-wrapper{max-width:600px;text-align:center}.testimonial-rating{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.rating-star{color:#f59e0b;font-size:1.5rem}.rating-count{font-size:1.125rem;font-weight:600;color:var(--color-foreground);margin-left:12px}.testimonial-copy{font-size:1.0625rem;line-height:1.7;color:var(--color-foreground);margin-bottom:32px}.visit{background-color:#fff}.visit-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.visit-info{display:flex;flex-direction:column;gap:24px}.visit-address{font-style:normal;font-size:1.125rem;line-height:1.8;color:var(--color-foreground)}.visit-contact p{font-size:1rem;line-height:1.7;color:var(--color-foreground);margin-bottom:16px}.phone-link{color:var(--color-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.phone-link:hover{color:var(--color-primary)}.visit-map{display:flex;flex-direction:column}.visit-map iframe{width:100%;height:300px;border-radius:12px;border:none}.footer{background-color:var(--color-foreground);color:var(--color-on-primary);padding:40px 0}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:24px}.footer-content{text-align:center}.footer-content p{font-size:.875rem;opacity:.9;margin-bottom:16px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}.footer-links a{font-size:.875rem;opacity:.8;transition:opacity var(--transition-fast)}.footer-links a:hover{opacity:1}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none;transition:none}}@media(max-width:1024px){:root{--section-padding: 64px}.visit-inner{grid-template-columns:1fr;gap:32px}.visit-map{order:-1}}@media(max-width:768px){:root{--section-padding: 48px}.nav-toggle{display:block}.nav{position:fixed;top:60px;left:0;right:0;background-color:var(--color-primary);padding:24px;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform var(--transition-base),opacity var(--transition-base)}.nav.open{transform:translateY(0);opacity:1;visibility:visible}.nav-list{flex-direction:column;gap:16px}.nav-link{display:block;padding:8px 0;font-size:1rem}.hero-actions{flex-direction:column}.btn{width:100%;justify-content:center}.services-grid{grid-template-columns:1fr}.testimonial-rating{flex-wrap:wrap}}@media(max-width:375px){:root{--section-padding: 40px}.container{padding:0 16px}.hero-title{font-size:1.75rem}.section-title{font-size:1.5rem}.service-card{padding:24px}}@media(prefers-contrast:high){.btn-primary{border:2px solid var(--color-foreground)}.btn-outline,.service-card{border-width:3px}}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-on-primary);padding:8px 16px;z-index:1001;transition:top var(--transition-fast)}.skip-link:focus{top:0}
