:root{--primary: #2563eb;--primary-hover: #1d4ed8;--dark: #0f172a;--light: #f8fafc;--text-main: #334155;--text-light: #64748b;--white: #ffffff}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--light);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--dark);font-weight:700;margin-bottom:1rem}p{color:var(--text-main);margin-bottom:1.5rem}a{text-decoration:none;color:inherit;transition:color .3s ease}.container{max-width:1200px;margin:0 auto;padding:2rem}button{cursor:pointer;font-family:inherit}html{scroll-behavior:smooth}.navbar{background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 24px #0000000f;padding:.9rem 2rem;display:flex;justify-content:space-between;align-items:center;border-radius:16px;border:1px solid #e2e8f0;margin:1.5rem 2rem;position:sticky;top:1rem;z-index:1000;opacity:.95}.navbar-logo a{display:flex;align-items:center}.logo-img{width:6.25rem;height:auto}.navbar-links{display:flex;gap:.5rem;list-style:none;margin:0;padding:0;align-items:center}.navbar-links li{padding:.5rem 1.3rem;border-radius:10px;font-size:1rem;font-weight:500;color:var(--dark);transition:color .3s ease,background .3s ease,transform .2s ease;cursor:pointer}.navbar-links li a{color:inherit;text-decoration:none;font-weight:inherit}.navbar-links li:hover:not(.contact){color:var(--primary);background:linear-gradient(135deg,#eff6ff,#e0e7ff)}.navbar-links li.contact{background:linear-gradient(135deg,var(--primary),#4f46e5);color:var(--white);font-weight:600;border-radius:10px;padding:.55rem 1.5rem;box-shadow:0 4px 14px #2563eb40;transition:transform .25s ease,box-shadow .25s ease}.navbar-links li.contact:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66}.navbar-links li.contact:active{transform:translateY(0) scale(.97)}.burger-menu{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.burger-menu span,.burger-menu span:before,.burger-menu span:after{display:block;width:1.5rem;height:2px;background:var(--dark);position:relative;transition:all .35s ease;border-radius:2px}.burger-menu span:before{content:"";position:absolute;top:-8px;left:0}.burger-menu span:after{content:"";position:absolute;bottom:-8px;left:0}.burger-menu span.open{background:transparent}.burger-menu span.open:before{transform:rotate(45deg);top:0}.burger-menu span.open:after{transform:rotate(-45deg);bottom:0}@media(max-width:767px){.navbar{margin:1rem;padding:.75rem 1.2rem;border-radius:14px}.burger-menu{display:block}.navbar-links{display:flex;flex-direction:column;position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fffffff7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:1.5rem;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 12px 40px #0000001a;gap:.4rem;opacity:0;transform:translateY(-12px);pointer-events:none;transition:all .35s cubic-bezier(.4,0,.2,1)}.navbar-links.active{opacity:1;transform:translateY(0);pointer-events:auto}.navbar-links li{width:100%;text-align:center;padding:.75rem 1rem;border-radius:10px;font-size:1.05rem}.navbar-links li:hover:not(.contact){background:linear-gradient(135deg,#eff6ff,#e0e7ff)}.navbar-links li.contact{margin-top:.3rem;padding:.75rem 1rem}}@media(max-width:400px){.navbar{margin:.6rem;padding:.65rem 1rem}.logo-img{width:5rem}.navbar-links{padding:1.2rem}}.contact-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;z-index:9999;padding:1rem;box-sizing:border-box;animation:contactFadeIn .3s ease-out}.contact-popup-overlay.closing{animation:contactFadeOut .3s ease-in forwards}.contact-popup-content{background:var(--white);width:100%;max-width:520px;padding:2.5rem;border-radius:20px;border:1px solid #e2e8f0;box-shadow:0 20px 60px #00000026;position:relative;display:flex;flex-direction:column;animation:contactSlideUp .35s cubic-bezier(.4,0,.2,1);max-height:90vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;margin:auto}.contact-popup-content:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary),#4f46e5,#7c3aed);border-radius:20px 20px 0 0}.contact-popup-overlay.closing .contact-popup-content{animation:contactSlideDown .3s ease-in forwards}.contact-popup-content h2{margin-top:.5rem;margin-bottom:.5rem;font-size:1.8rem;font-weight:700;text-align:center;background:linear-gradient(135deg,var(--dark),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-popup-subtitle{text-align:center;color:var(--text-light);font-size:1rem;line-height:1.6;margin-bottom:1.8rem}.contact-popup-close-btn{position:absolute;top:1rem;right:1.2rem;background:transparent;border:none;font-size:1.6rem;line-height:1;color:var(--text-light);cursor:pointer;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.contact-popup-close-btn:hover{background:#f1f5f9;color:var(--dark)}.contact-popup-content form{display:flex;flex-direction:column;gap:1.3rem}.contact-popup-form-group{display:flex;flex-direction:column;gap:.4rem;text-align:left}.contact-popup-form-group label{font-size:.95rem;font-weight:600;color:var(--dark)}.contact-popup-form-group input,.contact-popup-form-group textarea{padding:.9rem 1.1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-family:inherit;background:#f8fafc;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;outline:none;resize:vertical}.contact-popup-form-group input:focus,.contact-popup-form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f;background:var(--white)}.contact-popup-form-group input::placeholder,.contact-popup-form-group textarea::placeholder{color:#94a3b8}.contact-popup-submit-btn{margin-top:.5rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--primary),#4f46e5);color:var(--white);font-size:1.05rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;box-shadow:0 6px 20px #2563eb4d;transition:transform .25s ease,box-shadow .25s ease,opacity .2s;align-self:center;width:auto;min-width:180px}.contact-popup-submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #2563eb66}.contact-popup-submit-btn:active:not(:disabled){transform:translateY(-1px) scale(.98)}.contact-popup-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-popup-status-msg{margin-top:.5rem;font-size:.95rem;font-weight:600;text-align:center;padding:.8rem 1rem;border-radius:10px;animation:statusPopupFadeIn .4s ease}.contact-popup-status-msg.success{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.contact-popup-status-msg.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}@keyframes contactFadeIn{0%{opacity:0}to{opacity:1}}@keyframes contactFadeOut{0%{opacity:1}to{opacity:0}}@keyframes contactSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes contactSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(24px) scale(.96)}}@keyframes statusPopupFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.contact-popup-overlay{padding:.75rem;align-items:center}.contact-popup-content{width:100%;padding:2rem 1.3rem;border-radius:16px;max-height:88vh}.contact-popup-content h2{font-size:1.5rem}.contact-popup-subtitle{font-size:.9rem}.contact-popup-submit-btn{width:100%;min-width:unset}}@media(max-width:400px){.contact-popup-overlay{padding:.5rem}.contact-popup-content{width:100%;padding:1.5rem 1rem;border-radius:14px}.contact-popup-form-group input,.contact-popup-form-group textarea{padding:.75rem .9rem;font-size:.95rem}}.hero-section{display:flex;align-items:center;justify-content:space-between;padding:6rem 2rem 4rem;max-width:1200px;margin:0 auto;gap:3rem;min-height:85vh}.hero-text{flex:1 1 55%;max-width:600px}.hero-text h1{font-size:3.5rem;line-height:1.08;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--dark) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-text .hero-subtitle{font-size:1.25rem;color:var(--text-light);line-height:1.7;margin-bottom:2rem}.hero-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem}.hero-pill{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#eff6ff,#e0e7ff);color:var(--primary);font-weight:600;font-size:.92rem;padding:.5rem 1.1rem;border-radius:999px;border:1px solid rgba(37,99,235,.15);transition:transform .2s ease,box-shadow .2s ease}.hero-pill:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 4px 12px #2563eb2e}.cta-button{display:inline-block;background:linear-gradient(135deg,var(--primary),#4f46e5);color:var(--white);padding:1rem 2.4rem;border-radius:10px;font-weight:700;font-size:1.1rem;text-decoration:none;box-shadow:0 6px 20px #2563eb59;transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden}.cta-button:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);opacity:0;transition:opacity .3s}.cta-button:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 30px #2563eb73}.cta-button:hover:after{opacity:1}.hero-image{flex:1 1 45%;display:flex;justify-content:center;align-items:center;position:relative}.hero-image img{width:100%;max-width:520px;-webkit-mask-image:linear-gradient(to left,transparent 0%,black 25%,black 75%,transparent 100%);mask-image:linear-gradient(to left,transparent 0%,black 25%,black 75%,transparent 100%);filter:drop-shadow(0 20px 40px rgba(0,0,0,.08));animation:heroFloat 6s ease-in-out infinite}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.hero-image .hero-glow{position:absolute;width:70%;height:70%;background:radial-gradient(circle,rgba(37,99,235,.12) 0%,transparent 70%);border-radius:50%;z-index:-1;filter:blur(40px)}@media(max-width:900px){.hero-section{flex-direction:column;text-align:center;padding:4rem 1.5rem 3rem;min-height:auto}.hero-text{max-width:100%}.hero-text h1{font-size:2.5rem}.hero-pills{justify-content:center}.hero-image img{max-width:360px}}@media(max-width:500px){.hero-text h1{font-size:2rem}.hero-text .hero-subtitle{font-size:1.05rem}.cta-button{padding:.85rem 1.8rem;font-size:1rem}}.services-section{max-width:1200px;margin:0 auto;padding:5rem 2rem}.services-header{text-align:center;margin-bottom:1rem}.services-header h2{font-size:2.5rem;background:linear-gradient(135deg,var(--dark),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.services-header p{font-size:1.15rem;color:var(--text-light);max-width:650px;margin:1rem auto 3rem;line-height:1.7}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.card{background:var(--white);padding:2.2rem;border-radius:16px;border:1px solid #e2e8f0;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),#4f46e5);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.card:hover:before{transform:scaleX(1)}.card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a;border-color:var(--primary)}.card:active{transform:translateY(-4px) scale(.98)}.card-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1.2rem;background:linear-gradient(135deg,#eff6ff,#e0e7ff);transition:transform .3s ease}.card:hover .card-icon{transform:scale(1.12) rotate(-3deg)}.card h3{font-size:1.3rem;margin-bottom:.6rem;color:var(--dark)}.card p{color:var(--text-light);font-size:1rem;line-height:1.6;margin:0}@media(max-width:500px){.services-header h2{font-size:2rem}.card{padding:1.5rem}}.realisations-section{max-width:1200px;margin:0 auto;padding:5rem 2rem}.realisations-header{text-align:center;margin-bottom:3rem}.realisations-header h2{font-size:2.5rem;background:linear-gradient(135deg,var(--dark),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.realisations-header p{font-size:1.15rem;color:var(--text-light);margin-top:.8rem}.realisations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.realisation-card{background:var(--white);border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column}.realisation-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a;border-color:var(--primary)}.realisation-img-wrapper{position:relative;width:100%;height:200px;overflow:hidden;background:#f1f5f9}.realisation-img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.realisation-card:hover .realisation-img-wrapper img{transform:scale(1.06)}.realisation-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.realisation-body h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--dark)}.realisation-body p{color:var(--text-light);font-size:.95rem;line-height:1.6;margin:0;flex:1}.realisation-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.realisation-tag{background:#f1f5f9;color:var(--primary);font-size:.8rem;font-weight:600;padding:.25rem .75rem;border-radius:999px}@media(max-width:500px){.realisations-header h2{font-size:2rem}.realisations-grid{grid-template-columns:1fr}}.contact-section{max-width:800px;margin:0 auto;padding:5rem 2rem}.contact-card{background:var(--white);border-radius:20px;padding:3.5rem;box-shadow:0 8px 30px #00000014;border:1px solid #e2e8f0;position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary),#4f46e5,#7c3aed)}.contact-header{text-align:center;margin-bottom:2.5rem}.contact-header h2{font-size:2.2rem;background:linear-gradient(135deg,var(--dark),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.6rem}.contact-header p{color:var(--text-light);font-size:1.1rem;line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form-group{display:flex;flex-direction:column;gap:.4rem}.contact-form-group label{font-weight:600;font-size:.95rem;color:var(--dark)}.contact-form-group input,.contact-form-group textarea{padding:.9rem 1.1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-family:inherit;transition:border-color .3s ease,box-shadow .3s ease;background:#f8fafc;outline:none;resize:vertical}.contact-form-group input:focus,.contact-form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f;background:var(--white)}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-submit-btn{align-self:center;background:linear-gradient(135deg,var(--primary),#4f46e5);color:var(--white);padding:1rem 3rem;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #2563eb4d;transition:transform .25s ease,box-shadow .25s ease,opacity .2s;margin-top:.5rem}.contact-submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #2563eb66}.contact-submit-btn:active:not(:disabled){transform:translateY(-1px) scale(.98)}.contact-submit-btn:disabled{opacity:.65;cursor:not-allowed}.contact-status{text-align:center;padding:.8rem 1rem;border-radius:10px;font-weight:600;font-size:.95rem;animation:statusFadeIn .4s ease}.contact-status.success{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.contact-status.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}@keyframes statusFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.contact-card{padding:2rem 1.5rem}.contact-header h2{font-size:1.8rem}.contact-form-row{grid-template-columns:1fr}.contact-submit-btn{width:100%}}.app-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:#0f172a;opacity:1;transition:opacity .6s ease,visibility .6s ease}.app-loader.fade-out{opacity:0;visibility:hidden;pointer-events:none}.app-loader-content{display:flex;flex-direction:column;align-items:center;gap:2.5rem;animation:loaderContentIn .8s ease-out both}.app-loader-logo{display:flex;gap:6px;align-items:flex-end;height:40px}.app-loader-bar{width:6px;border-radius:3px;background:linear-gradient(180deg,#2563eb,#60a5fa);animation:loaderBar 1.2s ease-in-out infinite}.app-loader-bar:nth-child(1){height:40%;animation-delay:0s}.app-loader-bar:nth-child(2){height:70%;animation-delay:.15s}.app-loader-bar:nth-child(3){height:100%;animation-delay:.3s}.app-loader-bar:nth-child(4){height:70%;animation-delay:.45s}.app-loader-bar:nth-child(5){height:40%;animation-delay:.6s}.app-loader-shimmer{width:160px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent 0%,rgba(37,99,235,.5) 40%,rgba(96,165,250,.8) 50%,rgba(37,99,235,.5) 60%,transparent 100%);background-size:200% 100%;animation:loaderShimmer 1.5s ease-in-out infinite}@keyframes loaderContentIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loaderBar{0%,to{transform:scaleY(1);opacity:.6}50%{transform:scaleY(1.6);opacity:1}}@keyframes loaderShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
