:root{--color-black: #0a0a0a;--color-dark-gray: #1f1f1f;--color-light-gray: #e5e7eb;--color-white: #ffffff;--color-red: #c41e3a;--color-blue: #0056b2;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--font-heading: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}h2,h3{margin-top:var(--spacing-sm)}body{font-family:var(--font-body);color:var(--color-black);line-height:1.6}ul,ol{margin-left:var(--spacing-md)}.cards-grid li{margin-bottom:var(--spacing-md)}.cards-grid li p{margin-top:calc(var(--spacing-xs) * .5)}article{margin-bottom:var(--spacing-lg)}p{margin-bottom:calc(var(--spacing-sm) * 1.5)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}header{background-color:var(--color-black);color:var(--color-white)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.logo{font-size:1.5rem;font-weight:700;color:var(--color-white)}.logo img{height:80px;width:auto}.nav-menu{display:flex;gap:var(--spacing-md);list-style:none}.nav-menu a{color:var(--color-white);text-decoration:none;font-weight:500}.nav-menu a:hover{color:var(--color-red)}main{min-height:calc(100vh - 250px)}footer{background-color:var(--color-dark-gray);color:var(--color-white);padding:var(--spacing-lg) 0}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-info{text-align:center}.footer-logo{height:60px;width:auto}.footer-certification{height:64px;width:auto}.homepage-banner-container{width:100%;background-color:var(--color-black)}.banner-content{max-width:1200px;margin:0 auto}.homepage-banner{width:100%;height:auto}.hero-section{background-color:var(--color-black);color:var(--color-white);padding-top:calc(var(--spacing-lg) * 2 + var(--spacing-md));padding-bottom:calc(var(--spacing-lg) * 2)}.hero-section h1{font-size:3rem;margin-bottom:var(--spacing-md)}.hero-section p{font-size:1.25rem;color:var(--color-light-gray)}.visual-hero{background-color:#0d1b2a}.image-grid{display:grid;gap:var(--spacing-md)}.image-card img{width:100%;height:auto;border-radius:8px}.section{padding:calc(var(--spacing-lg) * 2) 0}.section h2{font-size:2.5rem;margin-bottom:var(--spacing-lg)}.cards-grid{display:grid;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.cards-grid.capabilities-list{gap:calc(var(--spacing-xs) * .5)}.card{background-color:var(--color-white);border-radius:8px;padding:var(--spacing-md)}.card h3{color:var(--color-blue);margin-bottom:var(--spacing-sm)}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-red);color:var(--color-white);text-decoration:none;border-radius:4px}.btn:hover{background-color:var(--color-blue)}.partner-logos-grid{display:grid;gap:var(--spacing-md)}.logo-card img{width:100%;height:auto;max-height:80px}.partner-logos-fullwidth-section{width:100%}.partner-logos-fullwidth-section h2{text-align:center}.partner-logos-grid-section{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;background-color:var(--color-black)}.partner-logo-container-inner{display:grid;gap:calc(var(--spacing-md) * .75);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);max-width:calc(1024px + (var(--spacing-md) * 3));margin-left:auto;margin-right:auto}.partner-logo{max-width:100%;max-height:80px;object-fit:contain}@media(min-width:1024px){.partner-logo-container-inner{grid-template-columns:repeat(4,1fr)}}@media(min-width:769px)and (max-width:1023px){.partner-logo-container-inner{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.partner-logo-container-inner{grid-template-columns:repeat(2,1fr)}}.project-photos-section{background-color:var(--color-light-gray)}@media(max-width:768px){.header-content{flex-direction:column;gap:var(--spacing-sm)}.nav-menu{flex-wrap:wrap;justify-content:center}.partner-logos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media(min-width:769px){.homepage-banner-container{height:auto;padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}}@media(max-width:768px){.homepage-banner-container{height:auto;padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}}
