:root{--color-primary:#1e40af;--color-primary-dark:#1e3a8a;--color-primary-light:#3b82f6;--color-secondary:#64748b;--color-secondary-dark:#475569;--color-accent:#e2e8f0;--color-text:#2c3e50;--color-text-dark:#1e293b;--color-text-light:#64748b;--color-background:#fff;--color-background-light:#f8f9fa;--color-background-dark:#e9ecef;--color-border:#dee2e6;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--line-height:1.7;--fs-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);--fs-small:clamp(0.875rem,0.85rem + 0.125vw,0.9375rem);--fs-xs:clamp(0.75rem,0.735rem + 0.075vw,0.8125rem);--fs-h1:clamp(2.5rem,1.75rem + 3.75vw,3.5rem);--fs-h2:clamp(2rem,1.5rem + 2.5vw,2.4rem);--fs-h3:clamp(1.5rem,1.25rem + 1.25vw,1.75rem);--fs-h4:clamp(1.25rem,1.125rem + 0.625vw,1.5rem);--fs-h5:clamp(1.125rem,1.0625rem + 0.3125vw,1.25rem);--fs-hero:clamp(2.75rem,2rem + 3.75vw,3.75rem);--fs-lead:clamp(1.125rem,1.05rem + 0.375vw,1.3rem);--fs-button:clamp(0.9375rem,0.9rem + 0.1875vw,1rem);--fs-nav:clamp(0.9375rem,0.9rem + 0.1875vw,1rem);--fs-footer:clamp(0.875rem,0.85rem + 0.125vw,0.9375rem);--spacing-unit:0.5rem;--section-spacing:clamp(5rem,4rem + 5vw,8rem);--border-radius:12px;--border-radius-sm:8px;--box-shadow:0 4px 20px rgba(30,64,175,.08);--box-shadow-hover:0 12px 40px rgba(30,64,175,.15);--transition:all 0.3s cubic-bezier(0.25,0.8,0.25,1);--header-height:80px}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-family);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-background);scroll-behavior:smooth;font-size:var(--fs-base)}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(1rem,.75rem + 1.25vw,2rem)}.page-container{min-height:calc(100vh - 180px);padding-bottom:2rem}header{background-color:var(--color-background);box-shadow:0 2px 20px rgba(30,64,175,.06);padding:1.2rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100;height:var(--header-height);border-bottom:1px solid rgba(30,64,175,.08)}.header-container,header{display:flex;align-items:center}.header-container{justify-content:space-between;max-width:1400px;margin:0 auto;padding:0 2rem}.logo{font-size:var(--fs-h4);font-weight:700;color:#1e40af;letter-spacing:-.02em;position:relative;display:inline-block;transition:color .3s ease}.logo:hover{color:var(--color-primary-light)}.logo:after{content:"";position:absolute;width:6px;height:6px;background-color:#64748b;border-radius:50%;bottom:6px;right:-8px;transition:background-color .3s ease}.logo:hover:after{background-color:var(--color-primary-light)}.hamburger-menu{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:150;position:relative;margin-right:10px}.hamburger-line{width:30px;height:3px;background-color:#1e40af;border-radius:10px;transition:all .3s ease-in-out}.hamburger-menu.active .hamburger-line:first-child,.hamburger-menu.active .hamburger-line:nth-child(2),.hamburger-menu.active .hamburger-line:nth-child(3){transform:none;opacity:1}.nav-links{display:flex;gap:3rem;list-style:none;margin:0;padding:0}.nav-links a{font-weight:500;position:relative;padding:.5rem 0;transition:color .3s;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}.nav-links a:hover{color:#1e40af}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#1e40af;transition:width .3s}.nav-links a:hover:after{width:100%}footer{background-color:var(--color-background-light);padding:6rem 0 4rem;margin-top:4rem;border-top:1px solid var(--color-border)}.footer-container{display:flex;flex-direction:column;gap:3rem}.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4rem}.footer-info{flex:1.5 1;min-width:300px}.footer-info h2{font-size:var(--fs-h4);color:#1e40af;margin-bottom:1.5rem;letter-spacing:-.01em;position:relative;display:inline-block}.footer-info h2:after{content:"";position:absolute;width:30px;height:2px;background-color:#3b82f6;bottom:-8px;left:0}.footer-contact{flex:1 1;min-width:260px}.footer-contact h3{font-size:var(--fs-h5);color:var(--color-text-dark);margin-bottom:1.5rem;position:relative;display:inline-block}.footer-contact h3:after{content:"";position:absolute;width:20px;height:2px;background-color:#3b82f6;bottom:-8px;left:0}.contact-list{list-style:none;font-size:var(--fs-footer)}.contact-list li{margin-bottom:1.2rem;display:flex;align-items:center;gap:.9rem;color:var(--color-text-light)}.footer-bottom{border-top:1px solid var(--color-border);padding-top:2rem;text-align:center;font-size:var(--fs-footer);color:var(--color-text-light)}.button,button{display:inline-block;padding:clamp(.75rem,.6rem + .75vw,1rem) clamp(1.5rem,1.25rem + 1.25vw,2rem);border-radius:var(--border-radius-sm);font-weight:500;text-align:center;cursor:pointer;transition:var(--transition);border:none;font-size:var(--fs-button);letter-spacing:.01em;min-height:48px;min-width:44px}.button-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px rgba(95,36,159,.3);position:relative;overflow:hidden}.button-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-3px);box-shadow:0 8px 20px rgba(95,36,159,.4)}.button-primary:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:.5s}.button-primary:hover:after{left:100%}.button-secondary{background-color:var(--color-secondary);color:#fff;box-shadow:0 4px 12px rgba(139,98,217,.2);position:relative;overflow:hidden}.button-secondary:hover{background-color:var(--color-secondary-dark);transform:translateY(-3px);box-shadow:0 8px 20px rgba(139,98,217,.3)}.button-secondary:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:.5s}.button-secondary:hover:after{left:100%}.button-text{background-color:transparent;color:var(--color-primary-dark);padding:.7rem 1.4rem;font-weight:500;position:relative;overflow:hidden}.button-text:hover{color:var(--color-primary);background-color:rgba(156,178,176,.05)}.button-text:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-primary);transition:width .3s}.button-text:hover:after{width:100%}.section-title{margin-bottom:1.5rem;font-size:var(--fs-h2);color:var(--color-text-dark);font-weight:700;letter-spacing:-.02em;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-12px;left:0;width:60px;height:3px;background-color:#1e40af}.section-description{margin-bottom:3.5rem;color:var(--color-text-light);font-size:1.2rem;max-width:800px;line-height:1.7}.hero-section{padding:9rem 0 8rem;background:linear-gradient(135deg,#1e3a8a,#1e40af);text-align:center;position:relative;overflow:hidden;color:#fff}.hero-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,rgba(100,116,139,.2) 0,rgba(100,116,139,0) 70%);z-index:1}.hero-content{max-width:900px;margin:0 auto;position:relative;z-index:2}.hero-title{font-size:var(--fs-hero);margin-bottom:2rem;color:#fff;line-height:1.2;font-weight:800;letter-spacing:-.03em}.hero-subtitle{font-size:var(--fs-lead);color:hsla(0,0%,100%,.9);margin-bottom:3rem;line-height:1.6;max-width:800px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1.5rem;justify-content:center}.features-section{padding:var(--section-spacing) 0;background-color:var(--color-background);position:relative}.features-section:before{content:"";position:absolute;width:350px;height:350px;background:radial-gradient(circle,rgba(156,178,176,.05) 0,rgba(156,178,176,0) 70%);top:10%;right:-100px;border-radius:50%}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:3rem;gap:3rem;margin-top:4rem}.feature-card{padding:2.5rem;background:linear-gradient(to bottom right,#fff,#f8fafc);border-radius:var(--border-radius);box-shadow:0 4px 20px rgba(30,64,175,.06);transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:1px solid rgba(30,64,175,.1);height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;gap:1.5rem}.feature-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#1e40af,#3b82f6);opacity:0;transition:opacity .3s ease}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px rgba(30,64,175,.1);border-color:rgba(30,64,175,.2)}.feature-card:hover:before{opacity:1}.feature-icon{font-size:2.5rem;color:#1e40af;margin-bottom:2rem;display:block;position:relative;text-align:center}.feature-icon:after{content:"";position:absolute;width:50px;height:50px;background-color:rgba(30,64,175,.1);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}.feature-title{font-size:var(--fs-h4);color:var(--color-text-dark);font-weight:700;letter-spacing:-.01em;position:relative;display:inline-block;margin-bottom:0;padding-bottom:1rem}.feature-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:linear-gradient(90deg,#1e40af,#3b82f6)}.feature-card p{line-height:1.7;color:var(--color-text-light);font-size:.95rem;margin:0;padding-left:.5rem;border-left:2px solid rgba(30,64,175,.1)}.projects-section{padding:var(--section-spacing) 0;background-color:var(--color-background-light);position:relative}.projects-section:before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background-image:radial-gradient(circle,rgba(30,64,175,.1) 0,rgba(30,64,175,0) 70%);z-index:1}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));grid-gap:3rem;gap:3rem;position:relative;z-index:2}.project-card{background-color:var(--color-background);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--box-shadow);transition:var(--transition);height:100%;display:flex;flex-direction:column;border:1px solid var(--color-border)}.project-card:hover{transform:translateY(-10px);box-shadow:var(--box-shadow-hover);border-color:#3b82f6}.project-image{height:260px;background-size:cover;background-position:50%;position:relative}.project-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.2))}.project-content{padding:2.5rem;flex:1 1;display:flex;flex-direction:column}.project-title{font-size:var(--fs-h3);margin-bottom:1rem;color:var(--color-text-dark);font-weight:600;line-height:1.3}.view-all-link{display:block;text-align:center;margin-top:4rem;font-weight:600;color:#1e40af;position:relative;transition:var(--transition);font-size:1.1rem}.view-all-link:hover{color:#1e3a8a}.view-all-link:after{content:"";position:absolute;bottom:-6px;left:50%;width:0;height:2px;background-color:#1e40af;transition:width .3s,left .3s}.view-all-link:hover:after{width:120px;left:calc(50% - 60px)}.tools-section{padding:var(--section-spacing) 0;background-color:var(--color-background);position:relative}.tools-section:before{content:"";position:absolute;bottom:0;left:0;width:250px;height:250px;background-image:radial-gradient(circle,rgba(156,178,176,.07) 0,rgba(156,178,176,0) 70%);z-index:1}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:3rem;gap:3rem;position:relative;z-index:2}.tool-card{padding:2.5rem;background-color:var(--color-background);border-radius:var(--border-radius);border:1px solid var(--color-border);transition:var(--transition);height:100%;display:flex;flex-direction:column}.tool-card:hover{border-color:#1e40af;transform:translateY(-8px);box-shadow:var(--box-shadow)}.tool-title{font-size:1.4rem;margin-bottom:1.2rem;color:#1e40af;font-weight:600;position:relative;padding-bottom:1rem}.tool-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background-color:#3b82f6}.study-section{padding:var(--section-spacing) 0;background-color:var(--color-background-light);position:relative}.study-section:before{content:"";position:absolute;top:50%;right:0;width:200px;height:200px;background-image:radial-gradient(circle,rgba(156,178,176,.08) 0,rgba(156,178,176,0) 70%);z-index:1;transform:translateY(-50%)}.study-content{max-width:850px;margin:0 auto;text-align:center;position:relative;z-index:2;padding:4rem;background-color:var(--color-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:1px solid var(--color-border)}.study-content p{margin-bottom:1.8rem;font-size:1.15rem;line-height:1.8;color:var(--color-text)}.study-cta{margin-top:3rem}.cta-section{padding:var(--section-spacing) 0;background-color:#1e40af;color:#fff;text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(30,58,138,.7),rgba(30,64,175,.3));z-index:1}.cta-content{max-width:850px;margin:0 auto;position:relative;z-index:2}.cta-title{font-size:3rem;margin-bottom:2rem;font-weight:700;letter-spacing:-.02em}.cta-description{font-size:1.3rem;margin-bottom:3.5rem;opacity:.95;line-height:1.7}.cta-button{background-color:#fff;color:var(--color-primary-dark);font-weight:600;padding:1.2rem 2.5rem;box-shadow:0 6px 15px rgba(0,0,0,.1)}.cta-button:hover{background-color:var(--color-background);transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.15)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-section{animation:fadeInUp .8s ease-out forwards}@media (max-width:1200px){:root{--section-spacing:7rem}.features-grid,.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.5rem}.hero-title{font-size:3.2rem}}@media (max-width:992px){:root{--section-spacing:6rem}.section-title{font-size:2.2rem}.hero-title{font-size:2.8rem}.hero-section{padding:7rem 0 6rem}.feature-card{padding:2.5rem}.project-image{height:240px}.cta-title{font-size:2.6rem}.study-content{padding:3.5rem}.nav-links{gap:2rem}}@media (max-width:768px){:root{--section-spacing:5rem;--header-height:70px}.container{padding:0 1.5rem}.hero-title{font-size:2.4rem}.section-title{font-size:2rem}.hero-section{padding:6rem 0 5rem}.feature-card,.project-card,.tool-card{padding:2rem}.footer-top{flex-direction:column;gap:3rem}.cta-title{font-size:2.2rem}.cta-description{font-size:1.15rem}.study-content{padding:2.5rem 2rem}.hero-buttons{flex-direction:column;gap:1.2rem;max-width:280px;margin:0 auto}.project-image{height:220px}.hamburger-menu{display:flex;width:30px;height:24px;margin-right:10px;position:relative;z-index:150;padding:0;overflow:visible}nav{position:fixed;top:0;right:-280px;width:280px;height:100vh;background-color:var(--color-background);box-shadow:-5px 0 15px rgba(0,0,0,.1);overflow:hidden;transition:right .3s ease-in-out;z-index:100}nav.mobile-nav-open{right:0;box-shadow:-5px 0 25px rgba(0,0,0,.1)}.nav-links{flex-direction:column;gap:0;padding:calc(var(--header-height) + 2rem) 2rem 2rem;height:100%}.nav-links li{width:100%;border-bottom:1px solid var(--color-border)}.nav-links a{display:block;padding:1rem 0;font-size:1.1rem;width:100%;min-height:44px;display:flex;align-items:center}.nav-links a:after{display:none}.button,button{display:flex;align-items:center;justify-content:center;min-height:54px}.nav-links li:not(:last-child){margin-bottom:.25rem}.hamburger-menu{padding:8px;margin:0}.hamburger-line{width:26px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-nav-open .nav-links li{animation:fadeIn .4s ease-in-out forwards;opacity:0}.mobile-nav-open .nav-links li:first-child{animation-delay:.1s}.mobile-nav-open .nav-links li:nth-child(2){animation-delay:.2s}.mobile-nav-open .nav-links li:nth-child(3){animation-delay:.3s}.mobile-nav-open .nav-links li:nth-child(4){animation-delay:.4s}.mobile-nav-open .nav-links li:nth-child(5){animation-delay:.5s}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;opacity:0;animation:fadeIn .3s ease-in-out forwards}:focus-visible{outline:3px solid #1e40af;outline-offset:3px;border-radius:3px}