:root{--primary: #2d5a5e;--primary-light: #4c8a8f;--primary-dark: #1f4245;--secondary: #e0f2f1;--accent: #ffb74d;--text-dark: #121f20;--text-medium: #4a5c5d;--text-light: #7c8f90;--white: #ffffff;--bg-offset: #f4f9f9;--font-main: "Outfit", sans-serif;--shadow-sm: 0 4px 6px rgba(45, 90, 94, .05);--shadow-md: 0 12px 24px rgba(45, 90, 94, .08);--shadow-lg: 0 25px 50px rgba(45, 90, 94, .12);--shadow-glow: 0 0 30px rgba(76, 138, 143, .2);--transition: all .3s cubic-bezier(.25, .8, .25, 1);--radius: 16px;--radius-lg: 32px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-main);line-height:1.6;color:var(--text-dark);background-color:var(--white);overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.flex-center{display:flex;justify-content:center;align-items:center}.navbar{height:90px;display:flex;align-items:center;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}.navbar .container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{font-size:1.4rem;font-weight:700;color:var(--primary);text-decoration:none;letter-spacing:1px}.logo span{font-weight:300;color:var(--text-light)}.nav-links{display:flex;list-style:none;align-items:center;gap:1.5rem}.mobile-socials{display:none}.hamburger{display:none;cursor:pointer;z-index:1001}.hamburger span{display:block;width:25px;height:3px;background-color:var(--primary);margin:5px 0;transition:all .3s ease;border-radius:2px}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.nav-links a{text-decoration:none;color:var(--text-medium);font-weight:600;font-size:1.1rem;transition:var(--transition)}.nav-links a:not(.btn-primary):hover{color:var(--primary-light)}.nav-links .btn-primary{padding:.7rem 1.8rem;font-size:.95rem}.hero{padding:7rem 0 5rem;background:radial-gradient(circle at 10% 20%,#e0f2f1b3,#fff0 40%),radial-gradient(circle at 90% 80%,#fff8e199,#fff0 40%);position:relative;overflow:hidden;min-height:85vh;display:flex;align-items:center}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%234c8a8f' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");z-index:0;opacity:.6}.grid-container{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:6rem;position:relative;z-index:1}.badge{display:inline-flex;align-items:center;padding:.6rem 1.4rem;background-color:#e0f2f199;color:var(--primary);border:1px solid rgba(45,90,94,.1);border-radius:50px;font-size:.85rem;font-weight:600;margin-bottom:2rem;letter-spacing:.5px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:var(--shadow-sm)}.hero-content h1{font-size:4.5rem;line-height:1.05;margin-bottom:1.5rem;color:var(--primary-dark);letter-spacing:-1.5px}.hero-content h1 span{display:block;font-weight:300;color:var(--primary-light)}.hero-content p{font-size:1.25rem;margin-bottom:3.5rem;color:var(--text-medium);max-width:520px;line-height:1.7}.hero-btns{display:flex;gap:1.2rem;flex-wrap:wrap}.image-wrapper{position:relative;z-index:1;animation:float 6s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}.image-wrapper:before{content:"";position:absolute;top:-25px;right:-25px;width:100%;height:100%;border:2px solid var(--primary-light);border-radius:var(--radius-lg);z-index:-1;opacity:.3;transition:var(--transition)}.image-wrapper:after{content:"";position:absolute;bottom:-30px;left:-30px;width:80%;height:80%;background:radial-gradient(circle,#2d5a5e1a,#fff0 70%);z-index:-2;filter:blur(20px)}.hero-image:hover .image-wrapper:before{top:-35px;right:-35px;opacity:.5}.hero-image img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff}.hero-logo-img{padding:2rem;object-fit:contain!important;background:#fff;border:1px solid rgba(0,0,0,.03);max-height:500px;width:auto;margin:0 auto;display:block}.btn-primary{background-color:#b8e1e6;color:var(--primary-dark)!important;padding:1.1rem 2.8rem;border-radius:50px;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:0 8px 20px #2d5a5e40;border:2px solid transparent}.btn-primary:hover{background-color:#a8eaf3;transform:translateY(-4px);box-shadow:0 12px 30px #2d5a5e59}.btn-secondary{background-color:transparent;border:2px solid var(--primary-light);color:var(--primary)!important;padding:1.1rem 2.8rem;border-radius:50px;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition)}.btn-secondary:hover{background-color:var(--primary-light);color:var(--white)!important;transform:translateY(-4px);box-shadow:0 8px 20px #4c8a8f33}.services{padding:8rem 0;background-color:var(--bg-offset)}.section-title{display:block;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--primary-light);margin-bottom:1rem}h2{font-size:3rem;margin-bottom:4rem;color:var(--primary-dark);line-height:1.2;letter-spacing:-1px}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.5rem}.service-card{background-color:var(--white);padding:2.5rem 2rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition);position:relative;overflow:hidden;border:1px solid rgba(45,90,94,.03);border-top:4px solid var(--primary-light)}.service-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:#2d5a5e1a}.service-card .icon{display:inline-flex;align-items:center;justify-content:center;margin-bottom:2rem;color:var(--primary);background:var(--bg-offset);padding:1rem;border-radius:50%}.service-card .icon svg{width:40px;height:40px}.service-card h3{font-size:1.5rem;margin-bottom:1.2rem;color:var(--primary)}.service-card p{color:var(--text-medium);font-size:1rem}.about{padding:10rem 0}.about .grid-container{gap:8rem}.about-content h2{text-align:center;margin-bottom:2rem}.about-content p{font-size:1.1rem;color:var(--text-medium);margin-bottom:1.5rem}.about-text{max-width:800px;margin:0 auto 3rem}.about-image-wrapper:before{left:-20px;right:auto!important}.credentials{display:flex;gap:1rem;flex-wrap:wrap}.credentials span{padding:.4rem 1rem;border:1px solid var(--secondary);border-radius:4px;font-size:.85rem;font-weight:600;color:var(--primary);background-color:var(--bg-offset)}footer{background-color:#1a1a1a;color:var(--white);padding:8rem 0 3rem}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:4rem;margin-bottom:4rem}.footer-brand .logo{color:var(--white);font-size:1.8rem;margin-bottom:1.5rem;display:inline-block}.footer-brand .logo span{color:#fff6}.footer-brand p{color:#fff9;margin-bottom:2rem;max-width:300px}.contact-details p{margin-bottom:.8rem;color:#fffc}.footer h3{font-size:1.2rem;margin-bottom:2rem;color:var(--white)}.footer-nav ul{list-style:none}.footer-nav li{margin-bottom:1rem}.footer-nav a{color:#fff9;text-decoration:none;transition:var(--transition)}.footer-nav a:hover{color:var(--white)}.footer-hours p{color:#fff9}.footer-socials{display:flex;gap:1rem;margin-top:1.5rem}.footer-socials a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;color:var(--white);border-radius:50%;transition:var(--transition)}.footer-socials a:hover{background:var(--primary-light);transform:translateY(-3px);color:var(--white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:3rem;text-align:center;font-size:.9rem;color:#fff6}.contact-form-wrapper{max-width:600px;margin:0 auto 5rem;text-align:center;background:#ffffff0d;padding:3rem;border-radius:var(--radius);border:1px solid rgba(255,255,255,.1)}.contact-form-wrapper h3{margin-bottom:2rem;color:var(--white)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group textarea{width:100%;padding:1rem 1.5rem;background:#ffffffe6;border:2px solid transparent;border-radius:var(--radius);font-family:var(--font-main);font-size:1rem;color:var(--text-dark);transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;background:var(--white);border-color:var(--primary-light);box-shadow:0 0 15px #4c8a8f4d}.contact-form button{width:100%;margin-top:1rem;cursor:pointer}.reveal{opacity:0;transform:translateY(30px);transition:all .8s ease-out}.fade-in{opacity:1;transform:translateY(0)}@media(max-width:1024px){.hero-content h1{font-size:3rem}.grid-container{gap:3rem}}@media(max-width:768px){.navbar{height:75px}.hamburger{display:block}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:100%;background-color:var(--white);flex-direction:column;justify-content:center;align-items:center;transition:right .4s ease-in-out;z-index:999;box-shadow:-5px 0 15px #0000001a}.nav-links.active{right:0;display:flex}.nav-links li{margin:2rem 0;opacity:0;transform:translateY(20px);transition:all .3s ease}.nav-links.active li{opacity:1;transform:translateY(0);transition-delay:.2s}.nav-links a{font-size:1.5rem;color:var(--primary-dark)}.mobile-socials{display:flex!important;gap:1.5rem;margin-top:1rem}.mobile-socials a{color:var(--primary);transition:var(--transition);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--secondary);border-radius:50%}.mobile-socials a:hover{background:var(--primary);color:var(--white);transform:translateY(-3px)}.grid-container{grid-template-columns:1fr;text-align:center}.hero{padding:8rem 0 4rem}.hero-content h1{font-size:2.8rem}.hero-content p{margin:0 auto 3rem}.hero-btns{justify-content:center;flex-direction:column}.about .grid-container{flex-direction:column-reverse}.footer-grid{grid-template-columns:1fr;gap:3rem}}
