.header{position:fixed;left:0;right:0;top:0;background:transparent;box-shadow:none;transition:background .2s}.header.scrolled{background:#0b5adb;box-shadow:0 3px 15px #0001}.bar{min-height:95px;gap:20px}.bar nav{gap:22px}.bar a{font-size:12px}.hero{min-height:650px;position:relative;background-position:top center;background-image:linear-gradient(#11101fc2,#11101fc2),url('assets/hero-bg.webp')}.hero:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:165px;background:white;clip-path:polygon(0 100%,100% 0,100% 100%)}.hero-inner{min-height:650px;padding:130px 20px 30px;grid-template-columns:1fr 1fr;gap:90px}.hero-copy{padding-bottom:80px}.hero h1{font-size:50px;font-weight:700;line-height:1.2}.hero-person{width:73%;height:auto;position:relative;z-index:1;align-self:end;margin:0 0 0 0;border-width:9px;border-radius:10px}.hero p{font-size:18px;line-height:1.5}.hero small{font-size:15px}.btn{text-transform:uppercase;font-size:13px;padding:12px 24px;border-radius:3px}.benefits{padding-top:90px;padding-bottom:120px}.section h2{color:#000;font-size:36px;font-weight:600}.three{gap:30px}.three article{padding:30px;background:#fff;box-shadow:0 0 3px #0002}.three{position:relative}.three:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(#3b82f650,white 70%)}.three h3{font-size:23px;line-height:1.3;color:#000}.three p,.about p,.four p{color:#565656;line-height:1.5}.icon{width:60px;height:60px;object-fit:contain}.projects{background:white;padding-top:30px;padding-bottom:30px}.project-grid{border:0}.project-grid article{border:1px solid #ddd;background:white}.about{padding-top:100px;padding-bottom:100px;grid-template-columns:1fr 1fr;gap:40px}.about ul{list-style:none;padding:0}.about li:before{content:'✓';color:#3b82f6;margin-right:12px}.cta{background:linear-gradient(#202942ee,#202942ee),url('assets/cta-bg.png') center/cover;padding:70px 20px}.cta .light{background:#3b82f6!important;color:white!important}.four{gap:0}.four article{border:1px solid #ddd;border-top:0;background:white;padding:30px}.four img{width:75px;height:75px;object-fit:contain}.four h3{color:black;font-size:22px;line-height:1.3}.faq{max-width:1140px}.faq details{border:1px solid #eee;padding:20px 25px;margin:10px 0}.faq summary{color:#000;list-style:none}.faq summary:after{content:'+';float:right;color:#3b82f6}.faq details[open] summary:after{content:'−'}.contact{background:white}.contact form{box-shadow:none;padding:0}.contact input,.contact textarea{border-color:#ddd}.contact h3{color:#000}.preview-message{color:#565656;font-size:14px}.source-note{font-size:14px}.project-grid span{font-size:32px}.skip:focus{left:20px;top:20px;z-index:100;background:white;padding:15px}section[id]{scroll-margin-top:95px}
@media(max-width:1100px){.bar nav{gap:14px}.bar img{width:165px}.bar a{font-size:11px}.hero h1{font-size:44px}.hero-inner{gap:50px}}
@media(max-width:900px){.menu{display:block;margin-left:auto}.bar nav{display:none;position:absolute;top:78px;left:0;right:0;background:#0b5adb;padding:25px;flex-direction:column;align-items:flex-start;gap:16px}.bar.menu-open nav{display:flex}.bar nav a{font-size:14px}.bar{min-height:78px}.hero-inner{gap:30px}.hero-person{width:100%}.hero h1{font-size:40px}}
@media(max-width:780px){.header{background:#0b5adb}.hero-inner{display:flex;flex-direction:column;align-items:flex-start;min-height:auto;padding:130px 30px 90px}.hero-copy{padding:0}.hero-person{display:block;width:100%;max-width:400px;align-self:center;margin-top:30px}.hero:after{height:65px}.hero h1{font-size:38px}.hero p{font-size:17px}.section{padding:70px 30px}.three,.four{gap:20px}.project-grid{grid-template-columns:1fr}.about img{order:0;max-height:none}.contact{gap:35px}.bar img{width:150px}.bar{gap:14px}.lang button{min-width:36px}.section h2{font-size:30px}.four article{border-top:1px solid #ddd}}
.scope{padding-top:30px;padding-bottom:30px}.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.scope-grid a{padding:26px;border:1px solid #ddd;color:black;text-decoration:none}.scope-grid a:hover{background:#f5f5f5}.scope-grid img{width:75px;height:75px;object-fit:contain}.scope-grid h3{font-size:21px;line-height:1.35;margin:15px 0 0}.scope>details{margin-top:40px;text-align:center}.scope summary{cursor:pointer;list-style:none}.details-copy{text-align:left;padding:30px 0;color:#565656}.details-copy h3{color:black}.about details{margin:20px 0}.about summary{cursor:pointer;color:#0b5adb;font-weight:700}.project-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:28px;scrollbar-width:none;padding:5px 2px}.project-carousel article{flex:0 0 calc((100% - 56px)/3);scroll-snap-align:start;background:#fff;padding:30px;border-radius:5px;box-shadow:0 0 3px #0002;min-width:0}.project-carousel h3{color:black;font-size:24px;margin:0 0 10px}.project-carousel span{font-size:32px;color:#3b82f6;font-weight:700}.project-carousel a{color:#0b5adb;font-size:14px}.carousel-controls{text-align:center;margin:22px auto}.carousel-controls button{width:44px;height:44px;margin:0 5px;border:1px solid #ddd;background:white;color:#0b5adb;font-size:25px;cursor:pointer}.projects{padding-top:90px;padding-bottom:60px}.projects h2{margin-bottom:20px}.projects .source-note{margin-bottom:35px}.contact input[type=file]{max-width:100%}
@media(max-width:780px){.scope-grid{grid-template-columns:1fr}.scope-grid a{display:flex;align-items:center;gap:20px}.scope-grid h3{margin:0}.project-carousel article{flex-basis:100%}}
.faq{padding-bottom:0}.faq-more{padding-top:0;padding-bottom:50px}.faq-more details{border:1px solid #eee;padding:20px 25px;margin:10px 0}.faq-more summary{font-size:18px;font-weight:700;color:#000;list-style:none;cursor:pointer}.faq-more summary:after{content:'+';float:right;color:#3b82f6}.faq-more details[open] summary:after{content:'−'}footer .footer-intro{display:flex;align-items:center;border-bottom:1px solid #ffffff30;padding-bottom:40px;margin-bottom:35px}footer .footer-intro>div{flex:1}footer .footer-intro h3{font-size:26px;margin:0}footer .footer-intro p{max-width:650px;color:#fffc}footer .footer-bottom{justify-content:space-between;border-top:1px solid #ffffff30;margin-top:35px;padding-top:20px;font-size:12px;color:#fff9}
@media(max-width:780px){footer .footer-intro{align-items:flex-start}.faq-more{padding-top:0}.footer-bottom{gap:0}}
