:root{--color-primary: #a2c046;--color-primary-dark: #9ab83f;--color-primary-light: #b9d176;--color-accent: #f7a51b;--color-text: #464646;--color-text-strong: #3a3a3a;--color-text-muted: #757575;--color-bg: #ffffff;--color-bg-alt: #f5f5f5;--color-bg-dark: #333333;--color-bg-darker: #2a2a2a;--color-border: #e6e6e6;--font-heading: "Roboto Slab", Georgia, serif;--font-body: "Roboto", "Noto Sans", system-ui, sans-serif;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.375rem;--fs-xl: 1.75rem;--fs-2xl: 2.25rem;--fs-3xl: 3rem;--fs-hero: 3.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--container-max: 1200px;--container-padding: 1.25rem;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .15);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.7;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}a{color:var(--color-primary-dark);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary)}button{cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.25;color:var(--color-text-strong)}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.section{padding:var(--space-24) 0}.section--alt{background:var(--color-bg-alt)}.section--dark{background:var(--color-bg-dark);color:#fff}.section--dark h1,.section--dark h2,.section--dark h3{color:#fff}.section-header{text-align:center;max-width:720px;margin:0 auto var(--space-16)}.section-header__eyebrow{display:inline-block;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);font-weight:700;margin-bottom:var(--space-3);font-family:var(--font-heading)}.section-header__title{margin-bottom:var(--space-4)}.section-header__lead{color:var(--color-text-muted);font-size:var(--fs-md)}.grid{display:grid;gap:var(--space-8)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--gallery{grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.875rem 2rem;font-family:var(--font-heading);font-weight:700;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);transition:all var(--transition);cursor:pointer;border:2px solid transparent;line-height:1}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--outline{background:transparent;color:#fff;border-color:#fff}.btn--outline:hover{background:#fff;color:var(--color-primary-dark)}.btn--ghost{background:transparent;color:var(--color-primary-dark);border-color:var(--color-primary)}.btn--ghost:hover{background:var(--color-primary);color:#fff}.topbar{background:var(--color-bg-darker);color:#d8d8d0;font-size:var(--fs-xs);padding:var(--space-2) 0}.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap}.topbar__contact{display:flex;gap:var(--space-6);flex-wrap:wrap}.topbar__contact a{color:#d8d8d0}.topbar__contact a:hover{color:var(--color-primary)}.site-header{background:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.site-header__inner{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;gap:var(--space-6)}.site-header__logo img{max-height:60px;width:auto}.site-nav ul{display:flex;list-style:none;padding:0;margin:0;gap:var(--space-6);align-items:center}.site-nav a:not(.btn){color:var(--color-text-strong);font-family:var(--font-heading);font-weight:700;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-2) 0;position:relative}.site-nav a:not(.btn):hover,.site-nav a:not(.btn)[aria-current=page]{color:var(--color-primary)}.site-nav a:not(.btn)[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--color-primary)}.site-nav__cta{margin-left:var(--space-4)}.site-nav a.btn--primary,.site-nav a.btn--primary:hover{color:#fff}.nav-toggle{display:none;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:0;position:relative}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{display:block;width:24px;height:2px;background:var(--color-text);position:absolute;left:50%;margin-left:-12px;transition:var(--transition)}.nav-toggle span{top:50%;margin-top:-1px}.nav-toggle span:before{content:"";top:-8px}.nav-toggle span:after{content:"";top:8px}.nav-toggle[aria-expanded=true] span{background:transparent}.nav-toggle[aria-expanded=true] span:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] span:after{top:0;transform:rotate(-45deg)}.hero{position:relative;min-height:600px;display:flex;align-items:center;color:#fff;text-align:center;overflow:hidden}.hero__slides{position:absolute;inset:0;z-index:1}.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease}.hero__slide.is-active{opacity:1}.hero__slide:after{content:"";position:absolute;inset:0;background:linear-gradient(#3333338c,#333333a6)}.hero__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.hero__nav:hover{background:var(--color-primary);border-color:var(--color-primary)}.hero__nav:focus-visible{outline:2px solid #fff;outline-offset:3px}.hero__nav--prev{left:var(--space-6)}.hero__nav--next{right:var(--space-6)}.hero__dots{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);z-index:3;display:flex;gap:var(--space-2)}.hero__dot{width:12px;height:12px;border-radius:50%;background:#fff6;border:none;cursor:pointer;padding:0;transition:all var(--transition)}.hero__dot:hover{background:#ffffffb3}.hero__dot.is-active{background:var(--color-primary);transform:scale(1.25)}.hero__dot:focus-visible{outline:2px solid #fff;outline-offset:3px}.hero__contents{position:relative;z-index:2;width:100%;max-width:800px;margin:0 auto;min-height:360px;display:flex;align-items:center;justify-content:center}.hero__content{position:absolute;inset:0;padding:var(--space-12) var(--container-padding);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;opacity:0;transition:opacity .7s ease;pointer-events:none}.hero__content.is-active{opacity:1;pointer-events:auto}.hero__eyebrow{display:inline-block;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.2em;color:var(--color-primary);margin-bottom:var(--space-4);font-weight:700;font-family:var(--font-heading)}.hero__title{font-size:var(--fs-hero);color:#fff;margin-bottom:var(--space-4);line-height:1.1}.hero__lead{font-size:var(--fs-md);margin-bottom:var(--space-8);opacity:.95}.hero__actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.service-card{background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column;border:1px solid var(--color-border)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.service-card__media{aspect-ratio:4 / 3;background:var(--color-bg-alt);overflow:hidden;display:block}.service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.service-card:hover .service-card__media img{transform:scale(1.05)}.service-card__body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.service-card__title{font-size:var(--fs-lg)}.service-card__desc{color:var(--color-text-muted);font-size:var(--fs-sm);flex:1}.service-card__link{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-top:var(--space-2)}.service-card__link:after{content:" →";transition:var(--transition)}.service-card:hover .service-card__link:after{margin-left:4px}.about{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.about__media img{border-radius:var(--radius-md);box-shadow:var(--shadow-md);width:100%;aspect-ratio:4 / 3;object-fit:cover}.about__title{margin-bottom:var(--space-4)}.about__lead{color:var(--color-text-muted);margin-bottom:var(--space-6);font-size:var(--fs-md)}.about__features{list-style:none;padding:0;margin:0 0 var(--space-8);display:grid;gap:var(--space-3)}.about__features li{padding-left:var(--space-8);position:relative}.about__features li:before{content:"✓";position:absolute;left:0;top:0;width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.feature-card{text-align:center;padding:var(--space-8) var(--space-6);border-radius:var(--radius-md);background:transparent;transition:background var(--transition),transform var(--transition);cursor:default}.feature-card:hover{background:#f7f7f4;transform:translateY(-4px)}.feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto var(--space-6);color:#6b7563;background:transparent;border-radius:0;transition:color var(--transition),transform var(--transition)}.feature-card__icon svg{width:100%;height:100%;stroke:currentColor}.feature-card:hover .feature-card__icon{color:var(--color-primary);transform:scale(1.08)}.feature-card__title{margin-bottom:var(--space-3);font-size:var(--fs-lg);transition:color var(--transition)}.feature-card:hover .feature-card__title{color:var(--color-primary-dark)}.feature-card__desc{color:var(--color-text-muted);font-size:var(--fs-sm)}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:1 / 1;background:var(--color-bg-alt);margin:0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.08)}.gallery-item__overlay{position:absolute;inset:0;background:linear-gradient(transparent 50%,#333333d9);display:flex;align-items:flex-end;padding:var(--space-4);opacity:0;transition:opacity var(--transition);color:#fff;font-weight:600}.gallery-item:hover .gallery-item__overlay{opacity:1}.cta-banner{background:var(--color-primary);color:#fff;padding:var(--space-12) 0}.cta-banner__inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap}.cta-banner__text{text-align:left;flex:1;min-width:280px}.cta-banner__title{color:#fff;font-size:var(--fs-xl);margin-bottom:var(--space-2)}.cta-banner__lead{opacity:.95}.site-footer{background:var(--color-bg-dark);color:#b8b8b8;padding:var(--space-16) 0 0;font-size:var(--fs-sm)}.site-footer__cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-12)}.site-footer h4{color:#fff;font-size:var(--fs-md);margin-bottom:var(--space-4);position:relative;padding-bottom:var(--space-3)}.site-footer h4:after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--color-primary)}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.site-footer a{color:#b8b8b8}.site-footer a:hover{color:var(--color-primary)}.site-footer__logo{max-height:60px;width:auto;margin-bottom:var(--space-4);background:#fff;padding:var(--space-2);border-radius:var(--radius-sm)}.site-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-6) 0;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;font-size:var(--fs-xs);color:#888}.page-hero{background:var(--color-bg-dark);color:#fff;padding:var(--space-16) 0;position:relative;overflow:hidden}.page-hero__inner{position:relative;z-index:1;text-align:center;max-width:720px;margin:0 auto}.page-hero h1{color:#fff;margin-bottom:var(--space-3)}.page-hero__lead{font-size:var(--fs-md);opacity:.9}.breadcrumbs{font-size:var(--fs-xs);color:#b8b8b8;margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.1em}.breadcrumbs a{color:var(--color-primary)}.prose{max-width:820px;margin:0 auto}.prose h2{margin:var(--space-12) 0 var(--space-4);font-size:var(--fs-2xl)}.prose h3{margin:var(--space-8) 0 var(--space-3);font-size:var(--fs-xl)}.prose p{margin-bottom:var(--space-4);font-size:var(--fs-md);line-height:1.8}.prose ul,.prose ol{margin:0 0 var(--space-4) var(--space-6)}.prose li{margin-bottom:var(--space-2);font-size:var(--fs-md);line-height:1.7}.prose img{border-radius:var(--radius-md);margin:var(--space-6) 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.contact-info{display:grid;gap:var(--space-4)}.contact-info__item{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-3);border-radius:var(--radius-md);transition:background var(--transition)}.contact-info__item:hover{background:#f7f7f4}.contact-info__icon{width:48px;height:48px;background:transparent;color:#6b7563;border-radius:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color var(--transition),transform var(--transition)}.contact-info__icon svg{stroke:currentColor}.contact-info__item:hover .contact-info__icon{color:var(--color-primary);transform:scale(1.08)}.contact-info__label{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;font-size:var(--fs-xs);letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.contact-info__value{font-size:var(--fs-md);color:var(--color-text)}.contact-info__value a{color:var(--color-primary-dark);font-weight:600}@media(max-width:1024px){:root{--fs-hero: 2.75rem;--fs-3xl: 2.25rem;--fs-2xl: 1.875rem}.grid--4{grid-template-columns:repeat(2,1fr)}.site-footer__cols{grid-template-columns:1fr 1fr}}@media(max-width:768px){:root{--fs-hero: 2.25rem;--fs-3xl: 1.875rem;--fs-2xl: 1.5rem;--fs-xl: 1.25rem;--space-24: 4rem;--space-16: 3rem}.topbar{display:none}.nav-toggle{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:var(--shadow-md);transform:translateY(-100%);opacity:0;pointer-events:none;transition:opacity var(--transition)}.site-nav[data-open=true]{transform:translateY(0);opacity:1;pointer-events:auto}.site-nav ul{flex-direction:column;gap:0;padding:var(--space-4) 0;align-items:stretch}.site-nav li{border-bottom:1px solid var(--color-border)}.site-nav li:last-child{border:none}.site-nav a{display:block;padding:var(--space-4) var(--container-padding)}.site-nav__cta{margin:var(--space-3) var(--container-padding);display:inline-flex}.grid--3,.grid--2,.grid--4{grid-template-columns:1fr}.grid--gallery{grid-template-columns:repeat(2,1fr)}.about,.contact-grid,.site-footer__cols{grid-template-columns:1fr;gap:var(--space-8)}.cta-banner__inner{flex-direction:column;text-align:center}.cta-banner__text{text-align:center}.hero{min-height:480px}.hero__actions{flex-direction:column;align-items:stretch}.hero__nav{width:36px;height:36px}.hero__nav--prev{left:var(--space-3)}.hero__nav--next{right:var(--space-3)}.hero__dots{bottom:var(--space-4)}}@media(max-width:480px){.grid--gallery{grid-template-columns:1fr}.btn{padding:.75rem 1.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
