@charset "UTF-8";html{scroll-padding-top:4rem;scroll-behavior:smooth}body{font-family:Poppins,Arial,sans-serif;margin:0;padding:0;line-height:1.6;color:#404040;background-color:#f4f4f9}.legal-content{padding:10%}.header{background-color:#f4f4f9;padding:1rem 2rem;border-bottom:1px solid #E0E0E0;position:sticky;top:0;z-index:1000}.container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.logo{display:flex;align-items:center}.logo-desktop{display:block;height:50px}.logo-mobile{display:none;height:40px;width:auto}.nav{display:flex;align-items:center}.nav-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:#28377a}.nav-menu{display:flex;gap:1.5rem}.nav-menu li{list-style:none;margin:.5rem 0;text-align:center}.nav-menu a{text-decoration:none;font-size:18px;font-weight:600;color:#28377a;padding:.75rem 1rem;display:block;border-radius:5px;transition:background-color .3s ease,color .3s ease}.nav-menu a:hover{background-color:#2c3869;color:#fff}.nav-menu{display:none;flex-direction:column;background-color:#f4f4f9;position:absolute;top:100%;left:0;width:100%;box-shadow:0 4px 8px #0000001a;padding:1rem 0;z-index:999;transition:transform .3s ease,opacity .3s ease;transform:translateY(-10px);opacity:0;margin-top:0}.nav-toggle{display:block}.logo-desktop{display:none}.logo-mobile{display:block}.nav-menu.active{display:flex;transform:translateY(0);opacity:1}.nav-menu.active li{padding:0 5%}#hero{text-align:center;background-color:#f4f4f9;position:relative;display:flex;flex-direction:row-reverse}#hero:before{content:" ";display:block;position:absolute;left:0;top:0;width:100%;height:100%;opacity:1;background-image:url(/assets/images/freepik__background__88497.webp);background-repeat:no-repeat;background-size:contain}#hero-content{position:relative;z-index:1;padding:4rem 1rem;width:100%;margin-block-start:40%}#hero h1{font-family:Poppins,Arial,sans-serif;font-size:36px;color:#28377a}#hero p{font-size:18px;margin:1rem 0}.btn,.button,button,input[type=submit]{display:inline-block;padding:.75rem 1.5rem;background-color:#28377a;color:#fff;font-weight:600;text-decoration:none;border:none;border-radius:4px;transition:background-color .2s ease;cursor:pointer}.btn:hover,.button:hover,button:hover,input[type=submit]:hover{background-color:#6392ff;color:#fff}.btn:focus-visible,.button:focus-visible,button:focus-visible,input[type=submit]:focus-visible{background-color:#6392ff;color:#fff;outline:3px solid #6392FF;outline-offset:2px}#services,#projects{padding:4rem 1rem;text-align:center;background-color:#fff}#services h2,#projects h2{font-family:Poppins,Arial,sans-serif;font-size:28px;color:#28377a;margin-bottom:2rem}.section-intro{font-size:18px;margin-bottom:1rem;max-width:800px;margin-left:auto;margin-right:auto;color:#404040}.service-card{display:inline-block;width:300px;margin:1rem;padding:1.5rem;border:1px solid #F4F4F9;border-radius:5px;background-color:#fff;box-shadow:0 4px 8px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.service-card h3{font-size:20px;color:#28377a;margin-bottom:.5rem}.service-card img{width:100%;height:100px;object-fit:cover;object-position:center;margin-bottom:1rem;border-radius:5px}.service-card p{font-size:16px}.service-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #00000026}#services>.btn{display:block;width:fit-content;max-width:100%;margin:2rem auto 0}.contact{padding:4rem 1rem;background-color:#f4f4f9;text-align:center}.contact h2{font-family:Poppins,Arial,sans-serif;font-size:28px;color:#28377a;margin-bottom:1rem}.contact p{font-size:16px;margin-bottom:2rem;color:#404040}.contact-form{max-width:500px;margin:auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 8px #0000001a}.contact-form .form-group{margin-bottom:1.5rem;text-align:left;width:100%}#consent-group,#quote-consent-group{margin-bottom:1.5rem;text-align:left;display:flex;align-items:flex-start;gap:.5rem}.contact-form input[type=checkbox]{margin:4px 0 0;width:auto}#consent-label,#quote-consent-label,.label-text{font-size:14px;font-weight:400;color:#404040;line-height:1.5;margin:0}.contact-form label{display:block;font-size:14px;font-weight:600;color:#404040;margin-bottom:.5rem}.contact-form input,.contact-form textarea,.contact-form select{width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #CCC;border-radius:5px;font-size:16px;color:#404040;background-color:#f9f9f9;box-shadow:inset 0 1px 2px #0000001a;transition:border-color .3s ease}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#6392ff;outline:none}.contact-form .required{color:#f0b429}.contact-form textarea{resize:vertical}.contact-form input[type=checkbox]{width:auto;margin-right:.5rem}.contact-form a{color:#1a48c4;text-decoration:none;font-size:14px;font-weight:bolder}.contact-form a:hover{text-decoration:underline}.submit-button{font-size:16px}#contact-form-alert,#quote-form-alert{margin:1rem 0;padding:1rem;border-radius:5px;text-align:center}footer{background-color:#404040;color:#fff;text-align:center;padding:1.5rem 0}footer a{color:#9db4ff;text-decoration:none}footer a:hover{text-decoration:underline}#legal{list-style:none;padding:0}@media(max-width:768px){header nav{flex-direction:column;gap:1rem}.service-card{width:100%;box-sizing:border-box;margin:1rem auto}}@media(min-width:768px){.nav-menu{display:flex;position:static;flex-direction:row;background-color:transparent;box-shadow:none;padding:0;opacity:1;margin-block-end:auto;margin-top:1em}.nav-toggle{display:none}.logo-desktop{display:block}.logo-mobile{display:none}#hero-content{text-align:end;width:100%;margin-block-start:0;background-color:#f4f4f9b3}}@media(min-width:1024px){#hero-content{text-align:end;padding-left:60%;margin-block-start:0;background-color:#f4f4f91a}#hero:before{left:-150px}}@media(min-width:1440px){#hero-content{text-align:center;padding-left:70%}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:20px;justify-content:center}.project-card{position:relative;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 8px #0000001a;transition:transform .3s ease-in-out}.card-content{height:100%}.project-card:hover{transform:scale(1.05)}.project-cover{width:100%;height:200px;object-fit:cover}.project-category{position:absolute;top:10px;right:10px;background:#28377a;color:#fff;font-size:.9em;padding:5px 10px;border-radius:5px}.project-info{padding:10px;text-align:center;background:#fff;position:relative;z-index:2;height:100%}.project-title{font-size:1.2em;font-weight:700;margin:10px 0}.project-link{display:inline-block;margin-top:10px;padding:.75rem 1.5rem;background:#28377a;color:#fff;text-decoration:none;font-weight:600;border-radius:4px;font-size:1rem;position:relative;z-index:2;transition:background-color .2s ease}.project-link:hover{background:#6392ff}.learn-more-button,.project-more-button{display:inline-block;margin-top:10px;padding:.75rem 1.5rem;background:transparent;color:#28377a;border:1px solid #28377A;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s,color .2s;text-decoration:none}.learn-more-button:hover,.project-more-button:hover{background-color:#28377a;color:#fff}.learn-more-button:focus-visible,.project-more-button:focus-visible{background-color:#28377a;color:#fff;outline:3px solid #6392FF;outline-offset:2px}.project-hover{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000bf;color:#fff;display:flex;align-items:flex-start;justify-content:center;opacity:0;transition:opacity .3s ease-in-out;padding:20px;box-sizing:border-box}.project-card:hover .project-hover{opacity:1}.project-hover-content p{max-width:100%;max-height:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;white-space:normal}.project-logo{width:60px;height:60px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:2rem 0;text-align:center;min-height:2.5rem;position:relative}.loader:before{content:"";display:block;width:2rem;height:2rem;border:3px solid #ccc;border-top-color:#2c3869;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.loader.hidden{display:none}#skip-link,.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px 16px;z-index:1000;text-decoration:none;transition:top .3s}#skip-link:focus,.skip-link:focus{top:0}.form-error{color:#c62828!important;font-size:.9rem;margin-top:.25rem}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true],input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus,select[aria-invalid=true]:focus{border:2px solid #C62828;outline:none}input[type=checkbox][aria-invalid=true]{outline:2px solid #C62828;outline-offset:2px}.skeleton-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1rem 0}.skeleton-block{height:180px;border-radius:8px;background:#f4f4f9;position:relative;overflow:hidden}.skeleton-block:after{content:"";position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(to right,transparent 0%,#e0e0e0 50%,transparent 100%);animation:skeleton-shimmer 1.2s infinite}@keyframes skeleton-shimmer{0%{left:-50%}to{left:100%}}.error-message{display:none;color:#f44336;font-weight:500;margin-top:1rem;font-size:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-menu a.active{position:relative}.nav-menu a.active:after{content:"";position:absolute;bottom:-.3em;left:0;width:100%;height:2px;background-color:#6392ff;border-radius:1px}section{min-height:80vh;padding:2rem 0}.legal-content section{min-height:auto}.hidden{display:none!important}#project-modal{max-width:calc(100% - 3em - 6px);border:none;border-radius:10px}.modal-overlay{position:fixed;inset:0;background-color:#0006;display:none;justify-content:center;align-items:center;z-index:9999}.modal-content{background:#fff;padding:2rem;max-width:800px;max-height:90vh;overflow-y:auto;border-radius:6px;position:relative}.modal-link{margin-bottom:1em}.modal-description{text-align:justify}.modal-close{position:absolute;top:.5rem;right:1rem;font-size:2rem;background:transparent;border:none;cursor:pointer}body.modal-open{overflow:hidden}@media(max-width:768px){.project-buttons .learn-more-button{display:block;width:100%;margin-top:.5rem}}.form-tabs{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.tab-button{background:none;border:2px solid var(--primary-color, #28377A);padding:.5rem 1rem;cursor:pointer;font-weight:700;border-radius:4px;color:var(--primary-color, #28377A);transition:background-color .2s,color .2s}.tab-button:focus-visible{outline:3px solid #6392FF;outline-offset:2px}.tab-button.active{background-color:var(--primary-color, #28377A);color:#fff}.form-section.hidden{display:none}.tabs{display:flex;gap:1rem;margin-bottom:1rem}.tab-content{display:none}.tab-content.active{display:block}.form-loader{display:none;width:2rem;height:2rem;border:3px solid #ccc;border-top-color:#2c3869;border-radius:50%;animation:spin .8s linear infinite;margin:1rem auto}.form-loader.visible{display:block}.form-loader.hidden{display:none}.focus-visible,:focus-visible{outline:3px solid #2C3869;outline-offset:2px}#faq{padding:4rem 1rem;background-color:#fff;text-align:left;margin:0 auto}#faq h2{font-family:Poppins,Arial,sans-serif;font-size:28px;color:#28377a;margin-bottom:2rem;text-align:center}.faq-list details{margin-bottom:1.5rem;border:1px solid #E0E0E0;border-radius:5px;padding:1rem;background-color:#f9f9f9;transition:all .3s ease}.faq-list summary{font-size:18px;font-weight:600;color:#28377a;cursor:pointer;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"\ff0b";position:absolute;right:0;font-weight:700;transition:transform .3s}.faq-list details[open] summary:after{content:"\2212"}.faq-list p{margin-top:1rem;font-size:16px;line-height:1.5;color:#404040}
