:root{--blue:#0784ff;--black:#050709;--white:#f5f7f9;--line:#242931;--wrap:min(1320px,calc(100vw - 96px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,"Arial Nova",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button,input,textarea{font:inherit}.wrap{width:var(--wrap);margin-inline:auto}.skip-link{position:fixed;z-index:99;left:24px;top:-60px;padding:12px 18px;background:var(--blue);color:#fff}.skip-link:focus{top:18px}.site-header{position:fixed;inset:0 0 auto;z-index:30;height:96px;padding-inline:max(48px,calc((100vw - 1320px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(5,7,9,.9);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);transition:height .3s}.site-header.scrolled{height:76px}.brand{width:256px}.desktop-nav{display:flex;gap:34px;font-size:12px;font-weight:700}.desktop-nav a{padding-block:14px;color:#b7bec7;transition:color .2s}.desktop-nav a:hover{color:#fff}.header-cta{justify-self:end;display:flex;align-items:center;gap:28px;font-size:12px;font-weight:800;padding:14px 0;border-bottom:2px solid var(--blue)}.header-cta span{color:var(--blue)}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;height:100svh;min-height:760px;overflow:hidden;padding-top:96px;background:#050709}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.15)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,4,6,.92) 0%,rgba(2,4,6,.62) 49%,rgba(2,4,6,.15) 78%),linear-gradient(0deg,rgba(2,4,6,.86),transparent 48%)}.hero-grid{position:absolute;inset:96px 0 0;background-image:linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);background-size:96px 96px;mask-image:linear-gradient(to right,#000,transparent 75%)}.hero-content{position:relative;z-index:2;height:calc(100% - 70px);display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-label{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:800;color:#a9b2bc}.eyebrow{display:flex;align-items:center;gap:14px;color:#c6d8eb}.eyebrow:before{content:"";width:44px;height:2px;background:var(--blue)}.hero h1{font-size:clamp(70px,8.5vw,134px);line-height:.84;letter-spacing:-.075em;margin:34px 0 0;max-width:1200px}.hero h1 span{color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.72)}.hero-lower{display:grid;grid-template-columns:minmax(320px,640px) auto;align-items:end;gap:80px;margin-top:44px}.hero-lower p{margin:0;color:#c2c9d1;font-size:17px;line-height:1.7}.circle-link{width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,.45);display:grid;place-items:center;font-size:20px;transition:.25s}.circle-link:hover{background:var(--blue);border-color:var(--blue)}.hero-rail{position:absolute;z-index:3;inset:auto 48px 28px;display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:9px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#9aa3ad}
.dark-section{background:var(--black)}.statement{padding:140px 0 120px}.section-label{display:flex;gap:18px;align-items:center}.section-label span{color:var(--blue)}.statement-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:72px;border-bottom:1px solid var(--line)}.statement-intro{margin:0;font-size:15px;line-height:1.55;color:#b3bbc4}.statement-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:110px;padding-top:88px}.statement h2,.section-heading h2,.technology h2,.feature-copy h2,.process-head h2,.contact h2{margin:0;font-size:clamp(50px,6.4vw,92px);line-height:.94;letter-spacing:-.065em}.statement h2 em,.section-heading h2 em,.technology h2 em,.contact h2 em{font-style:normal;color:#4c535c}.statement-copy{padding-top:12px}.statement-copy p,.section-heading>div>p,.technology-intro>p,.feature-copy>p,.contact-copy>p{color:#9fa8b2;font-size:15px;line-height:1.8;margin:0 0 20px}.text-link{display:inline-flex;align-items:center;gap:40px;margin-top:24px;padding-bottom:10px;border-bottom:1px solid var(--blue);font-size:12px;font-weight:800}.text-link span{color:var(--blue)}.industry-tags{display:grid;grid-template-columns:repeat(4,1fr);margin-top:110px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.industry-tags span{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8e98a3}
.lead-image{height:78svh;min-height:620px;position:relative;overflow:hidden}.lead-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.lead-image-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,5,7,.72),transparent 65%)}.lead-image-caption{position:absolute;inset:auto 0 60px;display:flex;justify-content:space-between;align-items:end}.lead-image-caption span{text-transform:uppercase;font-size:10px;letter-spacing:.2em;color:#b6bec7}.lead-image-caption strong{font-size:clamp(28px,3vw,48px);letter-spacing:-.04em}
.competences{padding:140px 0}.section-heading{display:grid;grid-template-columns:220px 1fr;gap:70px;margin-bottom:95px}.section-heading>div{display:grid;grid-template-columns:1fr 310px;gap:80px;align-items:end}.section-heading>div>p{margin-bottom:4px}.service-list{border-top:1px solid #31363e}.service-row{position:relative;display:grid;grid-template-columns:80px 1.05fr .8fr 40px;gap:30px;align-items:center;min-height:132px;border-bottom:1px solid #31363e;transition:background .25s,padding .25s}.service-row:hover{background:#0c1015;padding-inline:20px}.service-no{font-size:10px;font-weight:800;color:var(--blue)}.service-row h3{font-size:clamp(24px,2.4vw,38px);letter-spacing:-.04em;margin:0}.service-row p{margin:0;color:#8e98a3;font-size:13px;line-height:1.6}.service-arrow{width:36px;height:36px;display:grid;place-items:center;border:1px solid #3c424b;border-radius:50%;color:var(--blue)}
.feature-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:850px;background:#f2f3f4;color:#0a0c0f}.feature-image{overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1)}.feature-copy{padding:110px max(48px,calc((100vw - 1320px)/2)) 100px 9vw;display:flex;flex-direction:column;justify-content:center}.feature-copy .section-label{color:#68717a;margin-bottom:68px}.feature-copy h2{font-size:clamp(48px,5.5vw,78px)}.feature-copy>p{color:#555f68;max-width:520px;margin:32px 0}.feature-copy ul{list-style:none;margin:18px 0 8px;padding:0;border-top:1px solid #c8cdd2}.feature-copy li{padding:16px 0;border-bottom:1px solid #c8cdd2;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.dark-link{color:#0a0c0f}
.technology{padding:140px 0}.technology-intro{display:grid;grid-template-columns:1fr 360px;gap:100px;align-items:end}.technology-intro .section-label{margin-bottom:64px}.technology-intro>p{margin-bottom:4px}.technology-media{position:relative;height:580px;margin-top:88px;overflow:hidden}.technology-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) contrast(1.12)}.technology-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,8,.45),transparent)}.technology-media span{position:absolute;z-index:2;left:28px;bottom:26px;font-size:10px;font-weight:800;letter-spacing:.2em}.specs{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid var(--line)}.spec{padding:32px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;min-height:160px}.spec>span{grid-column:1/-1;color:#89939d;font-size:10px;text-transform:uppercase;letter-spacing:.11em;align-self:start}.spec strong{font-size:32px;letter-spacing:-.05em}.spec small{color:var(--blue);font-size:11px;margin-bottom:5px}
.process-section{padding:130px 0;background:#f2f3f4;color:#090b0e}.process-head{display:grid;grid-template-columns:220px 1fr;gap:70px}.process-head .section-label{color:#69727c}.process-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:1px solid #bec4ca;border-left:1px solid #bec4ca}.process-list article{min-height:270px;padding:32px;border-right:1px solid #bec4ca;border-bottom:1px solid #bec4ca;display:flex;flex-direction:column}.process-list article>span{font-size:10px;color:var(--blue);font-weight:800}.process-list h3{font-size:24px;margin:auto 0 12px}.process-list p{font-size:14px;line-height:1.65;color:#616a73;margin:0}
.contact{padding:140px 0;background:var(--blue);color:#fff}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:130px}.contact .section-label{color:#d7eaff;margin-bottom:62px}.contact .section-label span{color:#fff}.contact h2 em{color:#b9dbff}.contact-copy>p{color:#e0efff;max-width:500px;margin:34px 0 45px}.contact-direct{display:flex;flex-direction:column;gap:22px}.contact-direct a{display:flex;flex-direction:column;gap:6px}.contact-direct small,.site-footer small{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#b9dbff}.contact-direct strong{font-size:17px}.contact-form{background:#fff;color:#0b0d10;padding:42px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:block;margin-bottom:26px}.contact-form label>span{display:block;margin-bottom:8px;font-size:10px;font-weight:700;color:#65707a}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:0;border-bottom:1px solid #bbc2c9;padding:11px 2px;background:transparent;border-radius:0;outline:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue)}.contact-form .invalid{border-color:#d92d20!important}.consent{display:flex!important;gap:10px}.consent input{accent-color:var(--blue)}.consent span{font-weight:400!important;line-height:1.45}.btn-submit{min-height:58px;padding:0 24px;border:0;background:#080b0f;color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:42px;cursor:pointer}.btn-submit span{color:var(--blue)}.form-status{min-height:18px;font-size:11px;color:#38424d}
.site-footer{padding:90px 0 28px;background:#050709}.footer-top{display:flex;justify-content:space-between;align-items:end;padding-bottom:58px;border-bottom:1px solid var(--line)}.footer-top img{width:310px}.footer-top>p{margin:0;color:#7f8993;font-size:14px;line-height:1.6;text-align:right}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:70px;padding:52px 0}.footer-grid small{color:#66707a}.footer-grid p,.footer-grid address{font-size:13px;line-height:1.8;color:#a2abb5;font-style:normal}.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid var(--line);color:#68727c;font-size:10px}.reveal{opacity:0;transform:translateY(24px);animation:reveal .8s cubic-bezier(.2,.7,.2,1) forwards}.reveal:nth-child(2){animation-delay:.12s}.reveal:nth-child(3){animation-delay:.24s}@keyframes reveal{to{opacity:1;transform:none}}
@media(max-width:980px){:root{--wrap:min(100% - 40px,780px)}.site-header{height:76px;padding-inline:20px;grid-template-columns:1fr auto}.brand{width:220px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:7px;padding:10px}.menu-toggle span{height:2px;background:#fff;width:100%;transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:25px 20px 34px;background:#07090c;border-top:1px solid var(--line)}.mobile-nav.open{display:grid}.mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.hero{padding-top:76px}.hero-grid{inset-block-start:76px}.hero-content{height:calc(100% - 64px)}.hero h1{font-size:clamp(64px,12vw,92px)}.statement,.competences,.technology,.contact{padding-block:100px}.statement-grid,.contact-layout{grid-template-columns:1fr;gap:60px}.statement-copy{max-width:560px}.section-heading,.process-head{grid-template-columns:140px 1fr}.section-heading>div{grid-template-columns:1fr;gap:30px}.industry-tags{grid-template-columns:repeat(2,1fr)}.service-row{grid-template-columns:60px 1fr 35px}.service-row p{grid-column:2}.service-arrow{grid-column:3;grid-row:1/3}.feature-split{grid-template-columns:1fr;min-height:0}.feature-image{height:620px}.feature-copy{padding:90px max(20px,calc((100vw - 780px)/2))}.technology-intro{grid-template-columns:1fr}.technology-media{height:480px}.specs{grid-template-columns:repeat(2,1fr)}.process-list{grid-template-columns:1fr 1fr}.footer-top{align-items:start}}
@media(max-width:620px){:root{--wrap:calc(100% - 32px)}.brand{width:205px}.hero{min-height:720px}.hero h1{font-size:clamp(52px,15.5vw,76px)}.hero-lower{grid-template-columns:1fr;gap:28px;margin-top:34px}.hero-lower p{font-size:15px}.circle-link{display:none}.hero-rail{inset:auto 16px 22px}.hero-rail span:nth-child(2){display:none}.statement,.competences,.technology,.contact{padding-block:76px}.statement-top{display:grid;gap:36px;padding-bottom:46px}.statement-grid{padding-top:54px;gap:42px}.statement h2,.section-heading h2,.technology h2,.feature-copy h2,.process-head h2,.contact h2{font-size:clamp(42px,12.5vw,60px)}.industry-tags{grid-template-columns:1fr 1fr;margin-top:70px}.lead-image{height:68svh;min-height:500px}.lead-image-caption{inset:auto 16px 30px;display:grid;gap:16px}.section-heading,.process-head{grid-template-columns:1fr;gap:40px;margin-bottom:60px}.service-row{grid-template-columns:40px 1fr 34px;gap:14px;min-height:150px}.service-row h3{font-size:25px}.service-row p{font-size:12px}.feature-image{height:520px}.feature-copy{padding:74px 24px}.feature-copy .section-label{margin-bottom:45px}.technology-intro{gap:38px}.technology-intro .section-label{margin-bottom:42px}.technology-media{height:420px;margin-top:58px}.specs{grid-template-columns:1fr}.spec{min-height:120px}.process-section{padding:76px 0}.process-list{grid-template-columns:1fr;margin-top:55px}.process-list article{min-height:220px}.contact-layout{gap:50px}.field-row{grid-template-columns:1fr;gap:0}.contact-form{padding:28px 20px;margin-inline:-8px}.footer-top{display:grid;gap:36px}.footer-top img{width:260px}.footer-top>p{text-align:left}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-bottom{gap:20px}}
.section-heading{grid-template-columns:220px minmax(0,1fr)}.section-heading>div{grid-template-columns:minmax(0,1fr) 310px;gap:64px;min-width:0}.section-heading h2{font-size:clamp(50px,5.4vw,78px)}
@media(max-width:980px){.section-heading{grid-template-columns:140px minmax(0,1fr)}.section-heading>div{grid-template-columns:1fr;gap:30px}}
@media(max-width:620px){.section-heading{grid-template-columns:1fr;gap:40px}.section-heading h2{font-size:clamp(40px,11vw,52px)}}
.site-header{grid-template-columns:auto minmax(360px,1fr) auto;gap:54px}.desktop-nav{justify-content:center;gap:42px}.desktop-nav a{color:#e2e7ec;font-size:12px;letter-spacing:.035em;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:2px;background:var(--blue);transition:right .2s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:28px}.header-phone{display:flex;flex-direction:column;gap:3px;padding-left:22px;border-left:1px solid #343a42;white-space:nowrap}.header-phone small{font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:#78838e}.header-phone strong{font-size:13px;letter-spacing:.02em}.header-cta{justify-self:auto;white-space:nowrap}.mobile-phone{display:flex!important;flex-direction:column;gap:5px;margin-top:8px;border-bottom:0!important}.mobile-phone small{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#78838e}.mobile-phone strong{font-size:16px;color:#fff}
@media(max-width:1180px) and (min-width:981px){.site-header{padding-inline:32px;gap:26px}.brand{width:220px}.desktop-nav{gap:24px}.header-actions{gap:20px}.header-phone{padding-left:16px}.header-cta{display:none}}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto;gap:0}.header-actions{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-video{display:none}}:focus-visible{outline:3px solid #65aaff;outline-offset:4px}

/* October 2026: expanded offer and photography from company materials. */
section[id],details[id]{scroll-margin-top:105px}
.hero-services-link{display:inline-flex;align-items:center;gap:38px;font-size:12px;font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:10px;margin-top:28px}
.hero-services-link span{color:#57adff}
.statement h2 em,.section-heading h2 em,.technology h2 em{color:#929aa4}
.statement-grid{grid-template-columns:1.3fr .8fr;gap:90px}
.industry-tags{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:80px}
.industry-tags span{color:#bac2cb;font-size:10px;padding:22px 16px;letter-spacing:.06em}
.lead-image{height:76svh;min-height:550px;max-height:820px}
.lead-image img{filter:saturate(.75) contrast(1.04);object-position:center 55%}
.lead-image-overlay{background:linear-gradient(0deg,rgba(3,5,7,.93),rgba(3,5,7,.06) 65%)}
.lead-image-caption>div{display:grid;gap:20px}
.lead-image-caption strong{font-size:clamp(40px,4.7vw,68px);line-height:1;letter-spacing:-.05em}
.lead-image-caption .text-link{margin-bottom:6px}
.competences{padding-block:120px}
.section-heading{grid-template-columns:180px minmax(0,1fr);gap:70px;margin-bottom:65px}
.section-heading>div{grid-template-columns:minmax(0,1fr) 300px;gap:48px}
.section-heading h2{font-size:clamp(48px,5.5vw,82px)}
.service-item{border-bottom:1px solid #31363e}
.service-row{border-bottom:0;grid-template-columns:60px minmax(0,1.1fr) minmax(0,.85fr) 42px;min-height:124px;cursor:pointer;list-style:none;gap:28px;padding-block:28px}
.service-row::-webkit-details-marker{display:none}
.service-row::marker{content:""}
.service-row:hover{padding-inline:0;background:#0c1015}
.service-row h3{font-size:clamp(23px,2.2vw,34px);font-weight:600}
.service-row p{color:#b0b9c3;font-size:14px;line-height:1.7}
.service-arrow{border-radius:0;border-color:#35414f;color:#80bbfb;font-size:24px;line-height:1;transition:transform .25s,background .25s}
.service-item[open] .service-arrow{transform:rotate(45deg);background:var(--blue);color:white;border-color:var(--blue)}
.service-item[open] .service-row h3{color:#79baff}
.service-detail{padding:12px 0 42px 88px}
.service-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.service-columns h4{margin:0 0 24px;font-weight:600;font-size:16px;color:#f5f7f9}
.service-columns ul{padding:0;margin:0;list-style:none}
.service-columns li{position:relative;padding-left:15px;margin-bottom:13px;color:#aab4bf;font-size:13px;line-height:1.75}
.service-columns li:before{content:"";position:absolute;left:0;top:.75em;width:4px;height:4px;background:var(--blue)}
.service-note{font-size:12px;line-height:1.7;color:#86929f;margin:28px 0 0;max-width:720px}
.service-detail .text-link{margin-top:22px}
.hydraulic-feature{background:#0c1117;color:#f5f7f9;min-height:690px;grid-template-columns:1.05fr .95fr}
.hydraulic-feature .feature-image img{filter:saturate(.7) contrast(1.04);object-position:44% center}
.hydraulic-feature .feature-copy{padding:82px max(40px,calc((100vw - 1320px)/2)) 82px 6vw}
.hydraulic-feature .feature-copy .section-label{color:#a3aebb;margin-bottom:48px}
.hydraulic-feature h2{font-size:clamp(44px,4.5vw,68px)}
.hydraulic-feature .feature-copy>p{color:#b0bac5}
.hydraulic-feature .feature-copy ul,.hydraulic-feature .feature-copy li{border-color:#2c3642}
.technology{padding-block:120px}
.technology-intro{gap:60px}
.technology h2{font-size:clamp(48px,5.5vw,82px)}
.technology-media{height:500px;margin-top:65px}
.media-credit{position:absolute;z-index:2;right:26px;bottom:26px;font-size:10px;color:#d0d7df}
.specs{grid-template-columns:repeat(3,minmax(0,1fr))}
.spec{padding:30px;min-height:145px;row-gap:26px}
.spec strong{font-size:40px;font-weight:500}
.spec>span{color:#b1bbc7;font-size:10px}
.specs-note{color:#939eab;font-size:12px;line-height:1.7;margin-top:22px}
.project-gallery{padding:115px 0;background:#0b0f14;border-top:1px solid var(--line)}
.gallery-heading{display:grid;grid-template-columns:1fr 360px;align-items:end;gap:80px;margin-bottom:64px}
.gallery-heading .section-label{margin-bottom:42px}
.gallery-heading h2{font-size:clamp(54px,6.4vw,92px);line-height:.94;letter-spacing:-.065em;margin:0}
.gallery-heading h2 em{font-style:normal;color:#929aa4}
.gallery-heading p:not(.section-label){color:#aab5c2;font-size:15px;line-height:1.8;margin:0 0 24px}
.gallery-hint{display:flex;align-items:center;gap:18px;font-size:11px;color:#c6d0dc}
.gallery-hint>span{color:var(--blue)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:46px}
.gallery-item{margin:0;min-width:0}
.gallery-wide{grid-column:span 8}
.gallery-narrow{grid-column:span 4}
.gallery-open{position:relative;padding:0;border:0;background:#141c24;width:100%;height:440px;overflow:hidden;cursor:zoom-in;display:block}
.gallery-open img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.06);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}
.gallery-open:hover img{transform:scale(1.035);filter:saturate(.9) contrast(1.04)}
.gallery-zoom{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:40px;height:40px;background:rgba(5,7,9,.75);border:1px solid #727e8b;color:#fff;font-size:20px;backdrop-filter:blur(5px)}
.gallery-item figcaption{display:grid;gap:10px;margin-top:19px}
.gallery-item figcaption>span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#7faad9}
.gallery-item figcaption strong{font-size:17px;font-weight:500;letter-spacing:-.02em;line-height:1.4}
.gallery-source{font-size:10px;color:#85909d;line-height:1.8;margin-top:44px}
.process-section{padding-block:110px}
.process-head h2{font-size:clamp(50px,5.5vw,78px)}
.process-list{margin-top:65px}
.contact{background:#080c11;color:#f5f7f9;border-bottom:1px solid var(--line);padding-block:120px}
.contact-layout{grid-template-columns:.95fr 1.05fr;gap:80px}
.contact .section-label{color:#a2afbd;margin-bottom:44px}
.contact .section-label span{color:var(--blue)}
.contact h2{font-size:clamp(45px,4.7vw,68px);line-height:1;letter-spacing:-.055em}
.contact h2 em{color:#8f9caa}
.contact-copy>p{color:#aab5c2}
.contact-direct{gap:26px}
.contact-direct small{color:#8394a7}
.contact-direct strong{font-size:22px;font-weight:500}
.contact-form{background:#10161e;border:1px solid #293541;color:#f5f7f9;padding:36px}
.contact-form label>span{color:#aebbc9;font-size:11px}
.contact-form input:not([type=checkbox]),.contact-form textarea{color:#f5f7f9;border-color:#526170}
.contact-form input:focus,.contact-form textarea:focus{border-color:#76b8ff}
.contact-form .consent{align-items:start}
.consent input{margin-top:2px;min-width:16px;min-height:16px}
.btn-submit{background:var(--blue);width:100%;justify-content:space-between;font-size:13px}
.btn-submit:hover{background:#197be0}
.btn-submit span{color:#fff}
.form-status{color:#becbd8;line-height:1.6}
.site-footer{padding-top:70px}
.photo-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:24px 40px;border:0;background:rgba(5,7,9,.98);color:#f5f7f9}
.photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px}
.photo-dialog::backdrop{background:#050709}
.photo-toolbar,.photo-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}
.photo-counter{color:#7aaee7;font-size:12px;letter-spacing:.1em}
.photo-close{border:0;background:transparent;color:#fff;padding:10px 0 10px 20px;display:flex;align-items:center;gap:22px;font-size:12px;cursor:pointer}
.photo-close>span{font-size:30px;line-height:1}
.photo-full{width:100%;height:100%;min-height:0;object-fit:contain}
.photo-bottom p{font-size:14px;color:#c7d0da;margin:0}
.photo-bottom>div{display:flex;gap:12px}
.photo-prev,.photo-next{width:48px;height:48px;border:1px solid #465362;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.photo-prev:hover,.photo-next:hover{background:var(--blue);border-color:var(--blue)}
/* Personalized 3D printing: product editorial, not a documentary gallery. */
.print-section{padding:110px 0;background:#080c11;border-top:1px solid var(--line)}
.print-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:54px}
.print-heading .section-label{margin-bottom:36px}
.print-heading h2{font-size:clamp(48px,6.4vw,92px);line-height:.96;letter-spacing:-.065em;margin:0}
.print-heading h2 em{font-style:normal;color:#929aa4}
.print-intro p{font-size:16px;line-height:1.8;color:#aab5c2;margin:0 0 26px}
.print-showcase{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;align-items:start}
.print-showcase figure{margin:0;min-width:0}
.print-main .gallery-open{height:auto;aspect-ratio:3/2}
.print-side .gallery-open{height:auto;aspect-ratio:3/2}
.print-showcase .gallery-open img{filter:none}
.print-showcase figcaption{display:grid;gap:12px;margin-top:20px}
.print-showcase figcaption>span,.print-note>span{font-size:10px;letter-spacing:.13em;color:#7faad9;text-transform:uppercase}
.print-showcase figcaption strong{font-size:18px;font-weight:500;line-height:1.4}
.print-note{margin-top:30px;border-top:1px solid #293541;padding-top:25px}
.print-note p{font-size:23px;letter-spacing:-.03em;line-height:1.3;margin:15px 0 20px}
.print-note a{font-size:12px;color:#c6d0dc}.print-note a span{color:var(--blue);margin-left:14px}
.print-disclosure{font-size:11px;color:#85909d;line-height:1.8;margin-top:32px;max-width:1320px}
@media(max-width:980px){.print-heading{grid-template-columns:1fr;gap:28px}.print-intro{max-width:600px}.print-showcase{grid-template-columns:1fr}.print-side{display:grid;grid-template-columns:1fr 1fr;gap:30px}.print-note{margin:0}.print-disclosure{margin-top:32px}}
@media(max-width:620px){.print-section{padding-block:76px}.print-heading{margin-bottom:36px}.print-heading h2{font-size:clamp(42px,11.5vw,58px)}.print-intro p{font-size:14px}.print-showcase{gap:34px}.print-side{grid-template-columns:1fr}.print-showcase figcaption strong{font-size:16px}.print-disclosure{font-size:10px}}
@media(max-width:1180px) and (min-width:981px){.section-heading{grid-template-columns:130px minmax(0,1fr);gap:35px}.section-heading>div{grid-template-columns:1fr;gap:26px}.section-heading>div>p{max-width:580px}.service-columns{gap:26px}.service-row h3{font-size:26px}.hydraulic-feature h2{font-size:48px}}
@media(max-width:980px){.statement-grid{grid-template-columns:1fr;gap:44px}.industry-tags{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading{grid-template-columns:140px minmax(0,1fr);gap:36px}.section-heading>div{grid-template-columns:1fr;gap:24px}.service-row{grid-template-columns:40px minmax(0,1fr) 38px;gap:20px}.service-row h3{grid-column:2}.service-row p{grid-column:2;grid-row:2}.service-arrow{grid-row:1/3;grid-column:3}.service-no{align-self:start;padding-top:7px}.service-detail{padding-left:60px}.service-columns{grid-template-columns:1fr;gap:24px}.service-columns h4{margin-bottom:14px}.service-columns li{font-size:14px}.hydraulic-feature{grid-template-columns:1fr}.hydraulic-feature .feature-image{height:500px}.hydraulic-feature .feature-copy{padding:75px max(20px,calc((100vw - 780px)/2))}.technology-intro{grid-template-columns:1fr;gap:32px}.technology-media{height:440px}.gallery-heading{grid-template-columns:1fr;gap:32px}.gallery-heading>div:last-child{max-width:550px}.gallery-open{height:350px}.gallery-wide,.gallery-narrow{grid-column:span 6}.contact-layout{grid-template-columns:1fr;gap:52px}.contact-copy{max-width:650px}.contact h2{font-size:64px}}
@media(max-width:620px){section[id],details[id]{scroll-margin-top:90px}.hero-content{padding-block:24px}.hero-services-link{margin-top:24px}.statement,.competences,.technology,.project-gallery,.contact{padding-block:76px}.statement h2,.section-heading h2,.technology h2,.gallery-heading h2{font-size:clamp(42px,11.5vw,58px)}.statement-grid{padding-top:44px}.industry-tags{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:50px}.industry-tags span{font-size:9px;padding:18px 12px}.lead-image{min-height:490px;height:66svh}.lead-image img{object-position:38% center}.lead-image-caption{display:grid;gap:22px;inset:auto 0 32px}.lead-image-caption strong{font-size:42px}.lead-image-caption>div{gap:17px}.lead-image-caption span{font-size:9px}.section-heading{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.service-row{grid-template-columns:25px minmax(0,1fr) 32px;column-gap:12px;row-gap:10px;padding-block:26px;min-height:132px}.service-row h3{font-size:24px}.service-row p{font-size:13px}.service-arrow{width:30px;height:30px;font-size:20px}.service-detail{padding:12px 4px 32px 37px}.service-columns{gap:23px}.service-columns h4{font-size:15px}.service-columns li{font-size:13px}.service-note{font-size:11px}.hydraulic-feature .feature-image{height:400px}.hydraulic-feature .feature-copy{padding:66px 20px}.hydraulic-feature h2{font-size:46px}.hydraulic-feature .feature-copy .section-label{margin-bottom:35px}.technology-media{height:310px;margin-top:42px}.technology-media span{left:18px;bottom:18px;font-size:9px}.media-credit{right:18px;top:18px;bottom:auto;font-size:9px}.specs{grid-template-columns:repeat(2,minmax(0,1fr))}.spec{padding:23px 16px;min-height:145px;row-gap:24px}.spec>span{font-size:9px;line-height:1.5;letter-spacing:.07em}.spec strong{font-size:29px}.spec small{font-size:10px}.specs-note{font-size:11px}.gallery-heading{margin-bottom:38px}.gallery-heading .section-label{margin-bottom:35px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-wide,.gallery-narrow{grid-column:auto}.gallery-open{height:300px}.gallery-item:last-child .gallery-open{height:400px}.gallery-item figcaption{margin-top:15px;gap:8px}.gallery-item figcaption strong{font-size:16px}.gallery-source{font-size:10px;margin-top:30px}.process-section{padding-block:76px}.process-head h2{font-size:clamp(42px,11.5vw,58px)}.process-list{margin-top:40px}.contact h2{font-size:clamp(42px,11.5vw,58px)}.contact-form{padding:28px 20px;margin-inline:0}.contact-direct strong{font-size:21px}.photo-dialog{padding:16px}.photo-bottom{gap:16px}.photo-bottom p{font-size:12px;line-height:1.5}.photo-bottom>div{gap:8px}.photo-prev,.photo-next{width:40px;height:40px}}
