@font-face{font-family:'Bebas Neue';src:url('assets/fonts/bebas-neue.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--lavender:#626184;--lavender-light:#77739A;--turquoise:#39D4D0;--white:#FFFFFF;--ivory:#F7F3EA;--ink:#28263A}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ivory);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0;overflow-wrap:anywhere}h1,h2,h3{font-family:'Bebas Neue','Arial Narrow',sans-serif;font-weight:400;line-height:1.06;letter-spacing:.025em;text-transform:uppercase}h2{font-size:clamp(2.3rem,4.6vw,3.65rem)}.container{width:min(90.5%,1200px);margin-inline:auto}.background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.skip{position:fixed;top:8px;left:8px;padding:10px 20px;background:white;color:var(--ink);z-index:10;transform:translateY(-150%)}.skip:focus{transform:none}a:focus-visible,button:focus-visible{outline:3px solid var(--turquoise);outline-offset:5px}section{scroll-margin-top:20px}.hero{position:relative;min-height:clamp(700px,72vw,930px);color:white;isolation:isolate}.hero-image{object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,27,43,.68),rgba(40,38,58,.25) 75%),linear-gradient(180deg,rgba(98,97,132,.33),transparent 70%);z-index:-1}.hero-image{z-index:-2}.header{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:26px 28px 0;gap:30px}.brand{width:180px;flex-shrink:0}.brand img{width:100%;height:auto}nav{display:flex;gap:clamp(30px,6vw,80px);padding:25px 0}nav a{font-size:1rem;font-weight:500;border-bottom:1px solid transparent}nav a:hover{border-color:var(--turquoise)}.menu-toggle{display:none}.hero-content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:7%;align-items:center;padding:52px 28px 100px}.hero-copy{min-width:0}.hero h1{font-size:clamp(3.25rem,5.8vw,5.1rem);max-width:720px}.hero-copy>p{max-width:530px;font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.8;margin-top:22px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:46px;padding:10px 22px;border:1px solid;border-radius:4px;font-size:.95rem;font-weight:600;line-height:1.45;transition:background .18s,color .18s;overflow-wrap:anywhere}.button-solid{background:var(--turquoise);border-color:var(--turquoise);color:var(--ink)}.button-solid:hover{background:#72e2df}.button-white{border-color:#fff;color:#fff;background:rgba(40,38,58,.3)}.button-white:hover{background:#fff;color:var(--ink)}.hero-card{justify-self:end;width:100%;max-width:352px;min-height:365px;padding:42px 29px;border:1px solid rgba(255,255,255,.9);border-radius:20px;background:linear-gradient(135deg,rgba(119,115,154,.65),rgba(40,38,58,.66));backdrop-filter:blur(14px);box-shadow:0 6px 30px #0002}.hero-card img{margin:0 auto 30px}.hero-card p{font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.7}.about{position:relative;min-height:640px;display:grid;place-items:center;padding:76px 24px;border-block:5px solid var(--ivory)}.about>.background{object-position:center 58%}.about-panel{position:relative;background:var(--ivory);width:min(100%,790px);padding:67px 78px 70px;text-align:center;box-shadow:0 4px 25px #0001}.about-panel p{margin:26px auto 40px;line-height:1.85;max-width:640px;font-size:1.05rem}.button-dark{border-color:var(--ink);color:var(--ink)}.button-dark:hover{color:white;background:var(--ink)}.section-banner{padding:34px 24px 29px;color:white;text-align:center;background:linear-gradient(90deg,#626184c9,#28263Ad9),url('assets/engineering.webp') center 40%/cover}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding-block:28px 25px}.service{border:1px solid #28263A24;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.service>img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}.service-content{padding:21px 14px 16px;display:flex;flex-direction:column;flex:1;align-items:center;text-align:center;gap:13px}.service h3{font-size:1.65rem;min-height:3.6rem;display:grid;align-content:center}.service p{font-size:.9rem;line-height:1.65;flex:1}.button-turquoise{border-color:#0d9caa;color:#077883;width:100%;margin-top:10px;padding:10px 7px;font-weight:500;font-size:.9rem}.button-turquoise:hover{background:var(--turquoise);color:var(--ink);border-color:var(--turquoise)}.contact{position:relative;display:grid;place-items:center;padding:22px 24px 0;min-height:325px}.contact>.background{object-position:center 67%}.contact-panel{position:relative;width:min(100%,650px);padding:35px 46px 45px;border:1px solid #ffffff8c;border-radius:12px 12px 0 0;align-self:stretch;background:linear-gradient(135deg,var(--lavender),#41405c);color:white}.contact h2{font-size:clamp(2.05rem,3.6vw,2.9rem);margin-bottom:16px}.contact address{font-style:normal;display:grid;gap:12px;font-size:.98rem;line-height:1.5}.contact address a{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:18px}.contact address span{overflow-wrap:anywhere}.contact address a:hover span{text-decoration:underline;text-underline-offset:4px}.contact address img{margin-top:1px}footer{padding:13px 20px 17px;background:linear-gradient(120deg,#41405c,var(--ink));color:white;display:flex;flex-direction:column;gap:5px;align-items:center}.footer-domain{font-size:.8rem}.footer-domain:hover{text-decoration:underline}
@media(min-width:1600px){.hero{min-height:940px}.hero-content{padding-top:80px}}
@media(max-width:1050px){.header,.hero-content{padding-inline:10px}.hero-content{gap:5%;padding-top:48px}.hero-card{padding:30px 24px;min-height:330px}.services-grid{gap:18px}.service h3{font-size:1.5rem}.about{min-height:575px}}
@media(max-width:800px){.hero{min-height:0}.header{padding-top:20px}.brand{width:140px}nav{gap:25px;padding-top:20px}.hero-content{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);padding:48px 10px 70px;gap:25px}.hero h1{font-size:3.15rem}.desktop-break{display:none}.hero-card{padding:28px 20px;min-height:300px}.hero-card p{font-size:1rem}.card-break{display:none}.hero-card img{width:60px;height:auto;margin-bottom:20px}.about-panel{padding:48px 45px}.about{min-height:535px;padding:55px 30px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:690px;padding-block:28px}.service>img{aspect-ratio:1.55}.service h3{font-size:1.7rem}.service-content{padding:20px}.service p{font-size:1rem}.button-turquoise{font-size:.95rem}.contact-panel{padding:30px 38px 38px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.header{align-items:center;padding:18px 0 0}.brand{width:122px}.menu-toggle{display:flex;gap:9px;align-items:center;min-height:46px;padding:10px 12px;border:1px solid #ffffff70;border-radius:4px;background:#28263a70;color:#fff;cursor:pointer}.menu-lines{position:relative;width:20px;height:14px;border-block:2px solid white}.menu-lines:after{content:'';position:absolute;top:4px;left:0;width:100%;border-top:2px solid white}.menu-label{font-size:.85rem}nav{gap:14px;flex-wrap:wrap;justify-content:flex-end;padding:0;max-width:240px}html.js nav{display:none;position:absolute;top:calc(100% + 10px);right:0;left:0;max-width:none;padding:13px 15px;background:#28263af5;border:1px solid #77739a;border-radius:8px;z-index:4;box-shadow:0 10px 20px #0003;flex-direction:column;gap:0}html.js nav.is-open{display:flex}html.js nav a{padding:11px 10px}html:not(.js) .menu-toggle{display:none}html:not(.js) nav a{font-size:.85rem}.hero-content{display:flex;flex-direction:column;padding:45px 0 45px;gap:32px;align-items:stretch}.hero h1{font-size:clamp(2.8rem,11.5vw,3.9rem);line-height:1.06}.hero-copy>p{font-size:1rem;line-height:1.8;margin-top:20px}.hero-actions{gap:10px;margin-top:22px}.hero-actions .button{padding:11px 16px;font-size:.88rem}.hero-card{max-width:100%;min-height:0;display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;padding:23px;align-items:center;border-radius:14px}.hero-card img{margin:0;width:60px}.hero-card p{font-size:1rem}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#28263acb,#28263a80)}.about{padding:40px 18px;min-height:0}.about-panel{padding:38px 24px 40px}.about-panel p{font-size:1rem;margin:23px 0 28px;line-height:1.85}.about-panel .button{padding:11px 15px;font-size:.88rem}.section-banner{padding:26px 18px}.section-banner h2{font-size:2.45rem}.services-grid{gap:18px;padding-block:24px}.service-content{padding:20px 18px}.contact{padding:30px 18px 0;min-height:320px}.contact-panel{padding:28px 22px 35px}.contact address{font-size:.93rem;gap:15px}.contact address a{gap:12px;grid-template-columns:24px minmax(0,1fr)}.contact address img{width:24px;height:26px}.address-break{display:none}}
@media(max-width:440px){.services-grid{grid-template-columns:minmax(0,1fr);max-width:350px}.service>img{aspect-ratio:1.5}.service h3{min-height:0}.service h3 br{display:none}.service p{max-width:270px}.hero-card{gap:17px;padding:22px 20px}.hero-card p{font-size:.92rem}.contact h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
