@font-face{font-family:Oswald;src:url("assets/fonts/oswald-300.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Oswald;src:url("assets/fonts/oswald-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Oswald;src:url("assets/fonts/oswald-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Oswald;src:url("assets/fonts/oswald-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Oswald;src:url("assets/fonts/oswald-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{--orange:#f36d21;--purple:#1d1d58;--text:#666;--container:min(1000px,80%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:"Open Sans",Arial,sans-serif;font-size:14px;line-height:1.7;font-weight:500;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:var(--container);margin:auto;position:relative}
.original-section{scroll-margin-top:115px}
.skip-link{position:fixed;z-index:999;top:5px;left:5px;padding:8px 12px;background:#fff;color:#111;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:relative;z-index:100;background:#fff}
.top-bar{height:31px;background:#000;color:#fff;font-size:12px;font-weight:700}
.top-inner{height:31px;display:flex;align-items:center;justify-content:space-between}
.top-contact{display:flex;gap:16px}
.top-contact a:hover,.facebook-top:hover{opacity:.8}
.top-contact span{margin-right:4px}
.facebook-top{font:700 16px Arial}
.main-nav{height:78px;display:flex;align-items:center;justify-content:space-between}
.logo{width:225px;flex:none}
.menu{display:flex;align-items:center;gap:29px;color:#5d5d5d;font-size:15px;font-weight:700}
.menu a{white-space:nowrap;transition:color .2s}
.menu a:hover,.menu a.active{color:#25205e}
.search-toggle{padding:0;border:0;background:transparent;color:#555;font:400 27px/1 Arial;cursor:pointer;transform:rotate(-20deg)}
.search-panel{position:absolute;inset:0 0 0 320px;z-index:4;align-items:center;background:#fff}
.search-panel:not([hidden]){display:flex}
.search-panel input{width:100%;padding:12px 50px 12px 15px;border:1px solid #ddd;font-size:15px}
.search-close{position:absolute;right:12px;border:0;background:transparent;font-size:28px;cursor:pointer}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:#333}
@media(min-width:981px){.site-header.is-sticky .top-bar{position:fixed;top:0;left:0;right:0}.site-header.is-sticky .main-nav{position:fixed;top:31px;left:0;right:0;width:100%;padding-inline:10%;height:55px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}.site-header.is-sticky .logo{width:150px}.site-header.is-sticky+.hero{padding-top:78px}}

.hero{padding:58px 0 46px;text-align:center;background:#fff}
.hero h1{margin:0 auto 35px;color:#000;font-family:Oswald,sans-serif;font-size:96px;line-height:1.1;font-weight:700;letter-spacing:.16em}
.rounded-wide{width:100%;border-radius:10px}
.hero .rounded-wide{height:590px;object-fit:cover}
.small-section-title{margin:22px 0 0;color:#333;font:700 29px/1.2 Oswald,sans-serif;letter-spacing:.03em}

.about{padding:0 0 80px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.circle-photo{width:470px;height:470px;border-radius:50%;overflow:hidden}
.circle-photo img{width:100%;height:100%;object-fit:cover}
.about-text{text-align:center}
.about-text h2{margin:0 0 34px;color:#bcbcbc;font:500 52px/1.35 Oswald,sans-serif;text-transform:uppercase}
.about-text p{margin:0;color:#303030;font:500 18px/1.75 Oswald,sans-serif}

.services{padding:0 0 50px}
.services-cover{height:500px;object-fit:cover}
.large-section-title{margin:34px 0 50px;color:#252525;text-align:center;font:600 43px/1.2 Oswald,sans-serif;letter-spacing:.01em}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;min-height:300px;padding:15px 0 45px;background:linear-gradient(65deg,transparent 0 30%,rgba(248,248,248,.95) 30% 70%,transparent 70%)}
.service-column h3{margin:0 0 6px;color:var(--orange);font:700 26px/1.05 "Open Sans",sans-serif}
.service-column ul{margin:0;padding-left:17px;color:#6b6b6b;font-size:16px;line-height:1.62;list-style:disc}
.service-column li::marker{font-size:10px}
.machinery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px}
.machinery-grid img{width:100%;aspect-ratio:1/1;border-radius:8px;object-fit:cover}
.bachefix-logo{width:255px;margin:32px auto 0}

.infrastructure{padding:65px 0 60px;border-top:1px solid #f3f3f3}
.infrastructure .large-section-title{margin-bottom:58px}
.infrastructure-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.infrastructure-grid ul{margin:0;padding-left:17px;font-size:16px;line-height:1.62}
.infrastructure-grid li::marker{font-size:10px}
.infrastructure-grid img{width:100%}

.experience{padding:45px 0 85px;text-align:center}
.experience h2{margin:0 0 42px;color:#222;font:500 42px/1.3 Oswald,sans-serif}
.experience-images{display:flex;justify-content:center;gap:62px}
.experience-images img{width:385px;height:385px;border-radius:50%;object-fit:cover}

.portfolio{padding:35px 0 75px}
.portfolio> .container>h2{margin:0 0 45px;color:#333;text-align:center;font:500 39px/1.2 Oswald,sans-serif}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:52px 5.5%}
.portfolio-item{text-align:center}
.portfolio-item img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:opacity .2s}
.portfolio-item:hover img{opacity:.8}
.portfolio-item h3{margin:13px 0 0;color:#333;font:700 14px/1.45 "Open Sans",sans-serif}

.clients{padding:40px 0 70px}
.clients h2{margin:0 0 45px;color:#222;text-align:center;font:700 36px/1.2 "Open Sans",sans-serif}
.client-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}
.client-grid img{width:100%;object-fit:contain}

.contact{padding:55px 0 20px;background:#f6f6f6}
.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-copy h2,.contact-form h2,.work-together h2{margin:0 0 26px;color:#333;font:500 31px/1.2 Oswald,sans-serif}
.contact-copy p{margin:0 0 10px;font-size:14px}
.contact-copy a{color:#2ea3f2}
.social-links{display:flex;gap:10px;margin-top:24px}
.social-links a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#3a5998;color:#fff;font-size:20px;font-weight:700}
.social-links a+ a{background:#bf2b84}
.contact-form label:not(.captcha-row label){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.contact-form input,.contact-form textarea{width:100%;margin:0 0 15px;padding:13px;border:0;background:#eee;color:#444;font-size:14px}
.contact-form textarea{min-height:130px;resize:vertical}
.captcha-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.captcha-row input{width:80px;margin:0}
.contact-form button{float:right;padding:8px 20px;border:2px solid #2ea3f2;border-radius:3px;background:transparent;color:#2ea3f2;font-size:18px;font-weight:500;cursor:pointer}
.form-status{clear:both;padding-top:12px;color:#333}
.work-together{padding-top:60px;text-align:center}
.whatsapp-button{display:inline-block;margin:0 0 25px;padding:10px 24px;border:2px solid #f36d21;border-radius:3px;color:#f36d21;font-size:18px;font-weight:600}
.work-together p{font-size:16px}

.main-location{padding-top:35px;background:#505050;color:#fff;text-align:center}
.main-location h2{margin:0 0 28px;font:500 29px Oswald,sans-serif}
.main-location iframe{display:block;width:100%;height:520px;border:0}
.other-locations{padding:55px 0 0}
.other-locations>.container>h2{margin:0 0 44px;color:#222;text-align:center;font:700 37px "Open Sans",sans-serif}
.location-row{display:grid;grid-template-columns:1fr 1fr;min-height:370px}
.location-row.reverse .location-copy{order:2}
.location-row.reverse iframe{order:1}
.location-copy{display:grid;place-items:center;padding:40px;background:#f6f6f6;text-align:center}
.location-copy h3{margin:0;color:#333;font:600 24px/1.45 Oswald,sans-serif}
.location-row iframe{width:100%;height:370px;border:0}

.site-footer{padding:18px 0;background:#222;color:#777;font-size:12px}
.site-footer .container{display:flex;align-items:center;gap:20px}
.site-footer a{font:bold 18px Arial;color:#777}

.gallery-page{min-height:60vh;padding:58px 0 80px}
.gallery-page h1{margin:0 0 32px;color:#333;font:500 30px/1.25 "Open Sans",sans-serif}
.gallery-group-title{margin:35px 0 16px;color:#333;text-align:center;font:700 14px/1.5 "Open Sans",sans-serif}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 18px}
.gallery-button{display:block;padding:0;border:0;background:transparent;cursor:pointer}
.gallery-button img{width:100%;aspect-ratio:1/1;object-fit:cover;border:2px solid #cfcfcf}
.gallery-button:hover img{opacity:.8}
.gallery-back{display:inline-block;margin-bottom:28px;color:#2ea3f2}
.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,.9);color:#fff}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox-inner{width:100%;height:100%;display:grid;place-items:center;padding:55px 80px}
.lightbox img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain}
.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;border:0;background:transparent;color:#fff;cursor:pointer;text-shadow:0 1px 4px #000}
.lightbox-close{right:22px;top:13px;font-size:43px}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:58px}
.lightbox-prev{left:20px}.lightbox-next{right:20px}
.lightbox-counter{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);font-size:13px}

@media(max-width:1100px){:root{--container:min(92%,1000px)}.menu{gap:18px;font-size:14px}.hero h1{font-size:76px}.circle-photo{width:420px;height:420px}.about-text h2{font-size:44px}.portfolio-grid{gap:42px 4%}}
@media(max-width:980px){.top-bar{display:none}.main-nav{height:80px}.logo{width:190px}.menu-toggle{display:block;position:relative;z-index:12}.menu{position:fixed;z-index:11;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:80px 12%;background:#fff;transform:translateX(100%);transition:transform .3s}.menu.open{transform:none}.menu a{width:100%;padding:13px 0;border-bottom:1px solid #eee;font-size:18px}.search-toggle{display:none}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{padding-top:42px}.hero h1{font-size:68px;letter-spacing:.13em}.hero .rounded-wide{height:auto}.about-grid{gap:35px}.circle-photo{width:360px;height:360px}.about-text h2{font-size:38px}.about-text p{font-size:15px}.services-grid{gap:25px}.service-column h3{font-size:22px}.service-column ul,.infrastructure-grid ul{font-size:14px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:45px 7%}.gallery-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){:root{--container:90%}.hero h1{font-size:44px;letter-spacing:.08em}.small-section-title{font-size:24px}.about{padding-bottom:55px}.about-grid{grid-template-columns:1fr}.circle-photo{width:80vw;height:80vw;max-width:430px;max-height:430px;margin:auto}.about-text h2{font-size:38px}.services-cover{height:auto}.large-section-title{font-size:31px;margin:28px 0 35px}.services-grid{grid-template-columns:1fr;background:none;min-height:0}.machinery-grid{grid-template-columns:1fr;gap:18px}.machinery-grid img{aspect-ratio:4/3}.infrastructure-grid{grid-template-columns:1fr}.experience h2{font-size:31px}.experience-images{gap:15px}.experience-images img{width:42vw;height:42vw}.portfolio-grid{grid-template-columns:1fr 1fr;gap:36px 6%}.portfolio-item h3{font-size:12px}.client-grid{grid-template-columns:1fr;gap:25px}.contact-top{grid-template-columns:1fr;gap:45px}.location-row,.location-row.reverse{grid-template-columns:1fr}.location-row.reverse .location-copy,.location-row.reverse iframe{order:initial}.gallery-page h1{font-size:25px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.lightbox-inner{padding:55px 45px}.lightbox-prev{left:7px}.lightbox-next{right:7px}}
@media(max-width:440px){.hero h1{font-size:34px}.logo{width:165px}.portfolio-grid{grid-template-columns:1fr}.experience-images{flex-direction:column;align-items:center}.experience-images img{width:75vw;height:75vw}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu{transition:none}}
