:root{--black:#090b10;--blue:#126dff;--white:#f6f7f8;--line:#d5d8db}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#101318;font-family:'DM Sans',Arial,sans-serif;font-size:17px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(100% - 112px,1440px);margin:auto}.skip{position:absolute;left:-9999px;top:10px;background:white;color:black;padding:12px;z-index:100}.skip:focus{left:10px}.site-header{position:absolute;z-index:20;top:0;left:0;right:0;padding:34px max(56px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:170px;height:auto;filter:brightness(0) invert(1)}.nav{display:flex;align-items:center;gap:33px;padding:8px 9px 8px 28px;border:1px solid #ffffff26;background:#2528317a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:50px;color:#fafafa;font-size:15px}.nav>a:not(.nav-contact):hover{color:#a8c6ff}.nav-contact{border:1px solid #fff9;border-radius:50px;padding:10px 17px;display:inline-flex;gap:25px;align-items:center}.nav-contact:hover{background:white;color:#0b0e13}.menu-toggle{display:none}.hero{position:relative;height:min(950px,100svh);min-height:720px;background:#090b10;color:white;overflow:hidden}.hero-visual{position:absolute;inset:0;background:url('../assets/industrial-hero.webp') center center/cover no-repeat;animation:heroMove 16s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#05070bcc 0%,#05070b62 46%,#05070b06 86%),linear-gradient(0deg,#05070b80,transparent 42%)}.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-bottom:160px}.overline{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#2a66bf}.overline.light{color:#d5dbe4}.hero h1{font-size:clamp(62px,6.35vw,106px);font-weight:500;letter-spacing:-.062em;line-height:1.04;max-width:890px;margin:20px 0 31px}.hero-lead{font-size:clamp(19px,1.8vw,26px);line-height:1.45;max-width:680px;margin:0 0 38px;color:#f0f2f5}.hero-actions{display:flex;gap:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:13px 19px;border-radius:50px;font-size:16px;line-height:1.2;font-weight:600;transition:background .2s,color .2s,transform .2s}.hero-actions .button{font-weight:400}.button:hover{transform:translateY(-2px)}.button-light{background:#f5f6f7;color:#11151b}.button-light:hover{background:#d9e5ff}.button-outline{border:1px solid #ffffff90;color:white}.button-outline:hover{background:white;color:#11151b}.hero-bottom{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:space-between;z-index:2;color:#f0f0f0a8;font-size:13px}.hero-bottom a{display:flex;gap:24px;color:white}.intro{background:#f5f6f7;padding:112px 0 145px}.intro-top{display:flex;align-items:center;gap:30px}.intro-line{flex:1;height:1px;background:#cdd1d7}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:end;margin-top:65px}.intro h2,.expertise h2{font-size:clamp(53px,5.2vw,86px);font-weight:500;line-height:1.06;letter-spacing:-.065em;margin:0}.intro-grid p{font-size:clamp(20px,2vw,28px);line-height:1.42;letter-spacing:-.025em;color:#3f4854;margin:0 0 35px}.inline-link{display:inline-flex;align-items:center;gap:60px;border-bottom:1px solid currentColor;padding-bottom:12px;font-size:16px;font-weight:700}.inline-link:hover{color:var(--blue)}.solutions{background:#0b0e14;color:white;padding:120px 0 140px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:55px}.section-intro h2,.company h2,.contact h2{font-size:clamp(53px,5.2vw,82px);font-weight:500;line-height:1.07;letter-spacing:-.06em;margin:22px 0 0}.section-intro p{max-width:410px;color:#b6bec8;font-size:18px;line-height:1.55;margin:0 0 4px}.solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.solution-card{height:600px;position:relative;overflow:hidden;background:#17202a;color:white}.solution-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.55);transition:transform .7s ease}.solution-card:hover img{transform:scale(1.045)}.solution-card.implementation img{object-position:50% 42%}.card-tint{position:absolute;inset:0;background:linear-gradient(0deg,#03070ce8 0,#03070c35 56%,transparent 100%)}.card-content{position:absolute;inset:auto 42px 39px;display:flex;flex-direction:column;align-items:flex-start}.card-number{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#cbd8e9}.card-content h3{font-size:clamp(35px,3.2vw,53px);font-weight:500;letter-spacing:-.05em;line-height:1.12;max-width:530px;margin:23px 0 28px}.card-cta{border:1px solid #ffffffb0;border-radius:50px;padding:12px 17px;font-size:15px;display:flex;gap:34px}.expertise{background:#f5f6f7;padding:130px 0 140px}.expertise-heading{display:grid;grid-template-columns:30% 1fr;margin-bottom:75px}.expertise-list{border-top:1px solid var(--line)}.expertise-list article{border-bottom:1px solid var(--line);display:grid;grid-template-columns:12% 43% 1fr;gap:30px;padding:34px 0 45px}.expertise-list article>span{font-size:13px;color:#2a66bf;font-weight:700}.expertise-list h3{font-size:clamp(28px,2.6vw,38px);font-weight:500;letter-spacing:-.04em;line-height:1.18;margin:0}.expertise-list p{font-size:17px;line-height:1.57;color:#505963;max-width:490px;margin:0}.company{background:#10151e;color:white;padding:130px 0}.company-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.company-visual{height:650px;position:relative;overflow:hidden}.company-visual img{height:100%;width:100%;object-fit:cover;object-position:70% center;filter:saturate(.65)}.company-visual span{position:absolute;bottom:20px;left:24px;font-size:13px;color:#fff}.company h2{margin:24px 0 34px}.company p{font-size:19px;color:#c1c9d3;line-height:1.58;max-width:650px;margin:0 0 22px}.company-button{font-weight:400;margin-top:24px;min-height:47px}.contact{background:#185be1;color:#fff;padding:120px 0 135px}.contact h2{font-size:clamp(60px,6.6vw,106px);margin:25px 0 55px}.contact-row{border-top:1px solid #ffffff70;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-row p{font-size:21px;line-height:1.45;max-width:570px;margin:0}.footer{background:#0a0d13;color:#d0d5dc;padding:80px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:100px}.footer img{width:160px;height:auto;filter:brightness(0) invert(1)}.footer p{font-size:18px;margin:22px 0}.footer-grid>div:not(:first-child){display:flex;align-items:flex-start;flex-direction:column;gap:16px;font-size:15px}.footer strong{font-size:14px;color:#788596;font-weight:500;margin-bottom:8px}.footer a:hover{color:white}.footer-bottom{border-top:1px solid #ffffff29;padding-top:24px;display:flex;justify-content:space-between;font-size:13px;color:#8995a3}@keyframes heroMove{to{transform:scale(1.045)}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header{padding:25px 32px}.hero h1{font-size:clamp(62px,7.8vw,82px)}.hero-visual{background-position:60% center}.solution-card{height:510px}.company-grid{gap:6%}.company-visual{height:570px}}
@media(max-width:760px){.wrap{width:calc(100% - 42px)}.site-header{padding:22px 21px;align-items:center}.brand img{width:137px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;width:47px;height:47px;background:#20242bc9;border:1px solid #ffffff40;border-radius:50%;cursor:pointer}.menu-toggle span{width:19px;height:1px;background:white}.nav{display:none;position:absolute;top:80px;left:21px;right:21px;border-radius:20px;background:#161b23f2;padding:22px;align-items:stretch;flex-direction:column;gap:0}.nav.open{display:flex}.nav>a{padding:15px 5px}.nav-contact{margin-top:12px;justify-content:space-between}.hero{height:810px;min-height:700px}.hero-visual{background-position:61% center}.hero-shade{background:linear-gradient(0deg,#04070ae8 0,#04070ab2 34%,#04070a30 100%)}.hero-content{padding-bottom:126px;justify-content:flex-end}.hero h1{font-size:clamp(55px,11vw,77px);max-width:650px;line-height:1.06}.hero-lead{font-size:19px}.hero-bottom{bottom:24px}.hero-bottom span{max-width:190px}.hero-bottom a{gap:7px}.intro{padding:80px 0 100px}.intro-grid{grid-template-columns:1fr;gap:32px;margin-top:48px}.intro h2,.expertise h2{font-size:clamp(48px,10vw,70px)}.intro-grid p{font-size:21px}.solutions{padding:85px 0 100px}.section-intro{display:block;margin-bottom:35px}.section-intro h2,.company h2{font-size:clamp(48px,9vw,70px)}.section-intro p{margin-top:25px}.solution-grid{grid-template-columns:1fr;gap:17px}.solution-card{height:530px}.card-content{left:28px;right:28px;bottom:30px}.expertise{padding:90px 0 100px}.expertise-heading{display:block;margin-bottom:52px}.expertise h2{margin-top:28px}.expertise-list article{grid-template-columns:40px 1fr;gap:10px;padding:30px 0}.expertise-list p{grid-column:2;font-size:16px}.expertise-list h3{font-size:27px}.company{padding:90px 0}.company-grid{grid-template-columns:1fr;gap:45px}.company-visual{height:430px}.company p{font-size:17px}.contact{padding:90px 0 100px}.contact h2{font-size:clamp(53px,10.2vw,77px);margin-bottom:43px}.contact-row{display:block}.contact-row p{font-size:19px;margin-bottom:26px}.footer{padding:70px 0 25px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px;padding-bottom:70px}.footer-grid>div:first-child{grid-column:1/-1}.footer img{width:145px}}
@media(max-width:420px){.hero h1{font-size:54px}.hero-actions{gap:9px;flex-wrap:wrap}.button{font-size:15px;gap:22px}.hero-bottom{font-size:12px}.solution-card{height:475px}.card-content h3{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-visual{animation:none}.button,.solution-card img{transition:none}}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(.55) saturate(.6)}.video-toggle{position:absolute;right:max(56px,calc((100vw - 1440px)/2));bottom:86px;z-index:3;width:42px;height:42px;border:1px solid #ffffff85;border-radius:50%;background:#090b1055;color:white;cursor:pointer;display:grid;place-items:center;font-size:13px}.video-toggle:hover,.video-toggle:focus-visible{background:#fff;color:#090b10}.video-toggle:focus-visible{outline:2px solid white;outline-offset:3px}@media(max-width:1000px){.video-toggle{right:32px}}@media(max-width:760px){.hero-video{object-position:55% center}.video-toggle{right:21px;bottom:81px}}@media(prefers-reduced-motion:reduce){.hero-video{display:none}.video-toggle{display:none}}

/* Spacing and alignment after removing the section indices. */
.intro-grid{margin-top:0}.section-intro h2,.company h2{margin-top:0}.expertise-heading{display:block}.expertise-list article{grid-template-columns:48% 1fr}.contact h2{margin-top:0}#splice{scroll-margin-top:24px}@media(max-width:760px){.intro-grid{margin-top:0}.section-intro h2,.company h2{margin-top:0}.expertise h2{margin-top:0}.expertise-list article{grid-template-columns:1fr}.expertise-list p{grid-column:auto}}
/* Light contact finish, paired with the site's dark footer. */
.contact{background:#f8f9fa;color:#101318}
.contact-row{border-top-color:#cdd3dc}
.contact-row p{color:#394451}
.contact .button-light{background:#10151e;color:#fff}
.contact .button-light:hover{background:#185be1;color:#fff}
.intro-grid p{margin-bottom:0}
.contact .button-light{gap:12px;justify-content:center}
.contact-mail-icon{display:block;width:20px;height:20px;flex:none}
.arrow-right{display:block;width:20px;height:20px;fill:currentColor;flex:none}
.card-cta .arrow-right{width:18px;height:18px}

.contact-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:24px;border:0;border-radius:20px;background:#f8f9fa;color:#101318;font:inherit;overflow:auto;box-shadow:0 24px 80px #0008}
.contact-dialog::backdrop{background:#05070b99;backdrop-filter:blur(4px)}
.contact-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.contact-dialog h2{margin:0;font-size:25px;font-weight:500;letter-spacing:-.035em}
.contact-dialog-close{border:0;background:transparent;color:#101318;font-size:30px;line-height:1;width:36px;height:36px;cursor:pointer}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.contact-field{min-width:0;margin:0}
.contact-field:nth-of-type(5),.contact-consent,.contact-form-status,.contact-form-actions{grid-column:1/-1}
.contact-field label{display:block;font-size:15px;line-height:1.4;margin-bottom:6px;font-weight:400}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;border:1px solid #d9dde3;border-radius:6px;background:transparent;color:#101318;padding:10px 12px;font:inherit;font-size:16px;line-height:1.4;min-height:44px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#747b86;opacity:1}
.contact-field select:invalid{color:#747b86}
.contact-field textarea{height:100px;min-height:72px;resize:vertical}
.contact-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin:0}
.contact-consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#126dff}
.contact-honey{display:none}
.contact-form-actions{display:flex;justify-content:flex-end;gap:12px;margin:0}
.contact-form-actions button{border:1px solid #101318;border-radius:50px;padding:10px 24px;font-size:16px;font-weight:400;line-height:1.4;cursor:pointer}
.contact-cancel{background:transparent;color:#101318}.contact-send{background:#101318;color:#fff}
.contact-send:hover{background:#126dff;border-color:#126dff}.contact-cancel:hover{background:#e9edf2}
.contact-form-actions button:disabled,.contact-dialog-close:disabled{opacity:.6;cursor:wait}
.contact-form-status{font-size:14px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.contact-form-status:empty{display:none}
.contact-form-status.is-error{color:#9e3030}.contact-form-status.is-success{color:#196344}
.contact-dialog :focus-visible{outline:2px solid #126dff;outline-offset:3px}
@media(max-height:600px) and (min-width:481px){.contact-dialog{padding:16px 20px}.contact-dialog-heading{margin-bottom:10px}.contact-dialog h2{font-size:22px}.contact-form{gap:10px 16px}.contact-field textarea{height:72px;min-height:52px}.contact-form-actions button{padding:8px 20px}}
@media(max-height:450px) and (min-width:481px){.contact-dialog{padding:12px 18px}.contact-dialog-heading{margin-bottom:6px}.contact-dialog-close{width:28px;height:28px}.contact-form{gap:8px 14px}.contact-field label{font-size:14px;margin-bottom:4px}.contact-field input,.contact-field select{min-height:36px;padding:6px 10px}.contact-field textarea{height:52px;padding:6px 10px}.contact-form-actions button{padding:6px 18px}}
@media(max-width:480px){.contact-dialog{padding:18px;border-radius:16px}.contact-form{grid-template-columns:1fr;gap:12px}.contact-dialog-heading{margin-bottom:12px}.contact-dialog h2{font-size:23px}.contact-field textarea{height:80px}.contact-form-actions button{padding:9px 18px}}

.booking-dialog{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff26;border-radius:20px;background:#10151e;color:#f6f7f8;font:inherit;box-shadow:0 24px 80px #0008;overflow:auto}
.booking-dialog::backdrop{background:#05070bc7;backdrop-filter:blur(5px)}
.booking-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid #ffffff26}
.booking-dialog h2{margin:0;font-size:24px;font-weight:400;letter-spacing:-.03em}
.booking-dialog-close{width:40px;height:40px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
.booking-calendar{width:100%;min-height:600px;padding:12px;overflow:auto}
.booking-dialog-footer{padding:16px 24px;border-top:1px solid #ffffff26;text-align:center;font-size:14px;color:#c1c9d3}
.booking-dialog-footer a{text-decoration:underline;text-underline-offset:4px}
.booking-dialog :focus-visible{outline:2px solid #8cb6ff;outline-offset:4px}
@media(max-width:600px){.booking-dialog-header{padding:14px 16px}.booking-calendar{min-height:650px;padding:0}.booking-dialog h2{font-size:21px}}
