@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Open+Sans:wght@400;600&display=swap);.nav-group,.topbar{align-items:center;display:flex}.dropdown-btn::after,.nav-link::after,.topbar::after{position:absolute;background:linear-gradient(to right,var(--color-primary),var(--color-secondary));content:'';bottom:0}.dropdown-btn,.nav-link{font-size:17px;font-weight:500}.dropdown-desktop .dropdown-content a,.dropdown-mobile .dropdown-content a{color:var(--color-text);text-decoration:none;transition:background-color .2s;display:block}:root{--color-primary:#03264A;--color-primary-light:#0066aa;--color-secondary:#0088cc;--color-secondary-light:#0077aa;--color-text:#333;--color-text-light:#444;--color-text-lighter:#555;--color-background:#f9fafb;--color-white:#ffffff;--color-border:#eaeaea;--color-border-light:#d0e0f0;--color-card-bg:#f9f9f9;--color-highlight-bg:linear-gradient(135deg, #e6f7ff, #f0faff);--color-cta-bg:linear-gradient(135deg, #03264A, #0066aa);--color-accent-blue-transparent:rgba(0, 136, 204, 0.15);--color-primary-transparent:rgba(3, 38, 74, 0.1);--font-primary:'Poppins',sans-serif;--font-secondary:'Open Sans',sans-serif;--shadow-sm:0 2px 5px rgba(0, 0, 0, 0.03);--shadow-md:0 8px 20px rgba(0, 0, 0, 0.05);--shadow-lg:0 15px 35px rgba(0, 0, 0, 0.08);--shadow-btn:0 4px 12px rgba(3, 38, 74, 0.3);--shadow-btn-hover:0 6px 15px rgba(3, 38, 74, 0.4);--border-radius-sm:6px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-xl:20px;--border-radius-round:30px;--border-radius-circle:50%;--transition-fast:all 0.2s ease;--transition-default:all 0.3s ease;--transition-slow:all 0.4s ease;--container-width-sm:800px;--container-width-lg:1200px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-secondary);background-color:var(--color-background);color:var(--color-text);line-height:1.6}body:has(.hero){background-color:var(--color-white)}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;color:var(--color-primary);line-height:1.3}body,html{max-width:100vw;overflow-x:hidden}.topbar{justify-content:space-between;background-color:var(--color-white);padding:15px 40px;box-shadow:0 2px 15px rgba(0,0,0,.05);top:0;z-index:1000;position:relative}.hamburger-btn,.nav-link{background:0 0;border:none;cursor:pointer}.topbar::after{left:0;right:0;height:4px}.brand-logo{height:45px;transition:transform .3s}.dropdown-btn,.nav-link{transition:var(--transition-default);position:relative;color:var(--color-primary)}.brand-logo:hover,.swiper-slide-active .hero-image{transform:scale(1.05)}.nav-group{gap:30px}.nav-links{display:flex;gap:30px}.nav-link{padding:5px 0;letter-spacing:.3px;text-decoration:none}.dropdown-btn::after,.nav-link::after{left:-2px;width:0;height:2px;transition:width .3s}.dropdown-btn:hover,.nav-link:hover,.service-box.highlight .service-icon{color:var(--color-secondary)}.dropdown-btn:hover::after,.nav-link:hover::after{width:calc(100% + 4px)}.dropdown-btn{display:flex;align-items:center}.hamburger-btn{display:none;flex-direction:column;justify-content:space-between;align-items:center;width:30px;height:24px;padding:0;transition:.3s}.hamburger-line{width:25px;height:3px;background-color:var(--color-primary);transition:.3s cubic-bezier(.4, 0, .2, 1);border-radius:2px;transform-origin:center}.hamburger-btn.active .hamburger-line:first-child{transform:rotate(50deg) translate(6px,9px);background-color:var(--color-secondary)}.hamburger-btn.active .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-btn.active .hamburger-line:nth-child(3){transform:rotate(-50deg) translate(6px,-9px);background-color:var(--color-secondary)}.hamburger-btn:hover .hamburger-line,.service-box.highlight h3::after{background-color:var(--color-secondary)}.language-selector{position:relative;margin-left:10px}.custom-dropdown,.dropdown{position:relative;display:inline-block}.dropdown-btn{display:flex;align-items:center;gap:8px;padding:5px 20px 5px 0;background:0 0;color:var(--color-primary);border:none;cursor:pointer;transition:var(--transition-default)}.dropdown-content,.dropdown-content a{opacity:0;transition:.3s cubic-bezier(.4, 0, .2, 1)}.dropdown-btn::before{content:'';position:absolute;right:8px;top:50%;width:5px;height:5px;border-right:1.5px solid var(--color-primary);border-bottom:1.5px solid var(--color-primary);transform:translateY(-70%) rotate(45deg);transition:.6s}.dropdown-btn:hover::before{border-right-color:var(--color-secondary);border-bottom-color:var(--color-secondary)}.dropdown-btn.active::before{transform:translateY(-50%) rotate(225deg)}.dropdown-content a{transform:translateY(-10px);transition-delay:0.1s}.dropdown-content.show a,.project-card:hover .project-description{opacity:1;transform:translateY(0)}.dropdown-content.show a:first-child{transition-delay:0.1s}.dropdown-content.show a:nth-child(2){transition-delay:0.15s}.dropdown-content.show a:nth-child(3){transition-delay:0.2s}.dropdown-content{position:absolute;background:#fff;min-width:160px;box-shadow:var(--shadow-md);border-radius:var(--border-radius-md);z-index:1000;visibility:hidden}.dropdown-desktop{margin-left:10px}.dropdown-desktop .dropdown-content{top:90%;right:0;margin-top:4px;border:1px solid var(--color-border);transform-origin:top;transform:scaleY(0) translateY(-10px);pointer-events:none}.dropdown-desktop .dropdown-content.show{opacity:1;visibility:visible;transform:scaleY(1) translateY(0);pointer-events:auto;top:100%}.dropdown-desktop .dropdown-content a{padding:12px 16px}.dropdown-desktop .dropdown-content a:hover{background-color:var(--color-background);color:var(--color-secondary)}.dropdown-mobile{display:none;width:100%;margin-top:20px}.dropdown-mobile .dropdown-btn{width:100%;justify-content:center;padding:12px 20px;border-top:1px solid var(--color-border)}.dropdown-mobile .dropdown-content{position:static;width:100%;box-shadow:none;border:none;background:var(--color-background);margin-top:0;transform-origin:top;transform:scaleY(0);max-height:0;overflow:hidden}.dropdown-mobile .dropdown-content a{padding:15px 20px;text-align:center;border-bottom:1px solid var(--color-border)}.dropdown-mobile .dropdown-content a:last-child{border-bottom:none}.dropdown-mobile .dropdown-content.show{display:block;opacity:1;visibility:visible;transform:scaleY(1);max-height:300px;margin-top:5px}.dropdown .language-icon{width:16px;height:16px;object-fit:contain;transition:transform .3s;display:inline-block;vertical-align:middle;margin-right:6px}@media (max-width:768px){.dropdown-mobile .language-icon{width:24px;height:24px;margin-right:8px}.dropdown-desktop,.nav-link::after{display:none}.dropdown-mobile{display:block;margin:20px 0}.nav-group{position:fixed;top:0;right:-300px;width:300px;height:100vh;background:var(--color-white);flex-direction:column;align-items:center;padding:80px 20px 20px;box-shadow:-5px 0 15px rgba(0,0,0,.1);z-index:998;overflow-y:auto;transition:transform .3s cubic-bezier(.4, 0, .2, 1);transform:translateX(100%)}.nav-group .nav-link,.nav-overlay{opacity:0;transition:.3s cubic-bezier(.4, 0, .2, 1)}.nav-group.active{transform:translateX(0)}.nav-group .nav-link{transform:translateX(20px)}.nav-group.active .nav-link{opacity:1;transform:translateX(0)}.nav-group.active .nav-link:first-child{transition-delay:0.1s}.nav-group.active .nav-link:nth-child(2){transition-delay:0.15s}.nav-group.active .nav-link:nth-child(3){transition-delay:0.2s}.nav-group.active .nav-link:nth-child(4){transition-delay:0.25s}.nav-group.active .nav-link:nth-child(5){transition-delay:0.3s}.nav-links{flex-direction:column;align-items:center;width:100%;gap:5px}.nav-link{width:100%;text-align:center;padding:15px 0;border-bottom:1px solid var(--color-border);text-decoration:none}.nav-link.active{background-color:var(--color-background);color:var(--color-secondary);font-weight:600}.hamburger-btn{display:flex;position:relative;z-index:999}.nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:997;visibility:hidden;backdrop-filter:blur(2px)}.nav-overlay.active{opacity:1;visibility:visible}}.button-primary,.contact-form button{transition:var(--transition-default)}.nav-overlay{z-index:90}.nav-group{z-index:95}.hamburger-btn{z-index:96}.swiper-button-next,.swiper-button-prev{z-index:100!important}.content-container,.projects-container{max-width:var(--container-width-lg);margin:60px auto;padding:20px;background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.button-primary,.contact-form button{background-color:var(--color-primary)}.projects-container h1,.section-heading{font-size:2.8rem;margin-bottom:30px;text-align:center;color:var(--color-primary);position:relative;padding-bottom:15px}.contact-container h1::after,.location-container h1::after,.projects-container h1::after,.section-heading::after,.services-container h1::after,.staff-container h1::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:4px;background-color:var(--color-primary);border-radius:2px}.button-primary:hover,.contact-form button:hover{background-color:#113c68;transform:translateY(-3px)}.button-primary{color:var(--color-white);border:none;padding:14px 32px;font-size:1.1rem;font-weight:600;border-radius:var(--border-radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-btn)}.card,.cta-button{border-radius:var(--border-radius-md)}.button-primary:hover{box-shadow:var (--shadow-btn-hover)}.card{background:var(--color-card-bg);padding:30px;transition:var(--transition-slow);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.card:hover,.staff-member:hover{transform:translateY(-8px);box-shadow:0 15px 30px rgba(0,0,0,.15)}.hero{position:relative;height:100vh;overflow:hidden;margin-bottom:0;display:block}.hero-image,.swiper-container{height:100%;width:100%}.hero+#footer{margin-top:-1px}.hero-image{object-fit:cover;object-position:center;filter:brightness(.85) saturate(1.05);transition:transform 6s}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:rgba(0,0,0,.3);padding:0 30px}.cta-button,.map-container h2{background:var(--color-primary)}.hero-overlay h1{font-size:3.5rem;margin-bottom:25px;color:#fff;text-shadow:1px 2px 6px rgba(0,0,0,.6);max-width:900px;animation:1s fadeInUp}.hero-overlay p{font-size:1.8rem;margin-bottom:35px;color:#fff;text-shadow:1px 2px 5px rgba(0,0,0,.5);max-width:1000px;animation:1.2s fadeInUp}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cta-button{text-decoration:none!important;color:#fff;box-shadow:0 4px 16px rgba(3,38,74,.13);font-weight:700;padding:14px 36px;font-size:1.1rem;border:none;transition:background .2s,color .2s,box-shadow .2s;display:inline-block}.hours-box,.hours-container{color:var(--color-primary);display:flex}.business-hours-section,.staff-member{border-radius:var(--border-radius-md);text-align:center}.staff-member,.staff-photo{transition:var(--transition-slow)}.cta-button:hover{background:var(--color-secondary);color:#fff;box-shadow:0 8px 28px rgba(0,136,204,.18)}.staff-container{max-width:var(--container-width-lg);margin:60px auto;padding:40px;background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.staff-container h1{padding-bottom:15px;position:relative}.staff-grid{display:block;width:100%;max-width:1000px;margin:0 auto 30px}.staff-member{background:var(--color-card-bg);padding:20px;border:1px solid var(--color-border);overflow-wrap:break-word;word-break:break-word}.business-hours-section,.staff-member.large,.staff-member.management{background:var(--color-highlight-bg)}.staff-member.snazzy-hover{transform:translateY(-8px) scale(1.02);box-shadow:0 15px 30px rgba(0,0,0,.15)}.staff-photo{width:120px;height:120px;object-fit:cover;border-radius:var(--border-radius-circle);margin-bottom:15px;border:3px solid var(--color-primary);box-shadow:0 3px 10px rgba(0,0,0,.1)}.business-hours-section,.hours-box{box-shadow:var(--shadow-md)}.staff-member:hover .staff-photo{transform:scale(1.05);border-color:var(--color-secondary)}.staff-info h2{font-size:1.3rem;margin-bottom:8px;color:var (--color-primary);overflow-wrap:break-word}.staff-info p{font-size:.95rem;color:var(--color-text-light);margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:5px}.staff-info .contact-icon{width:16px!important;height:16px!important;flex-shrink:0;vertical-align:middle}.staff-row{display:grid;gap:20px;margin-bottom:30px;width:100%}.staff-member.management{border:1px solid var(--color-border-light);box-shadow:0 8px 20px rgba(0,136,204,.08);position:relative}.service-box.highlight h3,.staff-member.management h2{color:var(--color-secondary-light)}.staff-member.management:hover{box-shadow:0 15px 30px rgba(0,136,204,.15);border-color:var(--color-secondary)}.staff-row.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:30px}.staff-row.three-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.staff-row.one-column{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.staff-member.large{padding:30px;border-radius:var(--border-radius-lg);text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.08);border:1px solid var(--color-border-light)}.contact-block.snazzy-hover,.contact-block:hover{box-shadow:0 15px 30px rgba(0,0,0,.12);transform:translateY(-8px)}.business-hours-section{padding:15px 20px;margin:20px auto 50px;max-width:500px;border:1px solid var(--color-border-light)}.hours-container{align-items:center;justify-content:center;gap:10px;font-size:1.2rem;font-weight:500}.contacts-section{position:relative}.hours-box{align-items:center;gap:12px;background:#f6fafd;border-radius:var(--border-radius-md);border:1.5px solid var(--color-border-light);margin-bottom:18px;min-width:200px;max-width:100%}.hours-days,.hours-time{font-size:1em;margin-bottom:0}.hours-icon{width:22px!important;height:22px!important;opacity:.85;margin-right:2px}.project-card,.project-overlay h3{opacity:1;transform:translateY(0)}.hours-info{display:flex;flex-direction:column;gap:1px}.hours-days{font-weight:600;letter-spacing:.5px}.hours-time{color:var(--color-secondary);font-weight:500}.hours-status{display:inline-block;font-size:.98em;font-weight:600;margin-top:2px;padding:2px 10px;border-radius:12px;background:#eaf7ea;color:#1a7f3c;border:1px solid #b6e2b6;letter-spacing:.5px;transition:background .2s,color .2s,border .2s}.contact-container h1,.contact-form label,.hours-box{color:var(--color-primary)}.hours-box.closed .hours-status{background:#fbeaea;color:#c0392b;border:1px solid #f5b7b1}.hours-box{position:absolute;top:10px;right:0;background:var(--color-highlight-bg);padding:8px 15px;border-radius:var(--border-radius-md);border:1px solid var(--color-border-light);display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;z-index:5}.contact-block,.contact-container,.location-container{background:var(--color-white)}.contact-block img,.hours-box .hours-icon{width:18px!important;height:18px!important}.hours-box.closed{background:#ffeaea!important;border-color:#e74c3c!important;color:#b30000!important}.contact-container{max-width:var(--container-width-sm);margin:60px auto;padding:40px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.contact-container h1{font-family:var(--font-primary);font-size:2.8rem;margin-bottom:40px;text-align:center;letter-spacing:1px;position:relative;padding-bottom:15px}.contact-form{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.contact-form label{font-weight:600;margin-bottom:5px;display:block}.contact-form input,.contact-form textarea{padding:14px;border:1px solid #ddd;border-radius:var(--border-radius-md);font-size:1rem;width:100%;transition:var(--transition-default);box-shadow:var(--shadow-sm);font-family:var(--font-secondary)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-primary);box-shadow:0 2px 8px rgba(3,38,74,.15);outline:0}.contact-form button{color:var(--color-white);border:none;padding:16px;border-radius:var(--border-radius-md);cursor:pointer;font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-btn)}.contact-block h3,.contacts-section h2,.location-container h1{color:var(--color-primary);position:relative}.contact-form button:hover{box-shadow:var(--shadow-btn-hover)}.contact-info{text-align:center;font-size:1.1rem;line-height:1.8;color:var(--color-text-light)}.contact-block{border:1px solid var(--color-border);padding:20px;border-radius:var(--border-radius-md);transition:var(--transition-slow),box-shadow .4s ease,border-color .4s ease;box-shadow:0 0 0 transparent;display:flex;flex-direction:column}.contact-block:hover{border-color:var(--color-border-light)}.contact-block h3{font-size:1.5rem;margin-bottom:15px;padding-bottom:10px}.contact-block h3::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:3px;background-color:var(--color-primary);border-radius:1.5px}.contacts-section h2::after,.service-box h3::after{bottom:0;left:50%;transform:translateX(-50%);height:3px;background-color:var(--color-primary);content:''}.contact-block p{margin-bottom:12px;display:flex;align-items:flex-start;gap:10px}.contact-block a,.contact-block span{word-break:break-word;overflow-wrap:break-word;max-width:100%;display:inline-block}.contact-block .contact-icon{flex-shrink:0;margin-top:4px}img.contact-icon{width:16px!important;height:16px!important;flex-shrink:0}.contacts-section{margin-bottom:40px;width:100%}.contacts-section h2{text-align:center;font-family:var(--font-primary);font-size:2.4rem;margin:0 auto 40px;max-width:800px;letter-spacing:1px;padding-bottom:15px}.contacts-section h2::after{position:absolute;width:60px;border-radius:1.5px}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:40px;width:100%}.contact-block.highlight-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite contact-pulse;border:2px solid var(--color-secondary)!important;box-shadow:0 0 20px rgba(0,136,204,.5);transform:translateY(-8px);position:relative;z-index:10}.location-container,.map-container{border-radius:var(--border-radius-lg)}.contact-block.highlight-fade-out{animation:none;transition:var(--transition-default);border-color:#ddd!important;box-shadow:0 0 0 rgba(0,136,204,0)!important}@keyframes contact-pulse{0%,100%{box-shadow:0 0 15px rgba(0,136,204,.5)}50%{box-shadow:0 0 25px rgba(0,136,204,.8),0 0 40px rgba(0,136,204,.3)}}.company-heading{display:flex;align-items:center;justify-content:flex-start;margin-bottom:15px;width:100%}.company-logo{width:30px;height:30px;object-fit:contain;margin-left:10px;margin-top:-22px;vertical-align:middle;position:relative}.location-container{max-width:98%;width:100%;margin:20px auto;padding:15px;text-align:center;box-shadow:var(--shadow-lg)}.location-container h1{font-size:2.8rem;margin-bottom:40px;padding-bottom:15px}.location-embeds{display:flex;flex-direction:column;gap:25px;max-width:90%;margin:0 auto}.map-container{max-width:100%;margin:0 auto;box-shadow:0 10px 25px rgba(0,0,0,.1);overflow:hidden}.map-container h2{color:#fff;padding:15px;margin:0;font-size:1.8rem}.map-container iframe{width:100%;height:450px;border:0;display:block}.project-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:40px}.filter-btn{background:#f0f8ff;border:1px solid var(--color-border-light);padding:12px 24px;border-radius:var(--border-radius-round);font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition-default);color:#0566a9;box-shadow:0 2px 4px rgba(0,0,0,.05)}.filter-btn:hover{background:#e0f0ff;transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 4px 12px rgba(3,38,74,.2)}.service-box.highlight .service-cta,.service-cta:hover{background:var(--color-secondary)}.projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:40px;margin-top:20px}.project-card{border-radius:var(--border-radius-xl);overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.1);position:relative;transition:var(--transition-slow)}.project-card:hover{transform:translateY(-16px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.project-image{position:relative;overflow:hidden;width:100%;height:320px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.165, .84, .44, 1)}.project-overlay,.project-overlay h3{color:#fff;transition:transform .5s cubic-bezier(.165, .84, .44, 1)}.project-card:hover .project-image img{transform:scale(1.08)}.project-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(3,38,74,.9),rgba(3,38,74,.6) 60%,transparent 100%);padding:30px 25px;transform:translateY(70px);display:flex;flex-direction:column;height:100%;justify-content:flex-end}.project-description,.project-year{transform:translateY(20px);opacity:0}.project-card:hover .project-overlay{transform:translateY(0)}.project-overlay h3{font-size:1.6rem;margin-bottom:8px}.project-description{transition:.5s cubic-bezier(.165, .84, .44, 1);transition-delay:0.1s;font-size:1rem;margin-bottom:10px}.project-year{display:inline-block;background:rgba(255,255,255,.25);padding:5px 12px;border-radius:var(--border-radius-round);font-size:.9rem;font-weight:500;transition:.5s cubic-bezier(.165, .84, .44, 1);transition-delay:0.2s;align-self:flex-start;margin-top:10px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.service-box,.services-container{border-radius:var(--border-radius-lg)}.project-card:hover .project-year{transform:translateY(0);opacity:1}.services-container{max-width:var(--container-width-lg);margin:60px auto;padding:40px;background:var(--color-white);box-shadow:var(--shadow-lg)}.services-container h1{font-size:2.8rem;margin-bottom:20px;text-align:center;color:var (--color-primary);position:relative;padding-bottom:15px}.services-intro{text-align:center;max-width:800px;margin:0 auto 60px}.services-intro p{font-size:1.2rem;line-height:1.6;color:var(--color-text-lighter)}.service-box h3,.service-icon{color:var(--color-primary);margin-bottom:20px;text-align:center}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.service-box{background:var(--color-card-bg);padding:30px;transition:var(--transition-slow);box-shadow:var(--shadow-md);border:1px solid var(--color-border);display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.service-box.highlight .service-cta:hover,.service-cta{background:var(--color-primary)}.service-cta,.service-features span{border-radius:var(--border-radius-round)}.service-box:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,.15)}.service-icon{font-size:3rem;transition:transform .4s}.service-box:hover .service-icon{transform:scale(1.1) rotate(5deg)}.service-box h3{margin-top:0;font-size:1.8rem;position:relative;padding-bottom:15px}.service-box h3::after{position:absolute;width:50px;border-radius:1.5px}.service-box p{font-size:1.1rem;line-height:1.7;color:var(--color-text-light);flex-grow:1;margin-bottom:20px}.service-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.service-features span{background:var(--color-primary-transparent);color:var(--color-primary);font-size:.85rem;font-weight:500;padding:5px 12px;display:inline-block}.service-box.highlight .service-features span{background:var(--color-accent-blue-transparent);color:var(--color-secondary-light)}.service-cta{display:inline-block;color:#fff;text-decoration:none;padding:10px 20px;font-weight:600;font-size:.95rem;transition:var(--transition-default);text-align:center;margin-top:auto;position:relative;overflow:hidden}.service-cta:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,136,204,.3)}.service-box.highlight{background:var(--color-highlight-bg);border:2px solid var(--color-secondary)}.services-cta{margin-top:70px;text-align:center;background:var(--color-cta-bg);padding:50px;border-radius:var(--border-radius-lg);color:#fff}.services-cta h2{color:#fff;font-size:2.2rem;margin-bottom:20px}.services-cta p{font-size:1.2rem;margin-bottom:30px;max-width:700px;margin-left:auto;margin-right:auto}.services-cta .cta-button{background-color:#fff;color:var(--color-primary)}.services-cta .cta-button:hover{background-color:#f0f8ff;color:var(--color-secondary)}.service-cta:before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .7s}.service-cta:hover:before{left:100%}.site-footer{text-align:center;padding:20px 35px;background:var(--color-white);margin-top:-1px;position:relative}.hero+#footer .site-footer{margin-top:-1!important}main{margin:0;padding:0}main:has(.hero){background-color:var(--color-white)}.hero-main{background-color:var(--color-white)}#footer{margin-top:-1px;padding-top:0}.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--color-primary),var(--color-secondary))}.site-footer p{font-size:1.1rem;margin-bottom:15px;color:var(--color-text-light)}.site-footer a{display:inline-block;margin-top:10px;transition:transform .3s}.site-footer a:hover{transform:scale(1.15)}@media (max-width:992px){.staff-row.three-columns,.staff-row.two-columns{grid-template-columns:repeat(2,1fr);grid-template-columns:1fr}.projects-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.contacts-grid,.projects-list,.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.hero-overlay h1{font-size:3rem}.hero-overlay p{font-size:1.5rem}}@media (max-width:768px){.staff-row.three-columns,.staff-row.two-columns{grid-template-columns:1fr}.staff-member.large{padding:25px}.staff-photo{width:100px;height:100px}.hours-box{position:static;margin:10px auto 20px;width:fit-content;padding:8px 12px}.project-filter{gap:8px;margin-bottom:30px}.filter-btn{padding:10px 16px;font-size:.9rem}.project-image{height:280px}.project-overlay h3{font-size:1.4rem}.services-cta{padding:30px 20px}.services-cta h2{font-size:1.8rem}.services-intro p{font-size:1.1rem}@media (max-width:768px){.content-container,.projects-container,.services-container,.staff-container{margin:40px auto;padding:15px}}.topbar{padding:10px 20px}.nav-group{display:none;position:fixed;top:65px;left:0;width:100%;height:calc(100vh - 65px);background:var(--color-white);flex-direction:column;align-items:center;padding:20px;box-shadow:0 5px 15px rgba(0,0,0,.1);z-index:999;overflow-y:auto}.hamburger-btn,.nav-group.active{display:flex}.nav-links{flex-direction:column;align-items:center;width:100%;gap:0}.nav-link{width:100%;text-align:center;padding:15px 0;border-bottom:1px solid var(--color-border);text-decoration:none}.nav-link::after{display:none}.nav-link.active{background-color:var(--color-background);color:var(--color-secondary);font-weight:600}}.transition-fade{transition:opacity .4s;opacity:1}html.is-animating .transition-fade{opacity:0}main#swup{min-height:100vh}/* Modern Homepage Styles */.hero{position:relative;height:80vh;max-height:600px;min-height:500px;overflow:hidden;margin-bottom:0;display:block}.hero-content{max-width:1000px;margin:0 auto;text-align:center}.established-badge{display:inline-block;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.3);border-radius:var(--border-radius-round);padding:8px 20px;margin-bottom:20px;animation:fadeInUp 1.5s ease}.established-badge span{color:white;font-weight:600;font-size:0.95rem;letter-spacing:1px;text-transform:uppercase;text-shadow:1px 1px 3px rgba(0,0,0,0.3)}.established-footer{font-weight:500;color:var(--color-text-light)}.hero-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:40px}.cta-button.primary{background:var(--color-primary);color:white;padding:16px 32px;border-radius:var(--border-radius-round);text-decoration:none;font-weight:600;font-size:1.1rem;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(3,38,74,0.3);letter-spacing:0.5px}.cta-button.secondary{background:transparent;color:white;padding:16px 32px;border:2px solid white;border-radius:var(--border-radius-round);text-decoration:none;font-weight:600;font-size:1.1rem;transition:all 0.3s ease;letter-spacing:0.5px}.cta-button.primary:hover{background:var(--color-secondary);transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,136,204,0.4)}.cta-button.secondary:hover{background:white;color:var(--color-primary);transform:translateY(-3px)}.swiper-button-prev,.swiper-button-next{width:clamp(35px, 8vw, 60px)!important;height:clamp(35px, 8vw, 60px)!important;background:rgba(255,255,255,0.9)!important;border-radius:50%!important;color:var(--color-primary)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all 0.3s ease!important;box-shadow:0 4px 20px rgba(0,0,0,0.1)!important}.swiper-button-prev:hover,.swiper-button-next:hover{background:white!important;color:var(--color-secondary)!important;transform:scale(1.1)!important;box-shadow:0 6px 30px rgba(0,0,0,0.15)!important}.swiper-button-prev::after,.swiper-button-next::after{display:none!important}.swiper-button-prev i,.swiper-button-next i{font-size:clamp(14px, 3.5vw, 20px);font-weight:600}.swiper-button-prev{left:clamp(10px, 3vw, 30px)!important}.swiper-button-next{right:clamp(10px, 3vw, 30px)!important}.swiper-pagination{display:none!important}.scroll-indicator{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:15}.scroll-arrow{width:40px;height:40px;background:rgba(255,255,255,0.8);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.6);box-shadow:0 2px 10px rgba(0,0,0,0.1);cursor:pointer;transition:all 0.3s ease;animation:bounce 2s infinite}.scroll-arrow:hover{background:rgba(255,255,255,0.95);transform:scale(1.05);box-shadow:0 4px 15px rgba(0,0,0,0.15);animation-play-state:paused}.scroll-arrow i{font-size:16px;font-weight:600}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.services-preview{padding:80px 0 100px 0;background:linear-gradient(135deg,#f8fafb 0%,#ffffff 100%);position:relative}.container{max-width:var(--container-width-lg);margin:0 auto;padding:0 20px}.services-preview h2{font-size:3rem;text-align:center;color:var(--color-primary);margin-bottom:20px;font-weight:700}.section-subtitle{text-align:center;font-size:1.3rem;color:var(--color-text-light);margin-bottom:60px;max-width:600px;margin-left:auto;margin-right:auto}.services-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;margin-bottom:60px;align-items:stretch}.service-preview-card{background:white;padding:40px 30px;border-radius:var(--border-radius-xl);text-align:center;box-shadow:0 10px 30px rgba(0,0,0,0.08);transition:all 0.4s ease;border:1px solid var(--color-border);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:320px;cursor:pointer}.service-preview-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:left 0.6s ease}.service-preview-card:hover::before{left:0}.service-preview-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,0.12)}.service-preview-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 25px;color:white;font-size:2rem;transition:all 0.4s ease}.service-preview-card:hover .service-preview-icon{transform:scale(1.1) rotate(10deg)}.service-preview-card h3{font-size:1.6rem;color:var(--color-primary);margin-bottom:15px;font-weight:600;line-height:1.3;min-height:2.6rem;display:flex;align-items:center;justify-content:center}.service-preview-card p{color:var(--color-text-light);line-height:1.6;font-size:1.1rem;flex-grow:1;display:flex;align-items:flex-start;justify-content:center;text-align:center;padding-top:10px}.services-cta-section{text-align:center}.why-choose-us{padding:100px 0;background:var(--color-primary);color:white;margin-bottom:-1px}.why-choose-us h2{font-size:3rem;text-align:center;color:white;margin-bottom:60px;font-weight:700}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;align-items:stretch;max-width:800px;margin:0 auto}.feature-card{text-align:center;padding:30px 20px;transition:all 0.3s ease;display:flex;flex-direction:column;min-height:250px}.feature-card:hover{transform:translateY(-5px)}.feature-icon{width:70px;height:70px;background:rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:white;font-size:1.8rem;transition:all 0.3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);flex-shrink:0}.feature-card:hover .feature-icon{background:rgba(255,255,255,0.2);transform:scale(1.1)}.feature-card h3{font-size:1.4rem;color:white;margin-bottom:15px;font-weight:600;line-height:1.3;min-height:1.8rem}.feature-card p{color:rgba(255,255,255,0.9);line-height:1.6;flex-grow:1;display:flex;align-items:center;justify-content:center;text-align:center}@media (max-width:768px){.hero{height:70vh;max-height:500px;min-height:400px}.hero-buttons{flex-direction:column;align-items:center}.cta-button.primary,.cta-button.secondary{width:100%;max-width:300px;text-align:center}.scroll-indicator{bottom:15px}.scroll-arrow{width:35px;height:35px}.scroll-arrow i{font-size:14px}.services-preview{padding:60px 0}.why-choose-us{padding:60px 0}.services-preview h2,.why-choose-us h2{font-size:2.5rem}.services-preview-grid,.features-grid{grid-template-columns:1fr;gap:30px}.features-grid{max-width:none}.service-preview-card{padding:30px 20px;min-height:280px}.feature-card{min-height:220px}}@media (max-width:480px){.hero-overlay h1{font-size:2.5rem}.hero-overlay p{font-size:1.3rem}.services-preview h2,.why-choose-us h2{font-size:2rem}}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-bottom:40px}.service-box{padding:35px;background:#f9fafb;border:1px solid var(--color-border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);text-align:center;transition:var(--transition-slow);position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}.service-box.highlight{background:linear-gradient(135deg,#f0f8ff,#f9fcff);border:2px solid var(--color-secondary);box-shadow:0 10px 25px rgba(0,136,204,.12);transform:translateY(-4px)}.service-box:hover{transform:translateY(-8px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.service-box.highlight:hover{transform:translateY(-12px);box-shadow:0 20px 40px rgba(0,136,204,.15)}.service-icon{font-size:3rem;margin-bottom:20px;color:var(--color-primary);opacity:.9;transition:all .4s ease}.service-box.highlight .service-icon{color:var(--color-secondary);font-size:3.25rem}.service-box h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:20px;position:relative;padding-bottom:15px}.service-box h3::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:50px;height:3px;background:var(--color-primary);opacity:.7;border-radius:1.5px}.service-box.highlight h3{color:var(--color-secondary-light)}.service-box.highlight h3::after{background:var(--color-secondary);width:60px}.service-box p{font-size:1.1rem;line-height:1.6;margin:0 auto 20px;color:var(--color-text);flex-grow:1}.service-features{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:25px}.service-features span{font-size:.9rem;padding:6px 14px;background:rgba(3,38,74,.06);color:var(--color-primary);border:1px solid rgba(3,38,74,.1);border-radius:50px}.service-box.highlight .service-features span{background:rgba(0,136,204,.08)}.service-cta{padding:10px 22px;font-size:1rem;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);background:var(--color-primary);margin-top:auto;align-self:center}.service-box.highlight .service-cta{background:var(--color-secondary);padding:12px 26px;font-weight:600}@media (max-width:992px){.services-grid{grid-template-columns:1fr}}/* Header loading optimization - prevent flash of unstyled content */#header{opacity:0;transition:opacity 0.3s ease-in-out}#header.loaded{opacity:1}.topbar{opacity:0;transition:opacity 0.3s ease-in-out}.topbar.loaded{opacity:1}/* Header skeleton loader */.header-skeleton{height:75px;background:var(--color-white);box-shadow:0 2px 15px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-between;padding:15px 40px;position:relative}.header-skeleton::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(to right,var(--color-primary),var(--color-secondary))}.skeleton-logo{width:120px;height:45px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-nav{display:flex;gap:30px}.skeleton-nav-item{width:80px;height:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-lang{width:100px;height:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@media (max-width:768px){.skeleton-nav{display:none}.header-skeleton{padding:10px 20px}}
#header.loaded .header-skeleton{display:none}
#header .topbar{display:none}
#header.loaded .topbar{display:flex}