@import 'https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600&display=swap';:root{--color-primary-green:#0A3641;--color-light-green:#BACD88;--color-light-purple:#B0ACD5;--color-light-blue:#50678C;--color-accessible-green:#6B9E5A;--color-accessible-purple:#7B6FA8;--color-white:#FFFFFF;--color-light-gray:#F5F5F5;--color-gray:#CCCCCC;--color-dark-gray:#333333;--color-black:#000000;--font-primary:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:3rem;--spacing-xl:4rem;--spacing-xxl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}*{margin:0;padding:0;box-sizing:border-box}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary-green);color:var(--color-white);padding:8px 16px;text-decoration:none;font-weight:600;z-index:10000;border-radius:0 0 4px 0}.skip-link:focus{top:0;outline:3px solid var(--color-light-blue);outline-offset:2px}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-primary);font-weight:400;line-height:1.6;color:var(--color-dark-gray);background-color:var(--color-white)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-sm);color:var(--color-primary-green)}h1{font-size:2.5rem;margin-bottom:var(--spacing-md)}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-sm);font-weight:300}.lead{font-size:1.125rem;font-weight:400;color:var(--color-dark-gray);opacity:.9}a{color:var(--color-primary-green);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-light-blue)}a:focus{outline:2px solid var(--color-light-blue);outline-offset:2px}ul,ol{margin-bottom:var(--spacing-sm);padding-left:1.5rem;list-style-position:inside}ul li,ol li{margin-bottom:var(--spacing-xs);line-height:1.8;font-weight:300}.section ul{list-style-type:disc;color:var(--color-light-blue)}.section ul li{color:var(--color-dark-gray);padding-left:.5rem}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-fluid{width:100%;padding:0 var(--spacing-md)}.site-header{background-color:var(--color-white);box-shadow:0 2px 4px rgba(0,0,0,.1);padding:var(--spacing-sm)0;position:sticky;top:0;z-index:1000}.header-content{display:flex;justify-content:space-between;align-items:center}.logo img{height:60px;width:auto}.main-nav{position:relative}.main-nav ul{display:flex;list-style:none;gap:var(--spacing-md)}.desktop-menu{display:block}.mobile-menu-overlay{display:none}@media(max-width:768px){.mobile-menu-overlay{display:block}}.main-nav a{font-weight:600;color:var(--color-primary-green);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);transition:all .3s ease}.main-nav a:hover,.main-nav a.active{background-color:var(--color-accessible-purple);color:var(--color-white)}.mobile-menu-toggle{display:none;background:0 0;border:2px solid var(--color-primary-green);padding:.5rem;cursor:pointer;border-radius:var(--radius-sm);min-width:44px;min-height:44px;transition:all .3s ease;position:relative;z-index:1001}.mobile-menu-toggle:hover{background-color:var(--color-light-gray)}.mobile-menu-toggle:focus{outline:3px solid var(--color-light-blue);outline-offset:2px;background-color:var(--color-light-gray)}.hamburger-icon{display:flex;flex-direction:column;gap:5px;width:24px;height:18px}.hamburger-icon .line{display:block;width:100%;height:3px;background-color:var(--color-primary-green);border-radius:2px;transition:all .3s ease}.mobile-menu-toggle[aria-expanded=true] .line:nth-child(1){transform:translateY(8px)rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] .line:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] .line:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.hero{background:#fff;color:var(--color-dark-gray);padding:var(--spacing-xxl)0 5rem;text-align:center;min-height:85vh;display:flex;align-items:center;justify-content:center}.hero .container{width:100%}.hero-logo{margin-bottom:var(--spacing-sm);animation:fadeInDown 1s ease-out;padding:var(--spacing-md)0}.hero-logo-image{width:min(50vw,500px);max-width:500px;height:auto;filter:none;opacity:1;transition:transform .3s ease;display:block;margin:0 auto}.hero-logo-image:hover{transform:scale(1.02);opacity:1}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hero h1{color:var(--color-primary-green);font-size:2rem;font-weight:400;margin-bottom:.75rem;letter-spacing:.5px}.hero p{font-size:1.25rem;margin-bottom:var(--spacing-lg);max-width:800px;margin-left:auto;margin-right:auto;color:var(--color-dark-gray)}.hero-tagline{font-size:1.125rem;font-weight:400;margin-bottom:1rem;font-style:italic;letter-spacing:.3px;color:var(--color-light-blue)}.hero-description{font-size:1rem;font-weight:300;margin-bottom:var(--spacing-xl);max-width:650px;margin-left:auto;margin-right:auto;line-height:1.7;color:var(--color-dark-gray)}.hero.about-hero{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 50%,#ffffff 100%);padding:5rem 0 6rem;position:relative;overflow:hidden}.hero.about-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(to right,var(--color-light-purple) 0%,var(--color-light-green) 50%,var(--color-light-blue) 100%)}.hero.about-hero::after{content:'';position:absolute;top:-50px;right:-50px;width:300px;height:300px;background:radial-gradient(circle,var(--color-light-purple) 0%,transparent 70%);opacity:.08;border-radius:50%;z-index:0}.hero.about-hero .container{position:relative;z-index:1}.hero.about-hero h1{font-size:3.25rem;font-weight:600;color:var(--color-primary-green);margin-bottom:1.25rem;position:relative;display:inline-block}.hero.about-hero h1::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:100px;height:4px;background:linear-gradient(to right,var(--color-light-purple),var(--color-light-green));border-radius:2px}.hero.about-hero p{font-size:1.5rem;color:var(--color-light-blue);font-weight:400;max-width:750px;margin:1.5rem auto 0;line-height:1.7}.about-brand-accent{display:inline-block;width:50px;height:50px;background:linear-gradient(135deg,var(--color-light-purple),var(--color-light-green));border-radius:50%;margin:0 auto 2rem;box-shadow:0 4px 12px rgba(176,172,213,.3)}.hero.services-hero{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 50%,#ffffff 100%);padding:5rem 0 6rem;position:relative;overflow:hidden}.hero.services-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(to right,var(--color-light-blue) 0%,var(--color-light-green) 50%,var(--color-light-purple) 100%)}.hero.services-hero::after{content:'';position:absolute;top:-50px;left:-50px;width:300px;height:300px;background:radial-gradient(circle,var(--color-light-green) 0%,transparent 70%);opacity:.08;border-radius:50%;z-index:0}.hero.services-hero .container{position:relative;z-index:1}.hero.services-hero h1{font-size:3.25rem;font-weight:600;color:var(--color-primary-green);margin-bottom:1.25rem;position:relative;display:inline-block}.hero.services-hero h1::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:100px;height:4px;background:linear-gradient(to right,var(--color-light-green),var(--color-light-blue));border-radius:2px}.hero.services-hero p{font-size:1.5rem;color:var(--color-light-blue);font-weight:400;max-width:750px;margin:1.5rem auto 0;line-height:1.7}.services-brand-accent{display:inline-block;width:50px;height:50px;background:linear-gradient(135deg,var(--color-light-green),var(--color-light-blue));border-radius:50%;margin:0 auto 2rem;box-shadow:0 4px 12px rgba(186,205,136,.3)}.hero-buttons{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:var(--spacing-lg)}.btn{display:inline-block;padding:.875rem 2rem;min-height:44px;font-weight:600;text-align:center;border-radius:var(--radius-md);transition:all .3s ease;cursor:pointer;border:none;font-size:1rem;line-height:1.5;box-shadow:0 2px 8px rgba(0,0,0,.15)}.btn:focus{outline:3px solid var(--color-light-blue);outline-offset:2px}.btn-primary{background-color:var(--color-primary-green);color:var(--color-white);border:2px solid transparent}.btn-primary:hover{background-color:var(--color-primary-green);border-color:var(--color-white);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.25)}.btn-secondary{background-color:var(--color-light-green);color:var(--color-primary-green)}.btn-secondary:hover{background-color:var(--color-light-blue);color:var(--color-white)}.btn-outline{background-color:transparent;border:2px solid var(--color-white);color:var(--color-white)}.btn-outline:hover{background-color:rgba(255,255,255,.95);color:var(--color-primary-green);box-shadow:0 4px 12px rgba(0,0,0,.25)}.card{background-color:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 8px 12px rgba(0,0,0,.15)}.card h3{margin-top:0}.card>*+*{margin-top:1rem}.grid{display:grid;gap:var(--spacing-md)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.section{padding:5rem 0}.section-gray{background-color:var(--color-light-gray)}.section-header{text-align:center;margin-bottom:var(--spacing-lg)}.section-header h2{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.section-header p{font-size:1.125rem;color:var(--color-dark-gray);max-width:700px;margin:0 auto}.site-footer{background-color:var(--color-primary-green);color:var(--color-white);padding:var(--spacing-lg)0}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.footer-section h4{color:var(--color-accessible-green);margin-bottom:var(--spacing-sm)}.footer-section a{color:var(--color-white);display:block;margin-bottom:var(--spacing-xs)}.footer-section a:hover{color:var(--color-accessible-purple)}.footer-bottom{text-align:center;padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.2);font-size:.875rem}.team-member{text-align:center}.team-photo-wrapper{display:flex;justify-content:center;align-items:center;margin-bottom:var(--spacing-md)}.team-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid var(--color-light-purple);box-shadow:0 4px 8px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.team-photo:hover{transform:scale(1.05);box-shadow:0 6px 12px rgba(0,0,0,.15)}.team-member h3{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.team-member .role{color:var(--color-light-blue);font-weight:600;margin-bottom:var(--spacing-sm)}.service-icon{width:60px;height:60px;background-color:var(--color-light-purple);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-sm);color:var(--color-white);font-size:1.5rem;font-weight:600}@media(max-width:768px){.site-header{overflow:visible}.header-content{gap:var(--spacing-sm);flex-wrap:wrap;position:relative}.container{overflow:visible}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.desktop-menu{display:none}.main-nav{order:2;width:auto}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-white);z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s ease;visibility:hidden;overflow-y:auto;padding:var(--spacing-xl)var(--spacing-md);display:flex;flex-direction:column;justify-content:flex-start}.mobile-menu-overlay.is-open{opacity:1;pointer-events:auto;visibility:visible}.mobile-menu-content{width:100%;max-width:100%;display:flex;flex-direction:column}.mobile-menu-content ul{flex-direction:column;gap:0;text-align:left;padding:0;list-style:none;margin:0;width:100%;display:block}.mobile-menu-content nav{width:100%;display:block;position:relative}.mobile-menu-content li{margin:0;padding:0}.mobile-menu-content a{display:block;padding:var(--spacing-sm)var(--spacing-md);min-height:44px;width:100%;color:var(--color-primary-green);font-weight:600;font-size:1rem;border-left:3px solid transparent;transition:all .2s ease;text-decoration:none}.mobile-menu-content a:hover,.mobile-menu-content a.active{background-color:var(--color-light-gray);border-left-color:var(--color-accessible-purple)}.hero{padding:var(--spacing-xl)0 4rem;min-height:auto}.hero-logo{margin-bottom:var(--spacing-lg);padding:var(--spacing-sm)0}.hero-logo-image{width:min(75vw,400px);max-width:400px}.hero h1{font-size:1.75rem;margin-bottom:.5rem}.hero-tagline{font-size:1rem;margin-bottom:.75rem}.hero-description{font-size:.9375rem;max-width:90%;margin-bottom:var(--spacing-lg)}.hero-buttons{flex-direction:column;width:100%;max-width:300px;margin:var(--spacing-md)auto 0}.hero-buttons .btn{width:100%;text-align:center}.hero.about-hero{padding:4rem 0 4.5rem}.hero.about-hero::after{width:200px;height:200px;top:-30px;right:-30px}.hero.about-hero h1{font-size:2.25rem}.hero.about-hero h1::after{width:80px}.hero.about-hero p{font-size:1.25rem}.about-brand-accent{width:40px;height:40px}.hero.services-hero{padding:4rem 0 4.5rem}.hero.services-hero::after{width:200px;height:200px;top:-30px;left:-30px}.hero.services-hero h1{font-size:2.25rem}.hero.services-hero h1::after{width:80px}.hero.services-hero p{font-size:1.25rem}.services-brand-accent{width:40px;height:40px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}@media(max-width:480px){html{font-size:14px}.logo img{height:50px}.hero-logo-image{width:min(80vw,320px);max-width:320px}.hero h1{font-size:1.5rem}.hero-tagline{font-size:.9375rem}.hero-description{font-size:.875rem}.hero.about-hero h1{font-size:1.875rem}.hero.about-hero p{font-size:1.125rem}.hero.services-hero h1{font-size:1.875rem}.hero.services-hero p{font-size:1.125rem}}